소스 검색

修改密码重置接口

laowo 3 년 전
부모
커밋
627b9e34d2

+ 8 - 8
src/main/java/com/usky/controller/sys/UserController.java

@@ -95,7 +95,6 @@ public class UserController {
     @ApiOperation(value = "用户查询")
     @PostMapping("list")
     @ApiImplicitParams({
-            //     @ApiImplicitParam(name = "loginName", value = "登录名", required = true, paramType = "query"),
             @ApiImplicitParam(name = "loginName", value = "登录名", required = false, paramType = "query"),
             @ApiImplicitParam(name = "status", value = "账户状态 0正常 1 停用", required = false, paramType = "query"),
             @ApiImplicitParam(name = "phonenumber", value = "手机号", required = false, paramType = "query"),
@@ -119,7 +118,6 @@ public class UserController {
         SysUserVO sysUserVO = new SysUserVO();
         return userService.list(sysUserVO, status, loginName, phonenumber, startTime, endTime, deptId, pageSize, pageNo);
     }
-
     @ApiOperation(value = "用户查询-全部 -可用于导出")
     @PostMapping("listAll")
     @ApiImplicitParams({
@@ -143,8 +141,6 @@ public class UserController {
         List<SysUserVO> sysUserVOList = userService.listAll(new SysUserVO(), status, loginName, phonenumber, startTime, endTime, deptId);
         return Result.OK(sysUserVOList);
     }
-
-
     @ApiOperation(value = "修改用户")
     @RequiresPermissions("system:user:edit")
     @PostMapping("/edit")
@@ -185,8 +181,6 @@ public class UserController {
         userService.updateUser(user);
         return Result.OK();
     }
-
-
     @ApiOperation("密码重置")
     @RequiresPermissions("system:user:resetPwd")
     @PostMapping("/resetPwd")
@@ -196,11 +190,17 @@ public class UserController {
             @ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "query")
     })
     public Result<?> resetPwdSave(@RequestParam("password") String password,
-                                  @RequestParam("password") Integer userId) {
+                                  @RequestParam("userId") Integer userId) {
         if (userId == 1) {
             return Result.error("管理员账户不允许修改!");
         }
-        userService.reSetPW(password, userId);
+        if (password.length() > Constant.PASSWORD_MAX_LEN) {
+            throw new CustomException("密码最多8位");
+        }
+        SysUserDTO user = userService.queryUserById(userId);
+        String key = AesCipherUtil.enCrypto(user.getLoginName() + password);
+        user.setPassword(key);
+        userService.reSetPW(user);
         return Result.OK();
     }
 

+ 3 - 1
src/main/java/com/usky/service/sys/user/UserService.java

@@ -89,7 +89,9 @@ public interface UserService {
 
     List<SysUserDTO> queryuserByDepID(Integer deptId);
 
-    void reSetPW(String password, Integer userId);
+    void reSetPW(SysUserDTO user);
 
     SysUserVO queryuserByLoginName(String loginName);
+
+    SysUserDTO queryUserById(Integer userId);
 }

+ 6 - 7
src/main/java/com/usky/service/sys/user/UserServiceImpl.java

@@ -10,9 +10,8 @@ import com.usky.utils.BeanHelp;
 import com.usky.utils.Page;
 import com.usky.utils.ShiroUtils;
 import com.usky.utils.StringUtils;
-import org.apache.commons.lang3.RandomStringUtils;
+import com.usky.utils.jwt.AesCipherUtil;
 
-import org.apache.shiro.crypto.hash.Md5Hash;
 import org.hibernate.query.NativeQuery;
 import org.hibernate.transform.Transformers;
 import org.springframework.stereotype.Service;
@@ -230,16 +229,16 @@ public class UserServiceImpl extends BaseDaoImpl implements UserService {
     }
 
     @Override
-    public void reSetPW(String password, Integer userId) {
-        SysUserDTO user = (SysUserDTO) getSession().createQuery("from SysUserDTO t where t.userId=" + userId + "").uniqueResult();
-        String salt = RandomStringUtils.randomNumeric(6, 8);
-        user.setSalt(salt);
-        user.setPassword(new Md5Hash(password, salt).toString());
+    public void reSetPW(SysUserDTO user) {
         user.setUpdateBy(ShiroUtils.getLoginName());
         user.setUpdateTime(new Timestamp(System.currentTimeMillis()));
         getSession().saveOrUpdate(user);
     }
 
+    public SysUserDTO queryUserById(Integer userId) {
+        return (SysUserDTO) getSession().createQuery("from SysUserDTO t where t.userId=" + userId + "").uniqueResult();
+    }
+
     @Override
     public SysUserVO queryuserByLoginName(String loginName) {
         SysUserDTO user = (SysUserDTO) getSession().createQuery("from SysUserDTO t where t.loginName='" + loginName + "' and t.delFlag='0'").uniqueResult();