package cn.superdesk.uniorder.dto.receive.consumer.superdeskmall.opcenter;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Data
public class UnifiedFlscAccountingOrderGoodsParam {
    @NotBlank
    private String orderGoodsId;//订单商品id
    private int isPackage;//是否套餐
    private String packageId;//套餐id
    private String packageName;//套餐名称
    @NotNull
    private int goodsTypeId;//商品类型id
    @NotBlank
    private String goodsId;//商品id
    private String goodsSku;//商品编码
    private String goodsSpecification;//商品型号/规格
    @NotBlank
    private String goodsName;//商品名称
    private String unit;//商品单位
    @NotNull
    private int quantity;//商品数量
    @NotNull
    private BigDecimal originalUnitPrice;//商品原单价
    @NotNull
    private BigDecimal originalTotalPrice;//商品原总价
    @NotNull
    private BigDecimal sellingUnitPrice;//商品销售单价
    @NotNull
    private BigDecimal sellingTotalPrice;//商品销售总价
    @NotNull
    private BigDecimal negotiatedUnitPrice;//商品协议单价
    @NotNull
    private BigDecimal negotiatedTotalPrice;//商品协议总价
    @NotNull
    private BigDecimal costUnitPrice;//商品成本单价
    @NotNull
    private BigDecimal costTotalPrice;//商品成本总价
    @NotNull
    private BigDecimal discountAmount;//优惠金额
    @NotNull
    private BigDecimal goodsOrderAmount;//商品订单金额
    private String platformTaxCode;//平台税务编码
    private String platformTaxRate;//平台税务税率
    private String merchantTaxCode;//商户税务编码
    private String merchantTaxRate;//商户税务税率
    private int isDutyFree;//是否免税商品标识id
    private String cateLevel1Id;//一级分类id
    private String cateLevel1Name;//一级分类名称
    private String cateLevel2Id;//二级分类id
    private String cateLevel2Name;//二级分类名称
    private String cateLevel3Id;//三级分类id
    private String cateLevel3Name;//三级分类名称
}