package com.hzs.activity.pick.param;

import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.enums.EDelivery;
import com.hzs.common.core.enums.ETransportType;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * @Description: 新零售提货确认订单入参
 * @Author: jiang chao
 * @Time: 2025/1/10 17:25
 * @Classname: RetailPickConfirmOrderParam
 * @PackageName: com.hzs.activity.pick.param
 */
@Data
public class RetailPickConfirmOrderParam implements Serializable {

    /**
     * 商品信息
     */
    @NotNull(message = "缺少商品信息")
    private List<RetailPickProductParam> productList;

    /**
     * 收货人
     */
    @NotEmpty(message = "收货人信息不能为空")
    @Size(max = 20, message = "收货人不能超过20位")
    private String recName;
    /**
     * 收货电话
     */
    @NotEmpty(message = "收货人信息不能为空")
    @Size(max = 20, message = "收货电话不能超过20位")
    private String recPhone;
    /**
     * 收货省
     */
    @NotNull(message = "收货人信息不能为空")
    private Integer recProvince;
    /**
     * 收货市
     */
    @NotNull(message = "收货人信息不能为空")
    private Integer recCity;
    /**
     * 收货县
     */
    @NotNull(message = "收货人信息不能为空")
    private Integer recCounty;
    /**
     * 收货地址
     */
    @NotEmpty(message = "收货人信息不能为空")
    @Size(max = 100, message = "收货地址不能超过100位")
    private String recAddress;
    /**
     * 备注
     */
    @Size(max = 200, message = "备注不能超过200位")
    private String remark;

    /**
     * 支付密码
     */
    @NotEmpty(message = "支付密码不能为空")
    private String payPwd;

    /**
     * 所属国家默认为中国
     */
    private Integer pkCountry = CountryConstants.CHINA_COUNTRY;
    /**
     * 发货方式（1=快递发货）
     */
    private Integer deliveryWay = EDelivery.FAST_MAIL.getValue();
    /**
     * 运输方式（1=陆运）
     */
    private Integer tranType = ETransportType.LAND.getValue();

}
