|
@@ -1,9 +1,13 @@
|
|
|
package com.taais.system.service.impl;
|
|
|
|
|
|
import cn.hutool.core.convert.Convert;
|
|
|
+import cn.hutool.core.io.FileUtil;
|
|
|
import cn.hutool.core.io.IoUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import com.taais.common.core.config.TaaisConfig;
|
|
|
import com.taais.common.core.constant.CacheNames;
|
|
|
+import com.taais.common.core.constant.Constants;
|
|
|
import com.taais.common.core.core.page.PageResult;
|
|
|
import com.taais.common.core.exception.ServiceException;
|
|
|
import com.taais.common.core.service.OssService;
|
|
@@ -60,7 +64,7 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
}
|
|
|
|
|
|
private QueryWrapper buildQueryWrapper(SysOssBo bo) {
|
|
|
- QueryWrapper queryWrapper = super.buildBaseQueryWrapper()
|
|
|
+ return super.buildBaseQueryWrapper()
|
|
|
.where(SYS_OSS.FILE_NAME.like(bo.getFileName()))
|
|
|
.and(SYS_OSS.ORIGINAL_NAME.like(bo.getOriginalName()))
|
|
|
.and(SYS_OSS.FILE_SUFFIX.eq(bo.getFileSuffix()))
|
|
@@ -68,7 +72,6 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
.and(SYS_OSS.CREATE_TIME.between(bo.getParams().get("beginCreateTime"), bo.getParams().get("endCreateTime")))
|
|
|
.and(SYS_OSS.SERVICE.eq(bo.getService()))
|
|
|
.orderBy(SYS_OSS.OSS_ID.asc());
|
|
|
- return queryWrapper;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -185,8 +188,17 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
|
|
|
List<SysOss> list = this.listByIds(ids);
|
|
|
for (SysOss sysOss : list) {
|
|
|
- OssClient storage = OssFactory.instance(sysOss.getService());
|
|
|
- storage.delete(sysOss.getUrl());
|
|
|
+ if (StrUtil.equals("Local",sysOss.getService())) {
|
|
|
+ // 删除本地文件
|
|
|
+ String filePath = TaaisConfig.getProfile() + StringUtils.substringAfter(sysOss.getFileName(), Constants.RESOURCE_PREFIX);
|
|
|
+ boolean deleted = FileUtil.del(filePath);
|
|
|
+ if (!deleted) {
|
|
|
+ throw new ServiceException(sysOss.getFileName()+ "文件删除失败,可能是因为文件不存在或无权限删除。");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ OssClient storage = OssFactory.instance(sysOss.getService());
|
|
|
+ storage.delete(sysOss.getUrl());
|
|
|
+ }
|
|
|
}
|
|
|
return this.removeByIds(ids);
|
|
|
}
|
|
@@ -198,6 +210,9 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
* @return oss 匹配Url的OSS对象
|
|
|
*/
|
|
|
private SysOssVo matchingUrl(SysOssVo oss) {
|
|
|
+ if (StrUtil.equals("Local",oss.getService())){
|
|
|
+ return oss;
|
|
|
+ }
|
|
|
OssClient storage = OssFactory.instance(oss.getService());
|
|
|
// 仅修改桶类型为 private 的URL,临时URL时长为120s
|
|
|
if (AccessPolicyType.PRIVATE == storage.getAccessPolicy()) {
|
|
@@ -205,4 +220,19 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
}
|
|
|
return oss;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SysOssVo saveResultEntity(String originalFileName, String suffix, String url, String fileName) {
|
|
|
+ SysOss oss = new SysOss();
|
|
|
+ oss.setUrl(url);
|
|
|
+ oss.setFileSuffix(suffix);
|
|
|
+ oss.setFileName(fileName);
|
|
|
+ oss.setOriginalName(originalFileName);
|
|
|
+ oss.setService("Local");
|
|
|
+ this.save(oss);
|
|
|
+ SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class);
|
|
|
+ assert sysOssVo != null;
|
|
|
+ return sysOssVo;
|
|
|
+ }
|
|
|
}
|