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

import com.qqchen.deploy.backend.workflow.enums.LogLevel;
import com.qqchen.deploy.backend.workflow.enums.LogSource;
import lombok.Data;

/**
 * 工作流节点日志 DTO
 * <p>
 * 日志存储在 Redis Stream 中，不再使用 MySQL，此类仅用于数据传输
 * 
 * @author qqchen
 * @since 2025-11-03
 */
@Data
public class WorkflowNodeLogDTO {
    
    /**
     * 流程实例ID（Flowable processInstanceId）
     */
    private String processInstanceId;
    
    /**
     * 节点ID（Flowable nodeId, 例如: sid_xxx）
     */
    private String nodeId;
    
    /**
     * 日志序号（保证同一节点内日志有序，从1开始递增）
     */
    private Long sequenceId;
    
    /**
     * 时间戳（Unix毫秒）
     */
    private Long timestamp;
    
    /**
     * 日志级别（INFO, WARN, ERROR, DEBUG）
     */
    private LogLevel level;
    
    /**
     * 日志来源（JENKINS, FLOWABLE, SHELL, NOTIFICATION）
     */
    private LogSource source;
    
    /**
     * 日志内容
     */
    private String message;
}

