package com.qqchen.deploy.backend.workflow.dto.event;

import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 审批任务创建事件
 * 当审批任务创建时发布此事件
 *
 * @author qqchen
 * @since 2025-11-02
 */
@Data
@Builder
public class ApprovalTaskCreatedEvent {

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

    /**
     * 工作流实例ID
     */
    private Long workflowInstanceId;

    /**
     * 节点ID
     */
    private String nodeId;

    /**
     * 节点名称
     */
    private String nodeName;

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

    /**
     * 审批人（如果有）
     */
    private String assignee;

    /**
     * 候选人（如果有）
     */
    private java.util.List<String> candidateUsers;

    /**
     * 候选组（如果有）
     */
    private java.util.List<String> candidateGroups;

    /**
     * 工作流分类代码（用于判断业务类型）
     */
    private String workflowCategoryCode;

    /**
     * 业务标识
     */
    private String businessKey;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;
}

