ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheNames.java
@@ -31,6 +31,11 @@ String SYS_DICT = "sys_dict"; /** * ç¨æ·è´¦æ· */ String SYS_USER_NAME = "sys_user_name#30d"; /** * OSSå 容 */ String SYS_OSS = "sys_oss#30d"; ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/OssService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.common.core.service; /** * éç¨ OSSæå¡ * * @author Lion Li */ public interface OssService { /** * éè¿ossIdæ¥è¯¢å¯¹åºçurl * * @param ossIds ossId串éå·åé * @return url串éå·åé */ String selectUrlByIds(String ossIds); } ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/UserService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.common.core.service; /** * éç¨ ç¨æ·æå¡ * * @author Lion Li */ public interface UserService { /** * éè¿ç¨æ·IDæ¥è¯¢ç¨æ·è´¦æ· * * @param userId ç¨æ·ID * @return ç¨æ·è´¦æ· */ String selectUserNameById(Long userId); } ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/OssUrlTranslationImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ package com.ruoyi.common.translation.core.impl; import com.ruoyi.common.core.service.OssService; import com.ruoyi.common.translation.annotation.TranslationType; import com.ruoyi.common.translation.constant.TransConstant; import com.ruoyi.common.translation.core.TranslationInterface; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; /** * OSSç¿»è¯å®ç° * * @author Lion Li */ @Component @AllArgsConstructor @TranslationType(type = TransConstant.OSS_ID_TO_URL) public class OssUrlTranslationImpl implements TranslationInterface { private final OssService ossService; public String translation(Object key, String other) { if (key instanceof String ids) { return ossService.selectUrlByIds(ids); } return null; } } ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/UserNameTranslationImpl.java
@@ -1,8 +1,10 @@ package com.ruoyi.common.translation.core.impl; import com.ruoyi.common.core.service.UserService; import com.ruoyi.common.translation.annotation.TranslationType; import com.ruoyi.common.translation.constant.TransConstant; import com.ruoyi.common.translation.core.TranslationInterface; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; /** @@ -11,13 +13,15 @@ * @author Lion Li */ @Component @AllArgsConstructor @TranslationType(type = TransConstant.USER_ID_TO_NAME) public class UserNameTranslationImpl implements TranslationInterface { private final UserService userService; public String translation(Object key, String other) { // todo å¾ å®ç° if (key instanceof Long id) { return "admin"; return userService.selectUserNameById(id); } return null; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.constant.CacheNames; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.service.OssService; import com.ruoyi.common.core.utils.BeanCopyUtils; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StreamUtils; @@ -32,10 +33,7 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.*; /** * æä»¶ä¸ä¼ æå¡å±å®ç° @@ -44,7 +42,7 @@ */ @RequiredArgsConstructor @Service public class SysOssServiceImpl implements ISysOssService { public class SysOssServiceImpl implements ISysOssService, OssService { private final SysOssMapper baseMapper; @@ -69,6 +67,18 @@ return list; } @Override public String selectUrlByIds(String ossIds) { List<String> list = new ArrayList<>(); for (Long id : Arrays.stream(ossIds.split(",")).map(Long::parseLong).toList()) { SysOssVo vo = SpringUtils.getAopProxy(this).getById(id); if (ObjectUtil.isNotNull(vo)) { list.add(this.matchingUrl(vo).getUrl()); } } return String.join(",", list); } private LambdaQueryWrapper<SysOss> buildQueryWrapper(SysOssBo bo) { Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<SysOss> lqw = Wrappers.lambdaQuery(); ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -9,8 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.constant.CacheNames; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.service.UserService; import com.ruoyi.common.core.utils.StreamUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.mybatis.core.page.PageQuery; @@ -22,6 +24,7 @@ import com.ruoyi.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -36,7 +39,7 @@ @Slf4j @RequiredArgsConstructor @Service public class SysUserServiceImpl implements ISysUserService { public class SysUserServiceImpl implements ISysUserService, UserService { private final SysUserMapper baseMapper; private final SysDeptMapper deptMapper; @@ -474,4 +477,11 @@ return baseMapper.deleteBatchIds(ids); } @Cacheable(cacheNames = CacheNames.SYS_USER_NAME, key = "#userId") @Override public String selectUserNameById(Long userId) { SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<SysUser>() .select(SysUser::getUserName).eq(SysUser::getUserId, userId)); return ObjectUtil.isNull(sysUser) ? null : sysUser.getUserName(); } }