package com.ghy.goods.domain;

import com.ghy.common.annotation.Excel;
import com.ghy.common.core.domain.BaseEntity;
import com.ghy.shop.domain.Shop;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;
import java.util.Map;

/**
 * 商品
 *
 * @author clunt
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class Goods extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @Excel(name = "序号", cellType = Excel.ColumnType.NUMERIC)
    private Long goodsId;

    @Excel(name = "编码")
    private String goodsCode;

    @Excel(name = "部门id")
    private Long deptId;

    @Excel(name = "店铺id")
    private Long shopId;

    @Excel(name = "店铺名称")
    private String shopName;

    @Excel(name = "名称")
    private String goodsName;

    private String goodsDesc;

    private String goodsUnit;

    private String warrantyPeriod;

    private String servActivity;

    private String expectDuration;

    private String areaDesc;

    @Excel(name = "商品排序", cellType = Excel.ColumnType.NUMERIC)
    private Integer goodsSort;

    @Excel(name = "归属师傅", cellType = Excel.ColumnType.NUMERIC)
    private Long workerId;

    @Excel(name = "类别id,必须是关联到系统的第三级目录")
    private Long deptGoodsCategoryId;

    private String deptGoodsCategoryName;

    private List<Long> deptGoodsCategoryIds;

    private Long parGoodsCategoryId;

    private String parGoodsCategoryName;

    @Excel(name = "商品图片", cellType = Excel.ColumnType.IMAGE)
    private String goodsImgUrl;

    @Excel(name = "商品视频", cellType = Excel.ColumnType.STRING)
    private String goodsVideoUrl;

    @Excel(name = "状态", readConverterExp = "0=上架,1=下架,2删除")
    private Integer status;

    @Excel(name = "区域Id", cellType = Excel.ColumnType.NUMERIC)
    private Long areaId;

    private List<Long> areaIds;

    private Long exceptParentAreaId;

    private List<GoodsArea> goodsAreaList;

    private Map<Integer, List<GoodsImgs>> goodsImgsMap;

    private List<GoodsImgs> goodsImgsList;

    private List<GoodsStandard> goodsStandardList;

    private List<String> detailUrl;

    private List<String> lbUrl;

    private String keyword;

    /*类型：服务商品  1和 配件商品 2*/
    private Integer type;

    private List<InsuranceManager> insuranceManagers;

    private  String distance;

    /** 纬度 */
    private Double latitude;

    /** 经度 */
    private Double longitude;

    /** 到店服务 1-到店服务 2-到店服务+配送 3-到店服务+上门 */
    @Excel(name = "到店服务")
    private Integer storeService;

    /** 安装服务 1-包安装 2-不包安装 3-自费安装 */
    @Excel(name = "安装服务", readConverterExp = "1=包安装,2=不包安装,3=自费安装")
    private Integer installService;

    /** 配送服务 1-包邮 2-同城包送 3-邮费自付 4-自提 */
    @Excel(name = "配送服务", readConverterExp = "1=包邮,2=同城包送,3=邮费自付,4=自提")
    private Integer deliveryService;

    private Shop shop;

    private Shop serviceShop;

    private List<Long> goodsIds;

    private String goodsStandard;
}
