From 869a5b02c515dca42022c53647edbfbef8c2c3c1 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 11 十月 2023 15:39:26 +0800
Subject: [PATCH] 租户条件从常量类配置方式修改为nacos上拉取配置

---
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java
index 09bdcd7..bf8fc63 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java
@@ -21,6 +21,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.vci.ubcs.system.cache.NacosConfigCache;
 import com.vci.ubcs.system.entity.*;
 import com.vci.ubcs.system.mapper.TenantMapper;
 import com.vci.ubcs.system.service.*;
@@ -60,10 +61,9 @@
 public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> implements ITenantService {
 
 	/**
-	 * nacos涓婇厤缃殑瓒呯绉熸埛id
+	 * nacos涓婇厤缃殑瓒呯绉熸埛
 	 */
-	@Value("${user-info.tenant-id}")
-	private String propertiesTenantId;
+	private final NacosConfigCache nacosConfigCache;
 
 	private final TenantId tenantId;
 	private final IRoleService roleService;
@@ -194,7 +194,7 @@
 		List<String> tenantIds = this.list(Wrappers.<Tenant>query().lambda().in(Tenant::getId, ids))
 			.stream().map(tenant -> Func.toStr(tenant.getTenantId())).distinct().collect(Collectors.toList());
 		CacheUtil.clear(SYS_CACHE, tenantIds);
-		if (tenantIds.contains(BladeConstant.ADMIN_TENANT_ID)) {
+		if (tenantIds.contains(nacosConfigCache.getAdminUserInfo().getTenantId())) {
 			throw new ServiceException("涓嶅彲鍒犻櫎绠$悊绉熸埛!");
 		}
 		boolean tenantTemp = this.deleteLogic(ids);
@@ -212,9 +212,9 @@
 	@Override
 	public List<Map<String,Object>> selectMaps(){
 		List<Map<String, Object>> mapList = listMaps(new QueryWrapper<Tenant>().select("TENANT_ID", "TENANT_NAME"));
-		if(Func.isNotEmpty(this.propertiesTenantId)){
+		if(Func.isNotEmpty(nacosConfigCache.getAdminUserInfo().getTenantId()) && !this.containsSameKeys(mapList,nacosConfigCache.getAdminUserInfo().getTenantId())){
 			Map<String, Object> map = new HashMap<>();
-			map.put("TENANT_ID",this.propertiesTenantId);
+			map.put("TENANT_ID",nacosConfigCache.getAdminUserInfo().getTenantId());
 			map.put("TENANT_NAME","绠$悊缁�");
 			mapList.add(0,map);
 		}
@@ -222,6 +222,22 @@
 	}
 
 	/**
+	 * 鍒ゆ柇鏁版嵁搴撲腑鏄惁瀛樺湪浜庨厤缃枃浠朵腑涓�鑷寸殑瓒呯淇℃伅
+	 * @param collection
+	 * @param value
+	 * @return
+	 */
+	private boolean containsSameKeys(List<Map<String, Object>> collection, String value) {
+		for (Map<String, Object> map : collection) {
+			Collection<Object> values = map.values();
+			if (values.contains(value)) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/**
 	 * 涓夊憳鐩稿叧閰嶇疆
 	 * @return
 	 */

--
Gitblit v1.9.3