Merge remote-tracking branch 'refs/remotes/origin/dev'

This commit is contained in:
landaiqing
2024-07-17 20:18:02 +08:00
65 changed files with 1384 additions and 62 deletions

View File

@@ -0,0 +1,22 @@
package com.schisandra.oss.api;
import com.schisandra.oss.entity.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
@FeignClient("schisandra-cloud-storage-oss")
public interface SchisandraOssFeignService {
@GetMapping("/oss/ali/returnAll")
Result returnAliAll();
@GetMapping("/oss/minio/returnAll")
Result returnMinioAll();
@GetMapping("/oss/tencent/returnAll")
Result returnTencentAll();
@GetMapping("/oss/qiniu/returnAll")
Result returnQiniuAll();
}

View File

@@ -0,0 +1,50 @@
package com.schisandra.oss.entity;
import lombok.Data;
@Data
public class Result<T> {
private Boolean success;
private Integer code;
private String message;
private T data;
public static Result ok(){
Result result = new Result();
result.setSuccess(true);
result.setCode(ResultCodeEnum.SUCCESS.getCode());
result.setMessage(ResultCodeEnum.SUCCESS.getDesc());
return result;
}
public static <T> Result ok(T data){
Result result = new Result();
result.setSuccess(true);
result.setCode(ResultCodeEnum.SUCCESS.getCode());
result.setMessage(ResultCodeEnum.SUCCESS.getDesc());
result.setData(data);
return result;
}
public static Result fail(){
Result result = new Result();
result.setSuccess(false);
result.setCode(ResultCodeEnum.FAIL.getCode());
result.setMessage(ResultCodeEnum.FAIL.getDesc());
return result;
}
public static <T> Result fail(T data){
Result result = new Result();
result.setSuccess(false);
result.setCode(ResultCodeEnum.FAIL.getCode());
result.setMessage(ResultCodeEnum.FAIL.getDesc());
result.setData(data);
return result;
}
}

View File

@@ -0,0 +1,29 @@
package com.schisandra.oss.entity;
import lombok.Getter;
@Getter
public enum ResultCodeEnum {
SUCCESS(200,"成功"),
FAIL(500,"失败");
public int code;
public String desc;
ResultCodeEnum(int code,String desc){
this.code = code;
this.desc = desc;
}
public static ResultCodeEnum getByCode(int codeVal){
for(ResultCodeEnum resultCodeEnum : ResultCodeEnum.values()){
if(resultCodeEnum.code == codeVal){
return resultCodeEnum;
}
}
return null;
}
}

View File

