package cn.iocoder.yudao.module.order.vo.orderSplitItem;

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

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

@Data
@ToString
@EqualsAndHashCode
@ApiModel("管理后台 - 订单拆单产品项创建 Request VO")
public class OrderSplitItemCreateReqVO {

    /**
     * 拆单id
     */
    @ApiModelProperty(value = "拆单id", required = true)
    @NotNull(message = "拆单id不能为空")
    private Long orderSplitId;
    /**
     * 订单项id
     */
    @ApiModelProperty(value = "订单项id", required = true)
    @NotNull(message = "订单项id不能为空")
    private Long orderItemId;

    /**
     * 件数
     */
    @ApiModelProperty(value = "件数", required = true)
    @NotNull(message = "件数不能为空")
    private Integer num;

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

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

    @ApiModelProperty(value = "收费重量")
    private BigDecimal chargeWeight;

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

    @ApiModelProperty(value = "收费体积")
    private BigDecimal chargeVolume;


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

    @ApiModelProperty(value = "规格记录")
    private List<OrderSpiltItemSpecsRecordVO> specsRecordVOList;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "是否出货拆单")
    private Boolean shipmentSplit = Boolean.FALSE;

    /** 空运拆单可自定义成交单价参数 **/

    @ApiModelProperty(value = "运费成交单价")
    private BigDecimal oneSeaFreight = BigDecimal.ZERO;

    @ApiModelProperty(value = "清关费单价(成交)")
    private BigDecimal oneClearanceFreight = BigDecimal.ZERO;


}
