From 13e07d48a90efdaee8b89e96a1d97a42f19777d7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 25 十月 2023 22:43:53 +0800
Subject: [PATCH] 1、修改从其他规则克隆规则时排序号未重排的bug。 2、为密码策略管理、用户管理、部门管理界面增加按钮权限控制
---
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleMenuServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleMenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleMenuServiceImpl.java
index a29ea7c..d596d8e 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleMenuServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleMenuServiceImpl.java
@@ -16,11 +16,27 @@
*/
package com.vci.ubcs.system.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.starter.util.MybatisParameterUtil;
import com.vci.ubcs.system.entity.RoleMenu;
import com.vci.ubcs.system.mapper.RoleMenuMapper;
import com.vci.ubcs.system.service.IRoleMenuService;
+import com.vci.ubcs.system.service.IRoleService;
+import com.vci.ubcs.system.user.entity.User;
+import com.vci.ubcs.system.user.feign.IUserClient;
+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.utils.Func;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 鏈嶅姟瀹炵幇绫�
@@ -30,4 +46,41 @@
@Service
public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> implements IRoleMenuService {
+ @Resource
+ private RoleMenuMapper roleMenuMapper;
+
+ @Resource
+ private IUserClient userClient;
+
+ /**
+ * 鏍规嵁鐢ㄦ埛id鏌ヨ锛岃鎺堟潈鐨勮彍鍗昳d
+ * @param userId
+ * @return
+ */
+ @Override
+ public List<Long> getMenuIdByUserId(Long userId) {
+ // 鏍规嵁鐢ㄦ埛id鏌ヨ鑿滃崟id
+ R<User> userR = userClient.userInfoById((Func.isEmpty(userId) ? AuthUtil.getUserId():userId));
+ if (!userR.isSuccess() || Func.isEmpty(userR.getData())) {
+ throw new ServiceException("鐢ㄦ埛淇℃伅鏌ヨ澶辫触,鍘熷洜锛�"+userR.getMsg());
+ }
+
+ // 褰撴煡璇㈡潯浠秈n澶т簬涓�鍗冩潯鏃�
+ List<String> roleIdList = Func.toStrList(userR.getData().getRoleId());
+ //鏋勫缓鏌ヨ鑿滃崟id鐨勬煡璇㈡潯浠�
+ LambdaQueryWrapper<RoleMenu> roleMenuWrapper = Wrappers.<RoleMenu>query()
+ .lambda().select(RoleMenu::getMenuId);
+ if(roleIdList.size()>=1000){
+ MybatisParameterUtil.cutInParameter(roleMenuWrapper,RoleMenu::getRoleId,roleIdList);
+ }else {
+ roleMenuWrapper.in(RoleMenu::getRoleId,roleIdList);
+ }
+ List<RoleMenu> roleMenus = roleMenuMapper.selectList(roleMenuWrapper);
+ if(roleMenus.isEmpty()){
+ return new ArrayList<>();
+ }
+ return roleMenus.stream().map(RoleMenu::getMenuId).collect(Collectors.toList());
+ }
+
+
}
--
Gitblit v1.9.3