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