Przeglądaj źródła

修改密码接口

ZhangManMan 2 lat temu
rodzic
commit
5b73adabc8

+ 15 - 0
src/main/java/com/sky/ioc/controller/system/UserController.java

@@ -2,6 +2,7 @@ package com.sky.ioc.controller.system;
 
 import com.sky.ioc.entity.params.system.LoginParam;
 import com.sky.ioc.service.system.UserService;
+import com.sky.ioc.tool.Pbkdf2Sha256Digest;
 import com.sky.ioc.tool.ReturnMsg;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -23,6 +24,15 @@ public class UserController {
         return userService.updateCommonMenusByUserIdAndMenuId(userID,menuIDs);
     }
 
+    @ApiOperation("修改密码")
+    @PostMapping("updatePassword")
+    public ReturnMsg updatePassword(@RequestParam(value = "userID")  long userID,
+                                    @RequestParam(value = "newpwd") String newpwd,
+                                    @RequestParam(value = "oldpwd") String oldpwd){
+        return userService.updatePassword(userID,oldpwd,newpwd);
+    }
+
+
     @ApiOperation("系统登录")
     @PostMapping("/login")
     public ReturnMsg login(@RequestBody LoginParam loginParam) {
@@ -40,4 +50,9 @@ public class UserController {
     public ReturnMsg logout() {
         return userService.logout();
     }
+
+    public static void main(String[] args) {
+        String pwd = "135246";
+        System.out.println(Pbkdf2Sha256Digest.encode(pwd));
+    }
 }

+ 2 - 0
src/main/java/com/sky/ioc/service/system/UserService.java

@@ -11,4 +11,6 @@ public interface UserService {
     ReturnMsg logout();
 
     ReturnMsg validate();
+
+    ReturnMsg updatePassword(long userId,String oldPwd, String newPwd);
 }

+ 15 - 0
src/main/java/com/sky/ioc/service/system/impl/UserServiceImpl.java

@@ -78,4 +78,19 @@ public class UserServiceImpl implements UserService {
         BeanUtils.copyProperties(users, loginUser);
         return ReturnMsg.ok(loginUser);
     }
+
+    @Override
+    public ReturnMsg updatePassword(long userId, String oldPwd, String newPwd) {
+        Users users = userMapper.selectById(userId);
+        boolean verification = Pbkdf2Sha256Digest.verification(oldPwd, users.getPassword());
+        if (!verification){
+            return ReturnMsg.fail("旧密码错误");
+        }else{
+           String hashedPassword =Pbkdf2Sha256Digest.encode(newPwd);
+           users.setPassword(hashedPassword);
+           userMapper.update(users,new LambdaQueryWrapper<Users>().eq(Users::getId, userId));
+            return ReturnMsg.ok();
+        }
+
+    }
 }