mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-18 01:25:28 +08:00
fix(oss): 删除文件后清除缓存防止查询命中已删除数据
This commit is contained in:
parent
e3bc391887
commit
3bc4799436
@ -21,6 +21,7 @@ import org.dromara.common.oss.enums.AccessPolicy;
|
|||||||
import org.dromara.common.oss.factory.OssFactory;
|
import org.dromara.common.oss.factory.OssFactory;
|
||||||
import org.dromara.common.oss.model.Options;
|
import org.dromara.common.oss.model.Options;
|
||||||
import org.dromara.common.oss.model.PutObjectResult;
|
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.OssService;
|
||||||
import org.dromara.system.api.domain.OssDTO;
|
import org.dromara.system.api.domain.OssDTO;
|
||||||
import org.dromara.system.domain.SysOss;
|
import org.dromara.system.domain.SysOss;
|
||||||
@ -312,7 +313,12 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
|
|||||||
for (SysOss sysOss : list) {
|
for (SysOss sysOss : list) {
|
||||||
OssFactory.instance(sysOss.getService()).delete(sysOss.getFileName());
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user