package com.bjtdba.entity.order;

import com.bjtdba.utils.DateUtils;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;

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

/**
 * 商品表(StoreProduct)实体类
 *
 * @author makejava
 * @since 2022-09-28 17:35:08
 */
public class StoreProduct implements Serializable {
    private static final long serialVersionUID = 728073803706193157L;
    /**
     * 商品id
     */
    private Long productId;
    /**
     * 商户Id
     */
    private Long merId;
    /**
     * 商品图片
     */
    private String image;
    /**
     * 轮播图
     */
    private String sliderImage;
    /**
     * 商品名称
     */
    private String storeName;
    /**
     * 商品简介
     */
    private String storeInfo;
    /**
     * 关键字
     */
    private String keyword;
    /**
     * 产品条码（一维码）
     */
    private String barCode;
    /**
     * 品牌 id
     */
    private Integer brandId;
    /**
     * 商户 状态（0：未上架，1：上架）
     */
    private Integer isShow;
    /**
     * 管理员 状态（0：审核中，1：审核通过 -1: 未通过 -2: 下架）
     */
    private Integer status;

    /**
     * 是否删除
     */
    private Integer isDel;
    /**
     * 分类id
     */
    private Integer cateId;
    /**
     * 单位名
     */
    private String unitName;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 总后台排序
     */
    private Integer rank;
    /**
     * 销量
     */
    private Integer sales;
    /**
     * 最低价格
     */
    private BigDecimal price;
    /**
     * 成本价
     */
    private Double cost;
    /**
     * 原价
     */
    private Double otPrice;
    /**
     * 总库存
     */
    private Long stock;
    /**
     * 是否热卖
     */
    private Integer isHot;
    /**
     * 促销单品
     */
    private Integer isBenefit;
    /**
     * 是否精品
     */
    private Integer isBest;
    /**
     * 是否新品
     */
    private Integer isNew;
    /**
     * 是否优品推荐
     */
    private Integer isGood;
    /**
     * 0.普通商品 1.秒杀商品
     */
    private Integer productType;
    /**
     * 虚拟销量
     */
    private Integer ficti;
    /**
     * 浏览量
     */
    private Integer browse;
    /**
     * 产品二维码地址(用户小程序海报)
     */
    private String codePath;
    /**
     * 主图视频链接
     */
    private String videoLink;
    /**
     * 运费模板ID
     */
    private Integer tempId;
    /**
     * 规格 0单 1多
     */
    private Integer specType;
    /**
     * 佣金比例 0.系统，1.自定义
     */
    private Integer extensionType;
    /**
     * 审核拒绝理由
     */
    private String refusal;
    /**
     * 评价分数
     */
    private BigDecimal rate;
    /**
     * 评论数
     */
    private Long replyCount;
    /**
     * 商铺状态是否 1.正常 0. 非正常
     */
    private Integer merStatus;
    /**
     * 赠送优惠券
     */
    private String giveCouponIds;
    /**
     * 是否为礼包
     */
    private Integer isGiftBag;
    /**
     * 添加时间
     */
    private Date createTime;
    /**
     * 收藏数
     */
    private Integer careCount;
    /**
     * 显示/隐藏
     */
    private Integer isUsed;
    /**
     * 原商品ID
     */
    private Integer oldProductId;
    /**
     * 志愿者商品
     */
    private Integer volunteer;
    /**
     * 商品类型：1：普通商品。2：爆款商品。3：消费积分商品 。5：会员专享商品（城中大仓）6：每日免费领商品
     */
    private Integer type;
    /**
     * 养老金（非百分比）特定商品类型可用
     */
    private Double pension;
    /**
     * 返佣（百分比）特定类型商品可用
     */
    private String commission;
    /**
     * 所属大仓ID
     */
    private Integer dcId;
    /**
     * 大仓价格
     */
    private BigDecimal dcPrice;
    /**
     * 是否秒杀 1是  0不是
     */
    private Integer seckill;
    /**
     * 秒杀 1不显示   0显示
     */
    private Integer isHide;
    /**
     * 供应链spu_Id
     */
    private String spuId;
    /**
     * 供应链成本价
     */
    private Double costPrice;
    /**
     * 供应链sku_id
     */
    private String gongSkuId;

