Sfoglia il codice sorgente

[task-1755] 【后端】系统代理功能调整

Li Yuan 1 anno fa
parent
commit
65d47f744f

+ 3 - 0
ibps-bpmn-root/modules/bpmn-biz/src/main/java/com/lc/ibps/bpmn/repository/impl/BpmAgentRepositoryImpl.java

@@ -95,6 +95,9 @@ public class BpmAgentRepositoryImpl extends AbstractRepository<String, BpmAgentP
 	 */
 	@Override
 	public List<BpmAgentPo> findByType(String agentType, String delegator, String procDefKey) {
+		if(BpmAgentPo.AGENT_TYPE_ROLE.equalsIgnoreCase(agentType)){
+			return null;
+		}
 		List<BpmAgentPo> list = findByKey("findByType", "findIdsByType", 
 				b().a("agentType" ,agentType).a("delegator", delegator)
 				.a("isEnabled", BpmAgentPo.ENABLED).a("procDefKey", procDefKey).p());

+ 2 - 0
ibps-bpmnbase-root/modules/bpmn-model/src/main/java/com/lc/ibps/bpmn/persistence/entity/BpmAgentPo.java

@@ -24,6 +24,8 @@ public class BpmAgentPo extends BpmAgentTbl{
 	 public static String AGENT_TYPE_ALL = "all";/*代理类型:全权代理*/
 	 public static String AGENT_TYPE_PART = "part";/*代理类型:部分代理*/
 	 public static String AGENT_TYPE_CONDITION = "condition";/*代理类型:条件代理*/
+
+	public static String AGENT_TYPE_ROLE = "role";/*代理类型:角色代理*/
 	 
 	 @ApiModelProperty(value = "委托人名称")
 	 protected String delegatorName;/*委托人名称*/

+ 3 - 3
ibps-bpmnbase-root/modules/bpmn-model/src/main/java/com/lc/ibps/bpmn/persistence/entity/BpmAgentTbl.java

@@ -45,8 +45,8 @@ public class BpmAgentTbl extends AbstractPo<String>{
 	@ApiModelProperty(value = "失效时间")
 	@JsonFormat(pattern = StringPool.DATE_FORMAT_DATE, timezone = "GMT+8")
 	protected Date  expiryTime; 		/*失效时间*/
-	@ApiModelProperty(value = "代理类型,all-全权代理、part-部分代理、condition-条件代理")
-	protected String  agentType; 		/*代理类型,all-全权代理、part-部分代理、condition-条件代理*/
+	@ApiModelProperty(value = "代理类型,all-全权代理、part-部分代理、condition-条件代理、role-角色代理")
+	protected String  agentType; 		/*代理类型,all-全权代理、part-部分代理、condition-条件代理、role-角色代理*/
 	@ApiModelProperty(value = "创建人")
 	protected String  createBy; 		/*创建人*/
 	@ApiModelProperty(value = "创建时间")
@@ -154,7 +154,7 @@ public class BpmAgentTbl extends AbstractPo<String>{
 		this.agentType = agentType;
 	}
 	/**
-	 * 返回 代理类型,all-全权代理、part-部分代理、condition-条件代理
+	 * 返回 代理类型,all-全权代理、part-部分代理、condition-条件代理、role-角色代理
 	 * @return
 	 */
 	public String getAgentType() 

+ 8 - 1
ibps-common-root/modules/org-biz/src/main/java/com/lc/ibps/org/party/repository/impl/DefaultPartyUserRepositoryImpl.java

@@ -265,7 +265,14 @@ public class DefaultPartyUserRepositoryImpl extends AbstractRepository<String, D
 			}
 		}
 //		StopWatchUtil.stopAndPrintLocal(localId, step);
-		
+		//6 角色代理人ids
+		List<DefaultPartyUserPo> agentUsers = getQueryDao().findByKey("findAgentIdsByUserIds", b().a("userIds", userIds.toString()).a("roleId", roleId).p());
+		if(BeanUtils.isNotEmpty(agentUsers)){
+			for (DefaultPartyUserPo po : agentUsers) {
+				if(userIds.length()>0) userIds.append(StringPool.COMMA);
+				userIds.append(po.getUserId());
+			}
+		}
 		return userIds.toString();
 	}
 	

+ 8 - 1
ibps-model-root/modules/org-model/src/main/resources/com/lc/ibps/org/party/persistence/mapping/DefaultPartyUser.map.xml

@@ -478,5 +478,12 @@
 		</if>
 		ORDER BY CREATE_TIME_ DESC
 	</select>
-	
+	<select id="findAgentIdsByUserIds" parameterType="java.util.Map" resultMap="DefaultPartyUser">
+		SELECT DISTINCT AGENTER_ID_ AS ID_ FROM IBPS_BPM_AGENT
+		WHERE FIND_IN_SET( DELEGATOR_ID_,#{userIds})
+		  AND IS_ENABLED_='enabled'
+		  AND FIND_IN_SET( #{roleId}, AGENT_ROLES_)
+		  AND AGENT_TYPE_ = 'role'
+		  AND DATE(NOW()) BETWEEN DATE(effective_time_) AND DATE(expiry_time_)
+	</select>
 </mapper>