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

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

import java.util.List;

/**
 * 艺人详情VO
 *
 * @author system
 * @since 2026-02-04
 */
@Data
@ApiModel("艺人详情VO")
public class ArtistVo {

    @ApiModelProperty(value = "艺人ID")
    private String artistId;

    @ApiModelProperty(value = "艺人名称")
    private String artistName;

    @ApiModelProperty(value = "艺人类型  1音乐人 2艺术家 3厂牌 4品牌方")
    private Integer artistType;

    @ApiModelProperty(value = "艺人类型名称")
    private String artistTypeName;

    @ApiModelProperty(value = "艺人头像")
    private String avatarUrl;

    @ApiModelProperty(value = "艺人简介")
    private String introduction;

    @ApiModelProperty(value = "艺人相册图片列表")
    private List<String> albumImages;

    @ApiModelProperty(value = "关联演出")
    private List<PerformanceVo> performanceVoList;

    @ApiModelProperty(value = "排序权重")
    private Integer sort;

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

    @ApiModelProperty(value = "创建时间")
    private String createdAt;

    @ApiModelProperty(value = "更新时间")
    private String updatedAt;


    @Data
    @ApiModel("演出VO")
    public static class PerformanceVo{

        @ApiModelProperty("演出ID")
        private String performanceId;

        @ApiModelProperty("演出名称")
        private String title;

        @ApiModelProperty("演出开始时间")
        private String timeStart;

        @ApiModelProperty("场次ID")
        private String timesId;

        @ApiModelProperty("场次名称")
        private String timeTitle;

    }

    @Data
    @ApiModel("商品VO")
    public static class ProductVo {

        @ApiModelProperty("商品SPU ID")
        private String spuId;

        @ApiModelProperty("商品编码")
        private String productCode;

        @ApiModelProperty("商品名称")
        private String productName;

        @ApiModelProperty("商品头图")
        private String imageUrl;

        @ApiModelProperty("商品分类")
        private String category;

        @ApiModelProperty("商品售价")
        private String price;

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