diff --git a/src/main/java/com/qiwenshare/file/FileApplication.java b/src/main/java/com/qiwenshare/file/FileApplication.java index 785ae35..2f62037 100644 --- a/src/main/java/com/qiwenshare/file/FileApplication.java +++ b/src/main/java/com/qiwenshare/file/FileApplication.java @@ -3,6 +3,9 @@ package com.qiwenshare.file; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.server.ConfigurableWebServerFactory; +import org.springframework.boot.web.server.ErrorPage; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.FilterType; @@ -10,6 +13,7 @@ import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericToStringSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; +import org.springframework.http.HttpStatus; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -22,5 +26,11 @@ public class FileApplication { public static void main(String[] args) { SpringApplication.run(FileApplication.class, args); } - + @Bean + public WebServerFactoryCustomizer webServerFactoryCustomizer(){ + return factory -> { + ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/"); + factory.addErrorPages(error404Page); + }; + } } diff --git a/src/main/java/com/qiwenshare/file/component/FileDealComp.java b/src/main/java/com/qiwenshare/file/component/FileDealComp.java index 2d244c5..82e30fc 100644 --- a/src/main/java/com/qiwenshare/file/component/FileDealComp.java +++ b/src/main/java/com/qiwenshare/file/component/FileDealComp.java @@ -34,6 +34,7 @@ public class FileDealComp { UserFileMapper userFileMapper; @Autowired private IElasticSearchService elasticSearchService; + public static Executor exec = Executors.newFixedThreadPool(10); @Resource UFOFactory ufoFactory; @@ -228,37 +229,43 @@ public class FileDealComp { public void uploadESByUserFileId(Long userFileId) { - try { - UserFile userFile = new UserFile(); - userFile.setUserFileId(userFileId); - List userfileResult = userFileMapper.userFileList(userFile, null, null); - if (userfileResult != null && userfileResult.size() > 0) { - FileSearch fileSearch = new FileSearch(); - BeanUtil.copyProperties(userfileResult.get(0), fileSearch); - if (fileSearch.getIsDir() == 0) { - - Reader reader = ufoFactory.getReader(fileSearch.getStorageType()); - ReadFile readFile = new ReadFile(); - readFile.setFileUrl(fileSearch.getFileUrl()); - String content = reader.read(readFile); - //全文搜索 - // fileSearch.setContent(content); - + exec.execute(()->{ + try { + UserFile userFile = new UserFile(); + userFile.setUserFileId(userFileId); + List userfileResult = userFileMapper.userFileList(userFile, null, null); + if (userfileResult != null && userfileResult.size() > 0) { + FileSearch fileSearch = new FileSearch(); + BeanUtil.copyProperties(userfileResult.get(0), fileSearch); +// if (fileSearch.getIsDir() == 0) { +// +// Reader reader = ufoFactory.getReader(fileSearch.getStorageType()); +// ReadFile readFile = new ReadFile(); +// readFile.setFileUrl(fileSearch.getFileUrl()); +// String content = reader.read(readFile); +// //全文搜索 +// // fileSearch.setContent(content); +// +// } + elasticSearchService.save(fileSearch); } - elasticSearchService.save(fileSearch); + } catch (Exception e) { + log.error("ES更新操作失败,请检查配置"); } - } catch (Exception e) { - log.error("ES更新操作失败,请检查配置"); - } + }); + } public void deleteESByUserFileId(Long userFileId) { - try { - elasticSearchService.deleteById(userFileId); - } catch (Exception e) { - log.error("ES删除操作失败,请检查配置"); - } + exec.execute(()->{ + try { + elasticSearchService.deleteById(userFileId); + } catch (Exception e) { + log.error("ES删除操作失败,请检查配置"); + } + }); + } } diff --git a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java index 7b6b575..7c05459 100644 --- a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java +++ b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java @@ -173,6 +173,7 @@ public class FiletransferController { httpServletResponse.addHeader("Content-Disposition", "fileName=" + fileName);// 设置文件名 DownloadFileDTO downloadFileDTO = new DownloadFileDTO(); downloadFileDTO.setUserFileId(previewDTO.getUserFileId()); + downloadFileDTO.setIsMin(previewDTO.getIsMin()); try { filetransferService.downloadFile(httpServletResponse, downloadFileDTO); }catch (Exception e){ diff --git a/src/main/java/com/qiwenshare/file/dto/DownloadFileDTO.java b/src/main/java/com/qiwenshare/file/dto/DownloadFileDTO.java index 256c21b..2465c3b 100644 --- a/src/main/java/com/qiwenshare/file/dto/DownloadFileDTO.java +++ b/src/main/java/com/qiwenshare/file/dto/DownloadFileDTO.java @@ -7,5 +7,5 @@ import lombok.Data; @Schema(name = "下载文件DTO",required = true) public class DownloadFileDTO { private Long userFileId; - private boolean isMin; + private String isMin; } diff --git a/src/main/java/com/qiwenshare/file/dto/file/PreviewDTO.java b/src/main/java/com/qiwenshare/file/dto/file/PreviewDTO.java index 8f9ea05..d7c9b6b 100644 --- a/src/main/java/com/qiwenshare/file/dto/file/PreviewDTO.java +++ b/src/main/java/com/qiwenshare/file/dto/file/PreviewDTO.java @@ -8,4 +8,5 @@ import lombok.Data; public class PreviewDTO { private Long userFileId; private String token; + private String isMin; } diff --git a/src/main/java/com/qiwenshare/file/service/FiletransferService.java b/src/main/java/com/qiwenshare/file/service/FiletransferService.java index 4564ac4..ad96333 100644 --- a/src/main/java/com/qiwenshare/file/service/FiletransferService.java +++ b/src/main/java/com/qiwenshare/file/service/FiletransferService.java @@ -121,7 +121,7 @@ public class FiletransferService implements IFiletransferService { throw new UploadException("下载失败"); } DownloadFile downloadFile = new DownloadFile(); - if (downloadFileDTO.isMin()) { + if ("true".equals(downloadFileDTO.getIsMin())) { downloadFile.setFileUrl(fileBean.getFileUrl().replace("." + userFile.getExtendName(), "_min." + userFile.getExtendName())); } else { downloadFile.setFileUrl(fileBean.getFileUrl());