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 SupplierRefundPageReqVO extends PageParam {

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

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

    @Schema(description = "平台供应商订单ID", example = "16380")
    private Long platSupplierOrderId;

    @Schema(description = "退款批次ID", example = "22226")
    private Long refundId;

    @Schema(description = "供应商ID", example = "23463")
    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 = "20643")
    private String supplierProductId;

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

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

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

    @Schema(description = "退款状态", example = "1")
    private Integer refundStatus;

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

    @Schema(description = "供应商退款编号")
    private String supplierRefundNo;

    @Schema(description = "退款时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] refundTime;

}