From dd678ba29a3631558ab0c0c90b5be73ae489324b Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期二, 02 七月 2024 17:00:33 +0800 Subject: [PATCH] 升版本/次等功能上传 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 49 insertions(+), 11 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java index d225f6e..4543a1b 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java @@ -1,11 +1,16 @@ package com.vci.frameworkcore.compatibility.impl; +import com.vci.corba.common.PLException; +import com.vci.corba.common.data.UserEntityInfo; +import com.vci.corba.omd.data.BusinessObject; import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI; import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant; import com.vci.frameworkcore.enumpck.RoleClassifyEnum; import com.vci.frameworkcore.enumpck.RoleControlAreaEnum; import com.vci.frameworkcore.model.SmRoleForPlatform1; +import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; import com.vci.frameworkcore.pagemodel.SmRoleVO; +import com.vci.omd.utils.ObjectTool; import com.vci.starter.web.constant.QueryOptionConstant; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.DataGrid; @@ -16,6 +21,7 @@ import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import com.vci.web.properties.WebProperties; import com.vci.web.service.WebBoServiceI; +import com.vci.web.util.Func; import com.vci.web.util.PlatformClientUtil; import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; @@ -24,6 +30,7 @@ import org.springframework.util.CollectionUtils; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST; @@ -43,6 +50,12 @@ private WebBoServiceI boService; /** + * 骞冲彴璋冪敤瀹㈡埛绔� + */ + @Autowired + private PlatformClientUtil platformClientUtil; + + /** * 鏍规嵁瑙掕壊涓婚敭鑾峰彇瑙掕壊鐨勪俊鎭� * @param roleOid 瑙掕壊涓婚敭 * @return 瑙掕壊鐨勬樉绀哄璞★紝濡傛灉瑙掕壊涓嶅瓨鍦ㄥ垯杩斿洖null锛屼笉浼氭姏鍑哄紓甯� @@ -59,6 +72,7 @@ } return platformRole2SmRoleVO(role); } + /** * 鎵归噺鑾峰彇瑙掕壊鐨勪俊鎭� 锛堟牴鎹鑹蹭富閿級 * @param roleOidCollections 瑙掕壊涓婚敭鐨勯泦鍚堬紝鍙互瓒呰繃1000涓� @@ -82,6 +96,7 @@ }); return platformRole2SmRoleVOs(roles); } + /** * 鑾峰彇瑙掕壊鐨勫垪琛紝榛樿浼氫互瑙掕壊鍚嶅崌搴忔帓鍒楋紝瑙掕壊鐨勭紪杈戦〉闈㈠垪琛ㄤ笉瑕佷娇鐢ㄨ繖涓帴鍙� * @param queryMap 鏌ヨ鏉′欢 @@ -90,15 +105,13 @@ * @throws VciBaseException 鍙傛暟涓虹┖鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public DataGrid<SmRoleVO> gridRoles(Map<String, String> queryMap, - PageHelper pageHelper) throws VciBaseException { + public DataGrid<SmRoleVO> gridRoles(Map<String, String> queryMap, PageHelper pageHelper) throws VciBaseException { if(pageHelper == null){ pageHelper = new PageHelper(-1); } pageHelper.addDefaultAsc("plname"); VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(queryMap,SmRoleForPlatform1.class,pageHelper); - //鎴戜滑涓嶈兘鏄剧ず涓夊憳鍜岀鐞嗗憳鐨勮鑹� - queryWrapper.eq("pltype","2"); + //queryWrapper.eq("pltype","2"); List<SmRoleForPlatform1> roleForPlatform1s = boService.selectByQueryWrapper(queryWrapper, SmRoleForPlatform1.class); DataGrid<SmRoleVO> dataGrid = new DataGrid<>(); if(!CollectionUtils.isEmpty(roleForPlatform1s)){ @@ -107,6 +120,7 @@ } return dataGrid; } + /** * 鏍规嵁瑙掕壊涓婚敭鑾峰彇瑙掕壊鐨勫鍚� * @param roleOid 瑙掕壊涓婚敭 @@ -117,6 +131,7 @@ WebUtil.alertNotNull(roleOid,"瑙掕壊涓婚敭"); return getRoleByRoleOid(roleOid).getName(); } + /** * 鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇鍏宠仈鐨勮鑹� * @param userOid 鐢ㄦ埛涓婚敭 @@ -168,6 +183,7 @@ } return platformRole2SmRoleVOs(roles); } + /** * 鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇鍏宠仈鐨勮鑹� * @param userOid 鐢ㄦ埛涓婚敭 @@ -208,6 +224,7 @@ } return gridRoles(queryMap,pageHelper); } + /** * 鑾峰彇鏈叧鑱旀煇涓敤鎴风殑瑙掕壊 * @param userOid 鐢ㄦ埛涓婚敭 @@ -219,6 +236,7 @@ Map<String, String> queryMap) { return listRoleByUserOid(userOid,queryMap,true); } + /** * 鑾峰彇鏈叧鑱旀煇涓敤鎴风殑瑙掕壊 * @param userOid 鐢ㄦ埛涓婚敭 @@ -231,6 +249,7 @@ Map<String, String> queryMap, PageHelper pageHelper) { return gridRoleByUserOid(userOid,queryMap,pageHelper,true); } + /** * 鎵归噺鏍规嵁鐢ㄦ埛鐨勪富閿潵鑾峰彇瑙掕壊 * @param userOidCollection 鐢ㄦ埛涓婚敭闆嗗悎 @@ -250,19 +269,22 @@ if(!CollectionUtils.isEmpty(roleVOS)){ roleVOList.addAll(roleVOS); String sql = "select pluseruid,plroleuid from pluserrole where pluseruid in (" + WebUtil.toInSql(userOids.toArray(new String[0])) + ")"; - List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryBySql(sql, null); + List<BusinessObject> cbos = boService.queryBySql(sql, null); if(!CollectionUtils.isEmpty(cbos)){ cbos.stream().forEach(cbo->{ - String userOid = cbo.getAttributeValue("pluseruid"); + String userOid = ObjectTool.getNewBOAttributeValue(cbo,"pluseruid"); List<String> roleOids = userRoleOidMap.getOrDefault(userOid,new ArrayList<>()); - roleOids.add(cbo.getAttributeValue("plroleuid")); + roleOids.add(ObjectTool.getNewBOAttributeValue(cbo,"plroleuid")); userRoleOidMap.put(userOid,roleOids); }); } } }); if(!CollectionUtils.isEmpty(roleVOList)){ - Map<String, SmRoleVO> roleVOMap = roleVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); + //杩欏効搴旇瀵箁oleVOList鍋氫竴娆″幓閲嶅鐞嗭紝鍥犱负鑲畾浼氭湁閲嶅鐨勮鑹茶鏌ュ嚭鏉� + Map<String, SmRoleVO> roleVOMap = roleVOList.stream() + .collect(Collectors.toMap(SmRoleVO::getOid, Function.identity(), (existing, replacement) -> existing)); + //Map<String, SmRoleVO> roleVOMap = roleVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); Map<String, List<SmRoleVO>> userRoleVOMap = new HashMap<>(); userRoleOidMap.forEach((userOid,roleOids)->{ List<SmRoleVO> roleVOS = new ArrayList<>(); @@ -277,6 +299,7 @@ } return new HashMap<>(); } + /** * 鏍规嵁鏉冮檺涓婚敭鑾峰彇鍏宠仈鐨勮鑹� * @param functionOid 鏉冮檺涓婚敭 @@ -415,12 +438,12 @@ if(!CollectionUtils.isEmpty(roleVOS)){ roleVOList.addAll(roleVOS); String sql = "select plroleoid,plfuncoid from plroleright where plfuncoid in (" + WebUtil.toInSql(userOids.toArray(new String[0])) + ")"; - List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryBySql(sql, null); + List<BusinessObject> cbos = boService.queryBySql(sql, null); if(!CollectionUtils.isEmpty(cbos)){ cbos.stream().forEach(cbo->{ - String funcOid = cbo.getAttributeValue("plfuncoid"); + String funcOid = ObjectTool.getBOAttributeValue(cbo,"plfuncoid"); List<String> roleOids = funcRoleOidMap.getOrDefault(funcOid,new ArrayList<>()); - roleOids.add(cbo.getAttributeValue("plroleoid")); + roleOids.add(ObjectTool.getBOAttributeValue(cbo,"plroleoid")); funcRoleOidMap.put(funcOid,roleOids); }); } @@ -442,6 +465,7 @@ } return new HashMap<>(); } + /** * 鍙傜収瑙掕壊鐨勫垪琛紝涓夊憳绠$悊鐨勪笁涓鑹蹭笉浼氭樉绀� * @param queryMap 鏌ヨ鏉′欢 @@ -455,6 +479,7 @@ //鑰佸钩鍙版病鏈夌敓鏁堢姸鎬� return gridRoles(queryMap, pageHelper); } + /** * 瑙掕壊鐨勬爲褰㈠睍绀猴紝甯哥敤浜庤鑹查�夋嫨鐢ㄦ埛鐨勯〉闈娇鐢� * @param treeQueryObject 鏍戞煡璇㈠璞� @@ -486,6 +511,19 @@ } /** + * 璇ユ柟娉曞彧鏀寔涓�娆″彧鍏佽鍗曚釜鐢ㄦ埛鍒嗛厤澶氫釜瑙掕壊锛屼竴瀵瑰 + * @param userOid + * @param roleIds + * @return + */ + @Override + public boolean saveRights(String userOid, String[] roleIds) throws PLException { + VciBaseUtil.alertNotNull(userOid,"鐢ㄦ埛涓婚敭"); + //roleIds鍏佽涓虹┖锛屼负绌烘椂娓呯┖褰撳墠鐢ㄦ埛鐨勬潈闄� + return platformClientUtil.getFrameworkService().saveRights(roleIds,new String[]{userOid},new UserEntityInfo()); + } + + /** * 瑙掕壊鐨勮浆鎹紝榛樿鍏ㄩ儴鏄痓s鎺у埗鐨勮鑹� * @param roleForPlatform1List 鍘熷钩鍙扮殑瑙掕壊 * @return 瑙掕壊鐨勬樉绀哄璞� -- Gitblit v1.9.3