From 1b8098b7f79b66a80e5ca49d8765606cb5fa0408 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 30 十一月 2023 19:11:00 +0800
Subject: [PATCH] 操作日志完善

---
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 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 d90ff86..77a94c9 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,29 +16,34 @@
  */
 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.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;
@@ -64,6 +69,7 @@
 
 	private final IRoleMenuService roleMenuService;
 	private final IRoleScopeService roleScopeService;
+	private final IMenuService menuService;
 
 	@Override
 	public IPage<RoleVO> selectRolePage(IPage<RoleVO> page, RoleVO role) {
@@ -93,6 +99,32 @@
 		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) {
 		// 闃叉瓒婃潈閰嶇疆瓒呯瑙掕壊
 		Long administratorCount = baseMapper.selectCount(Wrappers.<Role>query().lambda().eq(Role::getRoleAlias, RoleConstant.ADMINISTRATOR).in(Role::getId, roleIds));

--
Gitblit v1.9.3