package cn.ysk.cashier.vo;

import cn.ysk.cashier.dto.TbPlatformDictDto;
import cn.ysk.cashier.dto.shop.TbCouponCategoryDto;
import cn.ysk.cashier.pojo.shop.TbPurchaseNotice;
import com.alibaba.fastjson.JSONArray;
import lombok.Data;
import cn.ysk.cashier.pojo.product.TbProductSku;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * @author lyf
 */
@Data
public class TbProductVo {


    private Integer id;


    private String sourcePath;


    private String merchantId;


    private String shopId;


    private String name;

    private String type;


    private BigDecimal packFee;


    private BigDecimal lowPrice;


    private Integer unitId;

    private String coverImg;

    private Integer categoryId;

    private String categoryName;

    private Integer specId;


    private Integer brandId;


    private String shortTitle;


    private BigDecimal lowMemberPrice;


    private String unitSnap;


    private String shareImg;


    private JSONArray images;


    private String video;


    private String videoCoverImg;


    private Integer sort;


    private Integer limitNumber;


    private Integer productScore;


    private Integer status;


    private String failMsg;


    private Integer isRecommend;


    private Integer isHot;


    private Integer isNew;


    private Integer isOnSale;


    private Integer isShow;


    private String typeEnum;


    private Integer isDistribute;


    private Integer isDel;


    private Integer isStock;


    private Integer isPauseSale;


    private Integer isFreeFreight;


    private Long freightId;


    private String strategyType;


    private Integer strategyId;


    private Integer isVip;


    private Integer isDelete;


    private String notice;


    private Long createdAt;


    private Long updatedAt;


    private Double baseSalesNumber;

    //销量
    private Double realSalesNumber;
    //库存
    private Double stockNumber;


    private Integer salesNumber;

    private Integer thumbCount;


    private Integer storeCount;


    private Integer furnishMeal;


    private Integer furnishExpress;


    private Integer furnishDraw;


    private Integer furnishVir;


    private Integer isCombo;


    private JSONArray groupSnap;


    private Integer isShowCash;


    private Integer isShowMall;


    private Integer isNeedExamine;


    private Integer showOnMallStatus;


    private Long showOnMallTime;

    private String showOnMallErrorMsg;


    private Integer enableLabel;

    private String taxConfigId;

    private String unitName;

    private List<TbProductSku> skuList;

    private HashMap<String, String> specsInfo;

    private String specInfo;

    private String selectSpec;

    private String specTableHeaders;

    private String skuSnap;

    private BigDecimal maxPrice;

    private TbPurchaseNotice notices=new TbPurchaseNotice();
    private List<TbCouponCategoryDto> groupCategoryId = new ArrayList<>();
    private List<TbPlatformDictDto> tags = new ArrayList<>();
}
