Browse Source

去掉密码输入错误次数

xiaochan 1 year ago
parent
commit
94fcfa9cb5

+ 3 - 2
src/main/java/thyyxxk/webserver/dao/his/settings/SettingsDao.java

@@ -222,6 +222,7 @@ public interface SettingsDao {
     void insertPartTimeDept(@Param("code") String code,
                             @Param("list") List<String> list);
 
-    @Update("update dj_user_base set password = 'e10adc3949ba59abbe56e057f20f883e' , input_err_frequency = 0 ,next_input_times = #{nextDate} where code = #{code} ")
-    void resetPassword(String code, Date nextDate);
+//    @Update("update dj_user_base set password = 'e10adc3949ba59abbe56e057f20f883e' , input_err_frequency = 0 ,next_input_times = #{nextDate} where code = #{code} ")
+    @Update("update dj_user_base set password = 'e10adc3949ba59abbe56e057f20f883e' where code = #{code} ")
+    void resetPassword(String code );
 }

+ 31 - 33
src/main/java/thyyxxk/webserver/service/LoginService.java

@@ -1,6 +1,5 @@
 package thyyxxk.webserver.service;
 
-import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.SecureUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
@@ -17,7 +16,6 @@ import thyyxxk.webserver.service.externalhttp.CorpWxSrvc;
 import thyyxxk.webserver.service.redislike.RedisLikeService;
 import thyyxxk.webserver.utils.*;
 
-import javax.annotation.PostConstruct;
 import java.util.*;
 
 /**
@@ -45,6 +43,7 @@ public class LoginService {
 
     public ResultVo<UserInfo> login(UserInfo userInfo) {
         Date now = new Date();
+
         UserInfo tempUserInfo = dao.findUserByCodeRsFromDjUserBase(userInfo.getCodeRs());
         if (null == tempUserInfo) {
             tempUserInfo = dao.findUserByCodeRsFromEmployeeMi(userInfo.getCodeRs());
@@ -54,42 +53,41 @@ public class LoginService {
             dao.insertNewUserToDjUserBase(tempUserInfo);
         }
         // 如果当前时间在 限制时间之前就是锁定
-        if (tempUserInfo.getNextInputTimes() != null && now.toInstant().isBefore(tempUserInfo.getNextInputTimes().toInstant())) {
-            return ResultVoUtil.fail(ExceptionEnum.LOCK_OUT_THE_USER, StrUtil.format("用户已被锁定请:【{}】后重试。", DateUtil.formatDatetime(tempUserInfo.getNextInputTimes())), tempUserInfo);
-        }
-
+//        if (tempUserInfo.getNextInputTimes() != null && now.toInstant().isBefore(tempUserInfo.getNextInputTimes().toInstant())) {
+//            return ResultVoUtil.fail(ExceptionEnum.LOCK_OUT_THE_USER, StrUtil.format("用户已被锁定请:【{}】后重试。", DateUtil.formatDatetime(tempUserInfo.getNextInputTimes())), tempUserInfo);
+//        }
         String pwd = SecureUtil.md5(userInfo.getPassword());
         if (!Objects.equals("fromTriageScreen", userInfo.getSid()) && !pwd.equals(tempUserInfo.getPassword())) {
-            Integer times = dao.selectInputErrFrequency(tempUserInfo.getCodeRs());
-            times = times == null ? 1 : times + 1;
-            userInfo.setNextInputTimes(null);
-            userInfo.setInputErrFrequency(times);
+//            Integer times = dao.selectInputErrFrequency(tempUserInfo.getCodeRs());
+//            times = times == null ? 1 : times + 1;
+//            userInfo.setNextInputTimes(null);
+//            userInfo.setInputErrFrequency(times);
             // 输入次数大于三次锁定
-            if (times > 3) {
-                // 如果当前时间在限制时间之前就用限制时间
-                if (now.toInstant().isBefore(tempUserInfo.getNextInputTimes().toInstant())) {
-                    now = tempUserInfo.getNextInputTimes();
-                } else {
-                    // 如果不在就加 10 分钟
-                    now = DateUtil.offsetMinute(now, 10);
-                }
-                userInfo.setNextInputTimes(now);
-                dao.addInputErrFrequency(tempUserInfo.getCodeRs(), times, now);
-            }
-            dao.addInputErrFrequency(tempUserInfo.getCodeRs(), times, now);
-            if (userInfo.getNextInputTimes() != null) {
-                return ResultVoUtil.fail(ExceptionEnum.LOCK_OUT_THE_USER,
-                        StrUtil.format("用户已被锁定请:【{}】后重试。",
-                                DateUtil.formatDatetime(userInfo.getNextInputTimes())),
-                        userInfo);
-            } else {
-                return ResultVoUtil.fail(ExceptionEnum.INVALID_PASSWORD, userInfo);
-            }
+//            if (times > 3) {
+//                // 如果当前时间在限制时间之前就用限制时间
+//                if (now.toInstant().isBefore(tempUserInfo.getNextInputTimes().toInstant())) {
+//                    now = tempUserInfo.getNextInputTimes();
+//                } else {
+//                    // 如果不在就加 10 分钟
+//                    now = DateUtil.offsetMinute(now, 10);
+//                }
+//                userInfo.setNextInputTimes(now);
+//                dao.addInputErrFrequency(tempUserInfo.getCodeRs(), times, now);
+//            }
+//            dao.addInputErrFrequency(tempUserInfo.getCodeRs(), times, now);
+//            if (userInfo.getNextInputTimes() != null) {
+//                return ResultVoUtil.fail(ExceptionEnum.LOCK_OUT_THE_USER,
+//                        StrUtil.format("用户已被锁定请:【{}】后重试。",
+//                                DateUtil.formatDatetime(userInfo.getNextInputTimes())),
+//                        userInfo);
+//            } else {
+            return ResultVoUtil.fail(ExceptionEnum.INVALID_PASSWORD, userInfo);
+//            }
         }
 
-        if (tempUserInfo.getInputErrFrequency() > 0) {
-            dao.addInputErrFrequency(tempUserInfo.getCodeRs(), 0, null);
-        }
+//        if (tempUserInfo.getInputErrFrequency() > 0) {
+//            dao.addInputErrFrequency(tempUserInfo.getCodeRs(), 0, null);
+//        }
         String token = TokenUtil.getInstance().createToken(tempUserInfo.getCode());
         try {
             JSONObject json = srvc.getUserinfo(tokenService.getWeComAddressBookToken(), tempUserInfo.getCodeRs());

+ 1 - 1
src/main/java/thyyxxk/webserver/service/settings/SettingsService.java

@@ -303,7 +303,7 @@ public class SettingsService {
     }
 
     public ResultVo<String> resetPasswordByCode(String code, Integer nextTime) {
-        dao.resetPassword(code, nextTime == 0 ? null : DateUtil.offsetMinute(new Date(), nextTime));
+        dao.resetPassword(code);
         return ResultVoUtil.fail(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
     }