package cn.iocoder.yudao.module.order.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Data
@ApiModel(value = "实际订单商品信息参数")
public class ActualOrderItemInfoParam {

    @ApiModelProperty(value = "订单项商品ID")
    @NotNull(message = "订单项商品ID不能为空")
    private Long orderItemId;

    @ApiModelProperty(value = "订单ID")
    private Long orderId;

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "运输方式id")
    private Integer transportId;

    @ApiModelProperty(value = "线路ID")
    private Long lineId;

    @ApiModelProperty(value = "渠道ID")
    private Long channelId;

    @ApiModelProperty(value = "订单项状态详情见字典")
    private Integer itemStatus;

    @ApiModelProperty(value = "商品ID")
    @NotNull(message = "商品ID不能为空")
    private Long prodId;

    @ApiModelProperty(value = "产品类型")
    private Integer prodType;

    @ApiModelProperty(value = "产品中文标题")
    private String prodTitleZh;

    @ApiModelProperty(value = "产品英文标题")
    private String prodTitleEn;

    @ApiModelProperty(value = "品牌ID")
    private Long brand;

    @ApiModelProperty(value = "0 无牌 1 有牌 2 中性")
    private Integer brandType;

    @ApiModelProperty(value = "是否预付：0 到付 1 预付")
    private Integer isPayAdvance;

    @ApiModelProperty(value = "计费方式：0 运费/清关费 1 全包价")
    private Integer charging;

    @ApiModelProperty(value = "数量")
    private Integer quantity;

    @ApiModelProperty(value = "件数")
    private Integer num;

    @ApiModelProperty(value = "单位")
    private String unit;

    @ApiModelProperty(value = "箱规")
    private String boxGauge;

    @ApiModelProperty(value = "体积")
    private BigDecimal volume;

    @ApiModelProperty(value = "重量")
    private BigDecimal weight;

    @ApiModelProperty(value = "货值")
    private BigDecimal worth;

    @ApiModelProperty(value = "货值金额单位ID")
    private Integer worthCurrency;

    @ApiModelProperty(value = "商品特性(可选多个特性ID)")
    private String prodAttrIds;

    @ApiModelProperty(value = "入仓数量", required = true)
    private Integer sumQuantity;

    @ApiModelProperty(value = "入仓件数", required = true)
    private Integer sumNum;

    @ApiModelProperty(value = "入仓体积", required = true)
    private BigDecimal sumVolume;

    @ApiModelProperty(value = "入仓重量", required = true)
    private BigDecimal sumWeight;

    @ApiModelProperty(value = "重货比", required = true)
    private BigDecimal weightRatio;

//    @ApiModelProperty(value = "运费")
//    private BigDecimal seaFreight;
//
//    @ApiModelProperty(value = "原来运费")
//    private BigDecimal originalSeaFreight;
//
//    @ApiModelProperty(value = "运费货币单位ID")
//    private Integer seaFreightCurrency;
//
//    @ApiModelProperty(value = "运费体积单位")
//    private Long seaFreightVolume;
//
//    @ApiModelProperty(value = "清关费")
//    private BigDecimal clearanceFreight;
//
//    @ApiModelProperty(value = "原清关费")
//    private BigDecimal originalClearanceFreight;
//
//    @ApiModelProperty(value = "清关费货币单位ID")
//    private Integer clearanceFreightCurrency;
//
//    @ApiModelProperty(value = "清关费体积单位")
//    private Long clearanceFreightVolume;
//
//    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
//    @ApiModelProperty(value = "开始创建时间")
//    private Date beginCreateTime;
//
//    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
//    @ApiModelProperty(value = "结束创建时间")
//    private Date endCreateTime;
}
