【7.1.1】新增getEffectiveLoginUser

pull/22/head
fengshuonan 2021-07-29 22:31:34 +08:00
parent de762eda6a
commit 2c109e4ad6
3 changed files with 29 additions and 4 deletions

View File

@ -34,7 +34,6 @@ import cn.stylefeng.roses.kernel.auth.api.expander.AuthConfigExpander;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil; import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
import cn.stylefeng.roses.kernel.system.api.UserServiceApi; import cn.stylefeng.roses.kernel.system.api.UserServiceApi;
import cn.stylefeng.roses.kernel.system.api.pojo.user.UserLoginInfoDTO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -115,8 +114,7 @@ public class LoginUserImpl implements LoginUserApi {
} }
// 从新组装一次loginUser保证loginUser中数据的时效性 // 从新组装一次loginUser保证loginUser中数据的时效性
UserLoginInfoDTO userLoginInfo = userServiceApi.getUserLoginInfo(session.getAccount()); return userServiceApi.getEffectiveLoginUser(session);
return userLoginInfo.getLoginUser();
} }
@Override @Override

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.system.api; package cn.stylefeng.roses.kernel.system.api;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
import cn.stylefeng.roses.kernel.system.api.pojo.user.OnlineUserDTO; import cn.stylefeng.roses.kernel.system.api.pojo.user.OnlineUserDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserDTO; import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.user.UserLoginInfoDTO; import cn.stylefeng.roses.kernel.system.api.pojo.user.UserLoginInfoDTO;
@ -43,7 +44,7 @@ import java.util.Set;
public interface UserServiceApi { public interface UserServiceApi {
/** /**
* *
* *
* @param account * @param account
* @return * @return
@ -52,6 +53,18 @@ public interface UserServiceApi {
*/ */
UserLoginInfoDTO getUserLoginInfo(String account); UserLoginInfoDTO getUserLoginInfo(String account);
/**
*
* <p>
* session退
* <p>
*
*
* @author fengshuonan
* @date 2021/7/29 22:03
*/
LoginUser getEffectiveLoginUser(LoginUser loginUser);
/** /**
* ip * ip
* *

View File

@ -571,6 +571,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return UserLoginInfoFactory.userLoginInfoDTO(sysUser, roleResponseList, dataScopeResponse, userOrgInfo, resourceUrlsListByCodes, roleButtonCodes); return UserLoginInfoFactory.userLoginInfoDTO(sysUser, roleResponseList, dataScopeResponse, userOrgInfo, resourceUrlsListByCodes, roleButtonCodes);
} }
@Override
public LoginUser getEffectiveLoginUser(LoginUser loginUser) {
UserLoginInfoDTO userLoginInfoDTO = this.getUserLoginInfo(loginUser.getAccount());
LoginUser newLoginUser = userLoginInfoDTO.getLoginUser();
// 设置登录用户原有的一些信息
newLoginUser.setToken(loginUser.getToken());
newLoginUser.setTenantCode(loginUser.getTenantCode());
newLoginUser.setWsUrl(loginUser.getWsUrl());
return newLoginUser;
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void updateUserLoginInfo(Long userId, Date date, String ip) { public void updateUserLoginInfo(Long userId, Date date, String ip) {