|
@@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.mybatisflex.core.paginate.Page;
|
|
|
import com.mybatisflex.core.query.QueryWrapper;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -31,7 +32,9 @@ import org.eco.common.oss.factory.OssFactory;
|
|
|
import org.eco.system.domain.SysOss;
|
|
|
import org.eco.system.domain.bo.SysOssBo;
|
|
|
import org.eco.system.domain.vo.SysOssVo;
|
|
|
+import org.eco.system.mapper.SysDeptMapper;
|
|
|
import org.eco.system.mapper.SysOssMapper;
|
|
|
+import org.eco.system.service.ICommonService;
|
|
|
import org.eco.system.service.ISysOssService;
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
import org.springframework.http.MediaType;
|
|
@@ -44,6 +47,7 @@ import java.io.InputStream;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import static org.eco.common.core.utils.file.FileUtils.percentEncode;
|
|
|
import static org.eco.system.domain.table.SysOssTableDef.SYS_OSS;
|
|
@@ -61,6 +65,9 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
|
|
|
private final SysOssMapper ossMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private ICommonService commonService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public QueryWrapper query() {
|
|
@@ -169,7 +176,12 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
OssClient storage = OssFactory.instance();
|
|
|
UploadResult uploadResult;
|
|
|
try {
|
|
|
- uploadResult = storage.uploadSuffix(file.getBytes(), suffix);
|
|
|
+ if(StrUtil.equals(storage.getConfigKey(),"local")) {
|
|
|
+ Map<String,String> map = commonService.uploadFile(file);
|
|
|
+ uploadResult = UploadResult.builder().url(map.get("url")).filename(map.get("fileName")).build();
|
|
|
+ } else {
|
|
|
+ uploadResult = storage.uploadSuffix(file.getBytes(), suffix);
|
|
|
+ }
|
|
|
} catch (IOException e) {
|
|
|
throw new BusinessException(e.getMessage());
|
|
|
}
|
|
@@ -181,7 +193,9 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
public UploadRes upload(byte[] file, String name) {
|
|
|
String suffix = StringUtils.substring(name, name.lastIndexOf("."), name.length());
|
|
|
OssClient storage = OssFactory.instance();
|
|
|
- UploadResult uploadResult = storage.uploadSuffix(file, suffix);
|
|
|
+ UploadResult uploadResult;
|
|
|
+ // TODO local情况处理 异步
|
|
|
+ uploadResult = storage.uploadSuffix(file, suffix);
|
|
|
SysOssVo ossVo = buildResultEntity(name, suffix, storage.getConfigKey(), uploadResult);
|
|
|
return UploadRes.builder().name(name).url(uploadResult.getUrl()).ossId(ossVo.getOssId()).build();
|
|
|
}
|
|
@@ -217,7 +231,7 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
|
|
|
List<SysOss> list = this.listByIds(ids);
|
|
|
for (SysOss sysOss : list) {
|
|
|
- if (StrUtil.equals("Local", sysOss.getService())) {
|
|
|
+ if (StrUtil.equals("local", sysOss.getService())) {
|
|
|
// 删除本地文件
|
|
|
String filePath = EcoConfig.getProfile() + StringUtils.substringAfter(sysOss.getFileName(), Constants.RESOURCE_PREFIX);
|
|
|
boolean deleted = FileUtil.del(filePath);
|
|
@@ -239,7 +253,7 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
* @return oss 匹配Url的OSS对象
|
|
|
*/
|
|
|
private SysOssVo matchingUrl(SysOssVo oss) {
|
|
|
- if (StrUtil.equals("Local", oss.getService())) {
|
|
|
+ if (StrUtil.equals("local", oss.getService())) {
|
|
|
return oss;
|
|
|
}
|
|
|
OssClient storage = OssFactory.instance(oss.getService());
|
|
@@ -257,7 +271,7 @@ public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOss> imp
|
|
|
oss.setFileSuffix(suffix);
|
|
|
oss.setFileName(fileName);
|
|
|
oss.setOriginalName(originalFileName);
|
|
|
- oss.setService("Local");
|
|
|
+ oss.setService("local");
|
|
|
this.save(oss);
|
|
|
SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class);
|
|
|
assert sysOssVo != null;
|