From 7f0b86e844f96a8e6db14e6579cd8efb09ee53c9 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 24 十月 2023 11:42:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java | 25 ++++++++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
index cc258f7..06b47de 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
@@ -20,6 +20,7 @@
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.starter.util.MybatisParameterUtil;
import com.vci.ubcs.system.cache.NacosConfigCache;
import com.vci.ubcs.system.cache.SysCache;
import com.vci.ubcs.system.dto.MenuDTO;
@@ -314,16 +315,38 @@
/**
* 鏍规嵁code鏌ヨ鑿滃崟淇℃伅
* @param codes
+ * @param userId
* @return
*/
@Override
- public List<Menu> getMenuByCodes(List<String> codes) {
+ public List<Menu> getMenuByCodes(List<String> codes,Long userId) {
+ if(codes.isEmpty()){
+ return new ArrayList<>();
+ }
+ // 鏌ヨ鑿滃崟淇℃伅
LambdaQueryWrapper<Menu> wrapper = Wrappers.<Menu>query()
.lambda()
.in(Menu::getCode, codes)
.eq(Menu::getIsDeleted,0) /*鏈鍒犻櫎*/
.eq(Menu::getCategory,1) /*鑿滃崟绫诲瀷涓嶈兘涓烘寜閽�*/
.orderByAsc(Menu::getCode); /*鏍规嵁code鎺掑簭涓巆lassify鐨刡tmtypeid瀵瑰簲*/
+ // 瓒呯涓嶇敤鏍规嵁瑙掕壊鏉ユ煡璇�
+ if(!AuthUtil.getTenantId().equals(NacosConfigCache.getAdminUserInfo().getTenantId())
+ && !AuthUtil.getUserId().equals(NacosConfigCache.getAdminUserInfo().getUserId())
+ ){
+ if(Func.isBlank(userId.toString()) && Func.isBlank(AuthUtil.getUserId().toString())){
+ throw new ServiceException("鑾峰彇鐢ㄦ埛id澶辫触");
+ }
+ List<Long> menuIds = roleMenuService.getMenuIdByUserId(userId);
+ if(menuIds.isEmpty()){
+ return new ArrayList<>();
+ }
+ if(menuIds.size()>=1000){
+ MybatisParameterUtil.cutInParameter(wrapper,Menu::getId,menuIds);
+ }else {
+ wrapper.in(Menu::getId,menuIds);
+ }
+ }
return this.list(wrapper);
}
--
Gitblit v1.9.3