|  | @@ -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());
 |