package com.liquidnet.service.goblin.dto.manage.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("商家端-艺人专题详情出参")
@Data
public class GoblinStoreMgtArtistTopicDetailVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("专题ID")
    private String topicId;

    @ApiModelProperty("专题名称")
    private String topicName;

    @ApiModelProperty("关联艺人ID")
    private String artistId;

    @ApiModelProperty("关联艺人名称")
    private String artistName;

    @ApiModelProperty("展示头像：有艺人取艺人头像，否则取自定义头像")
    private String avatarUrl;

    @ApiModelProperty("未关联艺人时的自定义头像")
    private String customAvatarUrl;

    @ApiModelProperty("模版类型")
    private Integer templateType;

    @ApiModelProperty("banner")
    private String bannerUrl;

    @ApiModelProperty("banner高度")
    private Integer bannerHeight;

    @ApiModelProperty("上架开始")
    private LocalDateTime onSaleStart;

    @ApiModelProperty("上架结束")
    private LocalDateTime onSaleEnd;

    @ApiModelProperty("状态")
    private Integer status;

    @ApiModelProperty("商品列表")
    private List<GoodsItem> goods = new ArrayList<>();

    @ApiModel("专题详情商品项")
    @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("价格区间MIN")
        private BigDecimal priceGe;

        @ApiModelProperty("价格区间MAX")
        private BigDecimal priceLe;

        @ApiModelProperty("排序")
        private Integer sort;
    }
}
