Browse Source

新增重置密码,修改用户手机号

Administrator 2 years ago
parent
commit
d2cd5c8231

+ 49 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -5,6 +5,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.constant.CacheConstants;
+import com.ruoyi.common.core.redis.RedisCache;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -50,6 +53,8 @@ public class SysUserController extends BaseController
 
     @Autowired
     private ISysPostService postService;
+    @Autowired
+    private RedisCache redisCache;
 
     /**
      * 获取用户列表
@@ -215,7 +220,7 @@ public class SysUserController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
-    @PutMapping
+    @PostMapping("/put")
     public AjaxResult edit(@Validated @RequestBody SysUser user)
     {
         userService.checkUserAllowed(user);
@@ -243,7 +248,7 @@ public class SysUserController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('system:user:remove')")
     @Log(title = "用户管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{userIds}")
+    @GetMapping("/delete/{userIds}")
     public AjaxResult remove(@PathVariable Long[] userIds)
     {
         if (ArrayUtils.contains(userIds, getUserId()))
@@ -258,7 +263,7 @@ public class SysUserController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
-    @PutMapping("/resetPwd")
+    @PostMapping("/resetPwd")
     public AjaxResult resetPwd(@RequestBody SysUser user)
     {
         userService.checkUserAllowed(user);
@@ -271,6 +276,47 @@ public class SysUserController extends BaseController
         return toAjax(userService.resetPwd(user));
     }
 
+
+    /**
+     * 重置密码app
+     */
+    @PostMapping("/resetPwdAPP")
+    public AjaxResult resetPwdAPP(@RequestBody SysUser user)
+    {
+        String verifyKey = CacheConstants.SMS_CODE_KEY + user.getPhonenumber();
+
+        String codeApp = redisCache.getCacheObject(verifyKey);
+        if (StringUtils.isBlank(codeApp)){
+            return AjaxResult.error("短信验证码已过期");
+        }
+        String code = user.getCode();
+        if (!codeApp.equals(code)){
+            return AjaxResult.error("验证码不正确");
+        }
+        if ("1".equals(checkStrongPwd(user.getPassword()))) {
+            return AjaxResult.error("密码必须包含数字、大小写字母、特殊符号且大于8位");
+        }
+        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+        return toAjax(userService.resetPwd(user));
+    }
+
+    /**
+     * 修改用户手机号
+     */
+    @PostMapping("/updatePhone")
+    public AjaxResult updatePhone(@RequestBody SysUser user)
+    {
+
+        if (StringUtils.isNotEmpty(user.getPhonenumber())
+                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
+        {
+            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
+        }
+        user.setUpdateBy(getUsername());
+        return toAjax(userService.updateUser(user));
+    }
+
+
     /**
      * 状态修改
      */

+ 13 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java

@@ -91,6 +91,19 @@ public class SysUser extends BaseEntity
     /** 角色ID */
     private Long roleId;
 
+    /**
+     * 重置密码的验证码
+     */
+    private String code;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
     public SysUser()
     {
 

+ 15 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -74,6 +74,14 @@ public interface SysUserMapper
      */
     public int updateUser(SysUser user);
 
+    /**
+     * 重置密码app
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    public int updateResetPwdAPP(SysUser user);
+
     /**
      * 修改用户头像
      * 
@@ -135,4 +143,11 @@ public interface SysUserMapper
     List<SysUser> allocationList(SysUser user);
 
     SysUser selectUserByPhonenumber(String phonenumber);
+
+    /**
+     * 修改用户手机号
+     * @param user
+     * @return
+     */
+    int updatePhone(SysUser user);
 }

+ 14 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -138,6 +138,13 @@ public interface ISysUserService
      */
     public int updateUser(SysUser user);
 
+    /**
+     * 修改用户手机号
+     * @param user
+     * @return
+     */
+    public int updatePhone(SysUser user);
+
     /**
      * 用户授权角色
      * 
@@ -178,6 +185,13 @@ public interface ISysUserService
      * @return 结果
      */
     public int resetPwd(SysUser user);
+    /**
+     * 重置用户密码APP
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    public int resetPwdAPP(SysUser user);
 
     /**
      * 重置用户密码

+ 20 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -317,6 +317,16 @@ public class SysUserServiceImpl implements ISysUserService
         return userMapper.updateUser(user);
     }
 
+    /**
+     * 修改用户手机号
+     * @param user
+     * @return
+     */
+    @Override
+    public int updatePhone(SysUser user) {
+        return userMapper.updatePhone(user);
+    }
+
     /**
      * 用户授权角色
      * 
@@ -379,6 +389,16 @@ public class SysUserServiceImpl implements ISysUserService
     {
         return userMapper.updateUser(user);
     }
+    /**
+     * 重置用户密码App
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    @Override
+    public int resetPwdAPP(SysUser user) {
+        return userMapper.updateResetPwdAPP(user);
+    }
 
     /**
      * 重置用户密码

+ 7 - 1
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -219,7 +219,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<update id="resetUserPwd" parameterType="SysUser">
  		update sys_user set password = #{password} where user_name = #{userName}
 	</update>
-	
+	<update id="updateResetPwdAPP">
+		update sys_user set password = #{password} where phonenumber = #{phonenumber}
+	</update>
+	<update id="updatePhone">
+				update sys_user set phonenumber = #{phonenumber} where user_id = #{userId}
+	</update>
+
 	<delete id="deleteUserById" parameterType="Long">
  		update sys_user set del_flag = '2' where user_id = #{userId}
  	</delete>