Browse Source

登录空指针异常处理;参数管理操作时间修改

wangzhiqiang 2 years ago
parent
commit
3d39febc22

+ 17 - 2
simulation-oauth-client/src/main/java/com/css/simulation/oauth/client/controller/SignController.java

@@ -247,12 +247,27 @@ public class SignController {
         //密码加密
         password = EncryptUtil.getLowerMD5(password);
         UserVO userVO = userMapper.selectByUsername(username);
+
         //登录日志
         LogLoginPO po = new LogLoginPO();
         po.setId(StringUtil.getRandomUUID());
         po.setCreateTime(TimeUtil.getNowForMysql());
         String remoteAddress = IpUtil.getRemoteAddress(request);
         po.setIp(remoteAddress);
+
+        //登录逻辑判断
+        if (userVO == null ) {
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "用户名或密码错误!");
+        }else if(!"1".equals(userVO.getVisible())){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "账户已停用!");
+        }else if(!userVO.getPassword().equals(password)) {
+            //记录登录错误日志
+            po.setUserId(userVO.getId());
+            po.setUsername(userVO.getUsername());
+            po.setState(0);
+            logLoginMapper.insertLog(po);
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "用户名或密码错误!");
+        }
         //根据登录日志判断是否锁定账户
         List<LogLoginPO> log = logLoginMapper.selectLogByUserId(userVO.getId(),oauthParameter.getSimulationLoginRepeatHours(),oauthParameter.getSimulationLoginRepeatCount());
         if(ObjectUtil.isNotNull(log) && log.size() >= oauthParameter.getSimulationLoginRepeatCount()){
@@ -261,7 +276,7 @@ public class SignController {
                 return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "登录失败次数过多,账户被锁定,请" + oauthParameter.getSimulationLoginRepeatHours() + "小时后重新登录!");
             }
         }
-        //登录逻辑判断
+       /* //登录逻辑判断
         if (userVO == null ) {
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "用户名或密码错误!");
         }else if(!"1".equals(userVO.getVisible())){
@@ -273,7 +288,7 @@ public class SignController {
             po.setState(0);
             logLoginMapper.insertLog(po);
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "用户名或密码错误!");
-        }
+        }*/
         //3 根据仿真平台用户名密码颁发仿真平台 token,返回给前端
         String simulationTokenUrl = oauthParameter.getSimulationTokenUri() +
                 "?grant_type=password" +

+ 1 - 1
simulation-resource-server/src/main/resources/mapper/system/ParameterMapper.xml

@@ -12,7 +12,7 @@
         IFNULL(p.num_create_user,0) as num_create_user,
         IFNULL(p.num_create_scene_package,0) as num_create_scene_package,
         IFNULL(p.num_scene_per_package,0) as  num_scene_per_package,
-        p.create_time
+        IFNULL(p.create_time,u.modify_time) as create_time
         from system_user u
         left join system_parameter p on u.id = p.user_id
         where