From 8e8bee8b13c408965ae097a95bd7e6b51a96f50a Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Thu, 19 Dec 2024 15:26:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=A7=A6=E5=8F=91=E5=99=A8ht?= =?UTF-8?q?tp=E7=9A=84list=E5=8F=82=E6=95=B0=E6=94=B9=E6=88=90json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wflow/workflow/task/TriggerServiceTask.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/wflow/workflow/task/TriggerServiceTask.java b/src/main/java/com/wflow/workflow/task/TriggerServiceTask.java index 674d8b4..baebb1c 100644 --- a/src/main/java/com/wflow/workflow/task/TriggerServiceTask.java +++ b/src/main/java/com/wflow/workflow/task/TriggerServiceTask.java @@ -2,6 +2,7 @@ package com.wflow.workflow.task; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; +import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.wflow.utils.BeanUtil; import com.wflow.utils.EmailUtil; @@ -15,6 +16,7 @@ import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; import javax.mail.MessagingException; +import java.util.List; import java.util.Map; import java.util.Optional; import java.util.regex.Matcher; @@ -115,9 +117,18 @@ public class TriggerServiceTask implements JavaDelegate { //处理请求体 if ("FORM".equals(http.getContentType())) { http.getParams().stream().filter(o -> o != null && o.getName() != null && !"".equals(o.getName())).forEach(hd -> { - request.form(hd.getName(), hd.getIsField() ? - String.valueOf(variables.getOrDefault(String.valueOf(hd.getValue()), "")) - : getStrByRegex(String.valueOf(hd.getValue()), variables)); + String v; + if (hd.getIsField()) { + Object orDefault = variables.getOrDefault(String.valueOf(hd.getValue()), ""); + if (orDefault instanceof List) { + v = JSON.toJSONString(orDefault); + } else { + v = String.valueOf(orDefault); + } + } else { + v = getStrByRegex(String.valueOf(hd.getValue()), variables); + } + request.form(hd.getName(), v); }); request.form("dfInstanceId", execution.getProcessInstanceId()); request.form("dfNodeId", execution.getCurrentActivityId());