package com.erp.platformsync.dto.orderpull;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 订单拉取日志DTO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderPullLogDTO {

    private Long id;

    /**
     * 配置ID
     */
    private Long configId;

    /**
     * 配置名称
     */
    private String configName;

    /**
     * 平台编码
     */
    private String platform;

    /**
     * 平台名称
     */
    private String platformName;

    /**
     * 店铺ID
     */
    private Long shopId;

    /**
     * 拉取类型
     */
    private String pullType;

    /**
     * 触发方式
     */
    private String triggerType;

    /**
     * 触发方式名称
     */
    private String triggerTypeName;

    /**
     * 执行状态
     */
    private String status;

    /**
     * 状态名称
     */
    private String statusName;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 执行耗时（毫秒）
     */
    private Long duration;

    /**
     * 耗时描述
     */
    private String durationDesc;

    /**
     * 拉取订单数量
     */
    private Integer orderCount;

    /**
     * 成功数量
     */
    private Integer successCount;

    /**
     * 失败数量
     */
    private Integer failCount;

    /**
     * 错误信息
     */
    private String errorMsg;

    /**
     * 重试次数
     */
    private Integer retryCount;

    private String tenantId;

    private LocalDateTime createdAt;
}
