diff --git a/pom.xml b/pom.xml
index 546054a..49ae74c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,39 +25,26 @@
org.springframework.boot
spring-boot-starter-thymeleaf
+
org.springframework.boot
spring-boot-starter-web
+
org.springframework.boot
spring-boot-starter-aop
+
org.springframework.boot
spring-boot-starter-security
+
org.springframework.boot
spring-boot-starter-data-jpa
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- io.minio
- minio
- 3.0.10
-
-
-
-
- cn.hutool
- hutool-all
- 4.5.11
-
org.springframework.boot
@@ -70,6 +57,30 @@
2.7.0
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ com.h2database
+ h2
+ runtime
+
+
+
+
+ cn.hutool
+ hutool-all
+ 4.5.11
+
+
com.upyun
@@ -78,21 +89,15 @@
- com.qiniu
- qiniu-java-sdk
- 7.2.23
+ com.amazonaws
+ aws-java-sdk-s3
+ 1.11.699
- com.huaweicloud
- esdk-obs-java
- 3.19.5
-
-
-
- com.aliyun.oss
- aliyun-sdk-oss
- 3.5.0
+ org.apache.httpcomponents
+ httpclient
+ 4.5.8
@@ -101,34 +106,17 @@
-
- org.springframework.boot
- spring-boot-configuration-processor
- true
-
-
commons-net
commons-net
3.6
-
- com.qcloud
- cos_api
- 5.6.3
-
-
-
- com.h2database
- h2
- runtime
-
-
org.projectlombok
lombok
+
org
jaudiotagger
@@ -141,40 +129,11 @@
0.9.1
-
- org.aspectj
- aspectjweaver
-
-
-
- org.aspectj
- aspectjrt
-
-
-
- org.springframework.boot
- spring-boot-starter-data-redis
-
-
-
- commons-validator
- commons-validator
- 1.6
-
-
-
- com.google.guava
- guava
- 28.1-jre
-
-
-
mysql
mysql-connector-java
-
diff --git a/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java b/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java
index 7d55b44..fd01d33 100644
--- a/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java
+++ b/src/main/java/im/zhaojun/aliyun/service/AliyunServiceImpl.java
@@ -4,28 +4,21 @@ import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import im.zhaojun.common.config.ZFileCacheConfiguration;
-import im.zhaojun.common.model.S3Model;
import im.zhaojun.common.model.StorageConfig;
import im.zhaojun.common.model.constant.StorageConfigConstant;
-import im.zhaojun.common.model.dto.FileItemDTO;
import im.zhaojun.common.model.enums.StorageTypeEnum;
import im.zhaojun.common.service.AbstractS3FileService;
import im.zhaojun.common.service.FileService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.cache.annotation.CacheConfig;
-import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
-import java.util.List;
import java.util.Map;
/**
* @author zhaojun
*/
@Service
-@CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator")
public class AliyunServiceImpl extends AbstractS3FileService implements FileService {
private static final Logger log = LoggerFactory.getLogger(AliyunServiceImpl.class);
@@ -33,43 +26,26 @@ public class AliyunServiceImpl extends AbstractS3FileService implements FileServ
@Override
public void init() {
try {
- Map stringStorageConfigMap =
- storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.ALIYUN);
+ Map stringStorageConfigMap = storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.ALIYUN);
String accessKey = stringStorageConfigMap.get(StorageConfigConstant.ACCESS_KEY).getValue();
String secretKey = stringStorageConfigMap.get(StorageConfigConstant.SECRET_KEY).getValue();
String endPoint = stringStorageConfigMap.get(StorageConfigConstant.ENDPOINT_KEY).getValue();
- String bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
- String domain = stringStorageConfigMap.get(StorageConfigConstant.DOMAIN_KEY).getValue();
- String basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
-
- s3Model = S3Model.builder().bucketName(bucketName).basePath(basePath).domain(domain).build();
+ super.bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
+ super.domain = stringStorageConfigMap.get(StorageConfigConstant.DOMAIN_KEY).getValue();
+ super.basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
- s3Client = AmazonS3ClientBuilder.standard()
+ super.s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endPoint, "oss")).build();
isInitialized = testConnection();
} catch (Exception e) {
- log.debug(StorageTypeEnum.ALIYUN.getDescription() + "初始化异常, 已跳过");
+ log.debug(getStorageTypeEnum().getDescription() + "初始化异常, 已跳过");
}
}
- @Override
- @Cacheable
- public List fileList(String path) throws Exception {
- s3Model.setPath(path);
- return s3FileList(s3Client, s3Model);
- }
-
- @Override
- @Cacheable
- public String getDownloadUrl(String path) {
- s3Model.setPath(path);
- return s3ObjectUrl(s3Client, s3Model);
- }
-
@Override
public StorageTypeEnum getStorageTypeEnum() {
return StorageTypeEnum.ALIYUN;
diff --git a/src/main/java/im/zhaojun/common/model/S3Model.java b/src/main/java/im/zhaojun/common/model/S3Model.java
deleted file mode 100644
index 822ebf8..0000000
--- a/src/main/java/im/zhaojun/common/model/S3Model.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package im.zhaojun.common.model;
-
-import cn.hutool.core.util.ObjectUtil;
-import im.zhaojun.common.util.StringUtils;
-import lombok.Builder;
-import lombok.Data;
-
-/**
- * @author zhaojun
- * @date 2019/12/26 22:07
- */
-@Builder
-@Data
-public class S3Model {
-
- private String bucketName;
-
- private String path;
-
- private String basePath;
-
- private String domain;
-
- private long timeout;
-
- /**
- * 获取 basePath + path 的全路径地址.
- * @return basePath + path 的全路径地址.
- */
- public String getFullPath() {
- String basePath = ObjectUtil.defaultIfNull(this.basePath, "");
- String path = ObjectUtil.defaultIfNull(this.path, "");
- return StringUtils.removeDuplicateSeparator(basePath + "/" + path);
- }
-
-}
\ No newline at end of file
diff --git a/src/main/java/im/zhaojun/common/service/AbstractS3FileService.java b/src/main/java/im/zhaojun/common/service/AbstractS3FileService.java
index b85cd3f..461ecb0 100644
--- a/src/main/java/im/zhaojun/common/service/AbstractS3FileService.java
+++ b/src/main/java/im/zhaojun/common/service/AbstractS3FileService.java
@@ -1,15 +1,18 @@
package im.zhaojun.common.service;
+import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.URLUtil;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.S3ObjectSummary;
-import im.zhaojun.common.model.S3Model;
+import im.zhaojun.common.config.ZFileCacheConfiguration;
import im.zhaojun.common.model.dto.FileItemDTO;
import im.zhaojun.common.model.enums.FileTypeEnum;
import im.zhaojun.common.util.StringUtils;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cache.annotation.CacheConfig;
+import org.springframework.cache.annotation.Cacheable;
import javax.annotation.Resource;
import java.net.URL;
@@ -21,6 +24,7 @@ import java.util.List;
* @author zhaojun
* @date 2019/12/26 22:26
*/
+@CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator")
public abstract class AbstractS3FileService extends AbstractFileService {
@Value("${zfile.cache.timeout}")
@@ -29,23 +33,38 @@ public abstract class AbstractS3FileService extends AbstractFileService {
@Resource
protected StorageConfigService storageConfigService;
+ protected String path;
+
protected String basePath;
+ protected String bucketName;
+
+ protected String domain;
+
protected AmazonS3 s3Client;
- protected S3Model s3Model;
+ @Override
+ @Cacheable
+ public List fileList(String path) {
+ this.path = path;
+ return s3FileList(path);
+ }
+
+ @Override
+ @Cacheable
+ public String getDownloadUrl(String path) {
+ this.path = path;
+ return s3ObjectUrl(path);
+ }
/**
* 获取 S3 指定目录下的对象列表
- * @param s3Client S3 客户端连接
- * @param s3Model S3 对象
+ * @param path 路径
* @return 指定目录下的对象列表
- * @throws Exception 获取过程中出现的异常
*/
- public List s3FileList(AmazonS3 s3Client, S3Model s3Model) throws Exception {
- String path = StringUtils.removeFirstSeparator(s3Model.getPath());
- String fullPath = StringUtils.removeFirstSeparator(s3Model.getFullPath());
- String bucketName = s3Model.getBucketName();
+ public List s3FileList(String path) {
+ path = StringUtils.removeFirstSeparator(path);
+ String fullPath = StringUtils.removeFirstSeparator(getFullPath());
List fileItemList = new ArrayList<>();
ObjectListing objectListing = s3Client.listObjects(new ListObjectsRequest(bucketName, fullPath, "", "/", 1000));
@@ -76,14 +95,10 @@ public abstract class AbstractS3FileService extends AbstractFileService {
/**
* 获取对象的访问链接, 如果指定了域名, 则替换为自定义域名.
- * @param s3Client S3 客户端连接
- * @param s3Model S3 对象
* @return S3 对象访问地址
*/
- public String s3ObjectUrl(AmazonS3 s3Client, S3Model s3Model) {
- String fullPath = StringUtils.removeFirstSeparator(s3Model.getFullPath());
- String bucketName = s3Model.getBucketName();
- String domain = s3Model.getDomain();
+ public String s3ObjectUrl(String path) {
+ String fullPath = StringUtils.removeFirstSeparator(StringUtils.removeDuplicateSeparator(basePath + "/" + path));
Date expirationDate = new Date(System.currentTimeMillis() + timeout * 1000);
URL url = s3Client.generatePresignedUrl(bucketName, fullPath, expirationDate);
@@ -94,4 +109,14 @@ public abstract class AbstractS3FileService extends AbstractFileService {
}
return defaultUrl;
}
-}
+
+ /**
+ * 获取 basePath + path 的全路径地址.
+ * @return basePath + path 的全路径地址.
+ */
+ public String getFullPath() {
+ String basePath = ObjectUtil.defaultIfNull(this.basePath, "");
+ String path = ObjectUtil.defaultIfNull(this.path, "");
+ return StringUtils.removeDuplicateSeparator(basePath + "/" + path);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/im/zhaojun/common/service/FileService.java b/src/main/java/im/zhaojun/common/service/FileService.java
index 8a18861..da4c34f 100644
--- a/src/main/java/im/zhaojun/common/service/FileService.java
+++ b/src/main/java/im/zhaojun/common/service/FileService.java
@@ -13,7 +13,6 @@ public interface FileService {
* 获取指定路径下的文件及文件及
* @param path 文件路径
* @return 文件及文件夹列表
- * @throws Exception 获取时可能抛出的任何异常, 如 key 异常, 网络超时, 路径不存在等问题.
*/
List fileList(String path) throws Exception;
@@ -21,8 +20,7 @@ public interface FileService {
* 获取文件下载地址
* @param path 文件路径
* @return 文件下载地址
- * @throws Exception 生成下载地址异常
*/
- String getDownloadUrl(String path) throws Exception;
+ String getDownloadUrl(String path);
}
diff --git a/src/main/java/im/zhaojun/ftp/service/FtpServiceImpl.java b/src/main/java/im/zhaojun/ftp/service/FtpServiceImpl.java
index 85ce914..ae08a1d 100644
--- a/src/main/java/im/zhaojun/ftp/service/FtpServiceImpl.java
+++ b/src/main/java/im/zhaojun/ftp/service/FtpServiceImpl.java
@@ -54,7 +54,7 @@ public class FtpServiceImpl extends AbstractFileService implements FileService {
ftp = new Ftp(host, Integer.parseInt(port), username, password);
isInitialized = testConnection();
} catch (Exception e) {
- log.debug(StorageTypeEnum.FTP.getDescription() + "初始化异常, 已跳过");
+ log.debug(getStorageTypeEnum().getDescription() + "初始化异常, 已跳过");
}
}
diff --git a/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java b/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java
index b0b4e12..5a536c7 100644
--- a/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java
+++ b/src/main/java/im/zhaojun/huawei/service/HuaweiServiceImpl.java
@@ -4,28 +4,21 @@ import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import im.zhaojun.common.config.ZFileCacheConfiguration;
-import im.zhaojun.common.model.S3Model;
import im.zhaojun.common.model.StorageConfig;
import im.zhaojun.common.model.constant.StorageConfigConstant;
-import im.zhaojun.common.model.dto.FileItemDTO;
import im.zhaojun.common.model.enums.StorageTypeEnum;
import im.zhaojun.common.service.AbstractS3FileService;
import im.zhaojun.common.service.FileService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.cache.annotation.CacheConfig;
-import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
-import java.util.List;
import java.util.Map;
/**
* @author zhaojun
*/
@Service
-@CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator")
public class HuaweiServiceImpl extends AbstractS3FileService implements FileService {
private static final Logger log = LoggerFactory.getLogger(HuaweiServiceImpl.class);
@@ -33,43 +26,26 @@ public class HuaweiServiceImpl extends AbstractS3FileService implements FileServ
@Override
public void init() {
try {
- Map stringStorageConfigMap =
- storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.HUAWEI);
+ Map stringStorageConfigMap = storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.HUAWEI);
String accessKey = stringStorageConfigMap.get(StorageConfigConstant.ACCESS_KEY).getValue();
String secretKey = stringStorageConfigMap.get(StorageConfigConstant.SECRET_KEY).getValue();
String endPoint = stringStorageConfigMap.get(StorageConfigConstant.ENDPOINT_KEY).getValue();
- String bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
- String domain = stringStorageConfigMap.get(StorageConfigConstant.DOMAIN_KEY).getValue();
- String basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
+ bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
+ domain = stringStorageConfigMap.get(StorageConfigConstant.DOMAIN_KEY).getValue();
+ basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endPoint, "obs")).build();
- s3Model = S3Model.builder().bucketName(bucketName).basePath(basePath).domain(domain).build();
-
isInitialized = testConnection();
} catch (Exception e) {
- log.debug(StorageTypeEnum.HUAWEI.getDescription() + "初始化异常, 已跳过");
+ log.debug(getStorageTypeEnum().getDescription() + "初始化异常, 已跳过");
}
}
- @Override
- @Cacheable
- public List fileList(String path) throws Exception {
- s3Model.setPath(path);
- return s3FileList(s3Client, s3Model);
- }
-
- @Override
- @Cacheable
- public String getDownloadUrl(String path) {
- s3Model.setPath(path);
- return s3ObjectUrl(s3Client, s3Model);
- }
-
@Override
public StorageTypeEnum getStorageTypeEnum() {
return StorageTypeEnum.HUAWEI;
diff --git a/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java b/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java
index bb6866c..b869c52 100644
--- a/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java
+++ b/src/main/java/im/zhaojun/local/service/LocalServiceImpl.java
@@ -47,7 +47,7 @@ public class LocalServiceImpl extends AbstractFileService implements FileService
filePath = stringStorageConfigMap.get(StorageConfigConstant.FILE_PATH_KEY).getValue();
isInitialized = testConnection();
} catch (Exception e) {
- log.debug(StorageTypeEnum.LOCAL.getDescription() + "初始化异常, 已跳过");
+ log.debug(getStorageTypeEnum().getDescription() + "初始化异常, 已跳过");
}
}
diff --git a/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java b/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java
index 03e7c43..19b570c 100644
--- a/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java
+++ b/src/main/java/im/zhaojun/minio/MinIOServiceImpl.java
@@ -4,28 +4,21 @@ import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import im.zhaojun.common.config.ZFileCacheConfiguration;
-import im.zhaojun.common.model.S3Model;
import im.zhaojun.common.model.StorageConfig;
import im.zhaojun.common.model.constant.StorageConfigConstant;
-import im.zhaojun.common.model.dto.FileItemDTO;
import im.zhaojun.common.model.enums.StorageTypeEnum;
import im.zhaojun.common.service.AbstractS3FileService;
import im.zhaojun.common.service.FileService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.cache.annotation.CacheConfig;
-import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
-import java.util.List;
import java.util.Map;
/**
* @author zhaojun
*/
@Service
-@CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator")
public class MinIOServiceImpl extends AbstractS3FileService implements FileService {
private static final Logger log = LoggerFactory.getLogger(MinIOServiceImpl.class);
@@ -33,40 +26,25 @@ public class MinIOServiceImpl extends AbstractS3FileService implements FileServi
@Override
public void init() {
try {
- Map stringStorageConfigMap =
- storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.MINIO);
+ Map stringStorageConfigMap = storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.MINIO);
String accessKey = stringStorageConfigMap.get(StorageConfigConstant.ACCESS_KEY).getValue();
String secretKey = stringStorageConfigMap.get(StorageConfigConstant.SECRET_KEY).getValue();
String endPoint = stringStorageConfigMap.get(StorageConfigConstant.ENDPOINT_KEY).getValue();
- String bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
- String basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
+ bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
+ basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endPoint, "minio")).build();
- s3Model = S3Model.builder().bucketName(bucketName).basePath(basePath).build();
-
isInitialized = testConnection();
} catch (Exception e) {
- log.debug(StorageTypeEnum.MINIO.getDescription() + "初始化异常, 已跳过");
+ log.debug(getStorageTypeEnum().getDescription() + "初始化异常, 已跳过");
}
}
- @Override
- @Cacheable
- public List fileList(String path) throws Exception {
- s3Model.setPath(path);
- return s3FileList(s3Client, s3Model);
- }
- @Override
- @Cacheable
- public String getDownloadUrl(String path) {
- s3Model.setPath(path);
- return s3ObjectUrl(s3Client, s3Model);
- }
@Override
public StorageTypeEnum getStorageTypeEnum() {
diff --git a/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java b/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java
index ab32e65..73f61fe 100644
--- a/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java
+++ b/src/main/java/im/zhaojun/qiniu/service/QiniuServiceImpl.java
@@ -4,29 +4,22 @@ import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import im.zhaojun.common.config.ZFileCacheConfiguration;
-import im.zhaojun.common.model.S3Model;
import im.zhaojun.common.model.StorageConfig;
import im.zhaojun.common.model.constant.StorageConfigConstant;
-import im.zhaojun.common.model.dto.FileItemDTO;
import im.zhaojun.common.model.enums.StorageTypeEnum;
import im.zhaojun.common.service.AbstractS3FileService;
import im.zhaojun.common.service.FileService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cache.annotation.CacheConfig;
-import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
-import java.util.List;
import java.util.Map;
/**
* @author zhaojun
*/
@Service
-@CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator")
public class QiniuServiceImpl extends AbstractS3FileService implements FileService {
private static final Logger log = LoggerFactory.getLogger(QiniuServiceImpl.class);
@@ -37,42 +30,26 @@ public class QiniuServiceImpl extends AbstractS3FileService implements FileServi
@Override
public void init() {
try {
- Map stringStorageConfigMap =
- storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.QINIU);
+ Map stringStorageConfigMap = storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.QINIU);
String accessKey = stringStorageConfigMap.get(StorageConfigConstant.ACCESS_KEY).getValue();
String secretKey = stringStorageConfigMap.get(StorageConfigConstant.SECRET_KEY).getValue();
String endPoint = stringStorageConfigMap.get(StorageConfigConstant.ENDPOINT_KEY).getValue();
- String bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
- String domain = stringStorageConfigMap.get(StorageConfigConstant.DOMAIN_KEY).getValue();
- String basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
+
+ bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
+ domain = stringStorageConfigMap.get(StorageConfigConstant.DOMAIN_KEY).getValue();
+ basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endPoint, "kodo")).build();
- s3Model = S3Model.builder().bucketName(bucketName).basePath(basePath).domain(domain).build();
-
isInitialized = testConnection();
} catch (Exception e) {
- log.debug(StorageTypeEnum.QINIU.getDescription() + "初始化异常, 已跳过");
+ log.debug(getStorageTypeEnum().getDescription() + "初始化异常, 已跳过");
}
}
- @Override
- @Cacheable
- public List fileList(String path) throws Exception {
- s3Model.setPath(path);
- return s3FileList(s3Client, s3Model);
- }
-
- @Override
- @Cacheable
- public String getDownloadUrl(String path) {
- s3Model.setPath(path);
- return s3ObjectUrl(s3Client, s3Model);
- }
-
@Override
public StorageTypeEnum getStorageTypeEnum() {
return StorageTypeEnum.QINIU;
diff --git a/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java b/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java
index eb6295d..038815b 100644
--- a/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java
+++ b/src/main/java/im/zhaojun/tencent/TencentServiceImpl.java
@@ -4,28 +4,21 @@ import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import im.zhaojun.common.config.ZFileCacheConfiguration;
-import im.zhaojun.common.model.S3Model;
import im.zhaojun.common.model.StorageConfig;
import im.zhaojun.common.model.constant.StorageConfigConstant;
-import im.zhaojun.common.model.dto.FileItemDTO;
import im.zhaojun.common.model.enums.StorageTypeEnum;
import im.zhaojun.common.service.AbstractS3FileService;
import im.zhaojun.common.service.FileService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.cache.annotation.CacheConfig;
-import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
-import java.util.List;
import java.util.Map;
/**
* @author zhaojun
*/
@Service
-@CacheConfig(cacheNames = ZFileCacheConfiguration.CACHE_NAME, keyGenerator = "keyGenerator")
public class TencentServiceImpl extends AbstractS3FileService implements FileService {
private static final Logger log = LoggerFactory.getLogger(TencentServiceImpl.class);
@@ -33,13 +26,12 @@ public class TencentServiceImpl extends AbstractS3FileService implements FileSer
@Override
public void init() {
try {
- Map stringStorageConfigMap =
- storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.TENCENT);
+ Map stringStorageConfigMap = storageConfigService.selectStorageConfigMapByKey(StorageTypeEnum.TENCENT);
String secretId = stringStorageConfigMap.get(StorageConfigConstant.SECRET_ID_KEY).getValue();
String secretKey = stringStorageConfigMap.get(StorageConfigConstant.SECRET_KEY).getValue();
String regionName = stringStorageConfigMap.get(StorageConfigConstant.ENDPOINT_KEY).getValue();
- String bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
- String domain = stringStorageConfigMap.get(StorageConfigConstant.DOMAIN_KEY).getValue();
+ bucketName = stringStorageConfigMap.get(StorageConfigConstant.BUCKET_NAME_KEY).getValue();
+ domain = stringStorageConfigMap.get(StorageConfigConstant.DOMAIN_KEY).getValue();
basePath = stringStorageConfigMap.get(StorageConfigConstant.BASE_PATH).getValue();
BasicAWSCredentials credentials = new BasicAWSCredentials(secretId, secretKey);
@@ -47,27 +39,13 @@ public class TencentServiceImpl extends AbstractS3FileService implements FileSer
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(regionName, "cos")).build();
- s3Model = S3Model.builder().bucketName(bucketName).domain(domain).build();
-
isInitialized = testConnection();
} catch (Exception e) {
- log.debug(StorageTypeEnum.TENCENT.getDescription() + "初始化异常, 已跳过");
+ log.debug(getStorageTypeEnum().getDescription() + "初始化异常, 已跳过");
}
}
- @Override
- @Cacheable
- public List fileList(String path) throws Exception {
- s3Model.setPath(path);
- return s3FileList(s3Client, s3Model);
- }
- @Override
- @Cacheable
- public String getDownloadUrl(String path) {
- s3Model.setPath(path);
- return s3ObjectUrl(s3Client, s3Model);
- }
@Override
public StorageTypeEnum getStorageTypeEnum() {
diff --git a/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java b/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java
index a849caf..035daa7 100644
--- a/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java
+++ b/src/main/java/im/zhaojun/upyun/service/UpYunServiceImpl.java
@@ -57,7 +57,7 @@ public class UpYunServiceImpl extends AbstractFileService implements FileService
upYun = new UpYun(bucketName, username, password);
isInitialized = testConnection();
} catch (Exception e) {
- log.debug(StorageTypeEnum.UPYUN.getDescription() + "初始化异常, 已跳过");
+ log.debug(getStorageTypeEnum().getDescription() + "初始化异常, 已跳过");
}
}