From dc590d026e1130a98c70181fb65f8ed09414e787 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期五, 14 七月 2023 17:48:11 +0800
Subject: [PATCH] 1、主要解决获取当前用户信息等问题,使用AuthUtil来进行获取,对生成token等信息进行了修改增加。

---
 Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java
index c66d5f2..4eceb7b 100644
--- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java
@@ -45,6 +45,7 @@
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tenant.BladeTenantProperties;
 import org.springblade.core.tool.api.R;
@@ -57,6 +58,8 @@
 import org.springframework.util.DigestUtils;
 
 import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import static com.vci.ubcs.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD;
 
@@ -78,13 +81,16 @@
 	//鎷垮埌閰嶇疆鐨勮秴绠d
 	@Value("${user-info.id}")
 	private String adminUserId;
-
+	@Value("${user-info.tenant-id}")
+	private String tenantId;
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean submit(User user) {
 		if (StringUtil.isBlank(user.getTenantId())) {
-			user.setTenantId(BladeConstant.ADMIN_TENANT_ID);
+			// user.setTenantId(BladeConstant.ADMIN_TENANT_ID);
+			// 榛樿璁剧疆涓虹鐞嗙粍涓嬬殑鐢ㄦ埛
+			user.setTenantId(this.tenantId);
 		}
 		String tenantId = user.getTenantId();
 		//Tenant tenant = SysCache.getTenant(tenantId);
@@ -238,6 +244,7 @@
 		if (ObjectUtil.isEmpty(user)) {
 			return null;
 		}
+		user.setDeptName(Func.join(SysCache.getDeptNames(user.getDeptId())));
 		UserInfo userInfo = new UserInfo();
 		userInfo.setUser(user);
 		if (Func.isNotEmpty(user)) {
@@ -532,7 +539,31 @@
 	}
 
 	/**
-	 * 鏃堕棿鏍煎紡杞ぉ
+	 * 鑾峰彇鍒版寚瀹氳韩浠芥潈闄愮殑鐢ㄦ埛鍒楄〃
+	 * @param user 鐢ㄦ埛鏌ヨ鐨勭敤鎴蜂俊鎭紝濡傜鎴蜂俊鎭紝閫氬父涓鸿嚜鍔ㄦ敞鍏ワ紝鍓嶇鍙�夋嫨涓嶄紶
+	 * @param roleName 瑕佹煡璇㈢殑瑙掕壊韬唤
+	 * @return
+	 */
+	@Override
+	public List<Map<String,String>> getByRoleUserList(BladeUser user, String roleName) {
+		// 鑰冭檻鍒颁竴涓敤鎴峰彲浠ユ嫢鏈夊绉嶈鑹叉潈闄愶紝鑰岀敤鎴峰叧鑱旇鑹叉潈闄愭槸鐢╮ole_id瀛楁鐢ㄩ�楀彿鍒嗛殧瑙掕壊id鐨勶紝鐩存帴閲囩敤瀛愭煡璇㈡潵in鏌ヨ涓嶈兘瀹炵幇锛屾墍浠ュ厛鏌ヨ瑙掕壊id
+		R<String> roleIds = sysClient.getRoleIds(user.getTenantId(), roleName);
+		if(roleIds.getCode() != 200){
+			throw new ServiceException("绯荤粺鏈嶅姟feign鎺ュ彛璋冪敤閿欒锛�");
+		}
+		if(Func.isBlank(roleIds.getData())){
+			return new ArrayList<>();
+		}
+		List<Map<String,String>> list = new ArrayList<>();
+		Arrays.stream(roleIds.getData().split(",")).forEach(item->{
+			list.addAll(this.baseMapper.getUserMap(item,user.getUserId().toString()));
+		});
+		// 鍘婚櫎閲嶅
+		return list.stream().distinct().collect(Collectors.toList());
+	}
+
+	/**
+	 * 鏃ユ湡鏃堕棿鏍煎紡杞ぉ
 	 * @param date
 	 * @return
 	 */

--
Gitblit v1.9.3