修改mybatis自动插入的creator updater 字段为用户昵称

This commit is contained in:
yangsb
2024-04-25 17:45:18 +08:00
parent b73028b192
commit a7eff5f294
16 changed files with 74 additions and 23 deletions
@@ -30,5 +30,7 @@ public class OAuth2AccessTokenCheckRespDTO implements Serializable {
private Integer tableNo;
@Schema(description = "数据源编码")
private String dataCode;
@Schema(description = "用户昵称")
private String nickname;
}
@@ -32,5 +32,6 @@ public class OAuth2AccessTokenCreateReqDTO implements Serializable {
private Long organId;
@Schema(description = "数据源标识")
private String dataCode;
@Schema(description = "用户昵称")
private String nickname;
}
@@ -40,7 +40,7 @@ public class OAuth2TokenApiImpl implements OAuth2TokenApi {
throw new ServerException(10023,"组织不存在");
}*/
OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken(
reqDTO.getUserId(), reqDTO.getUserType(), reqDTO.getClientId(), reqDTO.getScopes(), null, null, null, reqDTO.getDataCode(), reqDTO.getOrganId());
reqDTO.getUserId(), reqDTO.getUserType(), reqDTO.getClientId(), reqDTO.getScopes(), null, null, null, reqDTO.getDataCode(), reqDTO.getOrganId(), reqDTO.getNickname());
return success(BeanUtils.toBean(accessTokenDO, OAuth2AccessTokenRespDTO.class));
}
@@ -82,7 +82,12 @@ public class OAuth2AccessTokenDO extends BaseDO {
* 数据源编码
*/
private String dataCode;
/**
* 组织id
*/
private Long organId;
/**
* 用户昵称
*/
private String nickname;
}
@@ -79,5 +79,9 @@ public class OAuth2RefreshTokenDO extends BaseDO {
* 组织id
*/
private Long organId;
/**
* 用户昵称
*/
private String nickname;
}
@@ -134,7 +134,9 @@ public class ApplicationServiceImpl implements ApplicationService{
null,
null,
null,
null);
null,
null
);
// 构建返回结果
return AuthConvert.INSTANCE.convert(accessTokenDO);
}
@@ -130,7 +130,7 @@ public class AdminAuthServiceImpl implements AdminAuthService {
throw exception(ORGAN_DATA_CODE_NOT_EXISTS);
}
// 创建 Token 令牌,记录登录日志
return createTokenAfterLoginSuccess(user.getId(), reqVO.getUsername(), LoginLogTypeEnum.LOGIN_USERNAME, dataSourceCode, user.getOrganId());
return createTokenAfterLoginSuccess(user.getId(), reqVO.getUsername(), LoginLogTypeEnum.LOGIN_USERNAME, dataSourceCode, user.getOrganId(), user.getNickname());
}
@Override
@@ -161,7 +161,7 @@ public class AdminAuthServiceImpl implements AdminAuthService {
}
// 创建 Token 令牌,记录登录日志
return createTokenAfterLoginSuccess(user.getId(), reqVO.getMobile(), LoginLogTypeEnum.LOGIN_MOBILE, dataSourceCode, organId);
return createTokenAfterLoginSuccess(user.getId(), reqVO.getMobile(), LoginLogTypeEnum.LOGIN_MOBILE, dataSourceCode, organId, user.getNickname());
}
private void createLoginLog(Long userId, String username,
@@ -206,7 +206,7 @@ public class AdminAuthServiceImpl implements AdminAuthService {
}
// 创建 Token 令牌,记录登录日志
return createTokenAfterLoginSuccess(user.getId(), user.getUsername(), LoginLogTypeEnum.LOGIN_SOCIAL, dataSourceCode, organId);
return createTokenAfterLoginSuccess(user.getId(), user.getUsername(), LoginLogTypeEnum.LOGIN_SOCIAL, dataSourceCode, organId, user.getNickname());
}
@VisibleForTesting
@@ -228,7 +228,7 @@ public class AdminAuthServiceImpl implements AdminAuthService {
}
}
private AuthLoginRespVO createTokenAfterLoginSuccess(Long userId, String username, LoginLogTypeEnum logType, String dataCode, Long organId) {
private AuthLoginRespVO createTokenAfterLoginSuccess(Long userId, String username, LoginLogTypeEnum logType, String dataCode, Long organId, String nickname) {
// 插入登陆日志
createLoginLog(userId, username, logType, LoginResultEnum.SUCCESS);
/*Long organId = OrganContextHolder.getOrganId();
@@ -238,7 +238,7 @@ public class AdminAuthServiceImpl implements AdminAuthService {
}*/
// 创建访问令牌
OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken(userId, getUserType().getValue(),
OAuth2ClientConstants.CLIENT_ID_DEFAULT, null, null, null, null, dataCode, organId);
OAuth2ClientConstants.CLIENT_ID_DEFAULT, null, null, null, null, dataCode, organId, nickname);
// 构建返回结果
return AuthConvert.INSTANCE.convert(accessTokenDO);
}
@@ -47,7 +47,7 @@ public class OAuth2GrantServiceImpl implements OAuth2GrantService {
if(Objects.isNull(organ)) {
throw new ServerException(10023,"组织不存在");
}*/
return oauth2TokenService.createAccessToken(userId, userType, clientId, scopes, null, null, null, null, null);
return oauth2TokenService.createAccessToken(userId, userType, clientId, scopes, null, null, null, null, null, null);
}
@Override
@@ -85,7 +85,7 @@ public class OAuth2GrantServiceImpl implements OAuth2GrantService {
// 创建访问令牌
return oauth2TokenService.createAccessToken(codeDO.getUserId(), codeDO.getUserType(),
codeDO.getClientId(), codeDO.getScopes(),null, null, null, null, null);
codeDO.getClientId(), codeDO.getScopes(),null, null, null, null, null, null);
}
@Override
@@ -99,7 +99,7 @@ public class OAuth2GrantServiceImpl implements OAuth2GrantService {
throw new ServerException(10023,"组织不存在");
}*/
// 创建访问令牌
return oauth2TokenService.createAccessToken(user.getId(), UserTypeEnum.ADMIN.getValue(), clientId, scopes,null, null, null, null,null);
return oauth2TokenService.createAccessToken(user.getId(), UserTypeEnum.ADMIN.getValue(), clientId, scopes,null, null, null, null,null,null);
}
@Override
@@ -27,7 +27,7 @@ public interface OAuth2TokenService {
* @param scopes 授权范围
* @return 访问令牌的信息
*/
OAuth2AccessTokenDO createAccessToken(Long userId, Integer userType, String clientId, List<String> scopes, Boolean large, Integer dbNo, Integer tableNo, String dataCode, Long organId);
OAuth2AccessTokenDO createAccessToken(Long userId, Integer userType, String clientId, List<String> scopes, Boolean large, Integer dbNo, Integer tableNo, String dataCode, Long organId, String nickname);
/**
* 刷新访问令牌
@@ -45,10 +45,10 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
@Override
@Transactional
public OAuth2AccessTokenDO createAccessToken(Long userId, Integer userType, String clientId, List<String> scopes,Boolean large, Integer dbNo, Integer tableNo, String dataCode, Long organId) {
public OAuth2AccessTokenDO createAccessToken(Long userId, Integer userType, String clientId, List<String> scopes,Boolean large, Integer dbNo, Integer tableNo, String dataCode, Long organId, String nickname) {
OAuth2ClientDO clientDO = oauth2ClientService.validOAuthClientFromCache(clientId);
// 创建刷新令牌
OAuth2RefreshTokenDO refreshTokenDO = createOAuth2RefreshToken(userId, userType, clientDO, scopes, large, dbNo, tableNo, dataCode, organId);
OAuth2RefreshTokenDO refreshTokenDO = createOAuth2RefreshToken(userId, userType, clientDO, scopes, large, dbNo, tableNo, dataCode, organId, nickname);
// 创建访问令牌
return createOAuth2AccessToken(refreshTokenDO, clientDO);
}
@@ -140,6 +140,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
.setExpiresTime(LocalDateTime.now().plusSeconds(clientDO.getAccessTokenValiditySeconds()))
.setLarge(refreshTokenDO.getLarge()).setDbNo(refreshTokenDO.getDbNo()).setTableNo(refreshTokenDO.getTableNo())
.setDataCode(refreshTokenDO.getDataCode()).setOrganId(refreshTokenDO.getOrganId())
.setNickname(refreshTokenDO.getNickname())
;
//accessTokenDO.setOrganId(OrganContextHolder.getOrganId()); // 手动设置组织编号,避免缓存到 Redis 的时候,无对应的组织编号
oauth2AccessTokenMapper.insert(accessTokenDO);
@@ -148,13 +149,13 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
return accessTokenDO;
}
private OAuth2RefreshTokenDO createOAuth2RefreshToken(Long userId, Integer userType, OAuth2ClientDO clientDO, List<String> scopes, Boolean large, Integer dbNo, Integer tableNo, String dataCode, Long organId) {
private OAuth2RefreshTokenDO createOAuth2RefreshToken(Long userId, Integer userType, OAuth2ClientDO clientDO, List<String> scopes, Boolean large, Integer dbNo, Integer tableNo, String dataCode, Long organId, String nickname) {
OAuth2RefreshTokenDO refreshToken = new OAuth2RefreshTokenDO().setRefreshToken(generateRefreshToken())
.setUserId(userId).setUserType(userType)
.setClientId(clientDO.getClientId()).setScopes(scopes)
.setExpiresTime(LocalDateTime.now().plusSeconds(clientDO.getRefreshTokenValiditySeconds()))
.setLarge(large).setDbNo(dbNo).setTableNo(tableNo).setDataCode(dataCode)
.setOrganId(organId)
.setOrganId(organId).setNickname(nickname)
;
oauth2RefreshTokenMapper.insert(refreshToken);
return refreshToken;