feat: OAuth update
This commit is contained in:
@@ -40,7 +40,6 @@ public class SchisandraOssMinioController {
|
||||
@Resource
|
||||
RedisUtil redisUtil;
|
||||
|
||||
private final String MINIO_OSS_CLIENT_CONFIG_KEY = "oss.minio.init";
|
||||
|
||||
/**
|
||||
* @description: minio 初始化
|
||||
@@ -51,29 +50,25 @@ public class SchisandraOssMinioController {
|
||||
*/
|
||||
@PostMapping("init")
|
||||
public void initMinio(@RequestParam String userId) {
|
||||
|
||||
if (log.isInfoEnabled()) {
|
||||
log.info("SchisandraOssMinioController.init.userId:{}", userId);
|
||||
}
|
||||
Preconditions.checkNotNull(userId, "用户id不能为空!");
|
||||
try {
|
||||
String key = redisUtil.buildKey(MINIO_OSS_CLIENT_CONFIG_KEY, userId);
|
||||
boolean exists = redisUtil.exist(key);
|
||||
if (exists) {
|
||||
log.info("用户: " + userId + "-> minio 已经初始化!");
|
||||
return;
|
||||
}
|
||||
minioOssConfiguration.minioOssClient(userId);
|
||||
|
||||
Result result = minioOssConfiguration.minioOssClient(userId);
|
||||
if (result.getSuccess()) {
|
||||
log.info("用户: " + userId + "-> minio 初始化完成!");
|
||||
} catch (Exception e) {
|
||||
log.error("用户: " + userId + "-> minio 初始化失败!", e.getMessage(), e);
|
||||
} else {
|
||||
log.error("用户: " + userId + "-> minio 初始化完成!");
|
||||
}
|
||||
}
|
||||
|
||||
@NeedDecrypt
|
||||
@PostMapping("get")
|
||||
public SchisandraOssMinioDTO getMinioOss(@RequestParam String userId) {
|
||||
return SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTO(schisandraOssMinioDomainService.getMinioConfig(Long.valueOf(userId)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
@@ -146,6 +141,7 @@ public class SchisandraOssMinioController {
|
||||
}
|
||||
return Result.ok(bean.getBaseInfo(fileName));
|
||||
}
|
||||
|
||||
@GetMapping("getAllMinioInfo")
|
||||
public Result<List<SchisandraOssMinioDTO>> getAllMinioInfo() {
|
||||
List<SchisandraOssMinioBO> allMinioInfo = schisandraOssMinioDomainService.getAllMinioInfo();
|
||||
|
@@ -7,6 +7,7 @@ import com.schisandra.oss.application.dto.SchisandraOssMinioDTO;
|
||||
import com.schisandra.oss.application.oss.core.StandardOssClient;
|
||||
import com.schisandra.oss.application.oss.core.minio.model.MinioOssClientConfig;
|
||||
import com.schisandra.oss.application.oss.core.minio.model.MinioOssConfig;
|
||||
import com.schisandra.oss.common.entity.Result;
|
||||
import com.schisandra.oss.common.redis.RedisUtil;
|
||||
import com.schisandra.oss.domain.bo.SchisandraOssMinioBO;
|
||||
import com.schisandra.oss.domain.service.SchisandraOssMinioDomainService;
|
||||
@@ -37,36 +38,38 @@ public class MinioOssConfiguration {
|
||||
@Resource
|
||||
private SchisandraOssMinioDomainService schisandraOssMinioDomainService;
|
||||
|
||||
public StandardOssClient minioOssClient(String userId) {
|
||||
SchisandraOssMinioDTO minio = minioOssConfiguration.getSchisandraOssMinioDTO(userId);
|
||||
if (minio == null) return null;
|
||||
MinioOssConfig minioOssConfig = new MinioOssConfig();
|
||||
minioOssConfig.setBasePath(minio.getBasePath());
|
||||
minioOssConfig.setBucketName(minio.getBucketName());
|
||||
minioOssConfig.setAccessKey(minio.getAccessKey());
|
||||
minioOssConfig.setSecretKey(minio.getSecretKey());
|
||||
minioOssConfig.setEndpoint(minio.getEndpoint());
|
||||
minioOssConfig.init();
|
||||
if (Boolean.parseBoolean(minio.getOpenAdvancedSetup())) {
|
||||
MinioOssClientConfig minioOssClientConfig = new MinioOssClientConfig();
|
||||
minioOssClientConfig.setWriteTimeout(minio.getWriteTimeout());
|
||||
minioOssClientConfig.setConnectTimeout(minio.getConnectTimeout());
|
||||
minioOssClientConfig.setReadTimeout(minio.getReadTimeout());
|
||||
minioOssClientConfig.setFollowSslRedirects(Boolean.parseBoolean(minio.getFollowSslRedirects()));
|
||||
minioOssClientConfig.setRetryOnConnectionFailure(Boolean.parseBoolean(minio.getRetryOnConnectionFailure()));
|
||||
minioOssClientConfig.setPingInterval(minio.getPingInterval());
|
||||
minioOssClientConfig.setFollowRedirects(Boolean.parseBoolean(minio.getFollowRedirects()));
|
||||
minioOssClientConfig.setCallTimeout(minio.getCallTimeout());
|
||||
minioOssConfig.setClientConfig(minioOssClientConfig);
|
||||
public Result minioOssClient(String userId) {
|
||||
try {
|
||||
SchisandraOssMinioDTO minio = minioOssConfiguration.getSchisandraOssMinioDTO(userId);
|
||||
if (minio == null) return null;
|
||||
MinioOssConfig minioOssConfig = new MinioOssConfig();
|
||||
minioOssConfig.setBasePath(minio.getBasePath());
|
||||
minioOssConfig.setBucketName(minio.getBucketName());
|
||||
minioOssConfig.setAccessKey(minio.getAccessKey());
|
||||
minioOssConfig.setSecretKey(minio.getSecretKey());
|
||||
minioOssConfig.setEndpoint(minio.getEndpoint());
|
||||
minioOssConfig.init();
|
||||
if (Boolean.parseBoolean(minio.getOpenAdvancedSetup())) {
|
||||
MinioOssClientConfig minioOssClientConfig = new MinioOssClientConfig();
|
||||
minioOssClientConfig.setWriteTimeout(minio.getWriteTimeout());
|
||||
minioOssClientConfig.setConnectTimeout(minio.getConnectTimeout());
|
||||
minioOssClientConfig.setReadTimeout(minio.getReadTimeout());
|
||||
minioOssClientConfig.setFollowSslRedirects(Boolean.parseBoolean(minio.getFollowSslRedirects()));
|
||||
minioOssClientConfig.setRetryOnConnectionFailure(Boolean.parseBoolean(minio.getRetryOnConnectionFailure()));
|
||||
minioOssClientConfig.setPingInterval(minio.getPingInterval());
|
||||
minioOssClientConfig.setFollowRedirects(Boolean.parseBoolean(minio.getFollowRedirects()));
|
||||
minioOssClientConfig.setCallTimeout(minio.getCallTimeout());
|
||||
minioOssConfig.setClientConfig(minioOssClientConfig);
|
||||
}
|
||||
SpringUtil.registerBean(userId, minioOssClient(minioOssConfig));
|
||||
return Result.ok();
|
||||
} catch (Exception e) {
|
||||
log.error("MinioOssConfiguration.minioOssClient:{}", e.getMessage(), e);
|
||||
return Result.fail();
|
||||
}
|
||||
SpringUtil.registerBean(userId,minioOssClient(minioOssConfig));
|
||||
return minioOssClient(minioOssConfig);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@NeedDecrypt
|
||||
public SchisandraOssMinioDTO getSchisandraOssMinioDTO(String userId) {
|
||||
CompletableFuture<SchisandraOssMinioDTO> futurePrice = CompletableFuture.supplyAsync(() -> {
|
||||
@@ -83,7 +86,7 @@ public class MinioOssConfiguration {
|
||||
}
|
||||
|
||||
public StandardOssClient minioOssClient(MinioOssConfig minioOssConfig) {
|
||||
return new MinioOssClient(minioClient(minioOssConfig),minioOssConfig);
|
||||
return new MinioOssClient(minioClient(minioOssConfig), minioOssConfig);
|
||||
}
|
||||
|
||||
public MinioClient minioClient(MinioOssConfig minioOssConfig) {
|
||||
|
Reference in New Issue
Block a user