|
@@ -253,6 +253,14 @@ public class SignController {
|
|
|
po.setCreateTime(TimeUtil.getNowForMysql());
|
|
|
String remoteAddress = IpUtil.getRemoteAddress(request);
|
|
|
po.setIp(remoteAddress);
|
|
|
+ //根据登录日志判断是否锁定账户
|
|
|
+ List<LogLoginPO> log = logLoginMapper.selectLogByUserId(userVO.getId(),oauthParameter.getSimulationLoginRepeatHours(),oauthParameter.getSimulationLoginRepeatCount());
|
|
|
+ if(ObjectUtil.isNotNull(log) && log.size() >= oauthParameter.getSimulationLoginRepeatCount()){
|
|
|
+ int sum = log.stream().mapToInt(m -> m.getState()).sum();
|
|
|
+ if(sum <= 0){
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "登录失败次数过多,账户被锁定,请" + oauthParameter.getSimulationLoginRepeatHours() + "小时后重新登录!");
|
|
|
+ }
|
|
|
+ }
|
|
|
//登录逻辑判断
|
|
|
if (userVO == null ) {
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "用户名或密码错误!");
|
|
@@ -266,14 +274,6 @@ public class SignController {
|
|
|
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()){
|
|
|
- int sum = log.stream().mapToInt(m -> m.getState()).sum();
|
|
|
- if(sum <= 0){
|
|
|
- return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "登录失败次数过多,账户被锁定,请" + oauthParameter.getSimulationLoginRepeatHours() + "小时后重新登录!");
|
|
|
- }
|
|
|
- }
|
|
|
//3 根据仿真平台用户名密码颁发仿真平台 token,返回给前端
|
|
|
String simulationTokenUrl = oauthParameter.getSimulationTokenUri() +
|
|
|
"?grant_type=password" +
|