| 
														
															@@ -42,15 +42,15 @@ public class LoginController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private EvaluationService evaluationService; 
														 | 
														
														 | 
														
															     private EvaluationService evaluationService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private WindowsService windowsService; 
														 | 
														
														 | 
														
															     private WindowsService windowsService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    @Autowired 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private LoginErrService loginErrService; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    //@Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    //private LoginErrService loginErrService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private DictDataService dictDataService; 
														 | 
														
														 | 
														
															     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 
														 | 
														
														 | 
														
															      * @param userParam 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -96,54 +96,59 @@ public class LoginController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             resultMap.put("message", "登录失败,账号状态为非在职,请联系管理员"); 
														 | 
														
														 | 
														
															             resultMap.put("message", "登录失败,账号状态为非在职,请联系管理员"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return resultMap; 
														 | 
														
														 | 
														
															             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("code", -1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            resultMap.put("message", "登录失败,系统发生未知错误,请重稍后重试或联系管理员"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            resultMap.put("message","用户名或密码错误!"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return resultMap; 
														 | 
														
														 | 
														
															             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")) { 
														 | 
														
														 | 
														
															         if (dictDataService.queryDictVlaue("1.5", "control_expir_flag","0").equals("1")) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             TokenUtil.USER_CONTROL_MAP.put(user.getUserCode(), new UserControls(user.getUserCode(), now)); 
														 | 
														
														 | 
														
															             TokenUtil.USER_CONTROL_MAP.put(user.getUserCode(), new UserControls(user.getUserCode(), now)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }else { 
														 | 
														
														 | 
														
															         }else { 
														 |