package com.seer.teach.mall.request;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import jakarta.validation.constraints.NotNull;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Schema(description = "我的订单分页查询请求实体类")
public class OrderPageListReq {
    @Schema(description = "页数")
    @NotNull(message = "页数不能为空")
    private Integer page = 1;

    @Schema(description = "页面容量")
    @NotNull(message = "页面容量不能为空")
    private Integer limits = 15;

    @Schema(description = "订单状态 0-待付款/待审核，1-已付款，2-已发货，3-已完成，4-已取消,5-待评价，50：已确认，60：已驳回,70:仓库已发货")
    private Integer orderStatus;

    @Schema(description = "订单状态列表")
    private List<Integer> orderStatusList;

    /**
     * 租户id
     */
    @Schema(description = "租户id")
    private String tenantId;

    /**
     * 商家ID
     */
    @Schema(description = "商家ID")
    private Integer merchantUserId;

    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Integer userId;

    @Schema(description = "订单编号（唯一）")
    private String orderSn;

    @Schema(description = "物流状态（0-未发货，1-已发货，2-已签收）")
    private Integer shippingStatus;

    @Schema(description = "支付状态（0-未支付，1-已支付，2-支付失败）")
    private Integer payStatus;

    @Schema(description = "收货人姓名")
    private String consignee;

    @Schema(description = "省份")
    private String province;

    @Schema(description = "城市")
    private String city;

    @Schema(description = "区/县")
    private String district;

    @Schema(description = "详细地址")
    private String address;

    @Schema(description = "联系电话")
    private String mobile;

}