package com.gic.haoban.manage.web.qo.content;


import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gic.content.api.dto.material.ContentMaterialRelationThirdDTO;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@JsonSerialize(using= ToStringSerializer.class)
public class ContentMaterialSaveQO {
    /**
     * 素材id
     */
    private Long contentMaterialId;
    /**
     * 门店id
     */
    private String storeId;

    /**
     * 导购id
     */
    private String clerkId;
    /**
     * 素材名称
     */
    private String materialTitle;
    /**
     * 素材类型1图文4视频
     */
    @NotNull(message = "素材类型不能为空")
    private Integer materialType;
    /**
     * 上架状态0未上架1已上架（默认1）
     */
    private Integer shelfStatus = 1;
    /**
     * 素材内容
     */
    private String materialContent;
    /**
     * 素材图片url列表
     */
    private String materialImageUrls;

    /**
     * 素材压缩后的图片url列表
     */
    private String materialThumbnailImageUrls;
    /**
     * 素材图片信息列表{width:px,height:px,size:Bytes}
     */
    private String materialImageInfos;
    /**
     * 素材视频url
     */
    private String materialVideoUrl;
    /**
     * 视频信息{width:px,height:px,size:Bytes}
     */
    private String materialVideoInfo;
    /**
     * 素材视频封面url
     */
    private String materialVideoImageUrl;

    /**
     * 视频封面信息{width:px,height:px,size:Bytes}
     */
    private String materialVideoImageInfo;
    /**
     * 素材视频第一帧url
     */
    private String materialVideoFirstImageUrl;

    /**
     * 视频第一帧信息{width:px,height:px,size:Bytes}
     */
    private String materialVideoFirstImageInfo;
    /**
     * 视频时长
     */
    private Integer duration;
    /**
     * 企业ID
     */
    private String enterpriseId;

    /**
     * 企微id
     */
    private String wxEnterpriseId;

    /**
     * 关联商品id列表
     */
    private List<String> contentGoodsIdList;

    /**
     * 关联第三方商品id列表
     */
    private List<ContentMaterialRelationThirdDTO> thirdGoodsList;

    public Long getContentMaterialId() {
        return contentMaterialId;
    }

    public void setContentMaterialId(Long contentMaterialId) {
        this.contentMaterialId = contentMaterialId;
    }

    public String getStoreId() {
        return storeId;
    }

    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }

    public String getClerkId() {
        return clerkId;
    }

    public void setClerkId(String clerkId) {
        this.clerkId = clerkId;
    }

    public String getMaterialTitle() {
        return materialTitle;
    }

    public void setMaterialTitle(String materialTitle) {
        this.materialTitle = materialTitle;
    }

    public Integer getMaterialType() {
        return materialType;
    }

    public void setMaterialType(Integer materialType) {
        this.materialType = materialType;
    }

    public Integer getShelfStatus() {
        return shelfStatus;
    }

    public void setShelfStatus(Integer shelfStatus) {
        this.shelfStatus = shelfStatus;
    }

    public String getMaterialContent() {
        return materialContent;
    }

    public void setMaterialContent(String materialContent) {
        this.materialContent = materialContent;
    }

    public String getMaterialImageUrls() {
        return materialImageUrls;
    }

    public void setMaterialImageUrls(String materialImageUrls) {
        this.materialImageUrls = materialImageUrls;
    }

    public String getMaterialThumbnailImageUrls() {
        return materialThumbnailImageUrls;
    }

    public void setMaterialThumbnailImageUrls(String materialThumbnailImageUrls) {
        this.materialThumbnailImageUrls = materialThumbnailImageUrls;
    }

    public String getMaterialImageInfos() {
        return materialImageInfos;
    }

    public void setMaterialImageInfos(String materialImageInfos) {
        this.materialImageInfos = materialImageInfos;
    }

    public String getMaterialVideoUrl() {
        return materialVideoUrl;
    }

    public void setMaterialVideoUrl(String materialVideoUrl) {
        this.materialVideoUrl = materialVideoUrl;
    }

    public String getMaterialVideoInfo() {
        return materialVideoInfo;
    }

    public void setMaterialVideoInfo(String materialVideoInfo) {
        this.materialVideoInfo = materialVideoInfo;
    }

    public String getMaterialVideoImageUrl() {
        return materialVideoImageUrl;
    }

    public void setMaterialVideoImageUrl(String materialVideoImageUrl) {
        this.materialVideoImageUrl = materialVideoImageUrl;
    }

    public String getMaterialVideoImageInfo() {
        return materialVideoImageInfo;
    }

    public void setMaterialVideoImageInfo(String materialVideoImageInfo) {
        this.materialVideoImageInfo = materialVideoImageInfo;
    }

    public String getMaterialVideoFirstImageUrl() {
        return materialVideoFirstImageUrl;
    }

    public void setMaterialVideoFirstImageUrl(String materialVideoFirstImageUrl) {
        this.materialVideoFirstImageUrl = materialVideoFirstImageUrl;
    }

    public String getMaterialVideoFirstImageInfo() {
        return materialVideoFirstImageInfo;
    }

    public void setMaterialVideoFirstImageInfo(String materialVideoFirstImageInfo) {
        this.materialVideoFirstImageInfo = materialVideoFirstImageInfo;
    }

    public Integer getDuration() {
        return duration;
    }

    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    public String getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(String enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public String getWxEnterpriseId() {
        return wxEnterpriseId;
    }

    public void setWxEnterpriseId(String wxEnterpriseId) {
        this.wxEnterpriseId = wxEnterpriseId;
    }

    public List<String> getContentGoodsIdList() {
        return contentGoodsIdList;
    }

    public void setContentGoodsIdList(List<String> contentGoodsIdList) {
        this.contentGoodsIdList = contentGoodsIdList;
    }

    public List<ContentMaterialRelationThirdDTO> getThirdGoodsList() {
        return thirdGoodsList;
    }

    public void setThirdGoodsList(List<ContentMaterialRelationThirdDTO> thirdGoodsList) {
        this.thirdGoodsList = thirdGoodsList;
    }
}

