package com.sckw.order.model.vo.req;

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * @desc: 商品信息
 * @author: yzc
 * @date: 2023-07-12 10:17
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class GoodsInfo {
    /**
     * 商品id
     */
    @NotNull(message = "商品id不能为空")
    private Long goodsId;

    /**
     * 商品编号
     */
    @NotBlank(message = "商品编号不能为空")
    private String goodsCode;

    /**
     * 商品名称
     */
    @NotBlank(message = "商品名称不能为空")
    private String goodsName;

    /**
     * 商品类型
     */
    @NotBlank(message = "商品类型不能为空")
    private String goodsType;

    /**
     * 商品发票税率（%）
     */
    @NotBlank(message = "商品发票税率不能为空")
    private String goodsTaxRate;

    /**
     * 商品尺寸大小
     */
    @NotBlank(message = "商品尺寸大小不能为空")
    private String goodsSpec;

    /**
     * 单位（吨、方、箱、件）
     */
    @NotBlank(message = "商品单位不能为空")
    private String unit;
    /**
     * 价格段id
     */
    @NotNull(message = "价格段id不能为空")
    private Long priceRangeId;

    /**
     * 订单成交单价
     */
    @NotNull(message = "订单成交单价不能为空")
    @DecimalMin(value = "0.00",message = "订单成交单价最小为零")
    private BigDecimal unitPrice;

    /**
     * 商品skuId
     */
    private Long skuId;

    /**
     * 收款单位id
     */
    @NotNull(message = "收款单位id不能为空")
    private Long collectionUnitId;

    /**
     * 收款单位名称
     */
    @NotBlank(message = "收款单位名称不能为空")
    private String collectionUnit;

}
