package cn.fateverse.workflow.mapper;

import cn.fateverse.workflow.entity.ProcessBusiness;
import cn.fateverse.workflow.entity.query.ProcessQuery;
import cn.fateverse.workflow.entity.vo.ProcessDefinitionVo;

import java.util.List;

/**
 * @author Clay
 * @date 2022/12/23
 */
public interface ProcessBusinessMapper {

    /**
     * 查询workflow业务数据列表
     *
     * @param query 查询条件
     * @return 结果
     */
    List<ProcessDefinitionVo> selectWorkflowBusinessSimple(ProcessQuery query);

    /**
     * 根据部署的key查询workflow业务数据
     *
     * @param processDefinitionKey 流程部署key
     * @return 结果
     */
    ProcessBusiness selectByDeploymentKey(String processDefinitionKey);

    /**
     * 根据部署id查想流程业务数据
     *
     * @param deploymentId 部署id
     * @return 结果
     */
    ProcessBusiness selectByDeploymentId(String deploymentId);

    /**
     * 新增workflow业务数据
     *
     * @param business 流程业务数据
     * @return 结果
     */
    int insert(ProcessBusiness business);

    /**
     * 更新workflow业务数据
     *
     * @param business 流程业务数据
     * @return 结果
     */
    int update(ProcessBusiness business);
}
