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 = "PerformanceListVo对象", description = "演出列表")
public class PerformanceListVo 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;

    /**
     * 演出者信息（如：刘能等7人）
     */
    @ApiModelProperty(value = "演出者信息（如：刘能等7人）")
    private String performersInfo;

    /**
     * 日期范围（格式：2025.11.11-2027.01.31）
     */
    @ApiModelProperty(value = "日期范围（格式：2025.11.11-2027.01.31）")
    private String dateRange;

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

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

    /**
     * 演出频次（0-单次，1-每天定时，2-每周定时）
     */
    @ApiModelProperty(value = "演出频次（0-单次，1-每天定时，2-每周定时）")
    private String performanceFrequency;

    /**
     * 演出风格（字典表proficient_tag的dict_id，逗号分隔）
     */
    @ApiModelProperty(value = "演出风格（字典表proficient_tag的dict_id，逗号分隔）")
    private String performanceStyle;

    /**
     * 演出人员头像列表（从store_staff_config表的staff_image字段获取）
     */
    @ApiModelProperty(value = "演出人员头像列表（从store_staff_config表的staff_image字段获取）")
    private List<String> staffImageList;

    /**
     * 当日演出时间（格式：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;
}

