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

import com.qqchen.deploy.backend.workflow.enums.ApprovalResultEnum;
import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 审批完成事件
 * 当审批节点完成时发布此事件
 *
 * @author qqchen
 * @since 2025-11-02
 */
@Data
@Builder
public class ApprovalCompletedEvent {

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

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

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

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

    /**
     * 审批结果
     */
    private ApprovalResultEnum result;

    /**
     * 审批时间
     */
    private LocalDateTime approvalTime;

    /**
     * 审批人
     */
    private String approver;

    /**
     * 审批意见
     */
    private String comment;

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

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

