张延森 2 lat temu
rodzic
commit
13449be8cd

+ 34
- 4
src/main/java/com/njyunzhi/invoice/controller/LoginController.java Wyświetl plik

@@ -2,19 +2,18 @@ package com.njyunzhi.invoice.controller;
2 2
 
3 3
 import cn.dev33.satoken.stp.StpUtil;
4 4
 import com.njyunzhi.invoice.common.BaseController;
5
+import com.njyunzhi.invoice.common.EncryptUtils;
5 6
 import com.njyunzhi.invoice.common.ResponseBean;
6 7
 import com.njyunzhi.invoice.common.StringUtils;
7 8
 import com.njyunzhi.invoice.entity.SysUser;
8 9
 import com.njyunzhi.invoice.service.ISysUserService;
10
+import com.njyunzhi.invoice.vo.ChangePassword;
9 11
 import com.njyunzhi.invoice.vo.LoginParm;
10 12
 import io.swagger.annotations.Api;
11 13
 import io.swagger.annotations.ApiOperation;
12 14
 import io.swagger.annotations.ApiParam;
13 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 18
 import java.util.HashMap;
20 19
 import java.util.Map;
@@ -44,4 +43,35 @@ public class LoginController extends BaseController {
44 43
 
45 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 Wyświetl plik

@@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
31 31
 
32 32
 @Api(tags = "系统用户")
33 33
 @RestController
34
-@RequestMapping("/")
34
+@RequestMapping("/admin")
35 35
 public class SysUserController extends BaseController {
36 36
 
37 37
     private final Logger logger = LoggerFactory.getLogger(SysUserController.class);
@@ -46,7 +46,7 @@ public class SysUserController extends BaseController {
46 46
      * @param pageSize
47 47
      * @return
48 48
      */
49
-    @RequestMapping(value="/admin/user",method= RequestMethod.GET)
49
+    @RequestMapping(value="/user",method= RequestMethod.GET)
50 50
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51 51
     public ResponseBean sysUserList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52 52
 									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
@@ -116,4 +116,17 @@ public class SysUserController extends BaseController {
116 116
     public ResponseBean sysUserGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
117 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 Wyświetl plik

@@ -0,0 +1,17 @@
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
+}