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