From fbdae78675d378b616565bef90ea23a63eef78e1 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 01 二月 2023 13:30:13 +0800 Subject: [PATCH] add 新增 转换模块 用户名 与 ossUrl 转换 --- ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheNames.java | 5 ++ ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/OssUrlTranslationImpl.java | 28 ++++++++++++++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java | 20 +++++++-- ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/OssService.java | 18 +++++++++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 12 +++++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/UserService.java | 18 +++++++++ ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/UserNameTranslationImpl.java | 8 +++- 7 files changed, 101 insertions(+), 8 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheNames.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheNames.java index ba09e9c..df3a10a 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheNames.java +++ b/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"; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/OssService.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/OssService.java new file mode 100644 index 0000000..65dda7c --- /dev/null +++ b/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鏌ヨ瀵瑰簲鐨剈rl + * + * @param ossIds ossId涓查�楀彿鍒嗛殧 + * @return url涓查�楀彿鍒嗛殧 + */ + String selectUrlByIds(String ossIds); + +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/UserService.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/UserService.java new file mode 100644 index 0000000..d2206c8 --- /dev/null +++ b/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); + +} diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/OssUrlTranslationImpl.java b/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/OssUrlTranslationImpl.java new file mode 100644 index 0000000..00a3f38 --- /dev/null +++ b/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; + } +} diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/UserNameTranslationImpl.java b/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/UserNameTranslationImpl.java index 34b0e0d..dbb71dc 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/UserNameTranslationImpl.java +++ b/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; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java index 7dcb8b8..db3b6c9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java +++ b/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(); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 2661890..9739806 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/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(); + } } -- Gitblit v1.9.3