package com.gxwebsoft.shop.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 历史退款订单：补偿撤销水票/释放计划/送水单 的修复请求。
 */
@Data
public class RefundedOrderGltRepairRequest implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(description = "租户ID（不传则使用当前请求租户）")
    private Integer tenantId;

    @Schema(description = "指定订单ID列表（优先使用；为空则走时间窗口扫描）")
    private List<Integer> orderIds;

    @Schema(description = "指定订单号列表（可选；为空则走时间窗口扫描）")
    private List<String> orderNos;

    @Schema(description = "退款时间起（yyyy-MM-dd HH:mm:ss）")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime refundTimeStart;

    @Schema(description = "退款时间止（yyyy-MM-dd HH:mm:ss）")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime refundTimeEnd;

    @Schema(description = "每次处理条数上限（默认200）")
    private Integer batchSize;

    @Schema(description = "是否仅预览（默认true，仅统计不落库）")
    private Boolean dryRun;
}

