张延森 2 years ago
parent
commit
13449be8cd

+ 34
- 4
src/main/java/com/njyunzhi/invoice/controller/LoginController.java View File

2
 
2
 
3
 import cn.dev33.satoken.stp.StpUtil;
3
 import cn.dev33.satoken.stp.StpUtil;
4
 import com.njyunzhi.invoice.common.BaseController;
4
 import com.njyunzhi.invoice.common.BaseController;
5
+import com.njyunzhi.invoice.common.EncryptUtils;
5
 import com.njyunzhi.invoice.common.ResponseBean;
6
 import com.njyunzhi.invoice.common.ResponseBean;
6
 import com.njyunzhi.invoice.common.StringUtils;
7
 import com.njyunzhi.invoice.common.StringUtils;
7
 import com.njyunzhi.invoice.entity.SysUser;
8
 import com.njyunzhi.invoice.entity.SysUser;
8
 import com.njyunzhi.invoice.service.ISysUserService;
9
 import com.njyunzhi.invoice.service.ISysUserService;
10
+import com.njyunzhi.invoice.vo.ChangePassword;
9
 import com.njyunzhi.invoice.vo.LoginParm;
11
 import com.njyunzhi.invoice.vo.LoginParm;
10
 import io.swagger.annotations.Api;
12
 import io.swagger.annotations.Api;
11
 import io.swagger.annotations.ApiOperation;
13
 import io.swagger.annotations.ApiOperation;
12
 import io.swagger.annotations.ApiParam;
14
 import io.swagger.annotations.ApiParam;
13
 import org.springframework.beans.factory.annotation.Autowired;
15
 import org.springframework.beans.factory.annotation.Autowired;
14
-import org.springframework.web.bind.annotation.PostMapping;
15
-import org.springframework.web.bind.annotation.RequestBody;
16
-import org.springframework.web.bind.annotation.RequestMapping;
17
-import org.springframework.web.bind.annotation.RestController;
16
+import org.springframework.web.bind.annotation.*;
18
 
17
 
19
 import java.util.HashMap;
18
 import java.util.HashMap;
20
 import java.util.Map;
19
 import java.util.Map;
44
 
43
 
45
         return ResponseBean.success(result);
44
         return ResponseBean.success(result);
46
     }
45
     }
46
+
47
+    @PostMapping("/admin/logout")
48
+    @ApiOperation(value="登出", notes = "登出", httpMethod = "POST", response = ResponseBean.class)
49
+    public ResponseBean logout() throws Exception {
50
+        StpUtil.logout();
51
+        return ResponseBean.success("success");
52
+    }
53
+
54
+
55
+    @PutMapping("/admin/change-password")
56
+    @ApiOperation(value="修改密码", notes = "修改密码", httpMethod = "PUT", response = ResponseBean.class)
57
+    public ResponseBean changePassword(@ApiParam("修改密码参数") @RequestBody ChangePassword param) throws Exception {
58
+        if (StringUtils.isEmpty(param.getOriginPassword()) || StringUtils.isEmpty(param.getNewPassword())) {
59
+            return ResponseBean.error("原始密码或新密码不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
60
+        }
61
+
62
+        SysUser currentUser = currentUser();
63
+
64
+        if (!checkPassword(param.getOriginPassword(), currentUser.getPassword(), currentUser.getUserId())) {
65
+            return ResponseBean.error("原始密码不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
66
+        }
67
+
68
+        currentUser.setPassword(EncryptUtils.md5(param.getNewPassword(), currentUser.getUserId()));
69
+        iSysUserService.updateById(currentUser);
70
+
71
+        return ResponseBean.success("密码修改成功");
72
+    }
73
+
74
+    private boolean checkPassword(String src, String targ, String salt) {
75
+        return EncryptUtils.md5(src, salt).equals(targ);
76
+    }
47
 }
77
 }

+ 15
- 2
src/main/java/com/njyunzhi/invoice/controller/SysUserController.java View File

31
 
31
 
32
 @Api(tags = "系统用户")
32
 @Api(tags = "系统用户")
33
 @RestController
33
 @RestController
34
-@RequestMapping("/")
34
+@RequestMapping("/admin")
35
 public class SysUserController extends BaseController {
35
 public class SysUserController extends BaseController {
36
 
36
 
37
     private final Logger logger = LoggerFactory.getLogger(SysUserController.class);
37
     private final Logger logger = LoggerFactory.getLogger(SysUserController.class);
46
      * @param pageSize
46
      * @param pageSize
47
      * @return
47
      * @return
48
      */
48
      */
49
-    @RequestMapping(value="/admin/user",method= RequestMethod.GET)
49
+    @RequestMapping(value="/user",method= RequestMethod.GET)
50
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
50
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51
     public ResponseBean sysUserList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
51
     public ResponseBean sysUserList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
 									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
52
 									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
116
     public ResponseBean sysUserGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
116
     public ResponseBean sysUserGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
117
         return ResponseBean.success(iSysUserService.getById(id));
117
         return ResponseBean.success(iSysUserService.getById(id));
118
     }
118
     }
119
+
120
+
121
+    /**
122
+     * 根据id查询对象
123
+     * @param id  实体ID
124
+     */
125
+    @RequestMapping(value="/user/current",method= RequestMethod.GET)
126
+    @ApiOperation(value="获取当前人员", notes = "获取当前人员", httpMethod = "GET", response = ResponseBean.class)
127
+    public ResponseBean getCurrent() throws Exception{
128
+        SysUser sysUser = currentUser();
129
+        sysUser.setPassword(null);
130
+        return ResponseBean.success(sysUser);
131
+    }
119
 }
132
 }

+ 17
- 0
src/main/java/com/njyunzhi/invoice/vo/ChangePassword.java View File

1
+package com.njyunzhi.invoice.vo;
2
+
3
+
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+
8
+@ApiModel(description = "登录参数")
9
+@Data
10
+public class ChangePassword {
11
+
12
+    @ApiModelProperty("原始密码")
13
+    String originPassword;
14
+
15
+    @ApiModelProperty("新密码")
16
+    String newPassword;
17
+}