@@ -11,12 +11,15 @@ import com.schisandra.oss.application.dto.SchisandraOssQiniuDTO;
import com.schisandra.oss.application.oss.constant.OssConstant;
import com.schisandra.oss.application.oss.core.ali.AliOssClient;
import com.schisandra.oss.application.oss.core.ali.AliOssConfiguration;
import com.schisandra.oss.application.oss.core.minio.MinioOssClient;
import com.schisandra.oss.application.oss.model.OssInfo;
import com.schisandra.oss.common.entity.Result;
import com.schisandra.oss.domain.bo.SchisandraOssAliBO;
import com.schisandra.oss.domain.redis.RedisUtil;
import com.schisandra.oss.domain.service.SchisandraOssAliDomainService;
import io.minio.errors.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.util.StreamUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -28,6 +31,8 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
@@ -232,6 +237,13 @@ public class SchisandraOssAliController {
}
}
@Cacheable(value = "aliBucket", key = "#userId+#bucket",unless = "#result==null")
@PostMapping("getBucketSize")
public Result<String> getBucketSize(@RequestParam String userId, @RequestParam String bucket) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
Preconditions.checkNotNull(userId, "不能为空");
AliOssClient bean = SpringUtil.getBean(OssConstant.OssType.ALI + userId);
return Result.ok(bean.getAliBucketSize(bucket));
}
/**
* @description: 创建bucket
@@ -274,6 +286,7 @@ public class SchisandraOssAliController {
}
/**
* @description: 上传文件
* @param: [schisandraOssAliDTO]

View File

@@ -9,6 +9,7 @@ import com.schisandra.oss.application.convert.SchisandraOssTencentDTOConverter;
import com.schisandra.oss.application.dto.SchisandraOssQiniuDTO;
import com.schisandra.oss.application.dto.SchisandraOssTencentDTO;
import com.schisandra.oss.application.oss.constant.OssConstant;
import com.schisandra.oss.application.oss.core.ali.AliOssClient;
import com.schisandra.oss.application.oss.core.qiniu.QiNiuOssClient;
import com.schisandra.oss.application.oss.core.qiniu.QiNiuOssConfiguration;
import com.schisandra.oss.application.oss.exception.OssException;
@@ -17,8 +18,10 @@ import com.schisandra.oss.common.entity.Result;
import com.schisandra.oss.domain.bo.SchisandraOssQiniuBO;
import com.schisandra.oss.domain.redis.RedisUtil;
import com.schisandra.oss.domain.service.SchisandraOssQiniuDomainService;
import io.minio.errors.*;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.util.StreamUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -29,6 +32,8 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
@@ -292,7 +297,13 @@ public class SchisandraOssQiniuController {
} else
return Result.ok(bean.selectAllBucket());
}
@Cacheable(value = "qiniuBucket", key = "#userId+#bucket",unless = "#result==null")
@PostMapping("getBucketSize")
public Result<String> getBucketSize(@RequestParam String userId, @RequestParam String bucket) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
Preconditions.checkNotNull(userId, "不能为空");
QiNiuOssClient bean = SpringUtil.getBean(OssConstant.OssType.QINIU + userId);
return Result.ok(bean.getQiniuBucketSize(bucket));
}
/**
* @description: 删除bucket
* @param: [userId, bucket]

View File

@@ -82,7 +82,7 @@ public class AliOssClient implements StandardOssClient {
buckets.forEach(bucket -> {
HashMap<String, String> names = new HashMap<>();
names.put("name",bucket.getName());
names.put("size",getAliBucketSize(bucket.getName()));
// names.put("size",getAliBucketSize(bucket.getName()));
list1.add(names);
});
return list1;

View File

@@ -189,7 +189,7 @@ public class QiNiuOssClient implements StandardOssClient {
for(int i=0;i<list.length;i++){
HashMap<String, String> names = new HashMap<>();
names.put("name",list[i]);
names.put("size",getQiniuBucketSize(list[i]));
// names.put("size",getQiniuBucketSize(list[i]));
list1.add(names);
}
return list1;

View File

@@ -45,9 +45,9 @@ public class SchisandraOssAliDomainServiceImpl implements SchisandraOssAliDomain
schisandraUserOss.setUserId(schisandraOssAliBO.getUserId());
schisandraUserOss.setIsDeleted(0);
schisandraUserOss.setCreatedTime(new Date());
schisandraUserOss.setOssType(String.valueOf(OssType.ALI));
schisandraUserOss.setOssType(OssType.ALI.type);
schisandraUserOss.setConfigCount(1);
schisandraUserOss.setName(String.valueOf(OssName.ALI));
schisandraUserOss.setName(OssName.ALI.type);
schisandraUserOssService.insert(schisandraUserOss);
}else{
userOss.setConfigCount(userOss.getConfigCount()+1);

View File

@@ -44,8 +44,8 @@ public class SchisandraOssMinioDomainServiceImpl implements SchisandraOssMinioDo
schisandraUserOss.setUserId(schisandraOssMinioBO.getUserId());
schisandraUserOss.setIsDeleted(0);
schisandraUserOss.setCreatedTime(new Date());
schisandraUserOss.setOssType(String.valueOf(OssType.MINIO));
schisandraUserOss.setName(String.valueOf(OssName.MINIO));
schisandraUserOss.setOssType(OssType.MINIO.type);
schisandraUserOss.setName(OssName.MINIO.type);
schisandraUserOss.setConfigCount(1);
schisandraUserOssService.insert(schisandraUserOss);
}else{

View File

@@ -48,8 +48,8 @@ public class SchisandraOssQiniuDomainServiceImpl implements SchisandraOssQiniuDo
schisandraUserOss.setUserId(schisandraOssQiniuBO.getUserId());
schisandraUserOss.setIsDeleted(0);
schisandraUserOss.setCreatedTime(new Date());
schisandraUserOss.setOssType(String.valueOf(OssType.QINIU));
schisandraUserOss.setName(String.valueOf(OssName.QINIU));
schisandraUserOss.setOssType(OssType.QINIU.type);
schisandraUserOss.setName(OssName.QINIU.type);
schisandraUserOss.setConfigCount(1);
schisandraUserOssService.insert(schisandraUserOss);
}else{

View File

@@ -47,9 +47,9 @@ public class SchisandraOssTencentDomainServiceImpl implements SchisandraOssTence
schisandraUserOss.setUserId(schisandraOssTencentBO.getUserId());
schisandraUserOss.setIsDeleted(0);
schisandraUserOss.setCreatedTime(new Date());
schisandraUserOss.setOssType(String.valueOf(OssType.TENCENT));
schisandraUserOss.setOssType(OssType.TENCENT.type);
schisandraUserOss.setConfigCount(1);
schisandraUserOss.setName(String.valueOf(OssName.TENCENT));
schisandraUserOss.setName(OssName.TENCENT.type);
schisandraUserOssService.insert(schisandraUserOss);
}else{
userOss.setConfigCount(userOss.getConfigCount()+1);