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-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateController.java | 1 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java | 5 + Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java | 4 Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java | 2 Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java | 2 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MybatisParameterUtil.java | 1 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java | 13 ++-- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IRoleMenuService.java | 9 +++ Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleMenuServiceImpl.java | 53 +++++++++++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 3 + Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java | 2 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java | 30 +++++++++ 12 files changed, 109 insertions(+), 16 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java index 78d93a2..fd445bf 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java @@ -94,7 +94,7 @@ * @return */ @GetMapping(MENU_BY_CODES) - R<List<Menu>> getMenuByCodes(@RequestParam("codes") List<String> codes); + R<List<Menu>> getMenuByCodes(@RequestParam("codes") List<String> codes,@RequestParam("userId") Long userId); /** * 鑾峰彇鐢ㄩ厤缃殑涓绘暟鎹粺璁� diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java index 2f24bdf..eef6674 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java @@ -38,7 +38,7 @@ } @Override - public R<List<Menu>> getMenuByCodes(List<String> codes) { + public R<List<Menu>> getMenuByCodes(List<String> codes,Long userId) { return R.fail("鑾峰彇鏁版嵁澶辫触"); } diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MybatisParameterUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MybatisParameterUtil.java index 4931b1e..4c644ef 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MybatisParameterUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MybatisParameterUtil.java @@ -148,5 +148,4 @@ return newList; } - } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateController.java index 57972e7..b48a09e 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateController.java @@ -100,7 +100,6 @@ */ @PostMapping( "/copy") public R copyTemplate(@RequestBody CodeClassifyTemplateDTO codeClassifyDTO) { - return plCodeClstemplateService.copyTemplate(codeClassifyDTO); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java index 887bc5c..c720d35 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java @@ -31,6 +31,7 @@ import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; +import com.vci.ubcs.common.constant.CommonConstant; import com.vci.ubcs.flow.core.entity.ProcessTemplate; import com.vci.ubcs.flow.core.feign.IFlowClient; import com.vci.ubcs.starter.exception.VciBaseException; @@ -627,6 +628,8 @@ codeClassifyTemplateDO_old.setTs(new Date()); codeClassifyTemplateDO_old.setCreateTime(new Date()); codeClassifyTemplateDO_old.setLastModifyTime(new Date()); + // 澶嶅埗鐨勬ā鏉跨敓鍛藉懆鏈熸敼涓虹紪杈戜腑 + codeClassifyDO_old.setLcStatus(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING); List<CodeClassifyTemplate> codeClassifyTemplateDOList = new ArrayList<>(); codeClassifyTemplateDOList.add(codeClassifyTemplateDO_old); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java index ef4c97a..9fbee7b 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java @@ -12,6 +12,7 @@ import com.vci.ubcs.system.feign.ISysClient; import lombok.extern.slf4j.Slf4j; 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.stereotype.Service; @@ -54,7 +55,7 @@ */ @Override public List<MdmCount> getMdmCounts(String userId) throws ServiceException{ - if(Func.isBlank(userId)){ + if(Func.isBlank(userId) && Func.isBlank(AuthUtil.getUserId().toString())){ throw new ServiceException("蹇呬紶鍙傛暟鐢ㄦ埛id涓嶈兘涓虹┖"); } /** 1銆佸厛鏌ヨ鍑哄悇鍒嗙被椤跺眰鑺傜偣鏈夊摢浜涗富鏁版嵁,鎷垮埌涓氬姟绫诲瀷鍚嶇О锛岀浉褰撲簬鎷垮埌涓绘暟鎹〃鍚� @@ -66,15 +67,15 @@ .isNull(CodeClassify::getParentCodeClassifyOid).select(CodeClassify::getBtmTypeId) .orderByAsc(CodeClassify::getBtmTypeId); List<CodeClassify> codeClassifies = codeClassifyService.list(wrapper); - List<String> btyTypeIds = codeClassifies.stream().map(CodeClassify::getBtmTypeId).collect(Collectors.toList()); + List<String> btmTypeIds = codeClassifies.stream().map(CodeClassify::getBtmTypeId).collect(Collectors.toList()); // 2銆佺劧鍚巉eign璋冪敤闇�瑕佹煡璇㈠嚭鑿滃崟璺敱鍜屽浘鏍� - R<List<Menu>> menuList = sysClient.getMenuByCodes(btyTypeIds); - if(!menuList.isSuccess() && menuList.getData().isEmpty()){ - throw new ServiceException("鑾峰彇涓绘暟鎹粺璁℃椂锛屼富鏁版嵁鑿滃崟鏌ヨ涓虹┖锛屽師鍥狅細"+menuList.getMsg()); + R<List<Menu>> menuList = sysClient.getMenuByCodes(btmTypeIds,Func.toLong(userId)); + if(!menuList.isSuccess()){ + throw new ServiceException("鑾峰彇涓绘暟鎹粺璁℃椂锛屼富鏁版嵁鑿滃崟鏌ヨ澶辫触锛屽師鍥狅細"+menuList.getMsg()); } List<MdmCount> mdmCountList = new ArrayList<>(); // 3銆佹煡璇㈠綋鍓嶇櫥褰曠殑鐢ㄦ埛閰嶇疆浜嗛偅浜涗富鏁版嵁缁熻椤� - R<MdmCountConfig> mdmCountConfig = sysClient.getMdmCountConfig(userId); + R<MdmCountConfig> mdmCountConfig = sysClient.getMdmCountConfig(Func.isBlank(userId) ? AuthUtil.getUserId().toString():userId); if(!mdmCountConfig.isSuccess()){ throw new ServiceException("鑾峰彇涓绘暟鎹粺璁¢」閰嶇疆鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+mdmCountConfig.getMsg()); } diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java index 1816a69..3d7742b 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java @@ -74,8 +74,8 @@ */ @Override @GetMapping(MENU_BY_CODES) - public R<List<Menu>> getMenuByCodes(List<String> codes) { - return R.data(menuService.getMenuByCodes(codes)); + public R<List<Menu>> getMenuByCodes(List<String> codes,Long userId) { + return R.data(menuService.getMenuByCodes(codes,userId)); } @Override diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java index c4d6ba8..215d399 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java @@ -175,11 +175,12 @@ List<Menu> getMenuButtonByType(String btmType); /** - * 鏍规嵁code鏌ヨ鑿滃崟淇℃伅 + * 鏍规嵁code鍜岀敤鎴穒d鏌ヨ鑿滃崟淇℃伅 * @param codes + * @param userId * @return */ - List<Menu> getMenuByCodes(List<String> codes); + List<Menu> getMenuByCodes(List<String> codes,Long userId); /** * 瀵筀eepAlive鍊艰浆鎹㈡垚甯冨皵绫诲瀷杩涜灏佽 diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IRoleMenuService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IRoleMenuService.java index 00ce0e1..271371b 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IRoleMenuService.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IRoleMenuService.java @@ -19,6 +19,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.system.entity.RoleMenu; +import java.util.List; + /** * 鏈嶅姟绫� * @@ -26,4 +28,11 @@ */ public interface IRoleMenuService extends IService<RoleMenu> { + /** + * 鏍规嵁鐢ㄦ埛id鏌ヨ锛岃鎺堟潈鐨勮彍鍗昳d + * @param userId + * @return + */ + List<Long> getMenuIdByUserId(Long userId); + } diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java index 3ebe012..2c5ed6a 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java @@ -39,7 +39,7 @@ if(mdmCountConfigVO.getMdmNameList().isEmpty()) { return R.status(false); } - if(mdmCountConfigVO.getMdmNameList().size() > 7){ + if(mdmCountConfigVO.getMdmNameList().size() > 8){ return R.fail("鏄剧ず鐨勪富鏁版嵁閰嶇疆椤规渶澶氫负8椤�"); } boolean res = false; 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..1846607 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,10 +20,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.vci.ubcs.starter.enumpack.CodeTableNameEnum; +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; import com.vci.ubcs.system.entity.*; +import com.vci.ubcs.system.user.entity.User; +import com.vci.ubcs.system.user.feign.IUserClient; import com.vci.ubcs.system.vo.MenuVO; import com.vci.ubcs.system.mapper.MenuMapper; import com.vci.ubcs.system.service.IMenuService; @@ -47,6 +52,7 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; +import javax.management.relation.Role; import java.util.*; import java.util.stream.Collectors; @@ -314,16 +320,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); } 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