|
|
@@ -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(",")));
|
|
|
}
|
|
|
}
|
|
|
|