From a899eae792897cb014b9291562f32f5786cfb1f4 Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期四, 16 一月 2025 15:51:13 +0800 Subject: [PATCH] UI授权后,由于一个用户拥有多个角色问题,没有权限的角色可能会把有权限的角色数据替换,进行修改 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 231 insertions(+), 6 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java index 0001abd..460cfed 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java @@ -1,19 +1,28 @@ package com.vci.web.service; import com.vci.corba.common.PLException; +import com.vci.corba.framework.data.RoleRightInfo; +import com.vci.corba.omd.btm.BizType; +import com.vci.corba.omd.ltm.LinkType; +import com.vci.corba.omd.qtm.QTInfo; +import com.vci.corba.portal.data.PLTabPage; import com.vci.corba.portal.data.PLUILayout; -import com.vci.pagemodel.PLUILayoutCloneVO; +import com.vci.corba.portal.data.PortalVI; +import com.vci.dto.UIAuthorDTO; +import com.vci.pagemodel.*; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.Tree; -import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.io.IOException; import java.util.List; +import java.util.Map; /** + * UI瀹氫箟绠$悊鏈嶅姟 * @author ludc * @date 2024/8/28 17:05 */ @@ -47,21 +56,148 @@ * 鏍规嵁涓婚敭鍜屼笟鍔$被鍨媜id鍒犻櫎ui涓婁笅鏂囨暟鎹� * @return */ - boolean delUIContextData(String[] oids) throws PLException; + boolean delUIContextData(String[] oids,String plRelatedType) throws PLException; /** * 鍏嬮殕ui涓婁笅鏂� * @param pluiLayoutCloneVO * @return */ - boolean cloneUiContextData(PLUILayoutCloneVO pluiLayoutCloneVO) throws PLException; + boolean cloneUIContextData(PLUILayoutCloneVO pluiLayoutCloneVO) throws PLException; + + /** + * 鏍规嵁鍕鹃�夌殑鏉′欢鑾峰彇闇�瑕佸鍑虹殑ui涓婁笅鏂囨爲 + * @param expDatas + * @return + */ + Tree getExpContextTree(List<String> expDatas); /** * 瀵煎嚭ui涓婁笅鏂�(鍕鹃�夌殑瑕佸鍑虹殑鎺у埗鍖虹殑鏁版嵁) * oids * @return */ - void expUiContextData(String[] oids, HttpServletResponse response) throws PLException, IOException; + String expUIContextData(Map<String,String> expConditionMap) throws PLException, IOException; + + /** + * 瀵煎叆UI涓婁笅鏂� + * @param file + * @return + */ + BaseResult impUIContextData(File file, boolean isCovered,String selectBtm); + + //鍖哄煙鐩稿叧鏌ヨ銆佹坊鍔犮�佸垹闄ゃ�佷慨鏀圭瓑鎺ュ彛 + /** + * 鏍规嵁涓婁笅鏂嘔D鍜屽尯鍩熺被鍨嬶紝鎸夐『搴忚幏鍙栧綋鍓嶅尯鍩熺殑tab椤� + */ + DataGrid getTabByContextIdAndType(String contextId, int areaType) throws PLException; + + /** + * 娣诲姞鍖哄煙锛堥〉绛撅級鏁版嵁 + * @param plTabPage + * @return + */ + boolean addTabData(PLTabPage plTabPage) throws PLException; + + /** + * 淇敼鍖哄煙锛堥〉绛撅級鏁版嵁 + * @param plTabPage + * @return + */ + boolean updateTabData(PLTabPage plTabPage) throws PLException; + + /** + * 鍒犻櫎鍖哄煙锛堥〉绛撅級鏁版嵁 + * @param oids + * @return + */ + boolean deleteTabData(String[] oids) throws PLException; + + /** + * 妫�鏌ユ墿灞曞睘鎬ф暟鎹牸寮忔槸鍚﹀悎瑙勶紝骞剁粰鍑烘彁绀� + * @param extAttr + * @return + */ + BaseResult checkTabPageExtAttrIsOk(String extAttr); + + //椤甸潰璁捐鐩稿叧鎺ュ彛 + /** + * 鏌ヨ椤甸潰璁捐瀹氫箟 + * @param pageContextOId + * @return + */ + DataGrid getPLPageDefinations(String pageContextOId) throws PLException; + + /** + * 娣诲姞椤甸潰瀹氫箟 + * @param pdVO + * @return + */ + boolean addPageDefination(PLDefinationVO pdVO) throws Throwable; + + /** + * 淇敼椤甸潰瀹氫箟 + * @param pdVO + * @return + */ + boolean updatePageDefination(PLDefinationVO pdVO) throws Throwable; + + /** + * 鍒犻櫎椤甸潰瀹氫箟 + * @param oids + * @return + */ + boolean delPageDefination(String[] oids) throws PLException; + + //椤甸潰璁捐涓嬮厤缃寜閽浉鍏虫帴鍙� + /** + * 鑾峰彇椤电鍖哄煙鎸夐挳閰嶇疆淇℃伅 + * @param pageDefinationOid + * @return + */ + List<PLTabButtonVO> getTabButtons(String pageDefinationOid); + + /** + * 娣诲姞鎸夐挳閰嶇疆淇℃伅 + * @param tabButtonVO + * @return + */ + BaseResult addTabButton(PLTabButtonVO tabButtonVO); + + /** + * 淇敼鎸夐挳閰嶇疆淇℃伅 + * @param tabButtonVO + * @return + */ + BaseResult updateTabButton(PLTabButtonVO tabButtonVO); + + /** + * 淇濆瓨鎴栦慨鏀规寜閽厤缃俊鎭� + * @param tabButtonVO + * @return + */ + boolean saveOrUpdateTabButton(PLTabButtonVO tabButtonVO,boolean isAdd); + + /** + * 鍒犻櫎鍗曚釜鎸夐挳閰嶇疆 + * @param tabButtonVO + * @return + */ + boolean deleteTabButton(PLTabButtonVO tabButtonVO) throws PLException; + + /** + * 璋冩暣涓轰笅绾ф寜閽� + * @param tabButtonVO + * @return + */ + BaseResult joinBtn(PLTabButtonVO tabButtonVO) throws PLException; + + /** + * 璋冩暣涓轰笂绾ф寜閽� + * @param tabButtonVO + * @return + */ + BaseResult exitBtn(PLTabButtonVO tabButtonVO) throws PLException; /** * 鑾峰彇UI鏉冮檺鏍� @@ -69,5 +205,94 @@ * @return * @throws VciBaseException */ - List<Tree> getUIAuthor(BaseQueryObject baseQueryObject)throws Exception; + List<Tree> getUIAuthor(BaseQueryObject baseQueryObject)throws Exception; + + /** + * 鏍规嵁瑙掕壊涓婚敭鑾峰彇宸叉巿鏉冪殑淇℃伅 + * @param roleId + * @return + * @throws PLException + */ + Map<String, List<RoleRightVO>> getRoleRightMap(String roleId) throws PLException; + + /** + * UI鎺堟潈 + * @param uiAuthorDTO + * @return + * @throws Exception + */ + boolean authorizedUI(UIAuthorDTO uiAuthorDTO)throws Exception; + + /** + * 涓氬姟绫诲瀷銆佹簮瀵硅薄绫诲瀷銆侀《灞傝妭鐐规樉绀虹被鍨嬬瓑閮借皟鐢ㄨ繖涓帴鍙f煡璇� + * @param baseQueryObject + * @return + * @throws PLException + */ + DataGrid<BizType> getBtmDatasByPage(BaseQueryObject baseQueryObject) throws Throwable; + + /** + * 鏌ヨ閾炬帴绫诲瀷涓嬫媺 + * @param baseQueryObject + * @return + * @throws PLException + */ + DataGrid<LinkType> getLinkDatasByPage(BaseQueryObject baseQueryObject) throws Throwable; + + /** + * UI瀹氫箟涓嬫媺鏌ヨ锛坱emplateType涓篣I瀹氫箟鏃剁殑閫夋嫨瀵硅薄涓嬫媺鏌ヨ锛� + * @param baseQueryObject selectBtmType 閫夋嫨鐨勬簮瀵硅薄,甯﹀垎椤典俊鎭� + * @return + * @throws PLException + */ + DataGrid<PLUILayout> getUILayoutDatasByPage(BaseQueryObject baseQueryObject)throws Throwable; + + /** + * 閫夋嫨妯℃澘涓嬫媺鏌ヨ锛坱emplateType涓鸿〃鏍笺�佽〃鍗曘�佹爲琛ㄦ椂鐨勯�夋嫨瀵硅薄涓嬫媺鏌ヨ锛� + * @param baseQueryObject + * @return + * @throws PLException + */ + DataGrid<PortalVI> getPortalVIDatasByPage(BaseQueryObject baseQueryObject) throws Throwable; + + /** + * 鏌ヨ妯℃澘涓嬫媺鏌ヨ + * @param baseQueryObject + * @return + * @throws PLException + */ + DataGrid<QTInfo> getQTInfoDatasByPage(BaseQueryObject baseQueryObject)throws Throwable; + + /** + * 閫氳繃涓氬姟绫诲瀷鑾峰彇UI涓婁笅鏂囧寘鍚叾涓嬪叧鑱旂殑鍖哄煙瀹氫箟>椤甸潰瀹氫箟绛夋墍鏈夊叧鑱旀暟鎹紝褰掔撼鎴恡ree缁撴瀯 + * @param btmName 涓氬姟绫诲瀷鍚嶇О + * @param level 鏌ヨ鍒伴偅涓眰绾т负姝紙ui銆乼ap銆乸ageDef锛� + * @return + */ + Tree getAllLevelTreeByBtm(String btmName,String level) throws PLException; + + /** + * 鍏嬮殕鎸夐挳 + * @param uiCloneVO + * @return + * @throws Throwable + */ + BaseResult cloneTabButton(UICloneVO uiCloneVO)throws Throwable; + + /** + * 鍏嬮殕椤电 + * @param uiCloneVO + * @return + * @throws Throwable + */ + BaseResult clonetabPage(UICloneVO uiCloneVO)throws Throwable; + + /** + * 鍏嬮殕椤甸潰瀹氫箟 + * @param uiCloneVO + * @return + * @throws Throwable + */ + BaseResult clonePageDef(UICloneVO uiCloneVO)throws Throwable; + } -- Gitblit v1.9.3