mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2025-09-07 21:09:33 +00:00
update 优化远程调用方法记录登录信息 ;
This commit is contained in:
@@ -66,8 +66,9 @@ public interface RemoteUserService {
|
|||||||
/**
|
/**
|
||||||
* 更新用户信息
|
* 更新用户信息
|
||||||
*
|
*
|
||||||
* @param remoteUserBo 用户信息
|
* @param userId 用户ID
|
||||||
|
* @param ip IP地址
|
||||||
*/
|
*/
|
||||||
void updateUser(RemoteUserBo remoteUserBo);
|
void recordLoginInfo(Long userId, String ip);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -136,20 +136,6 @@ public class SysLoginService {
|
|||||||
SpringUtils.context().publishEvent(logininforEvent);
|
SpringUtils.context().publishEvent(logininforEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 记录登录信息
|
|
||||||
*
|
|
||||||
* @param loginUser 用户信息
|
|
||||||
*/
|
|
||||||
public void recordLoginInfo(LoginUser loginUser) {
|
|
||||||
RemoteUserBo bo = new RemoteUserBo();
|
|
||||||
bo.setUserId(loginUser.getUserId());
|
|
||||||
bo.setUserName(loginUser.getUsername());
|
|
||||||
bo.setLoginIp(ServletUtils.getClientIP());
|
|
||||||
bo.setLoginDate(DateUtils.getNowDate());
|
|
||||||
remoteUserService.updateUser(bo);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录校验
|
* 登录校验
|
||||||
*/
|
*/
|
||||||
|
@@ -14,6 +14,7 @@ import org.dromara.common.core.constant.GlobalConstants;
|
|||||||
import org.dromara.common.core.enums.LoginType;
|
import org.dromara.common.core.enums.LoginType;
|
||||||
import org.dromara.common.core.exception.user.CaptchaExpireException;
|
import org.dromara.common.core.exception.user.CaptchaExpireException;
|
||||||
import org.dromara.common.core.utils.MessageUtils;
|
import org.dromara.common.core.utils.MessageUtils;
|
||||||
|
import org.dromara.common.core.utils.ServletUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.core.utils.ValidatorUtils;
|
import org.dromara.common.core.utils.ValidatorUtils;
|
||||||
import org.dromara.common.core.validate.auth.EmailGroup;
|
import org.dromara.common.core.validate.auth.EmailGroup;
|
||||||
@@ -64,7 +65,7 @@ public class EmailAuthStrategy implements IAuthStrategy {
|
|||||||
LoginHelper.login(loginUser, model);
|
LoginHelper.login(loginUser, model);
|
||||||
|
|
||||||
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||||
loginService.recordLoginInfo(loginUser);
|
remoteUserService.recordLoginInfo(loginUser.getUserId(), ServletUtils.getClientIP());
|
||||||
|
|
||||||
LoginVo loginVo = new LoginVo();
|
LoginVo loginVo = new LoginVo();
|
||||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||||
|
@@ -6,11 +6,9 @@ import cn.dev33.satoken.stp.StpUtil;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.apache.dubbo.rpc.RpcContext;
|
|
||||||
import org.dromara.auth.domain.vo.LoginVo;
|
import org.dromara.auth.domain.vo.LoginVo;
|
||||||
import org.dromara.common.core.exception.CaptchaException;
|
import org.dromara.common.core.exception.CaptchaException;
|
||||||
import org.dromara.common.core.domain.model.LoginBody;
|
import org.dromara.common.core.domain.model.LoginBody;
|
||||||
import org.dromara.auth.properties.CaptchaProperties;
|
|
||||||
import org.dromara.auth.service.IAuthStrategy;
|
import org.dromara.auth.service.IAuthStrategy;
|
||||||
import org.dromara.auth.service.SysLoginService;
|
import org.dromara.auth.service.SysLoginService;
|
||||||
import org.dromara.common.core.constant.Constants;
|
import org.dromara.common.core.constant.Constants;
|
||||||
@@ -79,7 +77,7 @@ public class PasswordAuthStrategy implements IAuthStrategy {
|
|||||||
LoginHelper.login(loginUser, model);
|
LoginHelper.login(loginUser, model);
|
||||||
|
|
||||||
loginService.recordLogininfor(loginUser.getTenantId(), username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
loginService.recordLogininfor(loginUser.getTenantId(), username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||||
loginService.recordLoginInfo(loginUser);
|
remoteUserService.recordLoginInfo(loginUser.getUserId(), ServletUtils.getClientIP());
|
||||||
|
|
||||||
LoginVo loginVo = new LoginVo();
|
LoginVo loginVo = new LoginVo();
|
||||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||||
|
@@ -14,6 +14,7 @@ import org.dromara.common.core.constant.GlobalConstants;
|
|||||||
import org.dromara.common.core.enums.LoginType;
|
import org.dromara.common.core.enums.LoginType;
|
||||||
import org.dromara.common.core.exception.user.CaptchaExpireException;
|
import org.dromara.common.core.exception.user.CaptchaExpireException;
|
||||||
import org.dromara.common.core.utils.MessageUtils;
|
import org.dromara.common.core.utils.MessageUtils;
|
||||||
|
import org.dromara.common.core.utils.ServletUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.core.utils.ValidatorUtils;
|
import org.dromara.common.core.utils.ValidatorUtils;
|
||||||
import org.dromara.common.core.validate.auth.SmsGroup;
|
import org.dromara.common.core.validate.auth.SmsGroup;
|
||||||
@@ -64,7 +65,7 @@ public class SmsAuthStrategy implements IAuthStrategy {
|
|||||||
LoginHelper.login(loginUser, model);
|
LoginHelper.login(loginUser, model);
|
||||||
|
|
||||||
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||||
loginService.recordLoginInfo(loginUser);
|
remoteUserService.recordLoginInfo(loginUser.getUserId(), ServletUtils.getClientIP());
|
||||||
|
|
||||||
LoginVo loginVo = new LoginVo();
|
LoginVo loginVo = new LoginVo();
|
||||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||||
|
@@ -19,6 +19,7 @@ import org.dromara.common.core.constant.Constants;
|
|||||||
import org.dromara.common.core.domain.model.LoginBody;
|
import org.dromara.common.core.domain.model.LoginBody;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
import org.dromara.common.core.utils.MessageUtils;
|
import org.dromara.common.core.utils.MessageUtils;
|
||||||
|
import org.dromara.common.core.utils.ServletUtils;
|
||||||
import org.dromara.common.core.utils.ValidatorUtils;
|
import org.dromara.common.core.utils.ValidatorUtils;
|
||||||
import org.dromara.common.core.validate.auth.SocialGroup;
|
import org.dromara.common.core.validate.auth.SocialGroup;
|
||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
@@ -101,7 +102,7 @@ public class SocialAuthStrategy implements IAuthStrategy {
|
|||||||
LoginHelper.login(loginUser, model);
|
LoginHelper.login(loginUser, model);
|
||||||
|
|
||||||
loginService.recordLogininfor(loginUser.getTenantId(), socialVo.getUserName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
loginService.recordLogininfor(loginUser.getTenantId(), socialVo.getUserName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||||
loginService.recordLoginInfo(loginUser);
|
remoteUserService.recordLoginInfo(loginUser.getUserId(), ServletUtils.getClientIP());
|
||||||
|
|
||||||
LoginVo loginVo = new LoginVo();
|
LoginVo loginVo = new LoginVo();
|
||||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||||
|
@@ -11,6 +11,7 @@ import org.dromara.auth.service.IAuthStrategy;
|
|||||||
import org.dromara.auth.service.SysLoginService;
|
import org.dromara.auth.service.SysLoginService;
|
||||||
import org.dromara.common.core.constant.Constants;
|
import org.dromara.common.core.constant.Constants;
|
||||||
import org.dromara.common.core.utils.MessageUtils;
|
import org.dromara.common.core.utils.MessageUtils;
|
||||||
|
import org.dromara.common.core.utils.ServletUtils;
|
||||||
import org.dromara.common.core.utils.ValidatorUtils;
|
import org.dromara.common.core.utils.ValidatorUtils;
|
||||||
import org.dromara.common.core.validate.auth.WechatGroup;
|
import org.dromara.common.core.validate.auth.WechatGroup;
|
||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
@@ -59,7 +60,7 @@ public class XcxAuthStrategy implements IAuthStrategy {
|
|||||||
LoginHelper.login(loginUser, model);
|
LoginHelper.login(loginUser, model);
|
||||||
|
|
||||||
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||||
loginService.recordLoginInfo(loginUser);
|
remoteUserService.recordLoginInfo(loginUser.getUserId(), ServletUtils.getClientIP());
|
||||||
|
|
||||||
LoginVo loginVo = new LoginVo();
|
LoginVo loginVo = new LoginVo();
|
||||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||||
|
@@ -8,6 +8,7 @@ import org.apache.dubbo.config.annotation.DubboService;
|
|||||||
import org.dromara.common.core.enums.UserStatus;
|
import org.dromara.common.core.enums.UserStatus;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
import org.dromara.common.core.exception.user.UserException;
|
import org.dromara.common.core.exception.user.UserException;
|
||||||
|
import org.dromara.common.core.utils.DateUtils;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.tenant.helper.TenantHelper;
|
import org.dromara.common.tenant.helper.TenantHelper;
|
||||||
import org.dromara.system.api.RemoteUserService;
|
import org.dromara.system.api.RemoteUserService;
|
||||||
@@ -161,13 +162,17 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
|||||||
/**
|
/**
|
||||||
* 更新用户信息
|
* 更新用户信息
|
||||||
*
|
*
|
||||||
* @param remoteUserBo 用户信息
|
* @param userId 用户ID
|
||||||
|
* @param ip IP地址
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void updateUser(RemoteUserBo remoteUserBo) {
|
public void recordLoginInfo(Long userId, String ip) {
|
||||||
SysUserBo sysUserBo = MapstructUtils.convert(remoteUserBo, SysUserBo.class);
|
SysUser sysUser = new SysUser();
|
||||||
sysUserBo.setUpdateBy(remoteUserBo.getUserId());
|
sysUser.setUserId(userId);
|
||||||
userService.updateUser(sysUserBo);
|
sysUser.setLoginIp(ip);
|
||||||
|
sysUser.setLoginDate(DateUtils.getNowDate());
|
||||||
|
sysUser.setUpdateBy(userId);
|
||||||
|
userMapper.updateById(sysUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user