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.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@ApiModel("商家端-艺人专题分页出参")
@Data
public class GoblinStoreMgtArtistTopicPageVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("总数（当前筛选）")
    private long total;

    @ApiModelProperty("已上架数量")
    private long countOnline;

    @ApiModelProperty("待上架数量")
    private long countPending;

    @ApiModelProperty("已下架数量")
    private long countOffline;

    @ApiModelProperty("列表")
    private List<Item> list = new ArrayList<>();

    @ApiModel("艺人专题列表项")
    @Data
    public static class Item 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 goodsCount;

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

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

        @ApiModelProperty("状态 0待上架 1已上架 2已下架")
        private Integer status;
    }
}
