This commit is contained in:
duteliang
2024-02-01 00:50:42 +08:00
parent 43be20b11f
commit 574ef6cfdb
6 changed files with 51 additions and 13 deletions

View File

@@ -91,7 +91,8 @@ public class CaiLoginManager {
if(user == null){
throw new ServiceException("用户不存在或密码错误");
}
UserForbidManager.CheckForbid forbid = userForbidManager.checkForbid(user.getId(), user.getUsercode(), null, ServletUtils.getClientIP());
String imei = ServletUtils.getImei();
UserForbidManager.CheckForbid forbid = userForbidManager.checkForbid(user.getId(), user.getUsercode(), imei, ServletUtils.getClientIP());
if(forbid != null && forbid.isForbid()){
throw new ServiceException(forbid.getMessage());
}
@@ -216,7 +217,7 @@ public class CaiLoginManager {
}
public void recordLoginInfo(User user, String ip) {
public void recordLoginInfo(User user, String ip,String imei) {
String address = AddressUtils.getRealAddressByIP(ip);
UserInfo userInfo = userInfoService.getById(user.getId());
UserInfo update = new UserInfo();
@@ -225,6 +226,9 @@ public class CaiLoginManager {
update.setLastLoginIp(ip);
update.setLastLoginTime(LocalDateTime.now());
update.setLastLocation(address);
if(StringUtils.isNotBlank(imei)){
update.setImei(imei);
}
userInfoService.updateById(update);
}
@@ -259,7 +263,8 @@ public class CaiLoginManager {
LoginHelper.login(loginUser);
sysLoginService.recordLogininfor(loginUser.getUsername(), UserType.APP_USER.getUserType(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
String clientIP = ServletUtils.getClientIP();
ExecutorConstant.COMMON_EXECUTOR.execute(() -> recordLoginInfo(user,clientIP));
String imei = ServletUtils.getImei();
ExecutorConstant.COMMON_EXECUTOR.execute(() -> recordLoginInfo(user,clientIP,imei));
return StpUtil.getTokenValue();
}