From 51e405bddd4af00fef579fc43426e94a4e39ec19 Mon Sep 17 00:00:00 2001 From: MAC <1162714483@qq.com> Date: Tue, 27 Jun 2023 01:25:34 +0000 Subject: [PATCH 1/4] update pipeline-20220517-1.yml --- .workflow/pipeline-20220517-1.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.workflow/pipeline-20220517-1.yml b/.workflow/pipeline-20220517-1.yml index 4dd8086..8b417d2 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: + - 31b5a824-3a61-422e-80b6-d5606fcac92a deployArtifact: - source: build name: qiwen-file From 0eab2d49e537e5ae03cf311abd5f3da4bf8e5d8e Mon Sep 17 00:00:00 2001 From: MAC <1162714483@qq.com> Date: Wed, 5 Jul 2023 09:41:50 +0000 Subject: [PATCH 2/4] update pipeline-20220517-1.yml --- .workflow/pipeline-20220517-1.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.workflow/pipeline-20220517-1.yml b/.workflow/pipeline-20220517-1.yml index 8b417d2..b6c2a9f 100644 --- a/.workflow/pipeline-20220517-1.yml +++ b/.workflow/pipeline-20220517-1.yml @@ -43,7 +43,7 @@ stages: hostGroupID: ID: qiwen hostID: - - 31b5a824-3a61-422e-80b6-d5606fcac92a + - 4e449710-088b-4e36-acd7-bcf7958ffcda deployArtifact: - source: build name: qiwen-file From 3649b7d493a21c3956376d08bb79ab8941a3de24 Mon Sep 17 00:00:00 2001 From: MAC <1162714483@qq.com> Date: Wed, 5 Jul 2023 15:00:47 +0000 Subject: [PATCH 3/4] update pipeline-20220517-1.yml --- .workflow/pipeline-20220517-1.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.workflow/pipeline-20220517-1.yml b/.workflow/pipeline-20220517-1.yml index b6c2a9f..22defd3 100644 --- a/.workflow/pipeline-20220517-1.yml +++ b/.workflow/pipeline-20220517-1.yml @@ -53,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 From e96bac0198d56e9a7886736a310b8d92e82c1795 Mon Sep 17 00:00:00 2001 From: MAC <1162714483@qq.com> Date: Sun, 6 Aug 2023 23:40:00 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=B9=E6=95=88=E7=8E=87=E4=BC=98=E5=8C=96=EF=BC=8C=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E5=A4=B9=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9B=AE=E5=BD=95=E5=A4=B1=E8=B4=A5=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +- .../file/component/FileDealComp.java | 34 +++++++------- .../file/service/FiletransferService.java | 45 ++++++++++++------- 3 files changed, 48 insertions(+), 35 deletions(-) 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);