Преглед изворни кода

创建租户自动添加存储对象

Signed-off-by: sunhz <mpcoo@foxmail.com>
sunhz пре 3 година
родитељ
комит
e917b61fb3

+ 24 - 0
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IOssClient.java

@@ -0,0 +1,24 @@
+package org.springblade.resource.feign;
+
+import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(
+	value = AppConstant.APPLICATION_RESOURCE_NAME
+)
+public interface IOssClient {
+	String API_PREFIX = "/client";
+	String ADD_OSS = API_PREFIX + "/add-oss";
+
+	/**
+	 * 添加存储对象
+	 *
+	 * @param tenantId 租户号
+	 * @return R
+	 */
+	@PostMapping(ADD_OSS)
+	R addOss(@RequestParam("tenantId") String tenantId);
+}

+ 33 - 0
blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/OssClient.java

@@ -0,0 +1,33 @@
+package org.springblade.resource.feign;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springblade.resource.entity.Oss;
+import org.springblade.resource.mapper.OssMapper;
+import org.springframework.web.bind.annotation.RestController;
+
+@NonDS
+@RestController
+@AllArgsConstructor
+public class OssClient implements IOssClient {
+
+	private final OssMapper ossMapper;
+
+	@Override
+	public R addOss(String tenantId) {
+		Oss oss = ossMapper.selectOne(Wrappers.<Oss>query().lambda()
+			.eq(Oss::getTenantId, "000000")
+			.eq(Oss::getIsDeleted, 0)
+			.last("limit 1")
+		);
+
+		oss.setId(null);
+		oss.setOssCode(tenantId);
+		oss.setTenantId(tenantId);
+		ossMapper.insert(oss);
+		return R.data(oss);
+	}
+
+}

+ 4 - 2
blade-service/blade-client/src/main/java/org/springblade/client/common/service/impl/CommonFileServiceImpl.java

@@ -20,11 +20,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.client.common.mapper.CommonFileMapper;
 import org.springblade.client.common.service.ICommonFileService;
-import org.springblade.client.constant.LandConstant;
 import org.springblade.client.entity.CommonFile;
 import org.springblade.client.vo.CommonFileVO;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -48,7 +48,9 @@ public class CommonFileServiceImpl extends ServiceImpl<CommonFileMapper, CommonF
 	public boolean saveFile(List<CommonFile> fileList) {
 		fileList.forEach(file -> {
 			if (ObjectUtil.isEmpty(file.getId())) {
-				file.setTenantId(AuthUtil.getTenantId());
+				if (StringUtil.isBlank(file.getTenantId())) {
+					file.setTenantId(AuthUtil.getTenantId());
+				}
 				file.setCreateUser(AuthUtil.getUserId());
 				file.setCreateTime(new Date());
 				baseMapper.insert(file);

+ 5 - 0
blade-service/blade-system/pom.xml

@@ -37,6 +37,11 @@
             <artifactId>blade-user-api</artifactId>
             <version>2.8.2.RELEASE</version>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-resource-api</artifactId>
+            <version>2.8.2.RELEASE</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 4 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java

@@ -31,6 +31,7 @@ import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.DesUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.resource.feign.IOssClient;
 import org.springblade.system.cache.ParamCache;
 import org.springblade.system.entity.*;
 import org.springblade.system.mapper.TenantMapper;
@@ -67,6 +68,7 @@ public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> imp
 	private final IRoleMenuService roleMenuService;
 	private final IDictBizService dictBizService;
 	private final IUserClient userClient;
+	private final IOssClient ossClient;
 
 	@Override
 	public IPage<Tenant> selectTenantPage(IPage<Tenant> page, Tenant tenant) {
@@ -155,6 +157,8 @@ public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> imp
 			if (!result.isSuccess()) {
 				throw new ServiceException(result.getMsg());
 			}
+			// 增加存储对象
+			ossClient.addOss(tenantId);
 			return temp;
 		} else {
 			CacheUtil.clear(SYS_CACHE, tenant.getTenantId());