    /**
     * 1 大仓商品 2 普通商品 3 京东商品
     */
    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
    private Integer flag;

    /**
     * 养老金
     * @return
     */
    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
    private  BigDecimal yanglao;


    /**
     * 作为查询用到的
     */
   @JsonIgnore
    private String[] cateIds;

    /**
     * 添加时间 上新排序
     */
    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
    private String isNewDES;

    /**
     * 销量排序
     */
    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
    private String salesDES;

    /**
     * 综合排序
     */
    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
    private String rankDES;

    /**
     * 价格排序
     * @return
     */
    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
    private  String priceType;



    public Long getProductId() {
        return productId;
    }

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

    public Long getMerId() {
        return merId;
    }

    public void setMerId(Long merId) {
        this.merId = merId;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getSliderImage() {
        return sliderImage;
    }

    public void setSliderImage(String sliderImage) {
        this.sliderImage = sliderImage;
    }

    public String getStoreName() {
        return storeName;
    }

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

    public String getStoreInfo() {
        return storeInfo;
    }

    public void setStoreInfo(String storeInfo) {
        this.storeInfo = storeInfo;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public String getBarCode() {
        return barCode;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }

    public Integer getBrandId() {
        return brandId;
    }

    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    public Integer getIsShow() {
        return isShow;
    }

    public void setIsShow(Integer isShow) {
        this.isShow = isShow;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    public Integer getCateId() {
        return cateId;
    }

    public void setCateId(Integer cateId) {
        this.cateId = cateId;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getRank() {
        return rank;
    }

    public void setRank(Integer rank) {
        this.rank = rank;
    }

    public Integer getSales() {
        return sales;
    }

    public void setSales(Integer sales) {
        this.sales = sales;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Double getCost() {
        return cost;
    }

    public void setCost(Double cost) {
        this.cost = cost;
    }

    public Double getOtPrice() {
        return otPrice;
    }

    public void setOtPrice(Double otPrice) {
        this.otPrice = otPrice;
    }

    public Long getStock() {
        return stock;
    }

    public void setStock(Long stock) {
        this.stock = stock;
    }

    public Integer getIsHot() {
        return isHot;
    }

    public void setIsHot(Integer isHot) {
        this.isHot = isHot;
    }

    public Integer getIsBenefit() {
        return isBenefit;
    }

    public void setIsBenefit(Integer isBenefit) {
        this.isBenefit = isBenefit;
    }

    public Integer getIsBest() {
        return isBest;
    }

    public void setIsBest(Integer isBest) {
        this.isBest = isBest;
    }

    public Integer getIsNew() {
        return isNew;
    }

    public void setIsNew(Integer isNew) {
        this.isNew = isNew;
    }

    public Integer getIsGood() {
        return isGood;
    }

    public void setIsGood(Integer isGood) {
        this.isGood = isGood;
    }

    public Integer getProductType() {
        return productType;
    }

    public void setProductType(Integer productType) {
        this.productType = productType;
    }

    public Integer getFicti() {
        return ficti;
    }

    public void setFicti(Integer ficti) {
        this.ficti = ficti;
    }

    public Integer getBrowse() {
        return browse;
    }

    public void setBrowse(Integer browse) {
        this.browse = browse;
    }

    public String getCodePath() {
        return codePath;
    }

    public void setCodePath(String codePath) {
        this.codePath = codePath;
    }

    public String getVideoLink() {
        return videoLink;
    }

    public void setVideoLink(String videoLink) {
        this.videoLink = videoLink;
    }

    public Integer getTempId() {
        return tempId;
    }

    public void setTempId(Integer tempId) {
        this.tempId = tempId;
    }

    public Integer getSpecType() {
        return specType;
    }

    public void setSpecType(Integer specType) {
        this.specType = specType;
    }

    public Integer getExtensionType() {
        return extensionType;
    }

    public void setExtensionType(Integer extensionType) {
        this.extensionType = extensionType;
    }

    public String getRefusal() {
        return refusal;
    }

    public void setRefusal(String refusal) {
        this.refusal = refusal;
    }

    public BigDecimal getRate() {
        return rate;
    }

    public void setRate(BigDecimal rate) {
        this.rate = rate;
    }

    public Long getReplyCount() {
        return replyCount;
    }

    public void setReplyCount(Long replyCount) {
        this.replyCount = replyCount;
    }

    public Integer getMerStatus() {
        return merStatus;
    }

    public void setMerStatus(Integer merStatus) {
        this.merStatus = merStatus;
    }

    public String getGiveCouponIds() {
        return giveCouponIds;
    }

    public void setGiveCouponIds(String giveCouponIds) {
        this.giveCouponIds = giveCouponIds;
    }

    public Integer getIsGiftBag() {
        return isGiftBag;
    }

    public void setIsGiftBag(Integer isGiftBag) {
        this.isGiftBag = isGiftBag;
    }

    public String getCreateTime() {
        if(createTime!=null){

            return DateUtils.dateToStrLong(createTime);
        }else {
            return null;
        }
    }

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

    public Integer getCareCount() {
        return careCount;
    }

    public void setCareCount(Integer careCount) {
        this.careCount = careCount;
    }

    public Integer getIsUsed() {
        return isUsed;
    }

    public void setIsUsed(Integer isUsed) {
        this.isUsed = isUsed;
    }

    public Integer getOldProductId() {
        return oldProductId;
    }

    public void setOldProductId(Integer oldProductId) {
        this.oldProductId = oldProductId;
    }

    public Integer getVolunteer() {
        return volunteer;
    }

    public void setVolunteer(Integer volunteer) {
        this.volunteer = volunteer;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Double getPension() {
        return pension;
    }

    public void setPension(Double pension) {
        this.pension = pension;
    }

    public String getCommission() {
        return commission;
    }

    public void setCommission(String commission) {
        this.commission = commission;
    }

    public Integer getDcId() {
        return dcId;
    }

    public void setDcId(Integer dcId) {
        this.dcId = dcId;
    }

    public BigDecimal getDcPrice() {
        return dcPrice;
    }

    public void setDcPrice(BigDecimal dcPrice) {
        this.dcPrice = dcPrice;
    }

    public Integer getSeckill() {
        return seckill;
    }

    public void setSeckill(Integer seckill) {
        this.seckill = seckill;
    }

    public Integer getIsHide() {
        return isHide;
    }

    public void setIsHide(Integer isHide) {
        this.isHide = isHide;
    }

    public String getSpuId() {
        return spuId;
    }

    public void setSpuId(String spuId) {
        this.spuId = spuId;
    }

    public Double getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(Double costPrice) {
        this.costPrice = costPrice;
    }

    public String getGongSkuId() {
        return gongSkuId;
    }

    public void setGongSkuId(String gongSkuId) {
        this.gongSkuId = gongSkuId;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    public BigDecimal getYanglao() {
        return yanglao;
    }

    public void setYanglao(BigDecimal yanglao) {
        this.yanglao = yanglao;
    }

    public String[] getCateIds() {
        return cateIds;
    }

    public void setCateIds(String[] cateIds) {
        this.cateIds = cateIds;
    }

    public String getIsNewDES() {
        return isNewDES;
    }

    public void setIsNewDES(String isNewDES) {
        this.isNewDES = isNewDES;
    }

    public String getSalesDES() {
        return salesDES;
    }

    public void setSalesDES(String salesDES) {
        this.salesDES = salesDES;
    }

    public String getRankDES() {
        return rankDES;
    }

    public void setRankDES(String rankDES) {
        this.rankDES = rankDES;
    }

    public String getPriceType() {
        return priceType;
    }

    public void setPriceType(String priceType) {
        this.priceType = priceType;
    }
}

