diff --git a/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java b/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java index 5554abd..d84a1a8 100644 --- a/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java +++ b/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java @@ -37,6 +37,7 @@ public class AliyunServiceImpl extends AbstractS3FileService implements FileServ super.basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue(); if (Objects.isNull(accessKey) || Objects.isNull(secretKey) || Objects.isNull(endPoint) || Objects.isNull(bucketName)) { + log.debug("初始化存储策略 [{}] 失败: 参数不完整", getStorageTypeEnum().getDescription()); isInitialized = false; } else { BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); diff --git a/src/main/java/im/zhaojun/common/controller/AdminController.java b/src/main/java/im/zhaojun/common/controller/AdminController.java index f1d63d0..eb09ba5 100644 --- a/src/main/java/im/zhaojun/common/controller/AdminController.java +++ b/src/main/java/im/zhaojun/common/controller/AdminController.java @@ -1,7 +1,6 @@ package im.zhaojun.common.controller; import im.zhaojun.common.model.StorageConfig; -import im.zhaojun.common.model.dto.CacheConfigDTO; import im.zhaojun.common.model.dto.ResultBean; import im.zhaojun.common.model.dto.SystemConfigDTO; import im.zhaojun.common.model.enums.StorageTypeEnum; @@ -14,12 +13,13 @@ import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; +import java.util.Map; import java.util.Objects; -import java.util.Set; /** * 后台管理 @@ -76,8 +76,8 @@ public class AdminController { } /** - * 获取指定存储引擎的设置 - * @param storageType 存储引擎 + * 获取指定存储策略的设置 + * @param storageType 存储策略 * @return 所有设置 */ @GetMapping("/strategy-form") @@ -86,38 +86,36 @@ public class AdminController { return ResultBean.success(storageConfigList); } - @GetMapping("/cache/config") - public ResultBean cacheConfig() throws Exception { - AbstractFileService fileService = systemConfigService.getCurrentFileService(); - Set cacheKeys = fileService.getCacheKeys(); - CacheConfigDTO cacheConfigDTO = new CacheConfigDTO(); - cacheConfigDTO.setEnableCache(systemConfigService.getEnableCache()); - cacheConfigDTO.setCacheFinish(fileAsyncCacheService.isCacheFinish()); - cacheConfigDTO.setCacheKeys(cacheKeys); + /** + * 保存存储策略 + * @param storageStrategyConfig 保存表单值 + * @param storageStrategy 所属策略 + * @return 操作结果 + * @throws Exception 表单解析出错异常 + */ + @PostMapping("/storage-strategy") + public ResultBean save(@RequestParam Map storageStrategyConfig, StorageTypeEnum storageStrategy) throws Exception { + List storageConfigList = storageConfigService.selectStorageConfigByType(storageStrategy); + for (StorageConfig storageConfig : storageConfigList) { + String key = storageConfig.getKey(); + String value = storageStrategyConfig.get(key); + storageConfig.setValue(value); + } + storageConfigService.updateStorageConfig(storageConfigList); - return ResultBean.success(cacheConfigDTO); - } + StorageTypeEnum currentStorageStrategy = systemConfigService.getCurrentStorageStrategy(); + if (Objects.equals(storageStrategy, currentStorageStrategy)) { + if (log.isDebugEnabled()) { + log.debug("检测到更新了当前启用的存储策略 {}, 已清理缓存.", currentStorageStrategy); + } - @PostMapping("/cache/refresh") - public ResultBean refreshCache(String key) throws Exception { - AbstractFileService fileService = systemConfigService.getCurrentFileService(); - fileService.refreshCache(key); - return ResultBean.success(); - } + AbstractFileService fileService = systemConfigService.getCurrentFileService(); + fileService.clearFileCache(); + fileService.init(); + fileAsyncCacheService.cacheGlobalFile(); + } - @PostMapping("/cache/clear") - public ResultBean clearCache(String key) throws Exception { - AbstractFileService fileService = systemConfigService.getCurrentFileService(); - fileService.clearCache(); - return ResultBean.success(); - } - - @PostMapping("/cache/all") - public ResultBean cacheAll() throws Exception { - AbstractFileService fileService = systemConfigService.getCurrentFileService(); - fileService.clearCache(); - fileAsyncCacheService.cacheGlobalFile(); return ResultBean.success(); } diff --git a/src/main/java/im/zhaojun/common/controller/CacheController.java b/src/main/java/im/zhaojun/common/controller/CacheController.java new file mode 100644 index 0000000..17c59ec --- /dev/null +++ b/src/main/java/im/zhaojun/common/controller/CacheController.java @@ -0,0 +1,82 @@ +package im.zhaojun.common.controller; + +import im.zhaojun.common.model.dto.CacheConfigDTO; +import im.zhaojun.common.model.dto.ResultBean; +import im.zhaojun.common.service.AbstractFileService; +import im.zhaojun.common.service.FileAsyncCacheService; +import im.zhaojun.common.service.FileCacheService; +import im.zhaojun.common.service.SystemConfigService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Set; + +/** + * @author zhaojun + * @date 2020/1/11 14:03 + */ +@RestController +@RequestMapping("/admin/cache") +public class CacheController { + + @Resource + private SystemConfigService systemConfigService; + + @Resource + private FileAsyncCacheService fileAsyncCacheService; + + @Resource + private FileCacheService fileCacheService; + + @PostMapping("/enable") + public ResultBean enableCache() throws Exception { + fileCacheService.enableCache(); + return ResultBean.success(); + } + + @PostMapping("/disable") + public ResultBean disableCache() throws Exception { + fileCacheService.disableCache(); + return ResultBean.success(); + } + + @GetMapping("/config") + public ResultBean cacheConfig() throws Exception { + AbstractFileService fileService = systemConfigService.getCurrentFileService(); + Set cacheKeys = fileService.getCacheKeys(); + + CacheConfigDTO cacheConfigDTO = new CacheConfigDTO(); + cacheConfigDTO.setEnableCache(systemConfigService.getEnableCache()); + cacheConfigDTO.setCacheFinish(fileAsyncCacheService.isCacheFinish()); + cacheConfigDTO.setCacheKeys(cacheKeys); + cacheConfigDTO.setCacheDirectoryCount(fileAsyncCacheService.getCacheDirectoryCount()); + cacheConfigDTO.setCacheFileCount(fileAsyncCacheService.getCacheFileCount()); + return ResultBean.success(cacheConfigDTO); + } + + @PostMapping("/refresh") + public ResultBean refreshCache(String key) throws Exception { + AbstractFileService fileService = systemConfigService.getCurrentFileService(); + fileService.refreshCache(key); + return ResultBean.success(); + } + + @PostMapping("/clear") + public ResultBean clearCache(String key) throws Exception { + AbstractFileService fileService = systemConfigService.getCurrentFileService(); + fileService.clearFileCache(); + fileAsyncCacheService.resetCacheCount(); + return ResultBean.success(); + } + + @PostMapping("/all") + public ResultBean cacheAll() throws Exception { + AbstractFileService fileService = systemConfigService.getCurrentFileService(); + fileService.clearFileCache(); + fileAsyncCacheService.cacheGlobalFile(); + return ResultBean.success(); + } +} diff --git a/src/main/java/im/zhaojun/common/controller/FileController.java b/src/main/java/im/zhaojun/common/controller/FileController.java index 73f26d9..f41b27c 100644 --- a/src/main/java/im/zhaojun/common/controller/FileController.java +++ b/src/main/java/im/zhaojun/common/controller/FileController.java @@ -3,13 +3,11 @@ package im.zhaojun.common.controller; import cn.hutool.core.util.URLUtil; import im.zhaojun.common.annotation.CheckStorageStrategyInit; import im.zhaojun.common.exception.SearchDisableException; -import im.zhaojun.common.model.StorageConfig; import im.zhaojun.common.model.constant.ZFileConstant; import im.zhaojun.common.model.dto.FileItemDTO; import im.zhaojun.common.model.dto.ResultBean; import im.zhaojun.common.model.dto.SiteConfigDTO; import im.zhaojun.common.model.dto.SystemConfigDTO; -import im.zhaojun.common.model.enums.StorageTypeEnum; import im.zhaojun.common.service.AbstractFileService; import im.zhaojun.common.service.FileAsyncCacheService; import im.zhaojun.common.service.StorageConfigService; @@ -90,6 +88,7 @@ public class FileController { return ResultBean.successData(fileSubItem); } + /** * 获取文件类容, 仅限用于, txt, md, ini 等普通文本文件. * @param url 文件路径 @@ -111,6 +110,7 @@ public class FileController { return HttpUtil.getTextContent(url); } + /** * 检测文件是否存在 * @param url 文件路径 @@ -121,6 +121,7 @@ public class FileController { return HttpUtil.checkUrlExist(url); } + /** * 获取系统配置信息和当前页的标题, 文件头, 文件尾信息 * @param path 路径 @@ -133,15 +134,6 @@ public class FileController { return ResultBean.successData(config); } - @CheckStorageStrategyInit - @GetMapping("/clearCache") - public ResultBean clearCache() throws Exception { - AbstractFileService fileService = systemConfigService.getCurrentFileService(); - if (fileService != null) { - fileService.clearCache(); - } - return ResultBean.success(); - } @CheckStorageStrategyInit @GetMapping("/audioInfo") @@ -149,6 +141,7 @@ public class FileController { return ResultBean.success(AudioHelper.getAudioInfo(url)); } + @CheckStorageStrategyInit @GetMapping("/search") public ResultBean search(@RequestParam(value = "name", defaultValue = "/") String name) throws Exception { @@ -163,13 +156,6 @@ public class FileController { return ResultBean.success(fileService.search(URLUtil.decode(name))); } - @GetMapping("/form") - public ResultBean getFormByStorageType(String storageType) { - StorageTypeEnum storageTypeEnum = StorageTypeEnum.getEnum(storageType); - List storageConfigList = storageConfigService.selectStorageConfigByType(storageTypeEnum); - storageConfigList.forEach(storageConfig -> storageConfig.setValue(null)); - return ResultBean.success(storageConfigList); - } /** * 过滤文件列表, 不显示密码, 头部和尾部文件. diff --git a/src/main/java/im/zhaojun/common/controller/InstallController.java b/src/main/java/im/zhaojun/common/controller/InstallController.java index 4cf748a..1bf9366 100644 --- a/src/main/java/im/zhaojun/common/controller/InstallController.java +++ b/src/main/java/im/zhaojun/common/controller/InstallController.java @@ -6,26 +6,22 @@ import im.zhaojun.common.model.dto.InstallModelDTO; import im.zhaojun.common.model.dto.ResultBean; import im.zhaojun.common.model.dto.SystemConfigDTO; import im.zhaojun.common.model.enums.StorageTypeEnum; -import im.zhaojun.common.service.AbstractFileService; import im.zhaojun.common.service.FileAsyncCacheService; import im.zhaojun.common.service.StorageConfigService; import im.zhaojun.common.service.SystemConfigService; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; import java.util.Map; -import java.util.Objects; /** * 系统安装初始化 * @author zhaojun */ -@Controller +@RestController public class InstallController { @Resource @@ -41,7 +37,6 @@ public class InstallController { private FileAsyncCacheService fileAsyncCacheService; @GetMapping("/is-installed") - @ResponseBody public ResultBean isInstall() { if (systemConfigService.getCurrentStorageStrategy() == null) { return ResultBean.success(); @@ -51,7 +46,6 @@ public class InstallController { @PostMapping("/install") - @ResponseBody public ResultBean install(InstallModelDTO installModelDTO) throws Exception { SystemConfigDTO systemConfigDTO = systemConfigService.getSystemConfig(); @@ -81,28 +75,13 @@ public class InstallController { return ResultBean.success(); } - @PostMapping("/storage-strategy") - @ResponseBody - public ResultBean save(@RequestParam Map storageStrategyConfig, StorageTypeEnum storageStrategy) throws Exception { - List storageConfigList = storageConfigService.selectStorageConfigByType(storageStrategy); - for (StorageConfig storageConfig : storageConfigList) { - String key = storageConfig.getKey(); - String value = storageStrategyConfig.get(key); - storageConfig.setValue(value); - } - storageConfigService.updateStorageConfig(storageConfigList); - StorageTypeEnum currentStorageStrategy = systemConfigService.getCurrentStorageStrategy(); - if (Objects.equals(storageStrategy, currentStorageStrategy)) { - AbstractFileService fileService = systemConfigService.getCurrentFileService(); - fileService.clearCache(); - - if (systemConfigService.getEnableCache()) { - fileAsyncCacheService.cacheGlobalFile(); - } - fileService.init(); - } - - return ResultBean.success(); + @GetMapping("/form") + public ResultBean getFormByStorageType(String storageType) { + StorageTypeEnum storageTypeEnum = StorageTypeEnum.getEnum(storageType); + List storageConfigList = storageConfigService.selectStorageConfigByType(storageTypeEnum); + storageConfigList.forEach(storageConfig -> storageConfig.setValue(null)); + return ResultBean.success(storageConfigList); } -} + +} \ No newline at end of file diff --git a/src/main/java/im/zhaojun/common/model/dto/CacheConfigDTO.java b/src/main/java/im/zhaojun/common/model/dto/CacheConfigDTO.java index ada45d6..29a23f2 100644 --- a/src/main/java/im/zhaojun/common/model/dto/CacheConfigDTO.java +++ b/src/main/java/im/zhaojun/common/model/dto/CacheConfigDTO.java @@ -13,4 +13,6 @@ public class CacheConfigDTO { private boolean enableCache; private boolean cacheFinish; private Set cacheKeys; + private Integer cacheDirectoryCount; + private Integer cacheFileCount; } diff --git a/src/main/java/im/zhaojun/common/service/AbstractFileService.java b/src/main/java/im/zhaojun/common/service/AbstractFileService.java index 4571aa0..ba3d9f6 100644 --- a/src/main/java/im/zhaojun/common/service/AbstractFileService.java +++ b/src/main/java/im/zhaojun/common/service/AbstractFileService.java @@ -29,7 +29,7 @@ import java.util.stream.Collectors; * @date 2019/12/28 19:27 */ @Slf4j -public abstract class AbstractFileService implements FileService { +public abstract class AbstractFileService extends FileCacheService implements FileService { public static final String SYSTEM_CONFIG_CACHE_PREFIX = "zfile-cache:"; @@ -61,9 +61,9 @@ public abstract class AbstractFileService implements FileService { public abstract List fileList(String path) throws Exception; /** - * 清理当前存储引擎的缓存 + * 清理当前存储策略的缓存 */ - public void clearCache() throws Exception { + public void clearFileCache() throws Exception { Set cacheKeys = getCacheKeys(); cache.removeAll(cacheKeys); closeCacheAutoRefresh(); @@ -96,8 +96,8 @@ public abstract class AbstractFileService implements FileService { } /** - * 获取存储引擎类型 - * @return 存储引擎类型枚举 + * 获取存储策略类型 + * @return 存储策略类型枚举 */ public abstract StorageTypeEnum getStorageTypeEnum(); diff --git a/src/main/java/im/zhaojun/common/service/AbstractS3FileService.java b/src/main/java/im/zhaojun/common/service/AbstractS3FileService.java index 2e81415..d5e8847 100644 --- a/src/main/java/im/zhaojun/common/service/AbstractS3FileService.java +++ b/src/main/java/im/zhaojun/common/service/AbstractS3FileService.java @@ -21,6 +21,7 @@ import java.util.List; * @date 2019/12/26 22:26 */ public abstract class AbstractS3FileService extends AbstractFileService { + @Resource protected StorageConfigService storageConfigService; diff --git a/src/main/java/im/zhaojun/common/service/FileAsyncCacheService.java b/src/main/java/im/zhaojun/common/service/FileAsyncCacheService.java index 31b58d2..78002a1 100644 --- a/src/main/java/im/zhaojun/common/service/FileAsyncCacheService.java +++ b/src/main/java/im/zhaojun/common/service/FileAsyncCacheService.java @@ -1,5 +1,9 @@ package im.zhaojun.common.service; +import cn.hutool.core.util.ObjectUtil; +import com.alicp.jetcache.Cache; +import com.alicp.jetcache.anno.CacheType; +import com.alicp.jetcache.anno.CreateCache; import im.zhaojun.common.config.StorageTypeFactory; import im.zhaojun.common.model.dto.FileItemDTO; import im.zhaojun.common.model.enums.FileTypeEnum; @@ -20,6 +24,15 @@ import java.util.List; @Service public class FileAsyncCacheService { + public static final String CACHE_PROCESS_PREFIX = "zfile-process-cache:"; + + public static final String CACHE_FILE_COUNT_KEY = "file-count"; + + public static final String CACHE_DIRECTORY_COUNT_KEY = "directory-count"; + + @CreateCache(name = "SYSTEM_CONFIG_CACHE_PREFIX", cacheType = CacheType.LOCAL) + private Cache cache; + private boolean cacheFinish; @Resource @@ -36,44 +49,89 @@ public class FileAsyncCacheService { boolean enableCache = systemConfigService.getEnableCache(); if (!enableCache) { - log.info("未开启缓存, 跳过启动缓存"); + log.info("当前启用存储策略 {}, 尚未开启缓存, 跳过缓存.", storageStrategy); return; } AbstractFileService fileService = StorageTypeFactory.getStorageTypeService(storageStrategy); - if (fileService.getIsUnInitialized()) { - log.info("存储引擎 {} 未初始化成功, 跳过启动缓存.", storageStrategy.getDescription()); + log.info("存储策略 {} 未初始化成功, 跳过启动缓存.", storageStrategy.getDescription()); return; } + Integer cacheDirectoryCount = cache.get(CACHE_DIRECTORY_COUNT_KEY); + if (cacheDirectoryCount == null) { + cacheDirectoryCount = 0; + } + + Integer cacheFileCount = cache.get(CACHE_FILE_COUNT_KEY); + if (cacheFileCount == null) { + cacheFileCount = 0; + } + log.info("缓存 {} 所有文件开始", storageStrategy.getDescription()); long startTime = System.currentTimeMillis(); try { String path = "/"; FileService currentFileService = systemConfigService.getCurrentFileService(); - List fileItemList = currentFileService.fileList(path); - ArrayDeque queue = new ArrayDeque<>(fileItemList); + List rootFileItems = currentFileService.fileList("/"); + ArrayDeque queue = new ArrayDeque<>(rootFileItems); while (!queue.isEmpty()) { FileItemDTO fileItemDTO = queue.pop(); + + if (FileTypeEnum.FOLDER.equals(fileItemDTO.getType())) { + cacheDirectoryCount++; + } + if (FileTypeEnum.FILE.equals(fileItemDTO.getType())) { + cacheFileCount++; + } + + log.debug("已缓存 {} 个文件夹", cacheDirectoryCount); + cache.put(CACHE_DIRECTORY_COUNT_KEY, cacheDirectoryCount); + + log.debug("已缓存 {} 个文件", cacheFileCount); + cache.put(CACHE_FILE_COUNT_KEY, cacheFileCount); + if (fileItemDTO.getType() == FileTypeEnum.FOLDER) { String filePath = StringUtils.removeDuplicateSeparator("/" + fileItemDTO.getPath() + "/" + fileItemDTO.getName() + "/"); - queue.addAll(currentFileService.fileList(filePath)); + + List fileItems = currentFileService.fileList(filePath); + queue.addAll(fileItems); } } + cache.put(CACHE_DIRECTORY_COUNT_KEY, cacheDirectoryCount); + cache.put(CACHE_FILE_COUNT_KEY, cacheFileCount); } catch (Exception e) { log.error("缓存所有文件失败", e); e.printStackTrace(); } long endTime = System.currentTimeMillis(); - log.info("缓存 {} 所有文件结束, 用时: {} 秒", storageStrategy.getDescription(), ( (endTime - startTime) / 1000 )); + log.info("缓存 {} 所有文件结束, 用时: {} 秒, 文件夹共 {} 个, 文件共 {} 个", + storageStrategy.getDescription(), + ( (endTime - startTime) / 1000 ), cacheDirectoryCount, cacheFileCount); cacheFinish = true; } + /** + * 清理缓存的文件/文件夹数量统计 + */ + public void resetCacheCount() { + cache.remove(CACHE_DIRECTORY_COUNT_KEY); + cache.remove(CACHE_FILE_COUNT_KEY); + } + + public Integer getCacheDirectoryCount() { + return ObjectUtil.defaultIfNull(cache.get(CACHE_DIRECTORY_COUNT_KEY), 0); + } + + public Integer getCacheFileCount() { + return ObjectUtil.defaultIfNull(cache.get(CACHE_FILE_COUNT_KEY), 0); + } + public boolean isCacheFinish() { return cacheFinish; } diff --git a/src/main/java/im/zhaojun/common/service/FileCacheService.java b/src/main/java/im/zhaojun/common/service/FileCacheService.java new file mode 100644 index 0000000..6d96ecb --- /dev/null +++ b/src/main/java/im/zhaojun/common/service/FileCacheService.java @@ -0,0 +1,37 @@ +package im.zhaojun.common.service; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @author zhaojun + * @date 2020/1/11 14:08 + */ +@Service +public class FileCacheService { + + @Resource + private SystemConfigService systemConfigService; + + @Resource + private FileAsyncCacheService fileAsyncCacheService; + + public void enableCache() { + systemConfigService.updateCacheEnableConfig(true); + + AbstractFileService currentFileService = systemConfigService.getCurrentFileService(); + currentFileService.openCacheAutoRefresh(); + fileAsyncCacheService.cacheGlobalFile(); + } + + + public void disableCache() throws Exception { + systemConfigService.updateCacheEnableConfig(false); + + AbstractFileService currentFileService = systemConfigService.getCurrentFileService(); + currentFileService.clearFileCache(); + fileAsyncCacheService.resetCacheCount(); + } + +} diff --git a/src/main/java/im/zhaojun/common/service/SystemConfigService.java b/src/main/java/im/zhaojun/common/service/SystemConfigService.java index 8eec308..938d9ea 100644 --- a/src/main/java/im/zhaojun/common/service/SystemConfigService.java +++ b/src/main/java/im/zhaojun/common/service/SystemConfigService.java @@ -72,6 +72,7 @@ public class SystemConfigService { return systemConfigDTO; } + public void updateSystemConfig(SystemConfigDTO systemConfigDTO) throws Exception { List systemConfigList = new ArrayList<>(); @@ -106,10 +107,11 @@ public class SystemConfigService { if (oldEnableCache && !curEnableCache) { log.debug("检测到关闭了缓存, 正在清理缓存数据及关闭自动刷新"); - currentFileService.clearCache(); + currentFileService.clearFileCache(); } } + public void updateUsernameAndPwd(String username, String password) { SystemConfig usernameConfig = systemConfigRepository.findByKey(SystemConfigConstant.USERNAME); usernameConfig.setValue(username); @@ -124,16 +126,27 @@ public class SystemConfigService { systemConfigRepository.save(systemConfig); } + + public void updateCacheEnableConfig(Boolean isEnable) { + SystemConfig enableConfig = systemConfigRepository.findByKey(SystemConfigConstant.ENABLE_CACHE); + enableConfig.setValue(isEnable.toString()); + systemConfigRepository.save(enableConfig); + configCache.remove(SYSTEM_CONFIG_CACHE_KEY); + } + + public AbstractFileService getCurrentFileService() { StorageTypeEnum storageStrategy = getCurrentStorageStrategy(); return StorageTypeFactory.getStorageTypeService(storageStrategy); } + public StorageTypeEnum getCurrentStorageStrategy() { SystemConfigDTO systemConfigDTO = getSystemConfig(); return systemConfigDTO.getStorageStrategy(); } + public boolean getEnableCache() { SystemConfigDTO systemConfigDTO = getSystemConfig(); return systemConfigDTO.getEnableCache(); diff --git a/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java b/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java index 407b3fe..123e3f9 100644 --- a/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java +++ b/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java @@ -37,6 +37,7 @@ public class HuaweiServiceImpl extends AbstractS3FileService implements FileServ basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue(); if (Objects.isNull(accessKey) || Objects.isNull(secretKey) || Objects.isNull(endPoint) || Objects.isNull(bucketName)) { + log.debug("初始化存储策略 [{}] 失败: 参数不完整", getStorageTypeEnum().getDescription()); isInitialized = false; } else { BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); diff --git a/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java b/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java index 0635ed9..f16122c 100644 --- a/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java +++ b/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java @@ -48,6 +48,7 @@ public class LocalServiceImpl extends AbstractFileService implements FileService storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.LOCAL); filePath = stringStorageConfigMap.get(StorageConfigConstant.FILE_PATH_KEY).getValue(); if (Objects.isNull(filePath)) { + log.debug("初始化存储策略 [{}] 失败: 参数不完整", getStorageTypeEnum().getDescription()); isInitialized = false; } else { isInitialized = testConnection(); diff --git a/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java b/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java index a9f8df8..ace1db9 100644 --- a/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java +++ b/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java @@ -35,6 +35,7 @@ public class MinIOServiceImpl extends AbstractS3FileService implements FileServi basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue(); if (Objects.isNull(accessKey) || Objects.isNull(secretKey) || Objects.isNull(endPoint) || Objects.isNull(bucketName)) { + log.debug("初始化存储策略 [{}] 失败: 参数不完整", getStorageTypeEnum().getDescription()); isInitialized = false; } else { BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); diff --git a/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java b/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java index ca86480..a40b1db 100644 --- a/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java +++ b/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java @@ -37,6 +37,7 @@ public class QiniuServiceImpl extends AbstractS3FileService implements FileServi basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue(); if (Objects.isNull(accessKey) || Objects.isNull(secretKey) || Objects.isNull(endPoint) || Objects.isNull(bucketName)) { + log.debug("初始化存储策略 [{}] 失败: 参数不完整", getStorageTypeEnum().getDescription()); isInitialized = false; } else { BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); diff --git a/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java b/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java index 519dee1..2f049eb 100644 --- a/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java +++ b/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java @@ -36,6 +36,7 @@ public class TencentServiceImpl extends AbstractS3FileService implements FileSer basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue(); if (Objects.isNull(secretId) || Objects.isNull(secretKey) || Objects.isNull(endPoint) || Objects.isNull(bucketName)) { + log.debug("初始化存储策略 [{}] 失败: 参数不完整", getStorageTypeEnum().getDescription()); isInitialized = false; } else { BasicAWSCredentials credentials = new BasicAWSCredentials(secretId, secretKey); diff --git a/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java b/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java index 9b5339d..83e0cd5 100644 --- a/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java +++ b/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java @@ -55,6 +55,7 @@ public class UpYunServiceImpl extends AbstractFileService implements FileService basePath = ObjectUtil.defaultIfNull(basePath, ""); if (Objects.isNull(bucketName) || Objects.isNull(username) || Objects.isNull(password)) { + log.debug("初始化存储策略 [{}] 失败: 参数不完整", getStorageTypeEnum().getDescription()); isInitialized = false; } else { upYun = new UpYun(bucketName, username, password);