From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计

---
 src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java b/src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java
index 27cf85a..53099d4 100644
--- a/src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java
+++ b/src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java
@@ -18,6 +18,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.apache.logging.log4j.util.Strings;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.oss.OssTemplate;
@@ -31,7 +32,9 @@
 import org.springblade.core.tool.utils.StringPool;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.core.tool.utils.WebUtil;
+import org.springblade.modules.resource.endpoint.OssEndpoint;
 import org.springblade.modules.resource.entity.Oss;
+import org.springblade.modules.resource.rule.MyOssRule;
 import org.springblade.modules.resource.service.IOssService;
 
 import java.util.Map;
@@ -93,6 +96,9 @@
 	 */
 	public OssTemplate template(String code) {
 		String tenantId = AuthUtil.getTenantId();
+		if (Strings.isBlank(tenantId)){
+			tenantId = "000000";
+		}
 		Oss oss = getOss(tenantId, code);
 		Oss ossCached = ossPool.get(tenantId);
 		OssTemplate template = templatePool.get(tenantId);
@@ -165,4 +171,42 @@
 		}
 	}
 
+	/**
+	 * 获取template
+	 * @param prefixPath 上传文件前缀路径
+	 * @return OssTemplate
+	 */
+	public OssTemplate templateByPrefixPath(String prefixPath) {
+		return templateByPath(StringPool.EMPTY,prefixPath);
+	}
+
+	/**
+	 * 自定义路径前缀获取template
+	 *
+	 * @param code 资源编号
+	 * @param prefixPath 上传文件前缀路径
+	 * @return OssTemplate
+	 */
+	public OssTemplate templateByPath(String code,String prefixPath) {
+		String tenantId = AuthUtil.getTenantId();
+		if (Strings.isBlank(tenantId)){
+			tenantId = "000000";
+		}
+		Oss oss = getOss(tenantId, code);
+		OssTemplate template = templatePool.get(tenantId);
+		template = templatePool.get(tenantId);
+		OssRule ossRule = new MyOssRule(Boolean.FALSE,prefixPath);
+		if (oss.getCategory() == OssEnum.MINIO.getCategory()) {
+			template = MinioOssBuilder.template(oss, ossRule);
+		} else if (oss.getCategory() == OssEnum.QINIU.getCategory()) {
+			template = QiniuOssBuilder.template(oss, ossRule);
+		} else if (oss.getCategory() == OssEnum.ALI.getCategory()) {
+			template = AliOssBuilder.template(oss, ossRule);
+		} else if (oss.getCategory() == OssEnum.TENCENT.getCategory()) {
+			template = TencentOssBuilder.template(oss, ossRule);
+		}
+		templatePool.put(tenantId, template);
+		ossPool.put(tenantId, oss);
+		return template;
+	}
 }

--
Gitblit v1.9.3