From cb61a84acbe4fd6b63fe51180c07b9e9fff787af Mon Sep 17 00:00:00 2001
From: zlyx <1242874891@qq.com>
Date: 星期三, 19 十月 2022 09:06:20 +0800
Subject: [PATCH] fix 修正 SysConfig, SysOss 方法内部调用导致缓存不生效 bug ;

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
index 28bee3d..6c63821 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -1,12 +1,15 @@
 package com.ruoyi.system.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.constant.CacheNames;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.oss.core.OssClient;
 import com.ruoyi.oss.entity.UploadResult;
 import com.ruoyi.oss.factory.OssFactory;
@@ -16,10 +19,12 @@
 import com.ruoyi.system.mapper.SysOssMapper;
 import com.ruoyi.system.service.ISysOssService;
 import lombok.RequiredArgsConstructor;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -44,7 +49,14 @@
 
     @Override
     public List<SysOssVo> listByIds(Collection<Long> ossIds) {
-        return baseMapper.selectVoById(ossIds);
+        List<SysOssVo> list = new ArrayList<>();
+        for (Long id : ossIds) {
+            SysOssVo vo = SpringUtils.getAopProxy(this).getById(id);
+            if (ObjectUtil.isNotNull(vo)) {
+                list.add(vo);
+            }
+        }
+        return list;
     }
 
     private LambdaQueryWrapper<SysOss> buildQueryWrapper(SysOssBo bo) {
@@ -61,9 +73,10 @@
         return lqw;
     }
 
+    @Cacheable(cacheNames = CacheNames.SYS_OSS, key = "#ossId")
     @Override
-    public SysOss getById(Long ossId) {
-        return baseMapper.selectById(ossId);
+    public SysOssVo getById(Long ossId) {
+        return baseMapper.selectVoById(ossId);
     }
 
     @Override

--
Gitblit v1.9.3