package com.kmall.admin.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * @author Scott
 * @email
 * @date 2017-08-13 10:41:08
 */
public class GoodsEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    //主键
    private Long id;
    //商品类型Id
    private Integer categoryId;
    //供应商id
    private Integer supplierId;
    //商品序列号
    private String goodsSn;
    //名称
    private String name;
    //品牌Id
    private Integer brandId;
    //运费id
    private Integer freightId;
    //品牌
    private String brand;
    //商品库存
    private Integer goodsNumber;
    //关键字
    private String keywords;
    //简明介绍
    private String goodsBrief;
    //商品描述
    private String goodsDesc;
    //添加时间
    private Date addTime;
    //修改时间
    private Date updateTime;
    //排序
    private Integer sortOrder;
    //删除状态
    private Integer isDelete;
    //属性类别
    private Integer attributeCategory;
    //库存价格
    private BigDecimal counterPrice;
    //附加价格
    private BigDecimal extraPrice;
    //是否新商品
    private Integer isNew;
    //商品单位
    private String goodsUnit;
    //商品主图
    private String primaryPicUrl;
    //商品列表图
    private String listPicUrl;
    //商品税率
    private BigDecimal goodsRate;
    //零售价格
//    private BigDecimal retailPrice;
    //销售量
    private Integer sellVolume;
    //主sku　product_id
    private Long primaryProductId;
    //单位价格，单价
    private BigDecimal unitPrice;
    //推广描述
    private String promotionDesc;
    //推广标签
    private String promotionTag;
    //APP专享价
    private BigDecimal appExclusivePrice;
    //是否是APP专属
    private Integer isAppExclusive;
    //限购
    private Integer isLimited;
    //上架
    private Integer isOnSale;
    //热销
    private Integer isHot;
    //市场价
