diff --git a/src/main/java/com/qiwenshare/file/component/AsyncTaskComp.java b/src/main/java/com/qiwenshare/file/component/AsyncTaskComp.java index 879952b..7f4c358 100644 --- a/src/main/java/com/qiwenshare/file/component/AsyncTaskComp.java +++ b/src/main/java/com/qiwenshare/file/component/AsyncTaskComp.java @@ -67,8 +67,6 @@ public class AsyncTaskComp { } public Future deleteUserFile(String userFileId) { - - long begin = System.currentTimeMillis(); UserFile userFile = userFileService.getById(userFileId); if (userFile.getIsDir() == 1) { LambdaQueryWrapper userFileLambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -105,11 +103,17 @@ public class AsyncTaskComp { } } - long end = System.currentTimeMillis(); - System.out.println("任务 deleteUserFile 耗时=" + (end - begin)); return new AsyncResult("deleteUserFile"); } + public Future checkESUserFileId(String userFileId) { + UserFile userFile = userFileMapper.selectById(userFileId); + if (userFile == null) { + fileDealComp.deleteESByUserFileId(userFileId); + } + return new AsyncResult("checkUserFileId"); + } + public Future saveUnzipFile(UserFile userFile, FileBean fileBean, int unzipMode, String entryName, String filePath) { String unzipUrl = UFOPUtils.getTempFile(fileBean.getFileUrl()).getAbsolutePath().replace("." + userFile.getExtendName(), ""); diff --git a/src/main/java/com/qiwenshare/file/component/FileDealComp.java b/src/main/java/com/qiwenshare/file/component/FileDealComp.java index 132afcd..5af0f25 100644 --- a/src/main/java/com/qiwenshare/file/component/FileDealComp.java +++ b/src/main/java/com/qiwenshare/file/component/FileDealComp.java @@ -287,7 +287,7 @@ public class FileDealComp { fileSearch.setContent(content); }*/ - elasticsearchClient.index(i -> i.index("filesearch").id(String.valueOf(fileSearch.getUserFileId())).document(fileSearch)); + elasticsearchClient.index(i -> i.index("filesearch").id(fileSearch.getUserFileId()).document(fileSearch)); } } catch (Exception e) { log.debug("ES更新操作失败,请检查配置"); @@ -300,7 +300,7 @@ public class FileDealComp { try { elasticsearchClient.delete(d -> d .index("filesearch") - .id(String.valueOf(userFileId))); + .id(userFileId)); } catch (Exception e) { log.debug("ES删除操作失败,请检查配置"); } diff --git a/src/main/java/com/qiwenshare/file/controller/FileController.java b/src/main/java/com/qiwenshare/file/controller/FileController.java index 9a46839..12248bf 100644 --- a/src/main/java/com/qiwenshare/file/controller/FileController.java +++ b/src/main/java/com/qiwenshare/file/controller/FileController.java @@ -16,6 +16,7 @@ import com.qiwenshare.common.util.security.JwtUser; import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.IFileService; import com.qiwenshare.file.api.IUserFileService; +import com.qiwenshare.file.component.AsyncTaskComp; import com.qiwenshare.file.component.FileDealComp; import com.qiwenshare.file.config.es.FileSearch; import com.qiwenshare.file.domain.FileBean; @@ -55,6 +56,8 @@ public class FileController { @Resource FileDealComp fileDealComp; + @Resource + AsyncTaskComp asyncTaskComp; @Autowired private ElasticsearchClient elasticsearchClient; @@ -141,6 +144,7 @@ public class FileController { BeanUtil.copyProperties(hit.source(), searchFileVO); searchFileVO.setHighLight(hit.highlight()); searchFileVOList.add(searchFileVO); + asyncTaskComp.checkESUserFileId(searchFileVO.getUserFileId()); } return RestResult.success().data(searchFileVOList); } diff --git a/src/main/java/com/qiwenshare/file/controller/TaskController.java b/src/main/java/com/qiwenshare/file/controller/TaskController.java index f91e5aa..296cc04 100644 --- a/src/main/java/com/qiwenshare/file/controller/TaskController.java +++ b/src/main/java/com/qiwenshare/file/controller/TaskController.java @@ -32,13 +32,6 @@ public class TaskController { @Scheduled(fixedRate = Long.MAX_VALUE) public void updateElasticSearch() { - - try { - elasticsearchClient.delete(d -> d.index("filesearch")); - } catch (Exception e) { - log.debug("删除ES失败:" + e); - } - List userfileList = userFileService.list(); for (UserFile userFile : userfileList) { fileDealComp.uploadESByUserFileId(userFile.getUserFileId());