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