package com.erp.report.export.dto;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

/**
 * 基础导出请求参数
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BaseExportRequest {

    @NotNull(message = "租户ID不能为空")
    private Long tenantId;

    private Long userId;

    private ExportFormat format = ExportFormat.CSV;

    @Min(value = 1, message = "页码最小为1")
    private Integer page = 1;

    @Min(value = 1, message = "每页数量最小为1")
    @Max(value = 10000, message = "每页数量最大为10000")
    private Integer pageSize = 1000;

    private Long warehouseId;

    private String keyword;

    private String platform;

    private String startDate;

    private String endDate;
}
