diff --git a/.workflow/pipeline-20220517-1.yml b/.workflow/pipeline-20220517-1.yml index 4dd8086..22defd3 100644 --- a/.workflow/pipeline-20220517-1.yml +++ b/.workflow/pipeline-20220517-1.yml @@ -40,7 +40,10 @@ stages: - step: deploy@agent name: deploy_agent displayName: 主机部署 - hostGroupID: qiwen + hostGroupID: + ID: qiwen + hostID: + - 4e449710-088b-4e36-acd7-bcf7958ffcda deployArtifact: - source: build name: qiwen-file @@ -50,7 +53,7 @@ stages: - '# 请在此输入部署脚本,如启动Java应用如下' - '# nohup java -jar test.jar > nohup.out &' - cd ~/gitee_go/deploy/qiwen-file - - rm -r bin/ conf/ lib/ log/ + - rm -rf bin/ conf/ lib/ log/ - tar -zxvf qiwen-file.tar.gz - rm qiwen-file.tar.gz - cp -r ~/gitee_go/deploy/qiwen-file/release/* ~/gitee_go/deploy/qiwen-file diff --git a/pom.xml b/pom.xml index 7eb11fb..891a977 100644 --- a/pom.xml +++ b/pom.xml @@ -6,11 +6,11 @@ com.qiwenshare qiwenshare - 1.2.3 + 1.2.7 qiwen-file - 1.2.2-SNAPSHOT + 1.2.7-SNAPSHOT qiwen-file pan.qiwenshare.com jar diff --git a/src/main/java/com/qiwenshare/file/component/FileDealComp.java b/src/main/java/com/qiwenshare/file/component/FileDealComp.java index dc8dbc2..3887cee 100644 --- a/src/main/java/com/qiwenshare/file/component/FileDealComp.java +++ b/src/main/java/com/qiwenshare/file/component/FileDealComp.java @@ -78,7 +78,7 @@ public class FileDealComp { @Autowired private ElasticsearchClient elasticsearchClient; - public static Executor exec = Executors.newFixedThreadPool(10); + public static Executor exec = Executors.newFixedThreadPool(20); /** * 获取重复文件名 @@ -160,11 +160,7 @@ public class FileDealComp { try { userFileMapper.insert(userFile); } catch (Exception e) { - if (e.getMessage().contains("Duplicate entry")) { - //ignore - } else { - log.error(e.getMessage()); - } + //ignore } } qiwenFile = new QiwenFile(parentFilePath, true); @@ -285,15 +281,15 @@ public class FileDealComp { public void uploadESByUserFileId(String userFileId) { + exec.execute(()->{ + try { - try { - - Map param = new HashMap<>(); - param.put("userFileId", userFileId); - List userfileResult = userFileMapper.selectByMap(param); - if (userfileResult != null && userfileResult.size() > 0) { - FileSearch fileSearch = new FileSearch(); - BeanUtil.copyProperties(userfileResult.get(0), fileSearch); + Map param = new HashMap<>(); + param.put("userFileId", userFileId); + List userfileResult = userFileMapper.selectByMap(param); + if (userfileResult != null && userfileResult.size() > 0) { + FileSearch fileSearch = new FileSearch(); + BeanUtil.copyProperties(userfileResult.get(0), fileSearch); /*if (fileSearch.getIsDir() == 0) { Reader reader = ufopFactory.getReader(fileSearch.getStorageType()); @@ -304,11 +300,13 @@ public class FileDealComp { fileSearch.setContent(content); }*/ - elasticsearchClient.index(i -> i.index("filesearch").id(fileSearch.getUserFileId()).document(fileSearch)); + elasticsearchClient.index(i -> i.index("filesearch").id(fileSearch.getUserFileId()).document(fileSearch)); + } + } catch (Exception e) { + log.debug("ES更新操作失败,请检查配置"); } - } catch (Exception e) { - log.debug("ES更新操作失败,请检查配置"); - } + }); + } diff --git a/src/main/java/com/qiwenshare/file/service/FiletransferService.java b/src/main/java/com/qiwenshare/file/service/FiletransferService.java index 03e5e2f..87031f6 100644 --- a/src/main/java/com/qiwenshare/file/service/FiletransferService.java +++ b/src/main/java/com/qiwenshare/file/service/FiletransferService.java @@ -49,6 +49,8 @@ import java.util.Base64; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; import java.util.stream.Collectors; import java.util.zip.Adler32; import java.util.zip.CheckedOutputStream; @@ -79,7 +81,7 @@ public class FiletransferService implements IFiletransferService { @Resource PictureFileMapper pictureFileMapper; - + public static Executor exec = Executors.newFixedThreadPool(20); @Override public UploadFileVo uploadFileSpeed(UploadFileDTO uploadFileDTO) { @@ -99,16 +101,25 @@ public class FiletransferService implements IFiletransferService { if (list != null && !list.isEmpty()) { FileBean file = list.get(0); - UserFile userFile = new UserFile(qiwenFile, SessionUtil.getUserId(), file.getFileId()); - UserFile param1 = QiwenFileUtil.searchQiwenFileParam(userFile); - List userFileList = userFileMapper.selectList(new QueryWrapper<>(param1)); - if (userFileList.size() <= 0) { + + try { + userFileMapper.insert(userFile); + fileDealComp.uploadESByUserFileId(userFile.getUserFileId()); + } catch (Exception e) { + log.warn("文件冲突重命名处理: {}", e.getMessage()); + String fileName = fileDealComp.getRepeatFileName(userFile, userFile.getFilePath()); + userFile.setFileName(fileName); userFileMapper.insert(userFile); fileDealComp.uploadESByUserFileId(userFile.getUserFileId()); } + if (relativePath.contains("/")) { - fileDealComp.restoreParentFilePath(qiwenFile, SessionUtil.getUserId()); + QiwenFile finalQiwenFile = qiwenFile; + exec.execute(()->{ + fileDealComp.restoreParentFilePath(finalQiwenFile, SessionUtil.getUserId()); + }); + } uploadFileVo.setSkipUpload(true); @@ -182,22 +193,26 @@ public class FiletransferService implements IFiletransferService { UserFile userFile = new UserFile(qiwenFile, userId, fileBean.getFileId()); - - UserFile param = QiwenFileUtil.searchQiwenFileParam(userFile); - List userFileList = userFileMapper.selectList(new QueryWrapper<>(param)); - if (userFileList.size() > 0) { + try { + userFileMapper.insert(userFile); + fileDealComp.uploadESByUserFileId(userFile.getUserFileId()); + } catch (Exception e) { + log.warn("文件冲突重命名处理: {}", e.getMessage()); String fileName = fileDealComp.getRepeatFileName(userFile, userFile.getFilePath()); userFile.setFileName(fileName); + userFileMapper.insert(userFile); + fileDealComp.uploadESByUserFileId(userFile.getUserFileId()); } - userFileMapper.insert(userFile); + if (relativePath.contains("/")) { - fileDealComp.restoreParentFilePath(qiwenFile, userId); + QiwenFile finalQiwenFile = qiwenFile; + exec.execute(()->{ + fileDealComp.restoreParentFilePath(finalQiwenFile, userId); + }); + } - fileDealComp.uploadESByUserFileId(userFile.getUserFileId()); - - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(UploadTaskDetail::getIdentifier, uploadFileDto.getIdentifier()); uploadTaskDetailMapper.delete(lambdaQueryWrapper);