From 41021633bfee5b5c9c57cb888423f3392c530f98 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 25 三月 2024 18:31:08 +0800
Subject: [PATCH] 业务类型bug修改,集成接口,远程部署等功能修改。

---
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java
index dc6025a..ec11961 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java
@@ -16,27 +16,35 @@
  */
 package com.vci.ubcs.system.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.system.entity.Menu;
 import com.vci.ubcs.system.mapper.RoleMapper;
+import com.vci.ubcs.system.service.IMenuService;
 import com.vci.ubcs.system.service.IRoleMenuService;
 import com.vci.ubcs.system.service.IRoleScopeService;
 import com.vci.ubcs.system.service.IRoleService;
+import com.vci.ubcs.system.vo.DeptVO;
 import com.vci.ubcs.system.wrapper.RoleWrapper;
 import lombok.AllArgsConstructor;
+import org.springblade.core.log.annotation.GrantLog;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
+import org.springblade.core.tool.node.TreeNode;
 import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.Func;
 import com.vci.ubcs.system.entity.Role;
 import com.vci.ubcs.system.entity.RoleMenu;
 import com.vci.ubcs.system.entity.RoleScope;
 import com.vci.ubcs.system.vo.RoleVO;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
@@ -62,6 +70,7 @@
 
 	private final IRoleMenuService roleMenuService;
 	private final IRoleScopeService roleScopeService;
+	private final IMenuService menuService;
 
 	@Override
 	public IPage<RoleVO> selectRolePage(IPage<RoleVO> page, RoleVO role) {
@@ -79,9 +88,42 @@
 	}
 
 	@Override
+	public List<RoleVO> roleList(String tenantId) {
+		// 杩欓噷鍒ゆ柇鎴戜滑鑷繁閰嶇疆鐨勭鐞嗙粍绉熸埛锛屽彲浠ユ煡璇㈡墍鏈�
+		List<RoleVO> tree = baseMapper.roleList(tenantId.equals(tenantId) ? "":tenantId);
+		return tree;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean grant(@NotEmpty List<Long> roleIds, List<Long> menuIds, List<Long> dataScopeIds, List<Long> apiScopeIds) {
 		return grantRoleMenu(roleIds, menuIds) && grantDataScope(roleIds, dataScopeIds) && grantApiScope(roleIds, apiScopeIds);
+	}
+
+	/**
+	 * 瑙掕壊鏉冮檺閰嶇疆鏃ュ織璁板綍
+	 * @param roleRes
+	 * @return
+	 */
+	@Override
+	@GrantLog("grantRole")
+	public boolean grantLog(String roleRes, boolean isException) {
+
+		return false;
+	}
+
+	/**
+	 * 鑾峰彇瑙掕壊鎺堟潈鏃ュ織鐨勪俊鎭�
+	 * @param roleId
+	 * @return
+	 */
+	@Override
+	public String getGrantRoleResString(List<Long> roleId) {
+		// 鑾峰彇鍒拌彍鍗曚俊鎭紝鍐嶈幏鍙栧埌瑙掕壊淇℃伅锛岃繘琛屾嫾鎺�
+		List<TreeNode> menuTree = menuService.grantTreeByRoleIds(roleId);
+		List<String> roleNames = this.baseMapper.getRoleNames(new Long[]{roleId.get(0)});
+		String res = roleNames.get(0) + "鎺堟潈涓�:{" + JSON.toJSONString(menuTree)+"}";
+		return res;
 	}
 
 	private boolean grantRoleMenu(List<Long> roleIds, List<Long> menuIds) {
@@ -162,7 +204,7 @@
 
 	@Override
 	public String getRoleIds(String tenantId, String roleNames) {
-		List<Role> roleList = baseMapper.selectList(Wrappers.<Role>query().lambda().eq(Role::getTenantId, tenantId).in(Role::getRoleName, Func.toStrList(roleNames)));
+		List<Role> roleList = baseMapper.selectList(Wrappers.<Role>query().lambda().eq(Role::getTenantId, tenantId).in(Role::getRoleAlias, Func.toStrList(roleNames)));
 		if (roleList != null && roleList.size() > 0) {
 			return roleList.stream().map(role -> Func.toStr(role.getId())).distinct().collect(Collectors.joining(","));
 		}
@@ -187,8 +229,11 @@
 			}
 		}
 		if (Func.isEmpty(role.getParentId())) {
-			role.setTenantId(AuthUtil.getTenantId());
 			role.setParentId(BladeConstant.TOP_PARENT_ID);
+			// 鍓嶇浼犱簡鏄睘浜庨偅涓鎴穒d涓嬬殑瑙掕壊
+			if(Func.isEmpty(role.getTenantId())){
+				role.setTenantId(AuthUtil.getTenantId());
+			}
 		}
 		if (role.getParentId() > 0) {
 			Role parent = getById(role.getParentId());

--
Gitblit v1.9.3