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 OrderPullConfigDTO {

    private Long id;

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

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

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

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

    /**
     * 店铺名称
     */
    private String shopName;

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

    /**
     * 拉取间隔（分钟）
     */
    private Integer pullInterval;

    /**
     * Cron表达式
     */
    private String cronExpression;

    /**
     * 是否启用
     */
    private Boolean enabled;

    /**
     * 是否自动重试
     */
    private Boolean retryEnabled;

    /**
     * 最大重试次数
     */
    private Integer maxRetries;

    /**
     * 重试间隔（分钟）
     */
    private Integer retryInterval;

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

    /**
     * 上次拉取时间
     */
    private LocalDateTime lastPullTime;

    /**
     * 下次拉取时间
     */
    private LocalDateTime nextPullTime;

    /**
     * 上次成功拉取时间
     */
    private LocalDateTime lastSuccessTime;

    /**
     * 备注
     */
    private String remark;

    private String tenantId;

    private LocalDateTime createdAt;

    private String createdBy;
}
