fix 修复错误的远程调用导致登录异常 ;
parent
52955e5290
commit
054ded428f
|
|
@ -63,5 +63,11 @@ public interface RemoteUserService {
|
|||
*/
|
||||
String selectUserNameById(Long userId);
|
||||
|
||||
void recordLoginInfo(Long userId);
|
||||
/**
|
||||
* 更新用户信息
|
||||
*
|
||||
* @param remoteUserBo 用户信息
|
||||
*/
|
||||
void updateUser(RemoteUserBo remoteUserBo);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,6 +136,20 @@ public class SysLoginService {
|
|||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录校验
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public class EmailAuthStrategy implements IAuthStrategy {
|
|||
LoginHelper.login(loginUser, model);
|
||||
|
||||
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||
remoteUserService.recordLoginInfo(loginUser.getUserId());
|
||||
loginService.recordLoginInfo(loginUser);
|
||||
|
||||
LoginVo loginVo = new LoginVo();
|
||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import cn.dev33.satoken.stp.StpUtil;
|
|||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.apache.dubbo.rpc.RpcContext;
|
||||
import org.dromara.auth.domain.vo.LoginVo;
|
||||
import org.dromara.common.core.exception.CaptchaException;
|
||||
import org.dromara.common.core.domain.model.LoginBody;
|
||||
|
|
@ -17,6 +18,7 @@ import org.dromara.common.core.constant.GlobalConstants;
|
|||
import org.dromara.common.core.enums.LoginType;
|
||||
import org.dromara.common.core.exception.user.CaptchaExpireException;
|
||||
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.ValidatorUtils;
|
||||
import org.dromara.common.core.validate.auth.PasswordGroup;
|
||||
|
|
@ -77,7 +79,7 @@ public class PasswordAuthStrategy implements IAuthStrategy {
|
|||
LoginHelper.login(loginUser, model);
|
||||
|
||||
loginService.recordLogininfor(loginUser.getTenantId(), username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||
remoteUserService.recordLoginInfo(loginUser.getUserId());
|
||||
loginService.recordLoginInfo(loginUser);
|
||||
|
||||
LoginVo loginVo = new LoginVo();
|
||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public class SmsAuthStrategy implements IAuthStrategy {
|
|||
LoginHelper.login(loginUser, model);
|
||||
|
||||
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||
remoteUserService.recordLoginInfo(loginUser.getUserId());
|
||||
loginService.recordLoginInfo(loginUser);
|
||||
|
||||
LoginVo loginVo = new LoginVo();
|
||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ public class SocialAuthStrategy implements IAuthStrategy {
|
|||
LoginHelper.login(loginUser, model);
|
||||
|
||||
loginService.recordLogininfor(loginUser.getTenantId(), socialVo.getUserName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||
remoteUserService.recordLoginInfo(socialVo.getUserId());
|
||||
loginService.recordLoginInfo(loginUser);
|
||||
|
||||
LoginVo loginVo = new LoginVo();
|
||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class XcxAuthStrategy implements IAuthStrategy {
|
|||
LoginHelper.login(loginUser, model);
|
||||
|
||||
loginService.recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
||||
remoteUserService.recordLoginInfo(loginUser.getUserId());
|
||||
loginService.recordLoginInfo(loginUser);
|
||||
|
||||
LoginVo loginVo = new LoginVo();
|
||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||
|
|
|
|||
|
|
@ -8,9 +8,7 @@ import org.apache.dubbo.config.annotation.DubboService;
|
|||
import org.dromara.common.core.enums.UserStatus;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
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.ServletUtils;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.bo.RemoteUserBo;
|
||||
|
|
@ -161,18 +159,15 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
|||
}
|
||||
|
||||
/**
|
||||
* 记录登录信息
|
||||
* 更新用户信息
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param remoteUserBo 用户信息
|
||||
*/
|
||||
@Override
|
||||
public void recordLoginInfo(Long userId) {
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setUserId(userId);
|
||||
sysUser.setLoginIp(ServletUtils.getClientIP());
|
||||
sysUser.setLoginDate(DateUtils.getNowDate());
|
||||
sysUser.setUpdateBy(userId);
|
||||
userMapper.updateById(sysUser);
|
||||
public void updateUser(RemoteUserBo remoteUserBo) {
|
||||
SysUserBo sysUserBo = MapstructUtils.convert(remoteUserBo, SysUserBo.class);
|
||||
sysUserBo.setUpdateBy(remoteUserBo.getUserId());
|
||||
userService.updateUser(sysUserBo);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue