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);