package com.fzm.mall.server.admin.goods_center.entity.dto;

import com.fzm.mall.server.admin.annotation.CustomType;
import com.fzm.mall.server.admin.constant.MALLGlobalConfig;
import com.fzm.mall.server.admin.constant.MallResponseError;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author wangp
 * @date 2021/3/9 10:37
 * @description 商品信息
 * @since JDK 1.8
 */
@Data
@ApiModel(value = "GoodsSpuDTO", description = "商品信息")
public class GoodsSpuDraftDTO {

    @ApiModelProperty("商品ID")
    private String goodsId;

    @ApiModelProperty("商品名称")
    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String name;

    @ApiModelProperty("商品类型")
    private Integer type;

    @ApiModelProperty("商品描述")
    private String description;

    @ApiModelProperty("商品属性")
    private String prop;

    @ApiModelProperty("商品类目")
    private String categoryId;

    @ApiModelProperty("商品缩略图")
    private String thumb;

    @ApiModelProperty("商品展示图")
    private String imgList;

    @ApiModelProperty("商品视频")
    private String video;

    @ApiModelProperty("视频封面")
    private String videoPoster;

    @ApiModelProperty("商品介绍")
    private String detail;

    @ApiModelProperty("商品通证(0.否 1.是，自动生成Token 2.是，使用外部既有Token 3.外部token使用权)")
    private Integer commodityPass;

    @ApiModelProperty("延迟提货(0--否 1--是)")
    private Integer delayDelivery;

    @ApiModelProperty("退货类型")
    private Integer returnType;

    @ApiModelProperty("退货原因")
    private String returnReason;

    @ApiModelProperty("商品备注")
    private String note;

    @ApiModelProperty("溯源信息")
    private String traceabilityNumber;

    @ApiModelProperty("ntf文件")
    private String nftFile;

    @ApiModelProperty("商品规格")
    private List<GoodsSkuDTO> skuList;

    @ApiModelProperty("nft")
    private NFTDTO nftdto;

    @ApiModelProperty("1.普通 4.盲盒")
    private Integer salesType;

    @ApiModelProperty("盲盒商品难度（1-10）")
    private Integer difficulty;

    @ApiModelProperty("盲盒价格")
    private BigDecimal blindBoxPrice;

    @ApiModelProperty("盲盒规则")
    private String blindBoxRule;

}

