package shop.alien.entity.store.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 演出详情VO
 * 用于展示演出详细信息
 *
 * @author system
 * @since 2025-01-XX
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "PerformanceDetailVo对象", description = "演出详情")
public class PerformanceDetailVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 演出ID
     */
    @ApiModelProperty(value = "演出ID")
    private Integer id;

    /**
     * 演出名称
     */
    @ApiModelProperty(value = "演出名称")
    private String performanceName;

    /**
     * 演出海报路径
     */
    @ApiModelProperty(value = "演出海报路径")
    private String performancePoster;

    /**
     * 演出时间（格式：2025.11.11-2027.01.31每周一、四19:30-次日00:00）
     */
    @ApiModelProperty(value = "演出时间（格式：2025.11.11-2027.01.31每周一、四19:30-次日00:00）")
    private String performanceTime;

    /**
     * 演出风格（格式：流行、民谣）
     */
    @ApiModelProperty(value = "演出风格（格式：流行、民谣）")
    private String performanceStyle;

    /**
     * 演出详情描述
     */
    @ApiModelProperty(value = "演出详情描述")
    private String performanceContent;

    /**
     * 演出嘉宾列表
     */
    @ApiModelProperty(value = "演出嘉宾列表")
    private List<PerformanceGuestVo> guestList;

    /**
     * 演出人员数量
     */
    @ApiModelProperty(value = "演出人员数量")
    private Integer guestCount;

    /**
     * 演出类型（0-特邀演出，1-常规演出）
     */
    @ApiModelProperty(value = "演出类型（0-特邀演出，1-常规演出）")
    private Integer performanceType;

    /**
     * 演出图片
     */
    @ApiModelProperty(value = "演出图片")
    private String performanceDetail;

    /**
     * 当日演出时间（格式：2026.6.3/ 09:00 – 2026.6.6/05:00）
     * 仅单次演出（performance_frequency=0）且今天与演出时间有重叠时有值
     */
    @ApiModelProperty(value = "当日演出时间（格式：2026.6.3/ 09:00 – 2026.6.6/05:00），仅单次演出且今天有演出时有值")
    private String todayPerformanceTime;
}

