| 
					
				 | 
			
			
				@@ -42,15 +42,15 @@ public class LoginController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private EvaluationService evaluationService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private WindowsService windowsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private LoginErrService loginErrService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //private LoginErrService loginErrService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private DictDataService dictDataService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**登录错误次数 锁定账户临界值*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static final int LOGIN__ERR_COUNT =  5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static final int LOGIN__ERR_COUNT_TIME =  1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static final int LOGIN__ERR_MAX_COUNT =  10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static final int LOGIN__ERR_MAX_COUNT_TIME =  2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //private static final int LOGIN__ERR_COUNT =  10000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //private static final int LOGIN__ERR_COUNT_TIME =  1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //private static final int LOGIN__ERR_MAX_COUNT =  1000000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //private static final int LOGIN__ERR_MAX_COUNT_TIME =  2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param userParam 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -96,54 +96,59 @@ public class LoginController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resultMap.put("message", "登录失败,账号状态为非在职,请联系管理员"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LoginErr loginErr = loginErrService.queryLoginErrByUserCode(user.getUserCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Date now = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!userParam.getPassword().equals(user.getPassword())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(loginErr == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    loginErr = new LoginErr(user.getUserCode(),now,1,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        loginErr.setLockFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    loginErr.setLastLoginErrTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    loginErr.setLoginErrCount(loginErr.getLoginErrCount()+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String errMsg = "登录失败,工号或者密码错误,还剩余"+(LOGIN__ERR_COUNT-loginErr.getLoginErrCount())+"次,连续5次密码错误,账户将锁定10分钟,请重新输入"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT && loginErr.getLoginErrCount() < LOGIN__ERR_MAX_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    errMsg = "登录失败次数大于等于" + LOGIN__ERR_COUNT + "次,请" + LOGIN__ERR_COUNT_TIME + "分钟后再登录"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else if(loginErr.getLoginErrCount() >= LOGIN__ERR_MAX_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    errMsg = "登录失败次数大于等于" + LOGIN__ERR_MAX_COUNT + "次,请" + LOGIN__ERR_MAX_COUNT_TIME + "分钟后再登录"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                loginErrService.addLoginErr(loginErr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                resultMap.put("message",errMsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("校验用户名和密码错误,错误信息:{}", e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //LoginErr loginErr = loginErrService.queryLoginErrByUserCode(user.getUserCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!userParam.getPassword().equals(user.getPassword())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            resultMap.put("message", "登录失败,系统发生未知错误,请重稍后重试或联系管理员"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message","用户名或密码错误!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(loginErr !=null && loginErr.getLockFlag() == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            long diffTime = cn.hutool.core.date.DateUtil.between(loginErr.getLastLoginErrTime(),new Date(), DateUnit.MINUTE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT && loginErr.getLoginErrCount() < LOGIN__ERR_MAX_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(diffTime < LOGIN__ERR_COUNT_TIME){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    resultMap.put("message", "登录失败次数大于等于"+LOGIN__ERR_COUNT+"次,请"+(LOGIN__ERR_COUNT_TIME-diffTime)+"分钟后再登录"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else if(loginErr.getLoginErrCount() >= LOGIN__ERR_MAX_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(diffTime < LOGIN__ERR_MAX_COUNT_TIME){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    resultMap.put("message", "登录失败次数大于等于"+LOGIN__ERR_MAX_COUNT+"次,请"+(LOGIN__ERR_MAX_COUNT_TIME-diffTime)+"分钟后再登录"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        loginErrService.deleteLoginErrByUserCode(user.getUserCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date now = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    if (!userParam.getPassword().equals(user.getPassword())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        if(loginErr == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            loginErr = new LoginErr(user.getUserCode(),now,1,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //                loginErr.setLockFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            loginErr.setLastLoginErrTime(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            loginErr.setLoginErrCount(loginErr.getLoginErrCount()+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        String errMsg = "登录失败,工号或者密码错误,还剩余"+(LOGIN__ERR_COUNT-loginErr.getLoginErrCount())+"次,连续5次密码错误,账户将锁定10分钟,请重新输入"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT && loginErr.getLoginErrCount() < LOGIN__ERR_MAX_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            errMsg = "登录失败次数大于等于" + LOGIN__ERR_COUNT + "次,请" + LOGIN__ERR_COUNT_TIME + "分钟后再登录"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        }else if(loginErr.getLoginErrCount() >= LOGIN__ERR_MAX_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            errMsg = "登录失败次数大于等于" + LOGIN__ERR_MAX_COUNT + "次,请" + LOGIN__ERR_MAX_COUNT_TIME + "分钟后再登录"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        loginErrService.addLoginErr(loginErr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        resultMap.put("message",errMsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    log.error("校验用户名和密码错误,错误信息:{}", e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    resultMap.put("message", "登录失败,系统发生未知错误,请重稍后重试或联系管理员"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //if(loginErr !=null && loginErr.getLockFlag() == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    long diffTime = cn.hutool.core.date.DateUtil.between(loginErr.getLastLoginErrTime(),new Date(), DateUnit.MINUTE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT && loginErr.getLoginErrCount() < LOGIN__ERR_MAX_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        if(diffTime < LOGIN__ERR_COUNT_TIME){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            resultMap.put("message", "登录失败次数大于等于"+LOGIN__ERR_COUNT+"次,请"+(LOGIN__ERR_COUNT_TIME-diffTime)+"分钟后再登录"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    }else if(loginErr.getLoginErrCount() >= LOGIN__ERR_MAX_COUNT){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        if(diffTime < LOGIN__ERR_MAX_COUNT_TIME){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            resultMap.put("message", "登录失败次数大于等于"+LOGIN__ERR_MAX_COUNT+"次,请"+(LOGIN__ERR_MAX_COUNT_TIME-diffTime)+"分钟后再登录"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //loginErrService.deleteLoginErrByUserCode(user.getUserCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (dictDataService.queryDictVlaue("1.5", "control_expir_flag","0").equals("1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TokenUtil.USER_CONTROL_MAP.put(user.getUserCode(), new UserControls(user.getUserCode(), now)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 |