From 7a171b5193feef1d201b7d273b64ba2aebaddcda Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 26 六月 2024 18:22:01 +0800
Subject: [PATCH] 成员管理:分配角色、分配部门、分配部门界面查询、角色角色界面查询等接口添加

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 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 0f3131a..c71204f 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,5 +1,7 @@
 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;
@@ -19,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;
@@ -45,6 +48,12 @@
 	 */
 	@Autowired
 	private WebBoServiceI boService;
+
+	/**
+	 * 骞冲彴璋冪敤瀹㈡埛绔�
+	 */
+	@Autowired
+	private PlatformClientUtil platformClientUtil;
 
 	/**
      * 鏍规嵁瑙掕壊涓婚敭鑾峰彇瑙掕壊鐨勪俊鎭�
@@ -504,6 +513,38 @@
 	}
 
 	/**
+	 * 璇ユ柟娉曞彧鏀寔涓�娆″彧鍏佽鍗曚釜鐢ㄦ埛鍒嗛厤澶氫釜瑙掕壊锛屼竴瀵瑰
+	 * @param userOid
+	 * @param roleIds
+	 * @return
+	 */
+	@Override
+	public boolean saveRights(String userOid, String[] roleIds) throws PLException {
+		VciBaseUtil.alertNotNull(userOid,"鐢ㄦ埛涓婚敭");
+		//roleIds鍏佽涓虹┖锛屼负绌烘椂娓呯┖褰撳墠鐢ㄦ埛鐨勬潈闄�
+		//鍏堟煡閲�
+		if(Func.isNotEmpty(roleIds)){
+			List<String> repeatRoleOidList = new ArrayList<>();
+			//寰幆杩涜鏌ラ噸锛岄伩鍏峣n澶т簬1000
+			WebUtil.switchCollectionForOracleIn(Arrays.asList(roleIds)).stream().forEach(deptoids->{
+				String sql = "select pluseruid,plroleuid from pluserrole where pluseruid = '" + userOid
+						+ "' and " + "plroleuid in ("+WebUtil.toInSql(deptoids.toArray(new String[0]))+")";
+				List<BusinessObject> cbos = boService.queryBySql(sql, null);
+				if(!CollectionUtils.isEmpty(cbos)){
+					cbos.stream().forEach(cbo->{
+						repeatRoleOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"plroleuid"));
+					});
+				}
+			});
+			//绉婚櫎閲嶅鐨�
+			List<String> tempList = new ArrayList<>(Arrays.asList(roleIds));
+			tempList.removeAll(repeatRoleOidList);
+			roleIds = tempList.toArray(new String[tempList.size()]);
+		}
+		return platformClientUtil.getFrameworkService().saveRights(roleIds,new String[]{userOid},new UserEntityInfo());
+	}
+
+	/**
 	 * 瑙掕壊鐨勮浆鎹紝榛樿鍏ㄩ儴鏄痓s鎺у埗鐨勮鑹�
 	 * @param roleForPlatform1List 鍘熷钩鍙扮殑瑙掕壊
 	 * @return 瑙掕壊鐨勬樉绀哄璞�

--
Gitblit v1.9.3