ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java
@@ -41,6 +41,11 @@ String SYS_USER_NAME = "sys_user_name#30d"; /** * ç¨æ·åç§° */ String SYS_NICKNAME = "sys_nickname#30d"; /** * é¨é¨ */ String SYS_DEPT = "sys_dept#30d"; ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/UserService.java
@@ -15,4 +15,12 @@ */ String selectUserNameById(Long userId); /** * éè¿ç¨æ·IDæ¥è¯¢ç¨æ·è´¦æ· * * @param userId ç¨æ·ID * @return ç¨æ·è´¦æ· */ String selectNicknameById(Long userId); } ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/constant/TransConstant.java
@@ -13,6 +13,11 @@ String USER_ID_TO_NAME = "user_id_to_name"; /** * ç¨æ·idè½¬ç¨æ·åç§° */ String USER_ID_TO_NICKNAME = "user_id_to_nickname"; /** * é¨é¨id转åç§° */ String DEPT_ID_TO_NAME = "dept_id_to_name"; ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/NicknameTranslationImpl.java
¶Ô±ÈÐÂÎļþ @@ -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; } } ruoyi-common/ruoyi-common-translation/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -3,3 +3,4 @@ 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 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
@@ -536,4 +536,12 @@ .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(); } }