//    private BigDecimal marketPrice;

    //零售价格
    private BigDecimal storeRetailPrice;
    //市场价
    private BigDecimal storeMarketPrice;
    /**
     * 产品条码
     */
    private String prodBarcode;
    /**
     * 计量单位代码，参见海关编码
     */
    private String unitCode;
    /**
     * 海关商品编码
     */
    private String cusGoodsCode;
    /**
     * 国检规格型号
     */
    private String ciqProdModel;
    /**
     * 原产国代码，海关编码
     */
    private String oriCntCode;
    /**
     * 海关申报要素，报统一版
     */
    private String cusDeclEle;
    /**
     * 海关备案编号，企业自编，用于报园区
     */
    private String cusRecCode;

    private String sku;

    private String goodsBizType;

    private String createrSn;

    private Date createTime;

    private String moderSn;

    private Date modTime;

    private Date tstm;
    /**
     * 用户ID
     */
    private Long createUserId;

    private Long createUserDeptId;

    // 商品规格

    // 商品规格编号

    /**
     * 用户ID
     */
    private Long updateUserId;
    // 商品类型
    private Integer goodsType = 0; // 0普通 1 2团购

    private List<GoodsAttributeEntity> attributeEntityList = new ArrayList<>();

    private List<GoodsGalleryEntity> goodsImgList = new ArrayList<>();

    private List<ProductEntity> productEntityList = new ArrayList<>();
    /**
     * 翻译用字段
     */
    //属性类别
    private String attributeCategoryName;
    //视频地址
    private String videoUrl;

    private String stockNum;

    private String storeName;

    private String productId;

    private Integer storeId;

    /**
     * 导入翻译数据
     */
    //商品类型
    private String categoryName;
    //品牌
    private String brandName;

    //商户编号
    private String merchSn;
    private String merchName;
    private String thirdPartyMerchCode;
    private String isStockShare;

    //毛重,kg
    private BigDecimal grossWeight;

    //净重,kg
    private BigDecimal netWeight;

    private String isSupplierGoods;
    private String goodsIsStockShare;
    private String isStockShareBySuppler;

    /**
     * 商品库存数量变化后是否已共享,0：否，1：是(下单、退款、取消订单触发)
     */
    private String isGoodsShareStock;

    public String getIsGoodsShareStock() {
        return isGoodsShareStock;
    }

    public void setIsGoodsShareStock(String isGoodsShareStock) {
        this.isGoodsShareStock = isGoodsShareStock;
    }

    public String getIsSupplierGoods() {
        return isSupplierGoods;
    }

    public void setIsSupplierGoods(String isSupplierGoods) {
        this.isSupplierGoods = isSupplierGoods;
    }

    public String getGoodsIsStockShare() {
        return goodsIsStockShare;
    }

    public void setGoodsIsStockShare(String goodsIsStockShare) {
        this.goodsIsStockShare = goodsIsStockShare;
    }

    public String getIsStockShareBySuppler() {
        return isStockShareBySuppler;
    }

    public void setIsStockShareBySuppler(String isStockShareBySuppler) {
        this.isStockShareBySuppler = isStockShareBySuppler;
    }

    public BigDecimal getGrossWeight() {
        return grossWeight;
    }

    public void setGrossWeight(BigDecimal grossWeight) {
        this.grossWeight = grossWeight;
    }

    public BigDecimal getNetWeight() {
        return netWeight;
    }

    public void setNetWeight(BigDecimal netWeight) {
        this.netWeight = netWeight;
    }

    public String getIsStockShare() {
        return isStockShare;
    }

    public void setIsStockShare(String isStockShare) {
        this.isStockShare = isStockShare;
    }

    public String getThirdPartyMerchCode() {
        return thirdPartyMerchCode;
    }

    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
        this.thirdPartyMerchCode = thirdPartyMerchCode;
    }

    public BigDecimal getStoreRetailPrice() {
        return storeRetailPrice;
    }

    public void setStoreRetailPrice(BigDecimal storeRetailPrice) {
        this.storeRetailPrice = storeRetailPrice;
    }

    public BigDecimal getStoreMarketPrice() {
        return storeMarketPrice;
    }

    public void setStoreMarketPrice(BigDecimal storeMarketPrice) {
        this.storeMarketPrice = storeMarketPrice;
    }

    public String getMerchName() {
        return merchName;
    }

    public void setMerchName(String merchName) {
        this.merchName = merchName;
    }

    public String getMerchSn() {
        return merchSn;
    }

    public void setMerchSn(String merchSn) {
        this.merchSn = merchSn;
    }

    public Integer getStoreId() {
        return storeId;
    }

    public void setStoreId(Integer storeId) {
        this.storeId = storeId;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getStockNum() {
        return stockNum;
    }

    public void setStockNum(String stockNum) {
        this.stockNum = stockNum;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public Integer getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Integer supplierId) {
        this.supplierId = supplierId;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public String getGoodsBizType() {
        return goodsBizType;
    }

    public void setGoodsBizType(String goodsBizType) {
        this.goodsBizType = goodsBizType;
    }

    public String getCreaterSn() {
        return createrSn;
    }

    public void setCreaterSn(String createrSn) {
        this.createrSn = createrSn;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getModerSn() {
        return moderSn;
    }

    public void setModerSn(String moderSn) {
        this.moderSn = moderSn;
    }

    public Date getModTime() {
        return modTime;
    }

    public void setModTime(Date modTime) {
        this.modTime = modTime;
    }

    public Date getTstm() {
        return tstm;
    }

    public void setTstm(Date tstm) {
        this.tstm = tstm;
    }


    public Long getCreateUserDeptId() {
        return createUserDeptId;
    }

    public void setCreateUserDeptId(Long createUserDeptId) {
        this.createUserDeptId = createUserDeptId;
    }

    public List<GoodsGalleryEntity> getGoodsImgList() {
        return goodsImgList;
    }

    public void setGoodsImgList(List<GoodsGalleryEntity> goodsImgList) {
        this.goodsImgList = goodsImgList;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getAttributeCategoryName() {
        return attributeCategoryName;
    }

    public void setAttributeCategoryName(String attributeCategoryName) {
        this.attributeCategoryName = attributeCategoryName;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    /**
     * 设置：主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取：主键
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置：商品类型Id
     */
    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    /**
     * 获取：商品类型Id
     */
    public Integer getCategoryId() {
        return categoryId;
    }

    /**
     * 设置：商品序列号
     */
    public void setGoodsSn(String goodsSn) {
        this.goodsSn = goodsSn;
    }

    /**
     * 获取：商品序列号
     */
    public String getGoodsSn() {
        return goodsSn;
    }

    /**
     * 设置：名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取：名称
     */
    public String getName() {
        return name;
    }

    public Integer getFreightId() {
        return freightId;
    }

    public void setFreightId(Integer freightId) {
        this.freightId = freightId;
    }

    /**
     * 设置：品牌Id
     */
    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    /**
     * 获取：品牌Id
     */
    public Integer getBrandId() {
        return brandId;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    /**
     * 设置：商品序列号
     */
    public void setGoodsNumber(Integer goodsNumber) {
        this.goodsNumber = goodsNumber;
    }

    /**
     * 获取：商品序列号
     */
    public Integer getGoodsNumber() {
        return goodsNumber;
    }

    /**
     * 设置：关键字
     */
    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    /**
     * 获取：关键字
     */
    public String getKeywords() {
        return keywords;
    }

    /**
     * 设置：简明介绍
     */
    public void setGoodsBrief(String goodsBrief) {
        this.goodsBrief = goodsBrief;
    }

    /**
     * 获取：简明介绍
     */
    public String getGoodsBrief() {
        return goodsBrief;
    }

    /**
     * 设置：商品描述
     */
    public void setGoodsDesc(String goodsDesc) {
        this.goodsDesc = goodsDesc;
    }

    /**
     * 获取：商品描述
     */
    public String getGoodsDesc() {
        return goodsDesc;
    }

    /**
     * 设置：上架
     */
    public void setIsOnSale(Integer isOnSale) {
        this.isOnSale = isOnSale;
    }

    /**
     * 获取：上架
     */
    public Integer getIsOnSale() {
        return isOnSale;
    }

    /**
     * 设置：添加时间
     */
    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    /**
     * 获取：添加时间
     */
    public Date getAddTime() {
        return addTime;
    }

    /**
     * 设置：排序
     */
    public void setSortOrder(Integer sortOrder) {
        this.sortOrder = sortOrder;
    }

    /**
     * 获取：排序
     */
    public Integer getSortOrder() {
        return sortOrder;
    }

    /**
     * 设置：删除状态
     */
    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 获取：删除状态
     */
    public Integer getIsDelete() {
        return isDelete;
    }

    /**
     * 设置：属性类别
     */
    public void setAttributeCategory(Integer attributeCategory) {
        this.attributeCategory = attributeCategory;
    }

    /**
     * 获取：属性类别
     */
    public Integer getAttributeCategory() {
        return attributeCategory;
    }

    /**
     * 设置：专柜价格
     */
    public void setCounterPrice(BigDecimal counterPrice) {
        this.counterPrice = counterPrice;
    }

    /**
     * 获取：专柜价格
     */
    public BigDecimal getCounterPrice() {
        return counterPrice;
    }

    /**
     * 设置：附加价格
     */
    public void setExtraPrice(BigDecimal extraPrice) {
        this.extraPrice = extraPrice;
    }

    /**
     * 获取：附加价格
     */
    public BigDecimal getExtraPrice() {
        return extraPrice;
    }

    /**
     * 设置：是否新商品
     */
    public void setIsNew(Integer isNew) {
        this.isNew = isNew;
    }

    /**
     * 获取：是否新商品
     */
    public Integer getIsNew() {
        return isNew;
    }

    /**
     * 设置：商品单位
     */
    public void setGoodsUnit(String goodsUnit) {
        this.goodsUnit = goodsUnit;
    }

    /**
     * 获取：商品单位
     */
    public String getGoodsUnit() {
        return goodsUnit;
    }

    /**
     * 设置：商品主图
     */
    public void setPrimaryPicUrl(String primaryPicUrl) {
        this.primaryPicUrl = primaryPicUrl;
    }

    /**
     * 获取：商品主图
     */
    public String getPrimaryPicUrl() {
        return primaryPicUrl;
    }

    /**
     * 设置：商品列表图
     */
    public void setListPicUrl(String listPicUrl) {
        this.listPicUrl = listPicUrl;
    }

    /**
     * 获取：商品列表图
     */
    public String getListPicUrl() {
        return listPicUrl;
    }

    public BigDecimal getGoodsRate() {
        return goodsRate;
    }

    public void setGoodsRate(BigDecimal goodsRate) {
        this.goodsRate = goodsRate;
    }

//    /**
//     * 设置：零售价格
//     */
//    public void setRetailPrice(BigDecimal retailPrice) {
//        this.retailPrice = retailPrice;
//    }
//
//    /**
//     * 获取：零售价格
//     */
//    public BigDecimal getRetailPrice() {
//        return retailPrice;
//    }

    /**
     * 设置：销售量
     */
    public void setSellVolume(Integer sellVolume) {
        this.sellVolume = sellVolume;
    }

    /**
     * 获取：销售量
     */
    public Integer getSellVolume() {
        return sellVolume;
    }

    /**
     * 设置：主sku　product_id
     */
    public void setPrimaryProductId(Long primaryProductId) {
        this.primaryProductId = primaryProductId;
    }

    /**
     * 获取：主sku　product_id
     */
    public Long getPrimaryProductId() {
        return primaryProductId;
    }

    /**
     * 设置：单位价格，单价
     */
    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    /**
     * 获取：单位价格，单价
     */
    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    /**
     * 设置：推广描述
     */
    public void setPromotionDesc(String promotionDesc) {
        this.promotionDesc = promotionDesc;
    }

    /**
     * 获取：推广描述
     */
    public String getPromotionDesc() {
        return promotionDesc;
    }

    /**
     * 设置：推广标签
     */
    public void setPromotionTag(String promotionTag) {
        this.promotionTag = promotionTag;
    }

    /**
     * 获取：推广标签
     */
    public String getPromotionTag() {
        return promotionTag;
    }

    /**
     * 设置：APP专享价
     */
    public void setAppExclusivePrice(BigDecimal appExclusivePrice) {
        this.appExclusivePrice = appExclusivePrice;
    }

    /**
     * 获取：APP专享价
     */
    public BigDecimal getAppExclusivePrice() {
        return appExclusivePrice;
    }

    /**
     * 设置：是否是APP专属
     */
    public void setIsAppExclusive(Integer isAppExclusive) {
        this.isAppExclusive = isAppExclusive;
    }

    /**
     * 获取：是否是APP专属
     */
    public Integer getIsAppExclusive() {
        return isAppExclusive;
    }

    /**
     * 设置：限购
     */
    public void setIsLimited(Integer isLimited) {
        this.isLimited = isLimited;
    }

    /**
     * 获取：限购
     */
    public Integer getIsLimited() {
        return isLimited;
    }

    /**
     * 设置：热销
     */
    public void setIsHot(Integer isHot) {
        this.isHot = isHot;
    }

    /**
     * 获取：热销
     */
    public Integer getIsHot() {
        return isHot;
    }

//    public BigDecimal getMarketPrice() {
//        return marketPrice;
//    }
//
//    public void setMarketPrice(BigDecimal marketPrice) {
//        this.marketPrice = marketPrice;
//    }

    public List<GoodsAttributeEntity> getAttributeEntityList() {
        return attributeEntityList;
    }

    public void setAttributeEntityList(List<GoodsAttributeEntity> attributeEntityList) {
        this.attributeEntityList = attributeEntityList;
    }

    public Long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public Long getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(Long updateUserId) {
        this.updateUserId = updateUserId;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public List<ProductEntity> getProductEntityList() {
        return productEntityList;
    }

    public void setProductEntityList(List<ProductEntity> productEntityList) {
        this.productEntityList = productEntityList;
    }

    public Integer getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(Integer goodsType) {
        this.goodsType = goodsType;
    }

    public String getProdBarcode() {
        return prodBarcode;
    }

    public void setProdBarcode(String prodBarcode) {
        this.prodBarcode = prodBarcode;
    }

    public String getUnitCode() {
        return unitCode;
    }

    public void setUnitCode(String unitCode) {
        this.unitCode = unitCode;
    }

    public String getCusGoodsCode() {
        return cusGoodsCode;
    }

    public void setCusGoodsCode(String cusGoodsCode) {
        this.cusGoodsCode = cusGoodsCode;
    }

    public String getCiqProdModel() {
        return ciqProdModel;
    }

    public void setCiqProdModel(String ciqProdModel) {
        this.ciqProdModel = ciqProdModel;
    }

    public String getOriCntCode() {
        return oriCntCode;
    }

    public void setOriCntCode(String oriCntCode) {
        this.oriCntCode = oriCntCode;
    }

    public String getCusDeclEle() {
        return cusDeclEle;
    }

    public void setCusDeclEle(String cusDeclEle) {
        this.cusDeclEle = cusDeclEle;
    }

    public String getCusRecCode() {
        return cusRecCode;
    }

    public void setCusRecCode(String cusRecCode) {
        this.cusRecCode = cusRecCode;
    }
}
