package com.hzs.sale.wares.vo;

import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.utils.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * @Description: 三方商品列表VO
 * @Author: jiang chao
 * @Time: 2023/5/24 15:57
 * @Classname: SaTWaresQueryVO
 * @PackageName: com.hzs.sale.wares.vo
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class SaTWaresQueryVO {

    /**
     * 主键
     */
    private Long pkId;
    /**
     * 三方商品表ID
     */
    private Long pkTWares;

    /**
     * 三方商品SKU表ID
     */
    @Excel(name = "直供序号")
    private Long pkTWaresSku;

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

    /**
     * 分类显示
     */
    @Excel(name = "商品分类")
    private String titleCategory;

    public String getTitleCategory() {
        if (StringUtils.isNotEmpty(this.titleCategoryOne)) {
            titleCategory = this.titleCategoryOne;
        }
        if (StringUtils.isNotEmpty(this.titleCategoryTwo)) {
            titleCategory += "-" + this.titleCategoryTwo;
        }
        if (StringUtils.isNotEmpty(this.titleCategoryThree)) {
            titleCategory += "-" + this.titleCategoryThree;
        }
        return titleCategory;
    }

    /**
     * 商品图片
     */
    private String cover;

    /**
     * 品牌名称
     */
    private String brandName;
    /**
     * 规格值冗余
     */
    @Excel(name = "商品规格")
    private String specValueNames;

    /**
     * 来源渠道
     */
    private Integer source;
    /**
     * 来源渠道显示
     */
    @Excel(name = "平台")
    private String sourceVal;

    /**
     * 协议价（供应价）
     */
    @Excel(name = "供应价(¥)")
    private BigDecimal agreementPrice;
    /**
     * 商品售价
     */
    @Excel(name = "售价(¥)")
    private BigDecimal price;
    /**
     * 商品pv
     */
    @Excel(name = "业绩(¥)")
    private BigDecimal achieve;

    /**
     * 商品PV（美元）
     */
    @Excel(name = "业绩($)")
    private BigDecimal achievementDollar;
    /**
     * 分享pv
     */
    private BigDecimal shareAchieve;

    /**
     * 毛利润
     */
    @Excel(name = "毛利润(¥)")
    private BigDecimal grossProfit;
    /**
     * 净利润
     */
    @Excel(name = "纯利润(¥)")
    private BigDecimal netProfit;

    /**
     * 是否上架（0=上架，1=下架）
     */
    private Integer isPutOn;

    /**
     * 是否推荐（0=推荐，1=不推荐）
     */
    @Transaction(transactionKey = EnumsPrefixConstants.RECOMMEND_TYPE)
    private Integer isRecommend;
    /**
     * 是否推荐
     */
    private String isRecommendVal;

    /**
     * 商品分类（一级分类）
     */
    private Long pkCategoryOne;
    /**
     * 一级分类名称
     */
    private String titleCategoryOne;

    /**
     * 商品分类（二级分类）
     */
    private Long pkCategoryTwo;
    /**
     * 一级分类名称
     */
    private String titleCategoryTwo;

    /**
     * 商品分类（三级分类）
     */
    private Long pkCategoryThree;
    /**
     * 一级分类名称
     */
    private String titleCategoryThree;


    /**
     * 虚拟销量
     */
    @Excel(name = "虚拟销量")
    private Integer sale;

    /**
     * 实际销量
     */
    @Excel(name = "实际销量")
    private Integer realSale;

    /**
     * 销量
     */
    @Excel(name = "销量")
    private Integer allSale;

    /**
     * 下架备注
     */
    @Excel(name = "下架说明")
    private String putOnRemark;

}
