From a358eb77f76aab25196a489c641d1687f2756cef Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 19 十月 2023 16:15:30 +0800 Subject: [PATCH] 代码提交 --- 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