package com.yunzhupaas.engine.service;

import com.yunzhupaas.engine.enums.FlowStatusEnum;
import com.yunzhupaas.engine.model.flowengine.FlowModel;
import com.yunzhupaas.engine.model.flowengine.shuntjson.childnode.ChildNode;
import com.yunzhupaas.exception.WorkFlowException;

/**
 * 在线开发工作流
 *
 * @author 云筑产品开发平台组
 * @version V3.1.0
 * @copyright 深圳市乐程软件有限公司
 * @date 2024/3/15 9:19
 */
public interface FlowDynamicService {

    /**
     * 流程数据
     *
     * @param flowModel
     */
    void flowTask(FlowModel flowModel, FlowStatusEnum flowStatus, ChildNode childNode) throws WorkFlowException;

    /**
     * 保存流程
     *
     * @param flowModel
     * @throws WorkFlowException
     */
    void createOrUpdate(FlowModel flowModel) throws WorkFlowException;

    /**
     * 批量保存流程
     *
     * @param flowModel
     * @throws WorkFlowException
     */
    void batchCreateOrUpdate(FlowModel flowModel) throws WorkFlowException;
}

