ljy121 1 год назад
Родитель
Сommit
a9ca51dcb8

+ 10 - 7
zjugis-business/src/main/java/com/zjugis/business/flow/common/event/CommonEvent.java

@@ -58,12 +58,7 @@ public class CommonEvent extends BaseController {
                 String activityInstanceName = activityInstance.get("name").toString();
                 CommonResult<List<IActivityInsParticiPantDto>> parRes = workflowClient.getActivityParticipants(activityInstanceId);
                 List<IActivityInsParticiPantDto> parts = parRes.getCheckedData();
-                IFlowInstanceReq iFlowInstanceReq = new IFlowInstanceReq();
-                iFlowInstanceReq.setFlowInstanceId(flowInstanceId);
-                iFlowInstanceReq.setMobile(true);
-                iFlowInstanceReq.setUserId(currentUserId);
-                iFlowInstanceReq.setActivityInsId(activityInstanceId);
-                CommonResult<String> flowUrlRes = workflowClient.getFlowUrl(iFlowInstanceReq);
+
                 int index = 0;
                 while(describtion == null || StringUtils.isBlank(describtion.toString()) || index < 5){
                     Thread.sleep(200);
@@ -72,8 +67,16 @@ public class CommonEvent extends BaseController {
                     describtion = checkedData.getDescribtion();
                     index ++;
                 }
-                String mobileUrl = flowUrlRes.getCheckedData();
                 for (int i = 0; i < parts.size(); i++) {
+                    IFlowInstanceReq iFlowInstanceReq = new IFlowInstanceReq();
+                    iFlowInstanceReq.setFlowInstanceId(flowInstanceId);
+                    iFlowInstanceReq.setMobile(true);
+                    iFlowInstanceReq.setUserId(currentUserId);
+                    iFlowInstanceReq.setParticipantId(parts.get(i).getId());
+                    iFlowInstanceReq.setUserId(parts.get(i).getUserId());
+                    iFlowInstanceReq.setActivityInsId(activityInstanceId);
+                    CommonResult<String> flowUrlRes = workflowClient.getFlowUrl(iFlowInstanceReq);
+                    String mobileUrl = flowUrlRes.getCheckedData();
                     IActivityInsParticiPantDto item = parts.get(i);
                     String content = "";
                     if(describtion == null){

+ 1 - 0
zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/model/IFlowInstanceReq.java

@@ -16,6 +16,7 @@ public class IFlowInstanceReq {
     String flowInstanceId;
     String activityInsId;
     String userId;
+    String participantId;
     Boolean view = false;
     Boolean mobile = false;
 }

+ 1 - 8
zjugis-workflow/src/main/java/com/zjugis/z_workflow/serviceApi/FlowInstanceApiController.java

@@ -291,14 +291,7 @@ public class FlowInstanceApiController extends BaseController {
 
     @PostMapping
     public CommonResult<String> getFlowUrl(@Valid @RequestBody IFlowInstanceReq iFlowInstanceReq){
-        String participantId = "";
-        if (StringUtils.isNotBlank(iFlowInstanceReq.getUserId())) {
-            IActivityInsParticiPant particiPant = iActivityInsParticiPantService.getByActivityInsIdAndUserId(iFlowInstanceReq.getActivityInsId(), iFlowInstanceReq.getUserId());
-            if (Objects.nonNull(particiPant)) {
-                participantId = particiPant.getId();
-            }
-        }
-        String flowUrl = iActivityInstanceService.getHandlerUrl(iFlowInstanceReq.getActivityInsId(),iFlowInstanceReq.getFlowInstanceId(),participantId,iFlowInstanceReq.getUserId(),iFlowInstanceReq.getMobile(),iFlowInstanceReq.getView(),null);
+        String flowUrl = iActivityInstanceService.getHandlerUrl(iFlowInstanceReq.getActivityInsId(),iFlowInstanceReq.getFlowInstanceId(),iFlowInstanceReq.getParticipantId(),iFlowInstanceReq.getUserId(),iFlowInstanceReq.getMobile(),iFlowInstanceReq.getView(),null);
         return CommonResult.success(flowUrl);
     }
 }