package cn.axzo.workflow.common.model.response.mq;

import cn.axzo.workflow.common.enums.ProcessMessagePushEventEnum;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 消息推送 MQ payload 模型
 *
 * @author wangli
 * @since 2023/11/22 15:06
 */
@Data
@Accessors(chain = true)
public class MessagePushDTO implements Serializable {

    /**
     * 推送的消息的类型
     */
    private ProcessMessagePushEventEnum type;

    /**
     * 流程实例 ID
     */
    private String processInstanceId;

    /**
     * 流程任务 ID
     */
    private String taskId;

    /**
     * 消息模板 ID
     */
    private String templateId;

    /**
     * 消息的接收人
     */
    private List<BpmnTaskDelegateAssigner> receivePersons;

    /**
     * 可用的变量集合
     */
    private Map<String, Object> variables;

}
