From 8f4b8a333162d61d2d7a8b91f9c1bcde7db15d78 Mon Sep 17 00:00:00 2001 From: landaiqing <3517283258@qq.com> Date: Thu, 16 May 2024 13:53:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dbean=E5=AE=9E=E4=BE=8B?= =?UTF-8?q?=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReactRotateCaptchaController.java | 7 ++----- .../SchisandraOssMinioController.java | 9 +++++---- .../oss/core/minio/MinioOssClient.java | 3 +++ .../oss/core/minio/MinioOssConfiguration.java | 19 +++++++++---------- .../minio/model/MinioOssClientConfig.java | 5 +++++ .../oss/core/minio/model/MinioOssConfig.java | 6 +++++- 6 files changed, 29 insertions(+), 20 deletions(-) diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/ReactRotateCaptchaController.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/ReactRotateCaptchaController.java index c07c4e2..f9fceff 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/ReactRotateCaptchaController.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/ReactRotateCaptchaController.java @@ -6,10 +6,7 @@ import com.schisandra.auth.common.redis.RedisUtil; import com.schisandra.auth.common.utils.AESUtils; import com.schisandra.auth.common.utils.RotateImageUtils; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.imageio.ImageIO; @@ -39,7 +36,7 @@ public class ReactRotateCaptchaController { * @author zlg * @date: 2024/5/10 16:28 */ - @PostMapping("get") + @GetMapping("get") public CaptchaResult get() throws Exception { RotateImageUtils rotateImageUtils = new RotateImageUtils(); CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> { diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java index a6102cb..8ee0c95 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java @@ -1,5 +1,6 @@ package com.schisandra.oss.application.controller; +import cn.hutool.extra.spring.SpringUtil; import com.alibaba.fastjson.JSON; import com.google.common.base.Preconditions; import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter; @@ -24,8 +25,6 @@ import javax.annotation.Resource; @RequestMapping("/oss/minio/") @Slf4j public class SchisandraOssMinioController { - @Resource - MinioOssClient minioOssClient; @Resource private SchisandraOssMinioDomainService schisandraOssMinioDomainService; @@ -115,8 +114,10 @@ public class SchisandraOssMinioController { } @PostMapping("getBaseInfo") - public Result getBaseInfo(@RequestParam String fileName) { - return Result.ok(minioOssClient.getBaseInfo(fileName)); + public Result getBaseInfo(@RequestParam String fileName,@RequestParam String userId) { + MinioOssClient bean = SpringUtil.getBean(userId); + System.out.println(bean); + return Result.ok(bean.getBaseInfo(fileName)); } diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssClient.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssClient.java index 79371c5..1aacc77 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssClient.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssClient.java @@ -28,6 +28,9 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; import okhttp3.Headers; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.context.annotation.Scope; +import org.springframework.context.annotation.ScopedProxyMode; import org.springframework.stereotype.Component; import java.io.File; diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssConfiguration.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssConfiguration.java index 488ae88..61bfd31 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssConfiguration.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssConfiguration.java @@ -1,5 +1,6 @@ package com.schisandra.oss.application.oss.core.minio; +import cn.hutool.extra.spring.SpringUtil; import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter; import com.schisandra.oss.application.dto.SchisandraOssMinioDTO; import com.schisandra.oss.application.oss.core.StandardOssClient; @@ -8,13 +9,17 @@ import com.schisandra.oss.application.oss.core.minio.model.MinioOssConfig; import com.schisandra.oss.domain.bo.SchisandraOssMinioBO; import com.schisandra.oss.domain.service.SchisandraOssMinioDomainService; import io.minio.MinioClient; +import lombok.Getter; import lombok.extern.slf4j.Slf4j; import okhttp3.OkHttpClient; import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; +import org.springframework.context.annotation.ScopedProxyMode; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.HashMap; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; @@ -25,16 +30,12 @@ import java.util.concurrent.TimeUnit; */ @Component @Slf4j -@Scope(value = "prototype") public class MinioOssConfiguration { - @Resource - MinioOssClient minioOssClient; - @Resource private SchisandraOssMinioDomainService schisandraOssMinioDomainService; - public StandardOssClient minioOssClient(String userId) { + public void minioOssClient(String userId) { CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> { SchisandraOssMinioBO minioBO = schisandraOssMinioDomainService.getMinioConfig(Long.valueOf(userId)); SchisandraOssMinioDTO minioDTO = SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTO(minioBO); @@ -63,16 +64,14 @@ public class MinioOssConfiguration { minioOssClientConfig.setCallTimeout(minio.getCallTimeout()); minioOssConfig.setClientConfig(minioOssClientConfig); } - return minioOssClient(minioOssConfig); + minioOssClient(minioOssConfig); + SpringUtil.registerBean(userId,minioOssClient(minioOssConfig)); } public StandardOssClient minioOssClient(MinioOssConfig minioOssConfig) { - - minioOssClient.setMinioOssConfig(minioOssConfig); - minioOssClient.setMinioClient(minioClient(minioOssConfig)); - return minioOssClient; + return new MinioOssClient(minioClient(minioOssConfig),minioOssConfig); } public MinioClient minioClient(MinioOssConfig minioOssConfig) { diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/model/MinioOssClientConfig.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/model/MinioOssClientConfig.java index cc253b1..3137271 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/model/MinioOssClientConfig.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/model/MinioOssClientConfig.java @@ -2,6 +2,11 @@ package com.schisandra.oss.application.oss.core.minio.model; import com.schisandra.oss.application.oss.constant.OssConstant; import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.context.annotation.Scope; +import org.springframework.context.annotation.ScopedProxyMode; import java.io.Serializable; diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/model/MinioOssConfig.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/model/MinioOssConfig.java index 1925022..3586af7 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/model/MinioOssConfig.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/model/MinioOssConfig.java @@ -4,6 +4,11 @@ package com.schisandra.oss.application.oss.core.minio.model; import com.schisandra.oss.application.oss.model.SliceConfig; import com.schisandra.oss.application.oss.utils.OssPathUtil; import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.context.annotation.Scope; +import org.springframework.context.annotation.ScopedProxyMode; import java.io.Serializable; @@ -14,7 +19,6 @@ import java.io.Serializable; */ @Data public class MinioOssConfig implements Serializable { - private String basePath; private String endpoint; private String accessKey;