update 优化 后端发起流程增加扩展表对象

dev
疯狂的狮子Li 3 months ago
parent 057e3540a9
commit 49b1d65af7

@ -85,4 +85,22 @@ public interface RemoteWorkflowService {
*/
boolean completeTask(RemoteCompleteTask completeTask);
/**
*
*
* @param taskId ID
* @param message
* @return
*/
boolean completeTask(Long taskId, String message);
/**
*
*
* @param startProcess
* @return
*/
boolean startCompleteTask(RemoteStartProcess startProcess);
}

@ -0,0 +1,45 @@
package org.dromara.workflow.api.domain;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
*
*
* @author may
* @date 2025-08-05
*/
@Data
public class RemoteFlowInstanceBizExt implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
private Long id;
/**
* ID
*/
private Long instanceId;
/**
* ID
*/
private String businessId;
/**
*
*/
private String businessCode;
/**
*
*/
private String businessTitle;
}

@ -1,6 +1,7 @@
package org.dromara.workflow.api.domain;
import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
import java.io.Serial;
@ -40,6 +41,11 @@ public class RemoteStartProcess implements Serializable {
*/
private Map<String, Object> variables;
/**
*
*/
private RemoteFlowInstanceBizExt bizExt;
public Map<String, Object> getVariables() {
if (variables == null) {
return new HashMap<>(16);
@ -47,4 +53,12 @@ public class RemoteStartProcess implements Serializable {
variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue()));
return variables;
}
public RemoteFlowInstanceBizExt getBizExt() {
if (ObjectUtil.isNull(bizExt)) {
bizExt = new RemoteFlowInstanceBizExt();
}
return bizExt;
}
}

@ -68,4 +68,28 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService {
return workflowService.completeTask(completeTask);
}
/**
*
*
* @param taskId ID
* @param message
* @return
*/
@Override
public boolean completeTask(Long taskId, String message) {
return workflowService.completeTask(taskId, message);
}
/**
*
*
* @param startProcess
* @return
*/
@Override
public boolean startCompleteTask(RemoteStartProcess startProcess) {
return workflowService.startCompleteTask(startProcess);
}
}

@ -11,6 +11,7 @@ import org.dromara.workflow.api.domain.RemoteStartProcess;
import org.dromara.workflow.api.domain.RemoteStartProcessReturn;
import org.dromara.workflow.common.ConditionalOnEnable;
import org.dromara.workflow.common.enums.MessageTypeEnum;
import org.dromara.workflow.domain.FlowInstanceBizExt;
import org.dromara.workflow.domain.bo.CompleteTaskBo;
import org.dromara.workflow.domain.bo.StartProcessBo;
import org.dromara.workflow.service.IFlwDefinitionService;
@ -164,6 +165,7 @@ public class WorkflowServiceImpl implements WorkflowService {
processBo.setFlowCode(startProcess.getFlowCode());
processBo.setVariables(startProcess.getVariables());
processBo.setHandler(startProcess.getHandler());
processBo.setBizExt(BeanUtil.toBean(startProcess.getBizExt(), FlowInstanceBizExt.class));
RemoteStartProcessReturn result = flwTaskService.startWorkFlow(processBo);
CompleteTaskBo taskBo = new CompleteTaskBo();

Loading…
Cancel
Save