update 基于S3协议重新实现 OSS模块 支持自定义域名

This commit is contained in:
疯狂的狮子li
2022-05-10 14:48:01 +08:00
parent 6d9a89a65f
commit 3430b090e6
20 changed files with 102 additions and 874 deletions

View File

@@ -52,6 +52,12 @@ public class SysOssConfig extends BaseEntity {
*/
private String endpoint;
/**
* 自定义域名
*/
private String domain;
/**
* 是否https0否 1是
*/

View File

@@ -35,8 +35,8 @@ public class SysOssConfigBo extends BaseEntity {
/**
* 配置key
*/
@ApiModelProperty(value = "configKey", required = true)
@NotBlank(message = "configKey不能为空", groups = {AddGroup.class, EditGroup.class})
@ApiModelProperty(value = "配置key", required = true)
@NotBlank(message = "配置key不能为空", groups = {AddGroup.class, EditGroup.class})
@Size(min = 2, max = 100, message = "configKey长度必须介于2和20 之间")
private String configKey;
@@ -59,8 +59,8 @@ public class SysOssConfigBo extends BaseEntity {
/**
* 桶名称
*/
@ApiModelProperty(value = "bucketName", required = true)
@NotBlank(message = "bucketName不能为空", groups = {AddGroup.class, EditGroup.class})
@ApiModelProperty(value = "桶名称", required = true)
@NotBlank(message = "桶名称不能为空", groups = {AddGroup.class, EditGroup.class})
@Size(min = 2, max = 100, message = "bucketName长度必须介于2和100之间")
private String bucketName;
@@ -73,11 +73,17 @@ public class SysOssConfigBo extends BaseEntity {
/**
* 访问站点
*/
@ApiModelProperty(value = "endpoint", required = true)
@NotBlank(message = "endpoint不能为空", groups = {AddGroup.class, EditGroup.class})
@ApiModelProperty(value = "访问站点", required = true)
@NotBlank(message = "访问站点不能为空", groups = {AddGroup.class, EditGroup.class})
@Size(min = 2, max = 100, message = "endpoint长度必须介于2和100之间")
private String endpoint;
/**
* 自定义域名
*/
@ApiModelProperty("自定义域名")
private String domain;
/**
* 是否httpsY=是,N=否)
*/
@@ -93,7 +99,7 @@ public class SysOssConfigBo extends BaseEntity {
/**
* 域
*/
@ApiModelProperty(value = "region")
@ApiModelProperty(value = "")
private String region;
/**

View File

@@ -60,6 +60,12 @@ public class SysOssConfigVo {
@ApiModelProperty("访问站点")
private String endpoint;
/**
* 自定义域名
*/
@ApiModelProperty("自定义域名")
private String domain;
/**
* 是否httpsY=是,N=否)
*/

View File

@@ -2,9 +2,9 @@ package com.ruoyi.resource.dubbo;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.oss.core.OssClient;
import com.ruoyi.common.oss.entity.UploadResult;
import com.ruoyi.common.oss.factory.OssFactory;
import com.ruoyi.common.oss.service.IOssStrategy;
import com.ruoyi.resource.api.RemoteFileService;
import com.ruoyi.resource.api.domain.SysFile;
import com.ruoyi.resource.domain.SysOss;
@@ -36,7 +36,7 @@ public class RemoteFileServiceImpl implements RemoteFileService {
public SysFile upload(String name, String originalFilename, String contentType, byte[] file) throws ServiceException {
try {
String suffix = StringUtils.substring(originalFilename, originalFilename.lastIndexOf("."), originalFilename.length());
IOssStrategy storage = OssFactory.instance();
OssClient storage = OssFactory.instance();
UploadResult uploadResult = storage.uploadSuffix(file, suffix, contentType);
// 保存文件信息
SysOss oss = new SysOss();
@@ -44,7 +44,7 @@ public class RemoteFileServiceImpl implements RemoteFileService {
oss.setFileSuffix(suffix);
oss.setFileName(uploadResult.getFilename());
oss.setOriginalName(originalFilename);
oss.setService(storage.getServiceType().getValue());
oss.setService(storage.getConfigKey());
sysOssMapper.insert(oss);
SysFile sysFile = new SysFile();
sysFile.setName(uploadResult.getFilename());

View File

@@ -7,9 +7,9 @@ import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.oss.core.OssClient;
import com.ruoyi.common.oss.entity.UploadResult;
import com.ruoyi.common.oss.factory.OssFactory;
import com.ruoyi.common.oss.service.IOssStrategy;
import com.ruoyi.resource.domain.SysOss;
import com.ruoyi.resource.domain.bo.SysOssBo;
import com.ruoyi.resource.domain.vo.SysOssVo;
@@ -65,7 +65,7 @@ public class SysOssServiceImpl implements ISysOssService {
public SysOss upload(MultipartFile file) {
String originalfileName = file.getOriginalFilename();
String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
IOssStrategy storage = OssFactory.instance();
OssClient storage = OssFactory.instance();
UploadResult uploadResult;
try {
uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType());
@@ -78,7 +78,7 @@ public class SysOssServiceImpl implements ISysOssService {
oss.setFileSuffix(suffix);
oss.setFileName(uploadResult.getFilename());
oss.setOriginalName(originalfileName);
oss.setService(storage.getServiceType().getValue());
oss.setService(storage.getConfigKey());
baseMapper.insert(oss);
return oss;
}
@@ -90,7 +90,7 @@ public class SysOssServiceImpl implements ISysOssService {
}
List<SysOss> list = baseMapper.selectBatchIds(ids);
for (SysOss sysOss : list) {
IOssStrategy storage = OssFactory.instance(sysOss.getService());
OssClient storage = OssFactory.instance(sysOss.getService());
storage.delete(sysOss.getUrl());
}
return baseMapper.deleteBatchIds(ids) > 0;