package com.qdb.sdk.model.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 系统商品信息
 * <p>
 * 对应 {@code foonsu.erp.sysGoods.list} 接口 data 列表中的元素。
 * </p>
 *
 * @author qdb-sdk
 * @version 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysGoodsVO {

    /** 商品ID */
    private Long goodsId;

    /** 商品编码 */
    private String goodsCode;

    /** 商品名称 */
    private String goodsName;

    /** 商品简称 */
    private String shortGoodsName;

    /** 规格名称 */
    private String specs;

    /** 单位名称 */
    private String skUnit;

    /** 商品类别编码 */
    private String goodsKindCode;

    /** 商品类别名称 */
    private String goodsKindName;

    /** 品牌名称 */
    private String brand;

    /** 税率类型：0-含税；1-免税；2-未税 */
    private Integer taxType;

    /** 税率 */
    private BigDecimal stockTaxRate;

    /** 商品类型：0-普通商品；1-批次；2-唯一码 */
    private String batchType;

    /** 含有效期：0-不含；1-含 */
    private String isExpried;

    /** 保质期天数 */
    private Integer validDays;

    /** 商品条码 */
    private List<String> barCodeList;

    /** 供应商ID */
    private Long providerId;

    /** 供应商名称 */
    private String providerName;

    /** 标准售价 */
    private BigDecimal salePrice;

    /** 图片路径 */
    private String picPath;

    /** 组合商品：0-非组合；1-组合 */
    private String combination;

    /** 商品货号 */
    private String articleNo;

    /** 重量 */
    private BigDecimal weight;

    /** 长（单位mm） */
    private Integer length;

    /** 宽（单位mm） */
    private Integer width;

    /** 高（单位mm） */
    private Integer height;

    /** 体积单位 */
    private String bulkUnit;

    /** 采购指导价 */
    private BigDecimal costPrice;

    /** 自定义字段1 */
    private String ext1;

    /** 自定义字段2 */
    private String ext2;

    /** 自定义字段3 */
    private String ext3;

    /** 自定义字段4 */
    private String ext4;

    /** 自定义字段5 */
    private String ext5;

    /** 自定义字段6 */
    private String ext6;

    /** 修改日期 */
    private Date modifyDate;

    /** 组合商品明细集合 */
    private List<Object> combinationGoodsList;
}
