疯狂的狮子li
2021-11-22 4cfbd8a9d2ca743842f8d47ac18c5c7cea5a04cd
update OSS 模块 整体重命名 消除歧义
已添加1个文件
已修改3个文件
已重命名8个文件
已删除1个文件
242 ■■■■ 文件已修改
ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/CloudServiceEnumd.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/OssEnumd.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/properties/OssProperties.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/service/IOssStrategy.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractOssStrategy.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudOssStrategy.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuOssStrategy.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/constant/CloudConstant.java ÐÞ¸Ä
@@ -8,7 +8,7 @@
 *
 * @author Lion Li
 */
public class CloudConstant {
public class OssConstant {
    /**
     * OSS模块KEY
@@ -18,12 +18,12 @@
    /**
     * å¯¹è±¡å­˜å‚¨é…ç½®KEY
     */
    public static final String CLOUD_STORAGE_CONFIG_KEY = "CloudStorageConfig";
    public static final String OSS_CONFIG_KEY = "OssConfig";
    /**
     * ç¼“存配置KEY
     */
    public static final String CACHE_CONFIG_KEY = SYS_OSS_KEY + CLOUD_STORAGE_CONFIG_KEY;
    public static final String CACHE_CONFIG_KEY = SYS_OSS_KEY + OSS_CONFIG_KEY;
    /**
     * é¢„览列表资源开关Key
ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/CloudServiceEnumd.java
ÎļþÒÑɾ³ý
ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/OssEnumd.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.ruoyi.oss.enumd;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.service.impl.AliyunOssStrategy;
import com.ruoyi.oss.service.impl.MinioOssStrategy;
import com.ruoyi.oss.service.impl.QcloudOssStrategy;
import com.ruoyi.oss.service.impl.QiniuOssStrategy;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
 * å¯¹è±¡å­˜å‚¨æœåŠ¡å•†æžšä¸¾
 *
 * @author Lion Li
 */
@Getter
@AllArgsConstructor
public enum OssEnumd {
    /**
     * ä¸ƒç‰›äº‘
     */
    QINIU("qiniu", QiniuOssStrategy.class),
    /**
     * é˜¿é‡Œäº‘
     */
    ALIYUN("aliyun", AliyunOssStrategy.class),
    /**
     * è…¾è®¯äº‘
     */
    QCLOUD("qcloud", QcloudOssStrategy.class),
    /**
     * minio
     */
    MINIO("minio", MinioOssStrategy.class);
    private final String value;
    private final Class<?> serviceClass;
    public static Class<?> getServiceClass(String value) {
        for (OssEnumd clazz : values()) {
            if (clazz.getValue().equals(value)) {
                return clazz.getServiceClass();
            }
        }
        return null;
    }
    public static String getServiceName(String value) {
        for (OssEnumd clazz : values()) {
            if (clazz.getValue().equals(value)) {
                return StringUtils.uncapitalize(clazz.getServiceClass().getSimpleName());
            }
        }
        return null;
    }
}
ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java
@@ -4,12 +4,12 @@
import com.ruoyi.common.utils.RedisUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.reflect.ReflectUtils;
import com.ruoyi.oss.constant.CloudConstant;
import com.ruoyi.oss.enumd.CloudServiceEnumd;
import com.ruoyi.oss.constant.OssConstant;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.properties.CloudStorageProperties;
import com.ruoyi.oss.service.ICloudStorageStrategy;
import com.ruoyi.oss.service.abstractd.AbstractCloudStorageStrategy;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.IOssStrategy;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
@@ -26,14 +26,14 @@
    /**
     * æœåŠ¡å®žä¾‹ç¼“å­˜
     */
    private static final Map<String, ICloudStorageStrategy> SERVICES = new ConcurrentHashMap<>();
    private static final Map<String, IOssStrategy> SERVICES = new ConcurrentHashMap<>();
    /**
     * åˆå§‹åŒ–工厂
     */
    public static void init() {
        log.info("初始化OSS工厂");
        RedisUtils.subscribe(CloudConstant.CACHE_CONFIG_KEY, String.class, msg -> {
        RedisUtils.subscribe(OssConstant.CACHE_CONFIG_KEY, String.class, msg -> {
            refreshService(msg);
            log.info("订阅刷新OSS配置 => " + msg);
        });
@@ -42,9 +42,9 @@
    /**
     * èŽ·å–é»˜è®¤å®žä¾‹
     */
    public static ICloudStorageStrategy instance() {
    public static IOssStrategy instance() {
        // èŽ·å–redis é»˜è®¤ç±»åž‹
        String type = RedisUtils.getCacheObject(CloudConstant.CACHE_CONFIG_KEY);
        String type = RedisUtils.getCacheObject(OssConstant.CACHE_CONFIG_KEY);
        if (StringUtils.isEmpty(type)) {
            throw new OssException("文件存储服务类型无法找到!");
        }
@@ -54,8 +54,8 @@
    /**
     * æ ¹æ®ç±»åž‹èŽ·å–å®žä¾‹
     */
    public static ICloudStorageStrategy instance(String type) {
        ICloudStorageStrategy service = SERVICES.get(type);
    public static IOssStrategy instance(String type) {
        IOssStrategy service = SERVICES.get(type);
        if (service == null) {
            refreshService(type);
            service = SERVICES.get(type);
@@ -64,14 +64,14 @@
    }
    private static void refreshService(String type) {
        Object json = RedisUtils.getCacheObject(CloudConstant.SYS_OSS_KEY + type);
        CloudStorageProperties properties = JsonUtils.parseObject(json.toString(), CloudStorageProperties.class);
        Object json = RedisUtils.getCacheObject(OssConstant.SYS_OSS_KEY + type);
        OssProperties properties = JsonUtils.parseObject(json.toString(), OssProperties.class);
        if (properties == null) {
            throw new OssException("系统异常, '" + type + "'配置信息不存在!");
        }
        // èŽ·å–redis配置信息 åˆ›å»ºå¯¹è±¡ å¹¶ç¼“å­˜
        ICloudStorageStrategy service = (ICloudStorageStrategy) ReflectUtils.newInstance(CloudServiceEnumd.getServiceClass(type));
        ((AbstractCloudStorageStrategy)service).init(properties);
        IOssStrategy service = (IOssStrategy) ReflectUtils.newInstance(OssEnumd.getServiceClass(type));
        ((AbstractOssStrategy)service).init(properties);
        SERVICES.put(type, service);
    }
ruoyi-oss/src/main/java/com/ruoyi/oss/properties/OssProperties.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/properties/CloudStorageProperties.java ÐÞ¸Ä
@@ -10,7 +10,7 @@
 * @author Lion Li
 */
@Data
public class CloudStorageProperties {
public class OssProperties {
    /**
     * åŸŸå
ruoyi-oss/src/main/java/com/ruoyi/oss/service/IOssStrategy.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/service/ICloudStorageStrategy.java ÐÞ¸Ä
@@ -9,7 +9,7 @@
 *
 * @author Lion Li
 */
public interface ICloudStorageStrategy {
public interface IOssStrategy {
    void createBucket();
ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractOssStrategy.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageStrategy.java ÐÞ¸Ä
@@ -5,8 +5,8 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.properties.CloudStorageProperties;
import com.ruoyi.oss.service.ICloudStorageStrategy;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.IOssStrategy;
import java.io.InputStream;
@@ -15,11 +15,11 @@
 *
 * @author Lion Li
 */
public abstract class AbstractCloudStorageStrategy implements ICloudStorageStrategy {
public abstract class AbstractOssStrategy implements IOssStrategy {
    protected CloudStorageProperties properties;
    protected OssProperties properties;
    public abstract void init(CloudStorageProperties properties);
    public abstract void init(OssProperties properties);
    @Override
    public abstract void createBucket();
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageStrategy.java ÐÞ¸Ä
@@ -9,10 +9,10 @@
import com.aliyun.oss.model.PutObjectRequest;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.CloudServiceEnumd;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.properties.CloudStorageProperties;
import com.ruoyi.oss.service.abstractd.AbstractCloudStorageStrategy;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -22,12 +22,12 @@
 *
 * @author Lion Li
 */
public class AliyunCloudStorageStrategy extends AbstractCloudStorageStrategy {
public class AliyunOssStrategy extends AbstractOssStrategy {
    private OSSClient client;
    @Override
    public void init(CloudStorageProperties cloudStorageProperties) {
    public void init(OssProperties cloudStorageProperties) {
        properties = cloudStorageProperties;
        try {
            ClientConfiguration configuration = new ClientConfiguration();
@@ -57,7 +57,7 @@
    @Override
    public String getServiceType() {
        return CloudServiceEnumd.ALIYUN.getValue();
        return OssEnumd.ALIYUN.getValue();
    }
    @Override
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageStrategy.java ÐÞ¸Ä
@@ -2,11 +2,11 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.CloudServiceEnumd;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.enumd.PolicyType;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.properties.CloudStorageProperties;
import com.ruoyi.oss.service.abstractd.AbstractCloudStorageStrategy;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import io.minio.*;
import org.springframework.http.MediaType;
@@ -18,12 +18,12 @@
 *
 * @author Lion Li
 */
public class MinioCloudStorageStrategy extends AbstractCloudStorageStrategy {
public class MinioOssStrategy extends AbstractOssStrategy {
    private MinioClient minioClient;
    @Override
    public void init(CloudStorageProperties cloudStorageProperties) {
    public void init(OssProperties cloudStorageProperties) {
        properties = cloudStorageProperties;
        try {
            minioClient = MinioClient.builder()
@@ -57,7 +57,7 @@
    @Override
    public String getServiceType() {
        return CloudServiceEnumd.MINIO.getValue();
        return OssEnumd.MINIO.getValue();
    }
    @Override
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudOssStrategy.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageStrategy.java ÐÞ¸Ä
@@ -9,10 +9,10 @@
import com.qcloud.cos.region.Region;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.CloudServiceEnumd;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.properties.CloudStorageProperties;
import com.ruoyi.oss.service.abstractd.AbstractCloudStorageStrategy;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -22,12 +22,12 @@
 *
 * @author Lion Li
 */
public class QcloudCloudStorageStrategy extends AbstractCloudStorageStrategy {
public class QcloudOssStrategy extends AbstractOssStrategy {
    private COSClient client;
    @Override
    public void init(CloudStorageProperties cloudStorageProperties) {
    public void init(OssProperties cloudStorageProperties) {
        properties = cloudStorageProperties;
        try {
            COSCredentials credentials = new BasicCOSCredentials(
@@ -65,7 +65,7 @@
    @Override
    public String getServiceType() {
        return CloudServiceEnumd.QCLOUD.getValue();
        return OssEnumd.QCLOUD.getValue();
    }
    @Override
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuOssStrategy.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageStrategy.java ÐÞ¸Ä
@@ -8,10 +8,10 @@
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.CloudServiceEnumd;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.properties.CloudStorageProperties;
import com.ruoyi.oss.service.abstractd.AbstractCloudStorageStrategy;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import java.io.InputStream;
@@ -20,14 +20,14 @@
 *
 * @author Lion Li
 */
public class QiniuCloudStorageStrategy extends AbstractCloudStorageStrategy {
public class QiniuOssStrategy extends AbstractOssStrategy {
    private UploadManager uploadManager;
    private BucketManager bucketManager;
    private Auth auth;
    @Override
    public void init(CloudStorageProperties cloudStorageProperties) {
    public void init(OssProperties cloudStorageProperties) {
        properties = cloudStorageProperties;
        try {
            Configuration config = new Configuration(getRegion(properties.getRegion()));
@@ -62,7 +62,7 @@
    @Override
    public String getServiceType() {
        return CloudServiceEnumd.QINIU.getValue();
        return OssEnumd.QINIU.getValue();
    }
    @Override
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java
@@ -15,7 +15,7 @@
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.RedisUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.constant.CloudConstant;
import com.ruoyi.oss.constant.OssConstant;
import com.ruoyi.oss.factory.OssFactory;
import com.ruoyi.system.domain.SysOssConfig;
import com.ruoyi.system.domain.bo.SysOssConfigBo;
@@ -54,7 +54,7 @@
        for (SysOssConfig config : list) {
            String configKey = config.getConfigKey();
            if ("0".equals(config.getStatus())) {
                RedisUtils.setCacheObject(CloudConstant.CACHE_CONFIG_KEY, configKey);
                RedisUtils.setCacheObject(OssConstant.CACHE_CONFIG_KEY, configKey);
            }
            setConfigCache(true, config);
        }
@@ -114,7 +114,7 @@
    @Override
    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
        if (isValid) {
            if (CollUtil.containsAny(ids, CloudConstant.SYSTEM_DATA_IDS)) {
            if (CollUtil.containsAny(ids, OssConstant.SYSTEM_DATA_IDS)) {
                throw new ServiceException("系统内置, ä¸å¯åˆ é™¤!");
            }
        }
@@ -157,7 +157,7 @@
                .set(SysOssConfig::getStatus, "1"));
        row += baseMapper.updateById(sysOssConfig);
        if (row > 0) {
            RedisUtils.setCacheObject(CloudConstant.CACHE_CONFIG_KEY, sysOssConfig.getConfigKey());
            RedisUtils.setCacheObject(OssConstant.CACHE_CONFIG_KEY, sysOssConfig.getConfigKey());
        }
        return row;
    }
@@ -169,7 +169,7 @@
     * @return ç¼“存键key
     */
    private String getCacheKey(String configKey) {
        return CloudConstant.SYS_OSS_KEY + configKey;
        return OssConstant.SYS_OSS_KEY + configKey;
    }
    /**
@@ -184,7 +184,7 @@
            RedisUtils.setCacheObject(
                    getCacheKey(config.getConfigKey()),
                    JsonUtils.toJsonString(config));
            RedisUtils.publish(CloudConstant.CACHE_CONFIG_KEY, config.getConfigKey(), msg -> {
            RedisUtils.publish(OssConstant.CACHE_CONFIG_KEY, config.getConfigKey(), msg -> {
                log.info("发布刷新OSS配置 => " + msg);
            });
        }
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -10,7 +10,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.factory.OssFactory;
import com.ruoyi.oss.service.ICloudStorageStrategy;
import com.ruoyi.oss.service.IOssStrategy;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.domain.bo.SysOssBo;
import com.ruoyi.system.domain.vo.SysOssVo;
@@ -56,7 +56,7 @@
    public SysOss upload(MultipartFile file) {
        String originalfileName = file.getOriginalFilename();
        String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
        ICloudStorageStrategy storage = OssFactory.instance();
        IOssStrategy storage = OssFactory.instance();
        UploadResult uploadResult;
        try {
            uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType());
@@ -81,7 +81,7 @@
        }
        List<SysOss> list = listByIds(ids);
        for (SysOss sysOss : list) {
            ICloudStorageStrategy storage = OssFactory.instance(sysOss.getService());
            IOssStrategy storage = OssFactory.instance(sysOss.getService());
            storage.delete(sysOss.getUrl());
        }
        return removeByIds(ids);