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

import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;

/**
* 不可出渠道异常商品价格 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class OrderExceptionChannelPriceBaseVO {

    @ApiModelProperty(value = "订单id", required = true)
    @NotNull(message = "订单id不能为空")
    private Long orderId;

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

    @ApiModelProperty(value = "异常ID")
    private Long exceptionId;

    @ApiModelProperty(value = "异常处理结果ID")
    private Long exceptionResultId;

    @ApiModelProperty(value = "运费")
    private java.math.BigDecimal freightFee;

    @ApiModelProperty(value = "运费货币单位")
    private Long freightCurrencyId;

    @ApiModelProperty(value = "运费计量单位")
    private Long freightUnitId;

    @ApiModelProperty(value = "清关费")
    private java.math.BigDecimal clearanceFee;

    @ApiModelProperty(value = "清关费货币单位")
    private Long clearanceCurrencyId;

    @ApiModelProperty(value = "清关费计量单位")
    private Long clearanceUnitId;

    @ApiModelProperty(value = "是否预付：0 到付 1 预付", required = true)
    @NotNull(message = "是否预付：0 到付 1 预付不能为空")
    private Boolean isPayAdvance;

    @ApiModelProperty(value = "计费方式：0 运费/清关费 1 全包价", required = true)
    @NotNull(message = "计费方式：0 运费/清关费 1 全包价不能为空")
    private Integer charging;

}
