Переглянути джерело

修改文件合并分块的返回值为文件信息

tsurumure 3 місяців тому
батько
коміт
ded7ef98f8

+ 2 - 1
src/main/java/com/backendsys/modules/upload/service/SysFileMultipartService.java

@@ -1,5 +1,6 @@
 package com.backendsys.modules.upload.service;
 
+import com.backendsys.modules.upload.entity.SysFile;
 import com.qcloud.cos.model.PartListing;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -12,7 +13,7 @@ public interface SysFileMultipartService {
     // 2.上传分块
     Map<String, Object> multipartUpload(MultipartFile multipartFile, String upload_id, Integer upload_chunk_index);
     // 3.完成分块上传
-    Map<String, Object> multipartUploadComplete(String upload_id);
+    SysFile multipartUploadComplete(String upload_id);
 
     // 查询分块上传情况
     Map<String, Object> listParts(String upload_id, String object_key);

+ 10 - 8
src/main/java/com/backendsys/modules/upload/service/impl/SysFileMultipartServiceImpl.java

@@ -182,7 +182,7 @@ public class SysFileMultipartServiceImpl implements SysFileMultipartService {
                 // - 异常情况:如果有两个相同的文件,一个上传50%,一个上传成功,就会出现以下这种情况,需要手动解决
                 List<SysFile> sysFileEntityList = sysFileDao.selectList(wrapperFile);
                 if (sysFileEntityList != null && sysFileEntityList.size() > 1) {
-                    throw new CustException("存在 " + sysFileEntityList.size() + " 个相同Md5 (" + md5 + ") 的文件,请先排重后再上传");
+                    throw new CustException("存在 " + sysFileEntityList.size() + " 个相同MD5 (" + md5 + ") 的文件,请删除后再重新上传");
                 }
 
                 if (sysFileEntityList != null && sysFileEntityList.size() > 0) {
@@ -297,7 +297,7 @@ public class SysFileMultipartServiceImpl implements SysFileMultipartService {
 
     // 完成分块上传
     @Override
-    public Map<String, Object> multipartUploadComplete(String upload_id) {
+    public SysFile multipartUploadComplete(String upload_id) {
 
         if (StrUtil.isEmpty(upload_id)) throw new CustException("upload_id 不能为空");
 
@@ -372,12 +372,14 @@ public class SysFileMultipartServiceImpl implements SysFileMultipartService {
         // [DB] 更新分块记录
         sysFileDao.updateCompleteFile(sysFileEntity);
 
-        Map<String, Object> resp = new LinkedHashMap<>();
-        resp.put("upload_id", upload_id);
-        resp.put("request_id", sysFileEntity.getRequest_id());
-        resp.put("object_key", sysFileEntity.getObject_key());
-        resp.put("url", sysFileEntity.getUrl());
-        return resp;
+//        Map<String, Object> resp = new LinkedHashMap<>();
+//        resp.put("upload_id", upload_id);
+//        resp.put("request_id", sysFileEntity.getRequest_id());
+//        resp.put("object_key", sysFileEntity.getObject_key());
+//        resp.put("url", sysFileEntity.getUrl());
+//        return resp;
+
+        return sysFileEntity;
 
     }
 

+ 1 - 1
src/main/java/com/backendsys/modules/upload/service/impl/SysFileServiceImpl.java

@@ -272,7 +272,7 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileDao, SysFile> impleme
                 wrapperFile.eq(SysFile::getUser_id, SecurityUtil.getUserId());
                 List<SysFile> sysFileEntityList = sysFileDao.selectList(wrapperFile);
                 if (sysFileEntityList != null && sysFileEntityList.size() > 1) {
-                    throw new CustException("存在 " + sysFileEntityList.size() + " 个相同Md5 (" + md5 + ") 的文件,请先排重后再上传");
+                    throw new CustException("存在 " + sysFileEntityList.size() + " 个相同Md5 (" + md5 + ") 的文件,请删除后再重新上传");
                 }
 
                 if (sysFileEntityList != null && sysFileEntityList.size() > 0) {