瀏覽代碼

新增忘记密码

Administrator 1 年之前
父節點
當前提交
23262d88ba

+ 1 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/common/AppletController.java

@@ -130,6 +130,7 @@ public class AppletController extends BaseController {
         Object cacheObject = RedisUtils.getCacheObject(key);
         if (ObjectUtils.isNotEmpty(cacheObject)){
             if (code.equals(String.valueOf(cacheObject))){
+                RedisUtils.deleteKeys(key);
                //修改密码
                return toAjax(sysUserService.resetUserPwdByUserName(phone,BCrypt.hashpw(password)));
             }

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java

@@ -148,4 +148,9 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
 
     @InterceptorIgnore(tenantLine = "1")
     List<SysUserVo> selectUserListByUserName(String username);
+
+
+    @InterceptorIgnore(tenantLine = "true")
+
+    int resetUserPwdByUserName(@Param("userName") String userName, @Param("password") String password);
 }

+ 1 - 4
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@@ -413,10 +413,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
      */
     @Override
     public int resetUserPwdByUserName(String userName, String password) {
-        return baseMapper.update(null,
-            new LambdaUpdateWrapper<SysUser>()
-                .set(SysUser::getPassword, password)
-                .eq(SysUser::getUserName, userName));
+        return baseMapper.resetUserPwdByUserName(userName,password);
     }
     /**
      * 新增用户角色信息

+ 12 - 5
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/utils/SendSmsUtils.java

@@ -1,8 +1,6 @@
 package org.dromara.system.utils;
 
 
-
-
 import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
 import com.aliyun.teautil.models.RuntimeOptions;
 
@@ -22,11 +20,20 @@ public class SendSmsUtils {
         StringBuilder code = new StringBuilder();
         for (int i = 0; i < num; i++) {
             int j = (int) (Math.random() * 10);
-            code.append(codes[j]);
+            if (j <= 0) {
+                j = 1;
+            }
+            code.append(codes[j - 1]);
+
         }
         return code.toString();
     }
 
+    public static void main(String[] args) {
+        String code = getCode(4);
+        System.out.println(code);
+    }
+
     /**
      * 使用AK&SK初始化账号Client
      *
@@ -50,7 +57,7 @@ public class SendSmsUtils {
      *
      * @return
      */
-    public static String sendSms(String phone,String templateCode,String smsCode) {
+    public static String sendSms(String phone, String templateCode, String smsCode) {
         String code = "";
         try {
             // 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html
@@ -78,7 +85,7 @@ public class SendSmsUtils {
      *
      * @return
      */
-    public static String sendPassword(String password,String phone,String templateCode) {
+    public static String sendPassword(String password, String phone, String templateCode) {
         String code = "";
         try {
             // 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html

+ 3 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -64,6 +64,9 @@
             left join sys_user_role sur on u.user_id = sur.user_id
             left join sys_role r on r.role_id = sur.role_id
     </sql>
+    <update id="resetUserPwdByUserName" parameterType = "string">
+        update sys_user set password = #{password} where user_name = #{userName}
+    </update>
 
     <select id="selectPageUserList" resultMap="SysUserResult">
         select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex,