From 547e688d3860c7609a0e960f72c39790020064eb Mon Sep 17 00:00:00 2001 From: zhaojun1998 Date: Mon, 20 Apr 2020 21:58:32 +0800 Subject: [PATCH] =?UTF-8?q?:building=5Fconstruction:=20=E5=A2=9E=E5=BC=BA?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zfile/exception/GlobleExceptionHandler.java | 15 +++++++++++++++ .../zhaojun/zfile/service/DriveConfigService.java | 6 ++++++ .../zfile/service/StorageConfigService.java | 5 ++--- .../zfile/service/impl/LocalServiceImpl.java | 8 +++++++- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/main/java/im/zhaojun/zfile/exception/GlobleExceptionHandler.java b/src/main/java/im/zhaojun/zfile/exception/GlobleExceptionHandler.java index 03d3031..bd8f8bc 100644 --- a/src/main/java/im/zhaojun/zfile/exception/GlobleExceptionHandler.java +++ b/src/main/java/im/zhaojun/zfile/exception/GlobleExceptionHandler.java @@ -63,6 +63,9 @@ public class GlobleExceptionHandler { // } } + /** + * 文件预览异常 + */ @ExceptionHandler({PreviewException.class}) @ResponseBody @ResponseStatus @@ -71,6 +74,18 @@ public class GlobleExceptionHandler { } + /** + * 初始化异常 + */ + @ExceptionHandler({InitializeException.class}) + @ResponseBody + @ResponseStatus + public ResultBean initializeException(InitializeException ex) { + return ResultBean.error(ex.getMessage()); + } + + + @ExceptionHandler @ResponseBody diff --git a/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java b/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java index 3bba9e4..9d0528e 100644 --- a/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java +++ b/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java @@ -1,6 +1,7 @@ package im.zhaojun.zfile.service; import im.zhaojun.zfile.context.StorageTypeContext; +import im.zhaojun.zfile.exception.InitializeException; import im.zhaojun.zfile.model.dto.DriveConfigDTO; import im.zhaojun.zfile.model.dto.StorageStrategyConfig; import im.zhaojun.zfile.model.entity.DriveConfig; @@ -163,6 +164,11 @@ public class DriveConfigService { storageConfigRepository.saveAll(storageConfigList); driveContext.initDrive(driveConfig.getId()); + + AbstractBaseFileService driveService = driveContext.getDriveService(driveConfig.getId()); + if (driveService.getIsUnInitialized()) { + throw new InitializeException("初始化异常, 请检查配置是否正确."); + } } diff --git a/src/main/java/im/zhaojun/zfile/service/StorageConfigService.java b/src/main/java/im/zhaojun/zfile/service/StorageConfigService.java index 598e410..950b1e5 100644 --- a/src/main/java/im/zhaojun/zfile/service/StorageConfigService.java +++ b/src/main/java/im/zhaojun/zfile/service/StorageConfigService.java @@ -19,6 +19,7 @@ public class StorageConfigService { @Resource private StorageConfigRepository storageConfigRepository; + public List selectStorageConfigByType(StorageTypeEnum storageTypeEnum) { return storageConfigRepository.findByTypeOrderById(storageTypeEnum); } @@ -56,6 +57,4 @@ public class StorageConfigService { storageConfigRepository.saveAll(storageConfigList); } - - -} +} \ No newline at end of file diff --git a/src/main/java/im/zhaojun/zfile/service/impl/LocalServiceImpl.java b/src/main/java/im/zhaojun/zfile/service/impl/LocalServiceImpl.java index 5fefbdb..76d1001 100644 --- a/src/main/java/im/zhaojun/zfile/service/impl/LocalServiceImpl.java +++ b/src/main/java/im/zhaojun/zfile/service/impl/LocalServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.File; +import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -63,12 +64,17 @@ public class LocalServiceImpl extends AbstractBaseFileService implements BaseFil } @Override - public List fileList(String path) { + public List fileList(String path) throws FileNotFoundException { List fileItemList = new ArrayList<>(); String fullPath = StringUtils.concatPath(filePath, path); File file = new File(fullPath); + + if (!file.exists()) { + throw new FileNotFoundException("文件不存在"); + } + File[] files = file.listFiles(); if (files == null) {