From 3bc4799436f460565d97d00beef182324fdb74e6 Mon Sep 17 00:00:00 2001 From: liyong <1506100524@qq.com> Date: Mon, 14 Sep 2026 14:57:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(oss):=20=E5=88=A0=E9=99=A4=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=90=8E=E6=B8=85=E9=99=A4=E7=BC=93=E5=AD=98=E9=98=B2?= =?UTF-8?q?=E6=AD=A2=E6=9F=A5=E8=AF=A2=E5=91=BD=E4=B8=AD=E5=B7=B2=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/system/service/impl/SysOssServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java index b4a7fb469..b0830d81a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java @@ -21,6 +21,7 @@ import org.dromara.common.oss.enums.AccessPolicy; import org.dromara.common.oss.factory.OssFactory; import org.dromara.common.oss.model.Options; import org.dromara.common.oss.model.PutObjectResult; +import org.dromara.common.redis.utils.CacheUtils; import org.dromara.system.api.OssService; import org.dromara.system.api.domain.OssDTO; import org.dromara.system.domain.SysOss; @@ -312,7 +313,12 @@ public class SysOssServiceImpl implements ISysOssService, OssService { for (SysOss sysOss : list) { OssFactory.instance(sysOss.getService()).delete(sysOss.getFileName()); } - return ossMapper.deleteByIds(ids) > 0; + boolean flag = ossMapper.deleteByIds(ids) > 0; + if (flag) { + // 删除成功后需清除缓存,否则 getById 仍会命中缓存返回已删除的文件信息 + list.forEach(sysOss -> CacheUtils.evict(CacheNames.SYS_OSS, sysOss.getOssId())); + } + return flag; } /**