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.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author wangp
 * @date 2021/3/17 11:22
 * @description 商品编辑
 * @since JDK 1.8
 */
@Data
@ApiModel(value = "GoodsEditDTO", description = "商品编辑信息")
public class GoodsEditDTO {

    @ApiModelProperty("商品id")
    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String goodsId;

    @ApiModelProperty("商品描述")
    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String description;

    @ApiModelProperty("商品属性")
    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String prop;

    @ApiModelProperty("商品缩略图")
    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String thumb;

    @ApiModelProperty("商品展示图")
    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String imgList;

    @ApiModelProperty("商品视频")
//    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String video;

    @ApiModelProperty("视频封面")
//    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String videoPoster;

    @ApiModelProperty("ntf文件")
//    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String nftFile;

    @ApiModelProperty("商品介绍")
    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String detail;

//    @ApiModelProperty("快递模板")
//    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
//    private String templateId;

    @ApiModelProperty("退货类型")
    @CustomType(pType = MALLGlobalConfig.RETURN_TYPE, message = MallResponseError.PARAM_ERROR)
    @NotNull(message = MallResponseError.NULL_PARAM_ERROR)
    private Integer returnType;

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

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

    @ApiModelProperty("溯源信息")
//    @NotBlank(message = MallResponseError.NULL_PARAM_ERROR)
    private String traceabilityNumber;

    @ApiModelProperty("延迟提货(0--否 1--是)")
//    @NotNull(message = MallResponseError.NULL_PARAM_ERROR)
    private Integer delayDelivery;

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

    @ApiModelProperty("商品预售")
    private PreSaleDTO preSaleDTO;

    @ApiModelProperty("商品拍卖")
    private AuctionDTO auctionDTO;

    @ApiModelProperty("商品打包")
    private PackageDTO packageDTO;

    @ApiModelProperty("nft")
    private NFTDTO nftdto;
}
