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