|
|
@@ -27,13 +27,11 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import vip.xiaonuo.disk.component.ResourceFileDealComp;
|
|
|
import vip.xiaonuo.disk.domain.*;
|
|
|
-import vip.xiaonuo.disk.dto.file.DownloadFileDTO;
|
|
|
-import vip.xiaonuo.disk.dto.file.EachOtherExchangeDTO;
|
|
|
-import vip.xiaonuo.disk.dto.file.PreviewDTO;
|
|
|
-import vip.xiaonuo.disk.dto.file.UploadFileDTO;
|
|
|
+import vip.xiaonuo.disk.dto.file.*;
|
|
|
import vip.xiaonuo.disk.io.QiwenFile;
|
|
|
import vip.xiaonuo.disk.mapper.*;
|
|
|
import vip.xiaonuo.disk.service.ResourceFileService;
|
|
|
+import vip.xiaonuo.disk.service.TranscodingService;
|
|
|
import vip.xiaonuo.disk.util.OperationLogUtil;
|
|
|
import vip.xiaonuo.disk.vo.file.UploadFileVo;
|
|
|
|
|
|
@@ -48,6 +46,8 @@ import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.Executor;
|
|
|
import java.util.concurrent.Executors;
|
|
|
+import java.util.concurrent.ScheduledExecutorService;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.zip.Adler32;
|
|
|
import java.util.zip.CheckedOutputStream;
|
|
|
@@ -76,6 +76,8 @@ public class ResourceFileServiceImpl extends ServiceImpl<ResourceFileMapper, Res
|
|
|
ImageMapper imageMapper;
|
|
|
@Resource
|
|
|
PictureFileMapper pictureFileMapper;
|
|
|
+ @Resource
|
|
|
+ private TranscodingService transcodingService;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -87,7 +89,8 @@ public class ResourceFileServiceImpl extends ServiceImpl<ResourceFileMapper, Res
|
|
|
public static final String CURRENT_MODULE = "文件传输接口";
|
|
|
|
|
|
public static final String FAIL = "操作失败";
|
|
|
- public static Executor exec = Executors.newFixedThreadPool(300);
|
|
|
+ public static ScheduledExecutorService exec = Executors.newScheduledThreadPool(300);
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public UploadFileVo uploadFileSpeed(HttpServletRequest request,String userId,UploadFileDTO uploadFileDTO) {
|
|
|
@@ -119,6 +122,18 @@ public class ResourceFileServiceImpl extends ServiceImpl<ResourceFileMapper, Res
|
|
|
resourceUserFile.setFuncType(funcType);
|
|
|
resourceUserFileMapper.insert(resourceUserFile);
|
|
|
uploadFileVo.setUploadStatus("1");
|
|
|
+ //上传成功同时用新线程异步转换格式用来创建预览用的文件
|
|
|
+ if(StringUtils.isEmpty(file.getPreviewFileUrl()))
|
|
|
+ {
|
|
|
+ exec.schedule(() -> {
|
|
|
+ TranscodingResourceReqDTO transcodingResourceReqDTO = new TranscodingResourceReqDTO();
|
|
|
+ transcodingResourceReqDTO.setUserFileId(resourceUserFile.getUserFileId());
|
|
|
+ transcodingResourceReqDTO.setUserId(userId);
|
|
|
+ transcodingService.transcodingResourceParallel(transcodingResourceReqDTO);
|
|
|
+ }, 10, TimeUnit.SECONDS);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
} catch (Exception e) {
|
|
|
log.warn("极速上传文件冲突重命名处理: {}", JSON.toJSONString(resourceUserFile));
|
|
|
|
|
|
@@ -236,6 +251,13 @@ public class ResourceFileServiceImpl extends ServiceImpl<ResourceFileMapper, Res
|
|
|
}
|
|
|
uploadFileVo.setUserFileId(resourceUserFile.getUserFileId());
|
|
|
uploadFileVo.setUploadStatus("1");
|
|
|
+ //上传成功同时用新线程异步转换格式用来创建预览用的文件
|
|
|
+ exec.schedule(() -> {
|
|
|
+ TranscodingResourceReqDTO transcodingResourceReqDTO = new TranscodingResourceReqDTO();
|
|
|
+ transcodingResourceReqDTO.setUserFileId(resourceUserFile.getUserFileId());
|
|
|
+ transcodingResourceReqDTO.setUserId(userId);
|
|
|
+ transcodingService.transcodingResourceParallel(transcodingResourceReqDTO);
|
|
|
+ }, 10, TimeUnit.SECONDS);
|
|
|
|
|
|
if (relativePath.contains("/")) {
|
|
|
QiwenFile finalQiwenFile = qiwenFile;
|