From 86498f43cb9e6a5f8c58cca7b5c07a5ad1e23b2f Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 21 Feb 2024 09:22:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java | 5 +
src/main/java/org/springblade/modules/resource/rule/MyOssRule.java | 35 +++++++++++
src/main/java/org/springblade/common/param/CommonParamSet.java | 2
src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java | 40 +++++++++++++
src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java | 37 ++++++++++++
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 4
6 files changed, 119 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/springblade/common/param/CommonParamSet.java b/src/main/java/org/springblade/common/param/CommonParamSet.java
index 52bb45d..55448d5 100644
--- a/src/main/java/org/springblade/common/param/CommonParamSet.java
+++ b/src/main/java/org/springblade/common/param/CommonParamSet.java
@@ -57,7 +57,7 @@
communityCodeField.set(t,communityCode);
}
}
- isAdministrator = AuthUtil.isAdministrator() == true || AuthUtil.isAdmin() == true ? 1 : 2;
+ isAdministrator = Strings.isBlank(roleName) && (AuthUtil.isAdministrator() == true || AuthUtil.isAdmin() == true) ? 1 : 2;
if (isAdministrator==2) {
// 获取当前用户的所属行政区划编号
regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
index 2d1abd6..ca1a811 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -61,13 +61,13 @@
<if test="vo.roleName=='wgy'">
<choose>
<when test="gridCodeList !=null and gridCodeList.size()>0">
- and jp.grid_code in
+ and jh.grid_code in
<foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
#{code}
</foreach>
</when>
<otherwise>
- and jp.grid_code in ('')
+ and jh.grid_code in ('')
</otherwise>
</choose>
</if>
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java b/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
index f2be28c..41b4ebf 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
@@ -60,5 +60,10 @@
private Long userId;
+ /**
+ * 社区编号
+ */
+ private String communityCode;
+
}
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 35408d8..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
@@ -32,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;
@@ -169,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;
+ }
}
diff --git a/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java b/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
index 473107a..4f1b37e 100644
--- a/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
+++ b/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
@@ -206,7 +206,7 @@
*/
@SneakyThrows
@PostMapping("/put-file-attach-by-name")
- public R<BladeFile> putFileAttach(@RequestParam String fileName, @RequestParam MultipartFile file) {
+ public R<BladeFile> putFileAttach(@RequestParam(required = false) String fileName, @RequestParam MultipartFile file) {
BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream());
Long attachId = buildAttach(fileName, file.getSize(), bladeFile);
bladeFile.setAttachId(attachId);
@@ -214,6 +214,41 @@
}
/**
+ * 自定义前缀上传文件
+ *
+ * @param file 文件
+ * @param prefixPath 文件
+ * @return ObjectStat
+ */
+ @SneakyThrows
+ @PostMapping("/put-file-by-prefix-path")
+ public R<BladeFile> putFileByPrefixPath(@RequestParam MultipartFile file,@RequestParam(required = false) String prefixPath) {
+ BladeFile bladeFile = ossBuilder.templateByPrefixPath(prefixPath).putFile(file.getOriginalFilename(), file.getInputStream());
+ // 修改link
+ changeLink(bladeFile);
+ return R.data(bladeFile);
+ }
+
+ /**
+ * 自定义前缀上传文件并保存至附件表
+ *
+ * @param file 文件
+ * @param prefixPath 文件
+ * @return ObjectStat
+ */
+ @SneakyThrows
+ @PostMapping("/put-file-attach-by-prefix-path")
+ public R<BladeFile> putFileAttachByPrefixPath(@RequestParam MultipartFile file,@RequestParam(required = false) String prefixPath) {
+ String fileName = file.getOriginalFilename();
+ BladeFile bladeFile = ossBuilder.templateByPrefixPath(prefixPath).putFile(file.getOriginalFilename(), file.getInputStream());
+ Long attachId = buildAttach(fileName, file.getSize(), bladeFile);
+ bladeFile.setAttachId(attachId);
+ // 修改link
+ changeLink(bladeFile);
+ return R.data(bladeFile);
+ }
+
+ /**
* 构建附件表
*
* @param fileName 文件名
diff --git a/src/main/java/org/springblade/modules/resource/rule/MyOssRule.java b/src/main/java/org/springblade/modules/resource/rule/MyOssRule.java
new file mode 100644
index 0000000..cc292c8
--- /dev/null
+++ b/src/main/java/org/springblade/modules/resource/rule/MyOssRule.java
@@ -0,0 +1,35 @@
+package org.springblade.modules.resource.rule;
+
+import org.apache.logging.log4j.util.Strings;
+import org.springblade.core.oss.rule.BladeOssRule;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.FileUtil;
+import org.springblade.core.tool.utils.StringUtil;
+
+public class MyOssRule extends BladeOssRule {
+
+ private String prefixPath;
+
+ @Override
+ public String bucketName(String bucketName) {
+ return super.bucketName(bucketName);
+ }
+
+ public MyOssRule(Boolean tenantMode) {
+ super(tenantMode);
+ }
+
+ public MyOssRule(Boolean tenantMode, String prefixPath) {
+ super(tenantMode);
+ if (!Strings.isBlank(prefixPath)) {
+ this.prefixPath = prefixPath;
+ }else {
+ this.prefixPath = "upload";
+ }
+ }
+
+ @Override
+ public String fileName(String originalFilename) {
+ return this.prefixPath + "/" + DateUtil.today() + "/" + StringUtil.randomUUID() + "." + FileUtil.getFileExtension(originalFilename);
+ }
+}
--
Gitblit v1.9.3