From 4558f3a85892696a0c72c2ef91db8c6b8065a0a3 Mon Sep 17 00:00:00 2001 From: Tom Li Date: Wed, 3 Dec 2025 12:37:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9minio=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource/feign/IAttachClient.java | 27 +++++++++++++++++++ .../resource/endpoint/OssEndpoint.java | 13 ++++++--- .../resource/feign/AttachClient.java | 25 +++++++++++++++++ .../src/main/resources/application.yml | 8 +++--- blade-service/blade-desk/pom.xml | 12 ++++++--- 5 files changed, 74 insertions(+), 11 deletions(-) create mode 100644 blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IAttachClient.java create mode 100644 blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/AttachClient.java diff --git a/blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IAttachClient.java b/blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IAttachClient.java new file mode 100644 index 0000000..88f9790 --- /dev/null +++ b/blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IAttachClient.java @@ -0,0 +1,27 @@ +package org.springblade.resource.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.core.tool.api.R; +import org.springblade.resource.pojo.entity.Attach; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient( + value = AppConstant.APPLICATION_RESOURCE_NAME +) +public interface IAttachClient { + + String API_PREFIX = "/feign/client/attach"; + + String DETAIL = API_PREFIX + "/detail"; + + /** + * + * @param attach + * @return + */ + @PostMapping(DETAIL) + public R detail(@RequestBody Attach attach); +} diff --git a/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java b/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java index a0ef7de..339e1f5 100644 --- a/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java +++ b/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java @@ -26,8 +26,12 @@ package org.springblade.resource.endpoint; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; import lombok.AllArgsConstructor; import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.oss.MinioTemplate; +import org.springblade.core.oss.OssTemplate; import org.springblade.core.oss.model.BladeFile; import org.springblade.core.oss.model.OssFile; import org.springblade.core.secure.annotation.IsAdmin; @@ -50,9 +54,13 @@ import org.springframework.web.multipart.MultipartFile; @RestController @AllArgsConstructor @RequestMapping("/oss/endpoint") +@Slf4j @Tag(name = "对象存储端点", description = "对象存储端点") public class OssEndpoint { + private static final String TENANT_ID = "000000"; + private static final String CODE = "minio"; + /** * 对象存储构建类 */ @@ -180,7 +188,7 @@ public class OssEndpoint { @PostMapping("/put-file-attach") public R putFileAttach(@RequestParam MultipartFile file) { String fileName = file.getOriginalFilename(); - BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); + BladeFile bladeFile = ossBuilder.template(TENANT_ID, CODE).putFile(fileName, file.getInputStream()); Long attachId = buildAttach(fileName, file.getSize(), bladeFile); bladeFile.setAttachId(attachId); return R.data(bladeFile); @@ -196,7 +204,7 @@ public class OssEndpoint { @SneakyThrows @PostMapping("/put-file-attach-by-name") public R putFileAttach(@RequestParam String fileName, @RequestParam MultipartFile file) { - BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); + BladeFile bladeFile = ossBuilder.template(TENANT_ID, CODE).putFile(fileName, file.getInputStream()); Long attachId = buildAttach(fileName, file.getSize(), bladeFile); bladeFile.setAttachId(attachId); return R.data(bladeFile); @@ -250,5 +258,4 @@ public class OssEndpoint { ossBuilder.template().removeFiles(Func.toStrList(fileNames)); return R.success("操作成功"); } - } diff --git a/blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/AttachClient.java b/blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/AttachClient.java new file mode 100644 index 0000000..d96f3f1 --- /dev/null +++ b/blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/AttachClient.java @@ -0,0 +1,25 @@ +package org.springblade.resource.feign; + +import jakarta.annotation.Resource; +import lombok.Data; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.tool.api.R; +import org.springblade.resource.pojo.entity.Attach; +import org.springblade.resource.service.IAttachService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Data +public class AttachClient implements IAttachClient { + + @Resource + private IAttachService attachService; + + @Override + @PostMapping(DETAIL) + public R detail(Attach attach) { + Attach detail = attachService.getOne(Condition.getQueryWrapper(attach)); + return R.data(detail); + } +} diff --git a/blade-ops/blade-resource/src/main/resources/application.yml b/blade-ops/blade-resource/src/main/resources/application.yml index db7ea7e..4d59830 100644 --- a/blade-ops/blade-resource/src/main/resources/application.yml +++ b/blade-ops/blade-resource/src/main/resources/application.yml @@ -12,12 +12,12 @@ oss: #租户模式 tenant-mode: false #oss服务地址 - endpoint: http://127.0.0.1:9000 + endpoint: http://192.168.0.220:9000 #minio转换服务地址,用于内网上传后将返回地址改为转换的外网地址 - transform-endpoint: http://127.0.0.1:9000 + transform-endpoint: http://192.168.0.220:9000 #访问key - access-key: WFFVc1UxP9g0yFw1wpaV + access-key: T5PCRlMc5PxxubLCrVhR #密钥key - secret-key: D9TUQQdHdujfOeAhZDiGkPGu1XpUHffSWzlkU7oO + secret-key: mbIbJKpTWulCdcsalKjoxaFJ8UDapGSU6Zw9QKjz #存储桶 bucket-name: bladex diff --git a/blade-service/blade-desk/pom.xml b/blade-service/blade-desk/pom.xml index 8651610..428c81a 100644 --- a/blade-service/blade-desk/pom.xml +++ b/blade-service/blade-desk/pom.xml @@ -46,10 +46,10 @@ minio - - com.qiniu - qiniu-java-sdk - + + + + org.flowable flowable-engine @@ -81,6 +81,10 @@ hutool-all 5.8.16 + + org.springblade + blade-resource-api +