소스 검색

二级单位分办

baichengfei 5 년 전
부모
커밋
c1dcf291ac

+ 18 - 9
src/main/java/com/common/workflow/service/activiti/supplierListener/PreFenTrailService.java

@@ -1,6 +1,12 @@
 package com.common.workflow.service.activiti.supplierListener;
 
+import com.common.workflow.service.client.FeignClient;
+import com.common.workflow.service.dto.ApproveInfoDTO;
+import com.common.workflow.service.dto.ApproveParamsDTO;
 import com.common.workflow.service.util.HttpRequest;
+import feign.Feign;
+import feign.jackson.JacksonDecoder;
+import feign.jackson.JacksonEncoder;
 import org.activiti.engine.ActivitiException;
 import org.activiti.engine.delegate.DelegateTask;
 import org.activiti.engine.delegate.TaskListener;
@@ -14,23 +20,26 @@ public class PreFenTrailService  implements TaskListener {
     @Override
     public void notify(DelegateTask delegateTask) {
         String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
-        // String processKey = delegateTask.getVariable("processKey").toString();
         String businessKey = delegateTask.getVariable("businessKey").toString();
+        ApproveParamsDTO approveParams = new ApproveParamsDTO();
+        approveParams.setBusinessKey(businessKey);
+        ApproveInfoDTO approveInfo = null;
 
-        String approveUrl = callbackUrl + "/suppliercert-listener/pre-fen-trail";
-
-        String approveIds = "";
         if (callbackUrl.length() > 0) {
-            approveIds = HttpRequest.sendGet(approveUrl, "businessKey=" + businessKey);
+            FeignClient client = Feign.builder()
+                .decoder(new JacksonDecoder())
+                .encoder(new JacksonEncoder())
+                .target(FeignClient.class, callbackUrl);
+            approveInfo = client.getPreFirstAuditors(approveParams);
         } else {
             throw new ActivitiException("无回调地址,请联系管理员!");
         }
-        if (approveIds.length() <= 0) {
+        if (approveInfo.getUsers().length() <= 0) {
             throw new ActivitiException("未找到审核用户,请联系管理员!");
         }
-        delegateTask.setVariable("users", approveIds);
-        delegateTask.setVariableLocal("users", approveIds);
-        delegateTask.addCandidateUsers(Arrays.asList(approveIds.split(",")));
+        delegateTask.setVariable("users", approveInfo.getUsers());
+        delegateTask.setVariableLocal("users", approveInfo.getUsers());
+        delegateTask.addCandidateUsers(Arrays.asList(approveInfo.getUsers().split(",")));
     }
 }
 

+ 5 - 0
src/main/java/com/common/workflow/service/client/FeignClient.java

@@ -31,4 +31,9 @@ public interface FeignClient {
     @Headers({"Content-Type: application/json","Accept: application/json"})
     @RequestLine("POST /suppliercert-listener/pre-storage-audit")
     ApproveInfoDTO getPreStorageAuditors(@RequestBody ApproveParamsDTO approveParamsDTO);
+
+    // 企业用户提交申请 获取分办人员列表
+    @Headers({"Content-Type: application/json","Accept: application/json"})
+    @RequestLine("POST /suppliercert-listener/pre-fen-trail")
+    ApproveInfoDTO getPreFirstAuditors(@RequestBody ApproveParamsDTO approveParamsDTO);
 }