From 841588bc33c7ab2f547b046ada0d91bc4be67ade Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期一, 24 六月 2024 17:56:10 +0800 Subject: [PATCH] 增加按钮的权限控制 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java index adbbf81..6d760d5 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java @@ -5,13 +5,12 @@ import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder; import com.thoughtworks.xstream.io.xml.XppDriver; import com.vci.corba.common.PLException; +import com.vci.corba.framework.data.RoleRightInfo; import com.vci.corba.portal.data.*; import com.vci.starter.web.annotation.log.VciUnLog; import com.vci.starter.web.exception.VciBaseException; -import com.vci.starter.web.util.BeanUtil; -import com.vci.starter.web.util.LangBaseUtil; -import com.vci.starter.web.util.VciBaseUtil; -import com.vci.starter.web.util.VciDateUtil; +import com.vci.starter.web.pagemodel.SessionInfo; +import com.vci.starter.web.util.*; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import com.vci.web.enumpck.UIComponentDisplayTypeEnum; import com.vci.web.enumpck.UIComponentTypeEnum; @@ -1382,6 +1381,31 @@ public List<UIButtonDefineVO> listButtonByComponent(String pkComponent){ try { List<UIButtonDefineVO> buttonDefineVOS = buttonDO2VOs(Arrays.stream(platformClientUtil.getUIService().getPLTabButtonsByTableOId(pkComponent)).collect(Collectors.toSet())).stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList()); + + Map<String,RoleRightInfo> allRightRoleMap = new HashMap<>(); + RoleRightInfo[] bts = platformClientUtil.getFrameworkService().getRoleRightByUserName("bt"); + Map<String,Long> rightMap = new HashMap<String,Long>(); + for(RoleRightInfo obj:bts){ + allRightRoleMap.put(obj.funcId, obj); + rightMap.put(obj.funcId,obj.rightValue); + } + //寰幆瀵规寜閽潈闄愯繘琛屽垽鏂紝娌℃湁鏉冮檺鐨勫皢绉婚櫎buttonDefineVOS瀵硅薄 + Iterator<UIButtonDefineVO> buttonDefineVO = buttonDefineVOS.iterator(); + while (buttonDefineVO.hasNext()){ + UIButtonDefineVO buttonDefine = buttonDefineVO.next(); + if(rightMap.containsKey(buttonDefine.getPkComponent())) { + Long rightValue = rightMap.get(buttonDefine.getPkComponent()); + int nodeValue = buttonDefine.getOrderNum(); + if (nodeValue >= 0 && nodeValue <= 63) { + //杩涜浣嶄笌鎿嶄綔锛屽鏋滅浉绛夊垯琛ㄧず鍏锋湁褰撳墠鎿嶄綔鐨勬潈闄� + long preValue = (rightValue >> nodeValue) & 1; + if (preValue != 1) { + buttonDefineVO.remove(); + } + } + } + } + if(CollectionUtils.isEmpty(buttonDefineVOS)){ return buttonDefineVOS; } -- Gitblit v1.9.3