package com.liquidnet.service.goblin.dto.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@ApiModel(value = "GoblinFrontArtistTopicDetailVo", description = "C端艺人专题详情")
@Data
public class GoblinFrontArtistTopicDetailVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("专题ID")
    private String topicId;
    @ApiModelProperty("专题名称")
    private String topicName;
    @ApiModelProperty("专题标签，如HOT/上新")
    private String tag;
    @ApiModelProperty("关联艺人ID")
    private String artistId;
    @ApiModelProperty("艺人名称")
    private String artistName;
    @ApiModelProperty("头像：有艺人取艺人头像，否则取自定义头像")
    private String avatarUrl;
    @ApiModelProperty("模版类型 1双列 2单列")
    private Integer templateType;
    @ApiModelProperty("专题banner")
    private String bannerUrl;
    @ApiModelProperty("banner高度px")
    private Integer bannerHeight;
    @ApiModelProperty("上架区间开始")
    private LocalDateTime onSaleStart;
    @ApiModelProperty("上架区间结束")
    private LocalDateTime onSaleEnd;
    @ApiModelProperty("商品列表（仅已上架可售）")
    private List<GoodsItem> goods = new ArrayList<>();

    @Data
    public static class GoodsItem implements Serializable {

        private static final long serialVersionUID = 1L;

        @ApiModelProperty("商品SPU ID")
        private String spuId;
        @ApiModelProperty("商品名称")
        private String name;
        @ApiModelProperty("商品头图")
        private String coverPic;
        @ApiModelProperty("销售价")
        private BigDecimal sellPrice;
        @ApiModelProperty("价格区间MIN")
        private BigDecimal priceGe;
        @ApiModelProperty("价格区间MAX")
        private BigDecimal priceLe;
        @ApiModelProperty("专题内排序")
        private Integer sort;
    }
}
