package com.tmerclub.cloud.product.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.tmerclub.cloud.common.product.vo.BrandLangVO;
import com.tmerclub.cloud.common.product.vo.SpuLangVO;
import com.tmerclub.cloud.common.product.vo.SpuSkuAttrValueVO;
import lombok.Data;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
 * @author lanhai
 */
@Data
@ToString
public class SupplierProdExcelVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * excel 信息
     */
    public static final String EXCEL_NAME = "商品信息";
    public static final String SHEET_NAME = "商品";
    /**
     * 哪一行开始导出
     */
    public static final int MERGE_ROW_INDEX = 2;
    /**
     * 需要合并的列数组
     */
    public static final int[] MERGE_COLUMN_INDEX = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
    /**
     * 需要批注的列
     */
    public static final int[] COMMENT_INDEX = {3, 4, 9};
    /**
     * 对应列批注信息
     */
    public static final String[] COMMENTS = {
            "1. 选填，请填写图片在图片服务器的url地址;\n"
                    + "2. 最多可上传9张，不同图片请以\\',\\'隔开;",
            "1. 选填，请填写视频在视频服务器的url地址;\n"
                    + "2. 只能添加一个视频连接;\n"
                    + "3. 视频仅支付mp4格式，最大限制50MB;",
            "默认支持快递配送"
    };

    @ExcelProperty(value = {"商品信息", "编号*"}, index = 0)
    private String seq;

    @ExcelProperty(value = {"商品信息", "商品中文名称*"}, index = 1)
    private String nameZh;


    @ExcelProperty(value = {"商品信息", "商品spu编码"}, index = 2)
    private String spuCode;
    @ExcelProperty(value = {"商品信息", "商品图片"}, index = 3)
    private String imgs;
    @ExcelProperty(value = {"商品信息", "商品视频"}, index = 4)
    private String video;
    @ExcelProperty(value = {"商品信息", "商品中文卖点"}, index = 5)
    private String sellingPointZh;

    @ExcelProperty(value = {"商品信息", "商品中文详情"}, index = 6)
    private String detailZh;

    @ExcelProperty(value = {"商品信息", "品牌"}, index = 7)
    private String brandName;

    @ExcelProperty(value = {"商品信息", "平台分类*"}, index = 8)
    private String categoryName;

    @ExcelProperty(value = {"商品信息", "配送方式"}, index = 9)
    private String deliveryMode;

    @ExcelProperty(value = {"商品信息", "运费模板*"}, index = 10)
    private String deliveryTemplate;

    @ExcelProperty(value = {"商品信息", "固定运费金额(运费模板为固定运费时必填*)"}, index = 11)
    private String deliveryAmount;

    @ExcelProperty(value = {"商品信息", "状态*"}, index = 12)
    private String status;

    @ExcelProperty(value = {"商品sku信息", "中文sku名称"}, index = 13)
    private String skuNameZh;


    @ExcelProperty(value = {"商品sku信息", "中文销售规格"}, index = 14)
    private String propertiesZh;


    @ExcelProperty(value = {"商品sku信息", "售价"}, index = 15)
    private String priceFee;

    @ExcelProperty(value = {"商品sku信息", "市场价"}, index = 16)
    private String marketPriceFee;

    @ExcelProperty(value = {"商品sku信息", "库存"}, index = 17)
    private Integer stock;

    @ExcelProperty(value = {"商品sku信息", "商品sku编码"}, index = 18)
    private String partyCode;

    @ExcelProperty(value = {"商品sku信息", "商品重量"}, index = 19)
    private Double weight;

    @ExcelProperty(value = {"商品sku信息", "商品体积"}, index = 20)
    private Double volume;

    @ExcelProperty(value = {"商品sku信息", "库存预警"}, index = 21)
    private Long stockWarning;
    /**
     * 商品id
     */
    @ExcelIgnore
    private Long spuId;

    /**
     * 物流模板id
     */
    @ExcelIgnore
    private Long deliveryTemplateId;

    @ExcelIgnore
    private List<SpuSkuAttrValueVO> spuSkuAttrValueList;

    @ExcelIgnore
    private List<BrandLangVO> brandLangList;

    @ExcelIgnore
    private List<SpuLangVO> spuLangList;

    @ExcelIgnore
    private Long categoryId;

    @ExcelIgnore
    private Long shopCategoryId;

    @ExcelIgnore
    private String shopCategoryName;

}
