add 新增 翻译组件 用户昵称翻译实现

This commit is contained in:
疯狂的狮子Li 2023-11-30 13:13:50 +08:00
parent cb9a3c36e6
commit 7dde869eba
6 changed files with 54 additions and 0 deletions

View File

@ -40,6 +40,11 @@ public interface CacheNames {
*/
String SYS_USER_NAME = "sys_user_name#30d";
/**
* 用户名称
*/
String SYS_NICKNAME = "sys_nickname#30d";
/**
* 部门
*/

View File

@ -15,4 +15,12 @@ public interface UserService {
*/
String selectUserNameById(Long userId);
/**
* 通过用户ID查询用户账户
*
* @param userId 用户ID
* @return 用户账户
*/
String selectNicknameById(Long userId);
}

View File

@ -12,6 +12,11 @@ public interface TransConstant {
*/
String USER_ID_TO_NAME = "user_id_to_name";
/**
* 用户id转用户名称
*/
String USER_ID_TO_NICKNAME = "user_id_to_nickname";
/**
* 部门id转名称
*/

View File

@ -0,0 +1,27 @@
package org.dromara.common.translation.core.impl;
import lombok.AllArgsConstructor;
import org.dromara.common.core.service.UserService;
import org.dromara.common.translation.annotation.TranslationType;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.common.translation.core.TranslationInterface;
/**
* 用户名称翻译实现
*
* @author may
*/
@AllArgsConstructor
@TranslationType(type = TransConstant.USER_ID_TO_NICKNAME)
public class NicknameTranslationImpl implements TranslationInterface<String> {
private final UserService userService;
@Override
public String translation(Object key, String other) {
if (key instanceof Long id) {
return userService.selectNicknameById(id);
}
return null;
}
}

View File

@ -3,3 +3,4 @@ org.dromara.common.translation.core.impl.DeptNameTranslationImpl
org.dromara.common.translation.core.impl.DictTypeTranslationImpl
org.dromara.common.translation.core.impl.OssUrlTranslationImpl
org.dromara.common.translation.core.impl.UserNameTranslationImpl
org.dromara.common.translation.core.impl.NicknameTranslationImpl

View File

@ -536,4 +536,12 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
.select(SysUser::getUserName).eq(SysUser::getUserId, userId));
return ObjectUtil.isNull(sysUser) ? null : sysUser.getUserName();
}
@Override
@Cacheable(cacheNames = CacheNames.SYS_NICKNAME, key = "#userId")
public String selectNicknameById(Long userId) {
SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<SysUser>()
.select(SysUser::getNickName).eq(SysUser::getUserId, userId));
return ObjectUtil.isNull(sysUser) ? null : sysUser.getNickName();
}
}