From 8e7d4432a398a9c3e1808722b4e86f6c86c175c7 Mon Sep 17 00:00:00 2001 From: zhaojun1998 Date: Sat, 21 Dec 2019 12:08:24 +0800 Subject: [PATCH] =?UTF-8?q?:hankey:=20=E6=94=B9=E5=96=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?,=20=E9=80=9A=E8=BF=87=20P3C=20=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/im/zhaojun/ZfileApplication.java | 3 + .../aliyun/service/AliyunServiceImpl.java | 3 + .../annotation/CheckStorageStrategyInit.java | 1 + .../StorageStrategyInitCheckAspect.java | 3 + .../im/zhaojun/common/config/CorsFilter.java | 1 + .../common/config/StorageTypeFactory.java | 3 + .../zhaojun/common/config/WebMvcConfig.java | 3 + .../config/ZFileCacheConfiguration.java | 1 + .../common/config/ZFileConfiguration.java | 3 + .../common/controller/AdminController.java | 1 + .../common/controller/FileController.java | 11 +-- .../common/controller/InstallController.java | 1 + .../exception/GlobleExceptionHandler.java | 1 + .../common/exception/InitializeException.java | 1 + .../exception/SearchDisableException.java | 3 + ...StorageStrategyUninitializedException.java | 1 + .../UnknownStorageTypeException.java | 1 + .../zhaojun/common/model/StorageConfig.java | 3 + .../im/zhaojun/common/model/SystemConfig.java | 3 + .../model/constant/SystemConfigConstant.java | 3 + .../common/model/constant/ZFileConstant.java | 3 + .../common/model/dto/AudioInfoDTO.java | 3 + .../zhaojun/common/model/dto/FileItemDTO.java | 3 + .../common/model/dto/InstallModelDTO.java | 3 + .../zhaojun/common/model/dto/ResultBean.java | 3 + .../common/model/dto/SiteConfigDTO.java | 3 + .../common/model/dto/SystemConfigDTO.java | 80 ++----------------- .../common/model/enums/FileTypeEnum.java | 3 + .../common/model/enums/StorageTypeEnum.java | 3 + .../model/enums/StorageTypeEnumConvert.java | 3 + .../StorageTypeEnumDeSerializerConvert.java | 6 +- .../StorageTypeEnumSerializerConvert.java | 3 + .../repository/StorageConfigRepository.java | 8 ++ .../repository/SystemConfigRepository.java | 8 ++ ...rdEncoder.java => Md5PasswordEncoder.java} | 5 +- .../zhaojun/common/security/MyCorsFilter.java | 3 + .../common/security/MySecurityConfig.java | 5 +- .../security/MyUserDetailsServiceImpl.java | 3 + .../common/service/FileAsyncCacheService.java | 3 + .../zhaojun/common/service/FileService.java | 37 +++++++++ .../common/service/StorageConfigService.java | 3 + .../common/service/SystemConfigService.java | 9 ++- .../zhaojun/common/service/SystemService.java | 4 + .../im/zhaojun/common/util/AudioHelper.java | 1 + .../zhaojun/common/util/FileComparator.java | 2 + .../java/im/zhaojun/common/util/HttpUtil.java | 3 + .../common/util/SpringContextHolder.java | 6 +- .../zhaojun/common/util/StartupListener.java | 4 +- .../im/zhaojun/common/util/StringUtils.java | 36 ++++++--- .../zhaojun/ftp/service/FtpServiceImpl.java | 3 + .../huawei/service/HuaweiServiceImpl.java | 3 + .../local/controller/LocalController.java | 7 +- .../local/service/LocalServiceImpl.java | 7 +- .../im/zhaojun/minio/MinIOServiceImpl.java | 3 + .../controller/OneDriveController.java | 3 + .../qiniu/service/QiniuServiceImpl.java | 3 + .../zhaojun/tencent/TencentServiceImpl.java | 3 + .../upyun/service/UpYunServiceImpl.java | 3 + 58 files changed, 239 insertions(+), 102 deletions(-) rename src/main/java/im/zhaojun/common/security/{MD5PasswordEncoder.java => Md5PasswordEncoder.java} (83%) diff --git a/src/main/java/im/zhaojun/ZfileApplication.java b/src/main/java/im/zhaojun/ZfileApplication.java index 85d6aaa..7b283ee 100644 --- a/src/main/java/im/zhaojun/ZfileApplication.java +++ b/src/main/java/im/zhaojun/ZfileApplication.java @@ -6,6 +6,9 @@ import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableAsync; +/** + * @author zhaojun + */ @EnableAsync @SpringBootApplication @EnableCaching diff --git a/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java b/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java index 8c0a501..477d966 100644 --- a/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java +++ b/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java @@ -26,6 +26,9 @@ import java.util.Date; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service @CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator") public class AliyunServiceImpl implements FileService { diff --git a/src/main/java/im/zhaojun/common/annotation/CheckStorageStrategyInit.java b/src/main/java/im/zhaojun/common/annotation/CheckStorageStrategyInit.java index 7051ef7..2c56aec 100644 --- a/src/main/java/im/zhaojun/common/annotation/CheckStorageStrategyInit.java +++ b/src/main/java/im/zhaojun/common/annotation/CheckStorageStrategyInit.java @@ -7,6 +7,7 @@ import java.lang.annotation.Target; /** * 标记注解, 用于在调用前检查是否已存储策略 + * @author zhaojun */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) diff --git a/src/main/java/im/zhaojun/common/aspect/StorageStrategyInitCheckAspect.java b/src/main/java/im/zhaojun/common/aspect/StorageStrategyInitCheckAspect.java index 439a6ec..befbdd4 100644 --- a/src/main/java/im/zhaojun/common/aspect/StorageStrategyInitCheckAspect.java +++ b/src/main/java/im/zhaojun/common/aspect/StorageStrategyInitCheckAspect.java @@ -8,6 +8,9 @@ import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component; +/** + * @author zhaojun + */ @Aspect @Component public class StorageStrategyInitCheckAspect { diff --git a/src/main/java/im/zhaojun/common/config/CorsFilter.java b/src/main/java/im/zhaojun/common/config/CorsFilter.java index 4f3b8c0..c88e7f5 100644 --- a/src/main/java/im/zhaojun/common/config/CorsFilter.java +++ b/src/main/java/im/zhaojun/common/config/CorsFilter.java @@ -14,6 +14,7 @@ import java.io.IOException; /** * 开启跨域支持. 一般用于开发环境, 或前后端分离部署时开启. + * @author zhaojun */ public class CorsFilter extends GenericFilterBean { diff --git a/src/main/java/im/zhaojun/common/config/StorageTypeFactory.java b/src/main/java/im/zhaojun/common/config/StorageTypeFactory.java index 2c16f73..97696ec 100644 --- a/src/main/java/im/zhaojun/common/config/StorageTypeFactory.java +++ b/src/main/java/im/zhaojun/common/config/StorageTypeFactory.java @@ -9,6 +9,9 @@ import org.springframework.stereotype.Component; import java.util.Map; +/** + * @author zhaojun + */ @Component public class StorageTypeFactory implements ApplicationContextAware { diff --git a/src/main/java/im/zhaojun/common/config/WebMvcConfig.java b/src/main/java/im/zhaojun/common/config/WebMvcConfig.java index bf307a9..d0a6c3a 100644 --- a/src/main/java/im/zhaojun/common/config/WebMvcConfig.java +++ b/src/main/java/im/zhaojun/common/config/WebMvcConfig.java @@ -5,6 +5,9 @@ import org.springframework.context.annotation.Configuration; import org.springframework.format.FormatterRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +/** + * @author zhaojun + */ @Configuration public class WebMvcConfig implements WebMvcConfigurer { diff --git a/src/main/java/im/zhaojun/common/config/ZFileCacheConfiguration.java b/src/main/java/im/zhaojun/common/config/ZFileCacheConfiguration.java index 138f568..95e14cc 100644 --- a/src/main/java/im/zhaojun/common/config/ZFileCacheConfiguration.java +++ b/src/main/java/im/zhaojun/common/config/ZFileCacheConfiguration.java @@ -16,6 +16,7 @@ import java.util.Collections; /** * 缓存配置类, 用于根据配置决定使用 redis 缓存还是 caffeine (内存). + * @author zhaojun */ @Configuration public class ZFileCacheConfiguration { diff --git a/src/main/java/im/zhaojun/common/config/ZFileConfiguration.java b/src/main/java/im/zhaojun/common/config/ZFileConfiguration.java index 99e02a5..8c110ef 100644 --- a/src/main/java/im/zhaojun/common/config/ZFileConfiguration.java +++ b/src/main/java/im/zhaojun/common/config/ZFileConfiguration.java @@ -7,6 +7,9 @@ import org.springframework.web.client.RestTemplate; import java.nio.charset.StandardCharsets; +/** + * @author zhaojun + */ @Configuration public class ZFileConfiguration { diff --git a/src/main/java/im/zhaojun/common/controller/AdminController.java b/src/main/java/im/zhaojun/common/controller/AdminController.java index 9f93eea..2057b17 100644 --- a/src/main/java/im/zhaojun/common/controller/AdminController.java +++ b/src/main/java/im/zhaojun/common/controller/AdminController.java @@ -20,6 +20,7 @@ import java.util.List; /** * 后台管理 + * @author zhaojun */ @RestController @RequestMapping("/admin") diff --git a/src/main/java/im/zhaojun/common/controller/FileController.java b/src/main/java/im/zhaojun/common/controller/FileController.java index 6ea1af0..5cf2619 100644 --- a/src/main/java/im/zhaojun/common/controller/FileController.java +++ b/src/main/java/im/zhaojun/common/controller/FileController.java @@ -29,6 +29,7 @@ import java.util.List; /** * 前台文件管理 + * @author zhaojun */ @RequestMapping("/api") @RestController @@ -72,16 +73,16 @@ public class FileController { fileItemList.sort(new FileComparator(sortBy, order)); filterFileList(fileItemList); - Integer total = fileItemList.size(); - Integer totalPage = (total + PAGE_SIZE - 1) / PAGE_SIZE; + int total = fileItemList.size(); + int totalPage = (total + PAGE_SIZE - 1) / PAGE_SIZE; if (page > totalPage) { return ResultBean.successData(new ArrayList<>()); } - Integer start = (page - 1) * PAGE_SIZE; - Integer end = page * PAGE_SIZE; - end = end > total ? total : end; + int start = (page - 1) * PAGE_SIZE; + int end = page * PAGE_SIZE; + end = Math.min(end, total); List fileSubItem = fileItemList.subList(start, end); return ResultBean.successData(fileSubItem); } diff --git a/src/main/java/im/zhaojun/common/controller/InstallController.java b/src/main/java/im/zhaojun/common/controller/InstallController.java index 5461352..a3def3f 100644 --- a/src/main/java/im/zhaojun/common/controller/InstallController.java +++ b/src/main/java/im/zhaojun/common/controller/InstallController.java @@ -22,6 +22,7 @@ import java.util.Objects; /** * 系统安装初始化 + * @author zhaojun */ @Controller public class InstallController { diff --git a/src/main/java/im/zhaojun/common/exception/GlobleExceptionHandler.java b/src/main/java/im/zhaojun/common/exception/GlobleExceptionHandler.java index 78ecb5c..32a7556 100644 --- a/src/main/java/im/zhaojun/common/exception/GlobleExceptionHandler.java +++ b/src/main/java/im/zhaojun/common/exception/GlobleExceptionHandler.java @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.ResponseStatus; /** * 全局异常处理器 + * @author zhaojun */ @ControllerAdvice @ResponseBody diff --git a/src/main/java/im/zhaojun/common/exception/InitializeException.java b/src/main/java/im/zhaojun/common/exception/InitializeException.java index 2bc0c40..b3ec55f 100644 --- a/src/main/java/im/zhaojun/common/exception/InitializeException.java +++ b/src/main/java/im/zhaojun/common/exception/InitializeException.java @@ -2,6 +2,7 @@ package im.zhaojun.common.exception; /** * 对象存储初始化异常 + * @author zhaojun */ public class InitializeException extends RuntimeException { diff --git a/src/main/java/im/zhaojun/common/exception/SearchDisableException.java b/src/main/java/im/zhaojun/common/exception/SearchDisableException.java index 326fc13..d5bfcbb 100644 --- a/src/main/java/im/zhaojun/common/exception/SearchDisableException.java +++ b/src/main/java/im/zhaojun/common/exception/SearchDisableException.java @@ -1,5 +1,8 @@ package im.zhaojun.common.exception; +/** + * @author zhaojun + */ public class SearchDisableException extends RuntimeException { public SearchDisableException() { diff --git a/src/main/java/im/zhaojun/common/exception/StorageStrategyUninitializedException.java b/src/main/java/im/zhaojun/common/exception/StorageStrategyUninitializedException.java index aae6078..462d886 100644 --- a/src/main/java/im/zhaojun/common/exception/StorageStrategyUninitializedException.java +++ b/src/main/java/im/zhaojun/common/exception/StorageStrategyUninitializedException.java @@ -2,6 +2,7 @@ package im.zhaojun.common.exception; /** * 存储策略未初始化异常 + * @author zhaojun */ public class StorageStrategyUninitializedException extends RuntimeException { diff --git a/src/main/java/im/zhaojun/common/exception/UnknownStorageTypeException.java b/src/main/java/im/zhaojun/common/exception/UnknownStorageTypeException.java index f0a6a4e..b36b399 100644 --- a/src/main/java/im/zhaojun/common/exception/UnknownStorageTypeException.java +++ b/src/main/java/im/zhaojun/common/exception/UnknownStorageTypeException.java @@ -2,6 +2,7 @@ package im.zhaojun.common.exception; /** * 未知的存储类型异常 + * @author zhaojun */ public class UnknownStorageTypeException extends RuntimeException { diff --git a/src/main/java/im/zhaojun/common/model/StorageConfig.java b/src/main/java/im/zhaojun/common/model/StorageConfig.java index 0d56abd..4b69cc0 100644 --- a/src/main/java/im/zhaojun/common/model/StorageConfig.java +++ b/src/main/java/im/zhaojun/common/model/StorageConfig.java @@ -5,6 +5,9 @@ import lombok.Data; import javax.persistence.*; +/** + * @author zhaojun + */ @Entity(name = "STORAGE_CONFIG") @Data public class StorageConfig { diff --git a/src/main/java/im/zhaojun/common/model/SystemConfig.java b/src/main/java/im/zhaojun/common/model/SystemConfig.java index 2fe4167..c952653 100644 --- a/src/main/java/im/zhaojun/common/model/SystemConfig.java +++ b/src/main/java/im/zhaojun/common/model/SystemConfig.java @@ -4,6 +4,9 @@ import lombok.Data; import javax.persistence.*; +/** + * @author zhaojun + */ @Entity(name = "SYSTEM_CONFIG") @Data public class SystemConfig { diff --git a/src/main/java/im/zhaojun/common/model/constant/SystemConfigConstant.java b/src/main/java/im/zhaojun/common/model/constant/SystemConfigConstant.java index e4342ca..dc6b1a5 100644 --- a/src/main/java/im/zhaojun/common/model/constant/SystemConfigConstant.java +++ b/src/main/java/im/zhaojun/common/model/constant/SystemConfigConstant.java @@ -1,5 +1,8 @@ package im.zhaojun.common.model.constant; +/** + * @author zhaojun + */ public class SystemConfigConstant { public static final String SITE_NAME = "siteName"; diff --git a/src/main/java/im/zhaojun/common/model/constant/ZFileConstant.java b/src/main/java/im/zhaojun/common/model/constant/ZFileConstant.java index 39d03ce..3ce1553 100644 --- a/src/main/java/im/zhaojun/common/model/constant/ZFileConstant.java +++ b/src/main/java/im/zhaojun/common/model/constant/ZFileConstant.java @@ -4,6 +4,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; +/** + * @author zhaojun + */ @Configuration public class ZFileConstant { diff --git a/src/main/java/im/zhaojun/common/model/dto/AudioInfoDTO.java b/src/main/java/im/zhaojun/common/model/dto/AudioInfoDTO.java index 49bd507..d632453 100644 --- a/src/main/java/im/zhaojun/common/model/dto/AudioInfoDTO.java +++ b/src/main/java/im/zhaojun/common/model/dto/AudioInfoDTO.java @@ -1,5 +1,8 @@ package im.zhaojun.common.model.dto; +/** + * @author zhaojun + */ public class AudioInfoDTO { private String title; private String artist; diff --git a/src/main/java/im/zhaojun/common/model/dto/FileItemDTO.java b/src/main/java/im/zhaojun/common/model/dto/FileItemDTO.java index a1d4ba5..b051a89 100644 --- a/src/main/java/im/zhaojun/common/model/dto/FileItemDTO.java +++ b/src/main/java/im/zhaojun/common/model/dto/FileItemDTO.java @@ -5,6 +5,9 @@ import im.zhaojun.common.model.enums.FileTypeEnum; import java.io.Serializable; import java.util.Date; +/** + * @author zhaojun + */ public class FileItemDTO implements Serializable { private String name; diff --git a/src/main/java/im/zhaojun/common/model/dto/InstallModelDTO.java b/src/main/java/im/zhaojun/common/model/dto/InstallModelDTO.java index 12af8b5..1b8f60b 100644 --- a/src/main/java/im/zhaojun/common/model/dto/InstallModelDTO.java +++ b/src/main/java/im/zhaojun/common/model/dto/InstallModelDTO.java @@ -4,6 +4,9 @@ import im.zhaojun.common.model.enums.StorageTypeEnum; import java.util.Map; +/** + * @author zhaojun + */ public class InstallModelDTO { private String siteName; private StorageTypeEnum storageStrategy; diff --git a/src/main/java/im/zhaojun/common/model/dto/ResultBean.java b/src/main/java/im/zhaojun/common/model/dto/ResultBean.java index 1969d76..c52dcbc 100644 --- a/src/main/java/im/zhaojun/common/model/dto/ResultBean.java +++ b/src/main/java/im/zhaojun/common/model/dto/ResultBean.java @@ -2,6 +2,9 @@ package im.zhaojun.common.model.dto; import java.io.Serializable; +/** + * @author zhaojun + */ public class ResultBean implements Serializable { private static final long serialVersionUID = -8276264968757808344L; diff --git a/src/main/java/im/zhaojun/common/model/dto/SiteConfigDTO.java b/src/main/java/im/zhaojun/common/model/dto/SiteConfigDTO.java index 915475d..6f82f44 100644 --- a/src/main/java/im/zhaojun/common/model/dto/SiteConfigDTO.java +++ b/src/main/java/im/zhaojun/common/model/dto/SiteConfigDTO.java @@ -4,6 +4,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; +/** + * @author zhaojun + */ public class SiteConfigDTO implements Serializable { private static final long serialVersionUID = 8811196207046121740L; diff --git a/src/main/java/im/zhaojun/common/model/dto/SystemConfigDTO.java b/src/main/java/im/zhaojun/common/model/dto/SystemConfigDTO.java index 15c3afe..04a92a8 100644 --- a/src/main/java/im/zhaojun/common/model/dto/SystemConfigDTO.java +++ b/src/main/java/im/zhaojun/common/model/dto/SystemConfigDTO.java @@ -4,7 +4,15 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import im.zhaojun.common.model.enums.StorageTypeEnum; import im.zhaojun.common.model.enums.StorageTypeEnumSerializerConvert; +import lombok.Data; +import lombok.ToString; +/** + * 系统设置传输类 + * @author zhaojun + */ +@ToString +@Data public class SystemConfigDTO { @JsonIgnore @@ -27,76 +35,4 @@ public class SystemConfigDTO { private String password; private String domain; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getSiteName() { - return siteName; - } - - public void setSiteName(String siteName) { - this.siteName = siteName; - } - - public Boolean getInfoEnable() { - return infoEnable; - } - - public void setInfoEnable(Boolean infoEnable) { - this.infoEnable = infoEnable; - } - - public Boolean getSearchEnable() { - return searchEnable; - } - - public void setSearchEnable(Boolean searchEnable) { - this.searchEnable = searchEnable; - } - - public Boolean getSearchIgnoreCase() { - return searchIgnoreCase; - } - - public void setSearchIgnoreCase(Boolean searchIgnoreCase) { - this.searchIgnoreCase = searchIgnoreCase; - } - - public StorageTypeEnum getStorageStrategy() { - return storageStrategy; - } - - public void setStorageStrategy(StorageTypeEnum storageStrategy) { - this.storageStrategy = storageStrategy; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public String getDomain() { - return domain; - } - - public void setDomain(String domain) { - this.domain = domain; - } } \ No newline at end of file diff --git a/src/main/java/im/zhaojun/common/model/enums/FileTypeEnum.java b/src/main/java/im/zhaojun/common/model/enums/FileTypeEnum.java index 81b6f26..e4ce8ce 100644 --- a/src/main/java/im/zhaojun/common/model/enums/FileTypeEnum.java +++ b/src/main/java/im/zhaojun/common/model/enums/FileTypeEnum.java @@ -1,5 +1,8 @@ package im.zhaojun.common.model.enums; +/** + * @author zhaojun + */ public enum FileTypeEnum { /** diff --git a/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnum.java b/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnum.java index df11fcf..f3b9760 100644 --- a/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnum.java +++ b/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnum.java @@ -3,6 +3,9 @@ package im.zhaojun.common.model.enums; import java.util.HashMap; import java.util.Map; +/** + * @author zhaojun + */ public enum StorageTypeEnum { /** diff --git a/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumConvert.java b/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumConvert.java index f1c522e..cc935bb 100644 --- a/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumConvert.java +++ b/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumConvert.java @@ -3,6 +3,9 @@ package im.zhaojun.common.model.enums; import javax.persistence.AttributeConverter; import javax.persistence.Converter; +/** + * @author zhaojun + */ @Converter(autoApply = true) public class StorageTypeEnumConvert implements AttributeConverter { diff --git a/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumDeSerializerConvert.java b/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumDeSerializerConvert.java index 6424211..57a00ce 100644 --- a/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumDeSerializerConvert.java +++ b/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumDeSerializerConvert.java @@ -1,11 +1,15 @@ package im.zhaojun.common.model.enums; import org.springframework.core.convert.converter.Converter; +import org.springframework.lang.NonNull; +/** + * @author zhaojun + */ public class StorageTypeEnumDeSerializerConvert implements Converter { @Override - public StorageTypeEnum convert(String s) { + public StorageTypeEnum convert(@NonNull String s) { return StorageTypeEnum.getEnum(s); } } diff --git a/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumSerializerConvert.java b/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumSerializerConvert.java index 464684b..09429bc 100644 --- a/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumSerializerConvert.java +++ b/src/main/java/im/zhaojun/common/model/enums/StorageTypeEnumSerializerConvert.java @@ -6,6 +6,9 @@ import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; +/** + * @author zhaojun + */ public class StorageTypeEnumSerializerConvert extends JsonSerializer { @Override diff --git a/src/main/java/im/zhaojun/common/repository/StorageConfigRepository.java b/src/main/java/im/zhaojun/common/repository/StorageConfigRepository.java index 58a76de..3ce0ff0 100644 --- a/src/main/java/im/zhaojun/common/repository/StorageConfigRepository.java +++ b/src/main/java/im/zhaojun/common/repository/StorageConfigRepository.java @@ -7,9 +7,17 @@ import org.springframework.stereotype.Repository; import java.util.List; +/** + * @author zhaojun + */ @Repository public interface StorageConfigRepository extends JpaRepository { + /** + * 根据存储类型找对应的配置信息 + * @param type 存储类型 + * @return 此类型所有的配置信息 + */ List findByTypeOrderById(StorageTypeEnum type); } \ No newline at end of file diff --git a/src/main/java/im/zhaojun/common/repository/SystemConfigRepository.java b/src/main/java/im/zhaojun/common/repository/SystemConfigRepository.java index cdd7ce0..1a9c68e 100644 --- a/src/main/java/im/zhaojun/common/repository/SystemConfigRepository.java +++ b/src/main/java/im/zhaojun/common/repository/SystemConfigRepository.java @@ -4,8 +4,16 @@ import im.zhaojun.common.model.SystemConfig; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +/** + * @author zhaojun + */ @Repository public interface SystemConfigRepository extends JpaRepository { + /** + * 查找系统设置中, 某个设置项对应的值 + * @param key 设置项 + * @return 设置值 + */ SystemConfig findByKey(String key); } diff --git a/src/main/java/im/zhaojun/common/security/MD5PasswordEncoder.java b/src/main/java/im/zhaojun/common/security/Md5PasswordEncoder.java similarity index 83% rename from src/main/java/im/zhaojun/common/security/MD5PasswordEncoder.java rename to src/main/java/im/zhaojun/common/security/Md5PasswordEncoder.java index f3f9a79..62727f0 100644 --- a/src/main/java/im/zhaojun/common/security/MD5PasswordEncoder.java +++ b/src/main/java/im/zhaojun/common/security/Md5PasswordEncoder.java @@ -3,7 +3,10 @@ package im.zhaojun.common.security; import cn.hutool.crypto.SecureUtil; import org.springframework.security.crypto.password.PasswordEncoder; -public class MD5PasswordEncoder implements PasswordEncoder { +/** + * @author zhaojun + */ +public class Md5PasswordEncoder implements PasswordEncoder { @Override public String encode(CharSequence rawPassword) { diff --git a/src/main/java/im/zhaojun/common/security/MyCorsFilter.java b/src/main/java/im/zhaojun/common/security/MyCorsFilter.java index 1414762..5a3b43c 100644 --- a/src/main/java/im/zhaojun/common/security/MyCorsFilter.java +++ b/src/main/java/im/zhaojun/common/security/MyCorsFilter.java @@ -6,6 +6,9 @@ import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; +/** + * @author zhaojun + */ @Configuration public class MyCorsFilter { diff --git a/src/main/java/im/zhaojun/common/security/MySecurityConfig.java b/src/main/java/im/zhaojun/common/security/MySecurityConfig.java index fa9d6ba..6b22fd3 100644 --- a/src/main/java/im/zhaojun/common/security/MySecurityConfig.java +++ b/src/main/java/im/zhaojun/common/security/MySecurityConfig.java @@ -18,7 +18,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; /** - * 自定义Security配置类 + * 自定义 Security 配置类 + * @author zhaojun */ @EnableWebSecurity public class MySecurityConfig extends WebSecurityConfigurerAdapter { @@ -115,7 +116,7 @@ public class MySecurityConfig extends WebSecurityConfigurerAdapter { @Bean public static PasswordEncoder passwordEncoder() { - return new MD5PasswordEncoder(); + return new Md5PasswordEncoder(); } } \ No newline at end of file diff --git a/src/main/java/im/zhaojun/common/security/MyUserDetailsServiceImpl.java b/src/main/java/im/zhaojun/common/security/MyUserDetailsServiceImpl.java index 23d6f47..d5e685e 100644 --- a/src/main/java/im/zhaojun/common/security/MyUserDetailsServiceImpl.java +++ b/src/main/java/im/zhaojun/common/security/MyUserDetailsServiceImpl.java @@ -10,6 +10,9 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException; import javax.annotation.Resource; import java.util.Collections; +/** + * @author zhaojun + */ public class MyUserDetailsServiceImpl implements UserDetailsService { @Resource diff --git a/src/main/java/im/zhaojun/common/service/FileAsyncCacheService.java b/src/main/java/im/zhaojun/common/service/FileAsyncCacheService.java index 487ae71..dd9c8c9 100644 --- a/src/main/java/im/zhaojun/common/service/FileAsyncCacheService.java +++ b/src/main/java/im/zhaojun/common/service/FileAsyncCacheService.java @@ -9,6 +9,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +/** + * @author zhaojun + */ @Service public class FileAsyncCacheService { diff --git a/src/main/java/im/zhaojun/common/service/FileService.java b/src/main/java/im/zhaojun/common/service/FileService.java index 41ba4cf..e11c00c 100644 --- a/src/main/java/im/zhaojun/common/service/FileService.java +++ b/src/main/java/im/zhaojun/common/service/FileService.java @@ -14,13 +14,31 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; +/** + * @author zhaojun + */ @CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator") public interface FileService { + /** + * 获取指定路径下的文件及文件及 + * @param path 文件路径 + * @return 文件及文件夹列表 + * @throws Exception 获取时可能抛出的任何异常, 如 key 异常, 网络超时, 路径不存在等问题. + */ List fileList(String path) throws Exception; + /** + * 获取文件下载地址 + * @param path 文件路径 + * @return 文件下载地址 + * @throws Exception 生成下载地址异常 + */ String getDownloadUrl(String path) throws Exception; + /** + * 初始化方法, 启动时自动调用实现类的此方法进行初始化. + */ @PostConstruct default void init() {} @@ -30,6 +48,12 @@ public interface FileService { @CacheEvict(allEntries = true) default void clearCache() {} + /** + * 搜索文件 + * @param name 文件名 + * @return 包含该文件名的所有文件或文件夹 + * @throws Exception 搜索过程出现的异常 + */ default List search(String name) throws Exception { List result = new ArrayList<>(); @@ -43,6 +67,11 @@ public interface FileService { return result; } + /** + * 查询所有文件 + * @return 所有文件 + * @throws Exception 异常现象 + */ default List selectAllFileList() throws Exception { List result = new ArrayList<>(); @@ -64,7 +93,15 @@ public interface FileService { return result; } + /** + * 获取存储引擎类型 + * @return 存储引擎类型枚举 + */ StorageTypeEnum getStorageTypeEnum(); + /** + * 获取是否初始化成功 + * @return 初始化成功与否 + */ boolean getIsInitialized(); } diff --git a/src/main/java/im/zhaojun/common/service/StorageConfigService.java b/src/main/java/im/zhaojun/common/service/StorageConfigService.java index 7bf5378..5209903 100644 --- a/src/main/java/im/zhaojun/common/service/StorageConfigService.java +++ b/src/main/java/im/zhaojun/common/service/StorageConfigService.java @@ -10,6 +10,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service public class StorageConfigService { diff --git a/src/main/java/im/zhaojun/common/service/SystemConfigService.java b/src/main/java/im/zhaojun/common/service/SystemConfigService.java index 41c0202..f4562d7 100644 --- a/src/main/java/im/zhaojun/common/service/SystemConfigService.java +++ b/src/main/java/im/zhaojun/common/service/SystemConfigService.java @@ -15,6 +15,9 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +/** + * @author zhaojun + */ @Service public class SystemConfigService { @@ -86,13 +89,13 @@ public class SystemConfigService { storageStrategySystemConfig.setValue(systemConfigDTO.getStorageStrategy().getKey()); systemConfigList.add(storageStrategySystemConfig); - if (!StringUtils.isNullOrEmpty(systemConfigDTO.getUsername())) { + if (StringUtils.isNotNullOrEmpty(systemConfigDTO.getUsername())) { SystemConfig usernameSystemConfig = systemConfigRepository.findByKey(SystemConfigConstant.USERNAME); usernameSystemConfig.setValue(systemConfigDTO.getUsername()); systemConfigList.add(usernameSystemConfig); } - if (!StringUtils.isNullOrEmpty(systemConfigDTO.getPassword())) { + if (StringUtils.isNotNullOrEmpty(systemConfigDTO.getPassword())) { SystemConfig passwordSystemConfig = systemConfigRepository.findByKey(SystemConfigConstant.PASSWORD); passwordSystemConfig.setValue(systemConfigDTO.getPassword()); systemConfigList.add(passwordSystemConfig); @@ -106,7 +109,7 @@ public class SystemConfigService { usernameConfig.setValue(username); systemConfigRepository.save(usernameConfig); - password = SecureUtil.md5(password);; + password = SecureUtil.md5(password); SystemConfig systemConfig = systemConfigRepository.findByKey(SystemConfigConstant.PASSWORD); systemConfig.setValue(password); diff --git a/src/main/java/im/zhaojun/common/service/SystemService.java b/src/main/java/im/zhaojun/common/service/SystemService.java index 2432943..e112ef3 100644 --- a/src/main/java/im/zhaojun/common/service/SystemService.java +++ b/src/main/java/im/zhaojun/common/service/SystemService.java @@ -7,8 +7,12 @@ import im.zhaojun.common.util.HttpUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Iterator; import java.util.List; +/** + * @author zhaojun + */ @Service public class SystemService { diff --git a/src/main/java/im/zhaojun/common/util/AudioHelper.java b/src/main/java/im/zhaojun/common/util/AudioHelper.java index a0fd9a8..72879ed 100644 --- a/src/main/java/im/zhaojun/common/util/AudioHelper.java +++ b/src/main/java/im/zhaojun/common/util/AudioHelper.java @@ -18,6 +18,7 @@ import java.net.URL; /** * 音频解析工具类 + * @author zhaojun */ public class AudioHelper { diff --git a/src/main/java/im/zhaojun/common/util/FileComparator.java b/src/main/java/im/zhaojun/common/util/FileComparator.java index 956268b..b34282d 100644 --- a/src/main/java/im/zhaojun/common/util/FileComparator.java +++ b/src/main/java/im/zhaojun/common/util/FileComparator.java @@ -12,6 +12,8 @@ import java.util.Comparator; * - 默认按照名称排序 * - 默认排序为升序 * - 按名称排序不区分大小写 + * + * @author zhaojun */ public class FileComparator implements Comparator { diff --git a/src/main/java/im/zhaojun/common/util/HttpUtil.java b/src/main/java/im/zhaojun/common/util/HttpUtil.java index a00a630..b340c3c 100644 --- a/src/main/java/im/zhaojun/common/util/HttpUtil.java +++ b/src/main/java/im/zhaojun/common/util/HttpUtil.java @@ -3,6 +3,9 @@ package im.zhaojun.common.util; import cn.hutool.core.util.URLUtil; import org.springframework.web.client.RestTemplate; +/** + * @author zhaojun + */ public class HttpUtil { public static String getTextContent(String url) { diff --git a/src/main/java/im/zhaojun/common/util/SpringContextHolder.java b/src/main/java/im/zhaojun/common/util/SpringContextHolder.java index 5647d09..3249b39 100644 --- a/src/main/java/im/zhaojun/common/util/SpringContextHolder.java +++ b/src/main/java/im/zhaojun/common/util/SpringContextHolder.java @@ -7,8 +7,12 @@ import org.springframework.beans.factory.DisposableBean; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Lazy; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; +/** + * @author zhaojun + */ @Service @Lazy(false) public class SpringContextHolder implements ApplicationContextAware, DisposableBean { @@ -59,7 +63,7 @@ public class SpringContextHolder implements ApplicationContextAware, DisposableB } @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException { SpringContextHolder.applicationContext = applicationContext; } diff --git a/src/main/java/im/zhaojun/common/util/StartupListener.java b/src/main/java/im/zhaojun/common/util/StartupListener.java index f72f8f8..7fde19a 100644 --- a/src/main/java/im/zhaojun/common/util/StartupListener.java +++ b/src/main/java/im/zhaojun/common/util/StartupListener.java @@ -5,12 +5,14 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * 项目启动监听器, 当项目启动时, 遍历当前对象存储的所有内容, 添加到缓存中. + * @author zhaojun */ @Component public class StartupListener implements ApplicationListener { @@ -21,7 +23,7 @@ public class StartupListener implements ApplicationListener 1 && path.charAt(0) != '/') { - path = '/' + path; + if (path != null && path.length() > 1 && path.charAt(0) != DELIMITER) { + path = DELIMITER + path; } - if (domain.charAt(domain.length() - 1) == '/') { + if (domain.charAt(domain.length() - 1) == DELIMITER) { domain = domain.substring(0, domain.length() - 2); } @@ -54,16 +64,16 @@ public class StringUtils { StringBuilder sb = new StringBuilder(); - if (path.indexOf("http://") == 0) { - sb.append("http://"); - } else if (path.indexOf("https://") == 0) { - sb.append("https://"); + if (path.indexOf(HTTP_PROTOCAL) == 0) { + sb.append(HTTP_PROTOCAL); + } else if (path.indexOf(HTTPS_PROTOCAL) == 0) { + sb.append(HTTPS_PROTOCAL); } for (int i = sb.length(); i < path.length() - 1; i++) { char current = path.charAt(i); char next = path.charAt(i + 1); - if (!(current == '/' && next == '/')) { + if (!(current == DELIMITER && next == DELIMITER)) { sb.append(current); } } @@ -75,5 +85,7 @@ public class StringUtils { return s == null || "".equals(s); } - + public static boolean isNotNullOrEmpty(String s) { + return !isNullOrEmpty(s); + } } diff --git a/src/main/java/im/zhaojun/ftp/service/FtpServiceImpl.java b/src/main/java/im/zhaojun/ftp/service/FtpServiceImpl.java index 049e92f..3058ea8 100644 --- a/src/main/java/im/zhaojun/ftp/service/FtpServiceImpl.java +++ b/src/main/java/im/zhaojun/ftp/service/FtpServiceImpl.java @@ -22,6 +22,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service @CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator") public class FtpServiceImpl implements FileService { diff --git a/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java b/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java index 2251d29..3c69b28 100644 --- a/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java +++ b/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java @@ -24,6 +24,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service @CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator") public class HuaweiServiceImpl implements FileService { diff --git a/src/main/java/im/zhaojun/local/controller/LocalController.java b/src/main/java/im/zhaojun/local/controller/LocalController.java index 70b92f2..6e0f9fd 100644 --- a/src/main/java/im/zhaojun/local/controller/LocalController.java +++ b/src/main/java/im/zhaojun/local/controller/LocalController.java @@ -19,6 +19,9 @@ import java.io.File; import java.io.IOException; import java.util.Date; +/** + * @author zhaojun + */ @Controller public class LocalController { @@ -27,7 +30,7 @@ public class LocalController { @GetMapping("/file/**") @ResponseBody - public ResponseEntity downAttachment(final HttpServletRequest request) throws IOException { + public ResponseEntity downAttachment(final HttpServletRequest request) { String path = (String) request.getAttribute( HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); String bestMatchPattern = (String ) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE); @@ -37,7 +40,7 @@ public class LocalController { return export(new File(StringUtils.concatPath(localServiceImpl.getFilePath(), URLUtil.decode(filePath)))); } - private ResponseEntity export(File file) throws IOException { + private ResponseEntity export(File file) { MediaType mediaType = MediaType.APPLICATION_OCTET_STREAM; diff --git a/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java b/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java index e61c82c..d70b16c 100644 --- a/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java +++ b/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java @@ -21,6 +21,9 @@ import java.util.Date; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service public class LocalServiceImpl implements FileService { @@ -51,7 +54,7 @@ public class LocalServiceImpl implements FileService { } @Override - public List fileList(String path) throws Exception { + public List fileList(String path) { List fileItemList = new ArrayList<>(); String fullPath = StringUtils.concatPath(filePath, path); @@ -79,7 +82,7 @@ public class LocalServiceImpl implements FileService { } @Override - public String getDownloadUrl(String path) throws Exception { + public String getDownloadUrl(String path) { SystemConfig usernameConfig = systemConfigRepository.findByKey(SystemConfigConstant.DOMAIN); return StringUtils.removeDuplicateSeparator(usernameConfig.getValue() + "/file/" + path); } diff --git a/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java b/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java index 2b856c2..2e94b79 100644 --- a/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java +++ b/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java @@ -23,6 +23,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service @CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator") public class MinIOServiceImpl implements FileService { diff --git a/src/main/java/im/zhaojun/onedrive/controller/OneDriveController.java b/src/main/java/im/zhaojun/onedrive/controller/OneDriveController.java index 34dc596..262b598 100644 --- a/src/main/java/im/zhaojun/onedrive/controller/OneDriveController.java +++ b/src/main/java/im/zhaojun/onedrive/controller/OneDriveController.java @@ -13,6 +13,9 @@ import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +/** + * @author zhaojun + */ @Controller public class OneDriveController { diff --git a/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java b/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java index 06a8ac0..7616b2e 100644 --- a/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java +++ b/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java @@ -28,6 +28,9 @@ import java.util.Date; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service @CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator") public class QiniuServiceImpl implements FileService { diff --git a/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java b/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java index 15daee3..69b4155 100644 --- a/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java +++ b/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java @@ -31,6 +31,9 @@ import java.util.Date; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service @CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator") public class TencentServiceImpl implements FileService { diff --git a/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java b/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java index c5aa126..9e4dd4e 100644 --- a/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java +++ b/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java @@ -22,6 +22,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +/** + * @author zhaojun + */ @Service @CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator") public class UpYunServiceImpl implements FileService {