package com.hzs.sale.wares.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;

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

/**
 * @Description:
 * @Author: yuhui
 * @Time: 2022/11/9 11:02
 * @Classname: WaresVo
 * @PackageName: com.hzs.sale.wares.vo
 */
@Data
public class WaresVo {
    /**
     * 商品主键
     */
    private Integer pkWares;

    /**
     * 排序
     */
    @Excel(name = "排序")
    private Integer sort;

    /**
     * 视频主图
     */
    private String cover;

    /**
     * 主图
     */
    private String cover1;
    /**
     * 商品名称
     */
    @Excel(name = "商品名称")
    private String waresName;

    @Transaction(transactionKey = EnumsPrefixConstants.KEY_SPEC)
    private Integer pkTransaction;


    private String pkTransactionVal;

    /**
     * 商品编号
     */
    @Excel(name = "商品编码")
    private String waresCode;

    /**
     * 商品价格
     */
    @Excel(name = "商品价格")
    @BigDecimalFormat("#0.0000")
    private BigDecimal waresPrice;
    /**
     * 商品业绩
     */
    @Excel(name = "商品业绩")
    @BigDecimalFormat("#0.0000")
    private BigDecimal waresAchieve;

    /**
     * 所属专区
     */

    private Integer specialArea;
    /**
     * 所属专区
     */
    @Excel(name = "所属专区")
    private String specialAreaVal;
    /**
     * 是否单品
     */
    @Excel(name = "套餐类型",readConverterExp = "1=单品,0=套装")
    private Integer isSingle;

    /**
     * 是否包邮
     */
    @Excel(name = "包邮类型",readConverterExp = "0=包邮,1=不包邮")
    private Integer isFreeMail;


    /**
     * 分类名称
     */
    @Excel(name = "商品分类")
    private String classifyName;

    /**
     * 是否推荐  0 推荐  1 不推荐
     */
    @Excel(name = "是否推荐",readConverterExp = "0=推荐,1=不推荐")
    private Integer isRecommend;
    /**
     * 是否推荐
     */
    private String isRecommendVal;
    /**
     * 供应方式（经营范围）
     */

    private Integer operateScope;
    /**
     * 供应方式（经营范围）
     */
    @Excel(name = "供应方式")
    private String operateScopeVal;
    /**
     * 是否出售
     */
    @Excel(name = "销售状态",readConverterExp = "0=允许销售,1=禁止销售")
    private Integer isSale;

    /**
     * 是否上架
     */
    @Excel(name = "上架状态",readConverterExp = "0=上架,1=下架")
    private Integer isPutOn;
    /**
     * 预售状态
     */

    private Integer preSaleStatus;

    /**
     * 预售状态
     */
    @Excel(name = "预售状态")
    private String preSaleStatusVal;

    /**
     * 虚拟 销量累加值
     */
    @Excel(name = "虚拟销量")
    private Integer sales;
    /**
     * 真实销量
     */
    @Excel(name = "实际销量")
    private Integer actualSales;
    /**
     * （预计时间）到货时间
     */
    @Excel(name = "预计发货时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date arrivalTime;

    /**
     * 上架时间
     */
    @Excel(name = "上架时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date putOnTime;
    /**
     * 下架时间
     */
    @Excel(name = "下架时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date putOffTime;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;
    /**
     * 是否强读
     */
    private Integer isForceoRead;

    /**
     * 强读时间
     */
    private Integer forceoReadTime;

    /**
     * 分类展示
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_SPEC)
    private Integer areaClassifyTransactionKey;

    /**
     * 所属分类
     */
    private String areaClassifyTransactionKeyVal;


}
