package com.yc.ship.module.trade.controller.admin.supplier.vo;

import com.yc.ship.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import static com.yc.ship.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


@Schema(description = "管理后台 - 供应商订单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SupplierOrderPageReqVO extends PageParam {

    @Schema(description = "订单ID", example = "14316")
    private Long orderId;

    @Schema(description = "平台订单号")
    private String orderNo;

    @Schema(description = "供应商ID", example = "10186")
    private Long supplierId;

    @Schema(description = "供应商名称", example = "芋艿")
    private String supplierName;

    @Schema(description = "供应商类型;0平台 1其他", example = "1")
    private Integer supplierType;

    @Schema(description = "供应商订单号")
    private String supplierOrderNo;

    @Schema(description = "供应商产品编码", example = "22954")
    private String supplierProductId;

    @Schema(description = "订单金额")
    private BigDecimal amount;

    @Schema(description = "订单状态", example = "1")
    private Integer orderStatus;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "交易编号")
    private String tradeNo;

    @Schema(description = "基础产品ID", example = "26843")
    private Long productBaseId;

    @Schema(description = "使用日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] useDate;

    @Schema(description = "数量")
    private Integer quantity;

    @Schema(description = "一票多人数量")
    private Integer quantityOfOne;

    @Schema(description = "是否实名", example = "赵六")
    private Integer useRealName;

    @Schema(description = "来源ID")
    private String sourceId;

    private Long tenantId;
}