package org.springblade.modules.martial.pojo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * 调度数据VO
 *
 * @author BladeX
 */
@Data
@Schema(description = "调度数据VO")
public class DispatchDataVO {

	/**
	 * 分组列表
	 */
	@Schema(description = "分组列表")
	private List<DispatchGroup> groups;

	/**
	 * 调度分组
	 */
	@Data
	@Schema(description = "调度分组")
	public static class DispatchGroup {

		/**
		 * 分组ID
		 */
		@Schema(description = "分组ID")
		private Long groupId;

		/**
		 * 分组名称
		 */
		@Schema(description = "分组名称")
		private String groupName;

		/**
		 * 编排明细ID
		 */
		@Schema(description = "编排明细ID")
		private Long detailId;

		/**
		 * 项目类型
		 */
		@Schema(description = "项目类型(1=个人 2=集体)")
		private Integer projectType;

		/**
		 * 参赛者列表
		 */
		@Schema(description = "参赛者列表")
		private List<DispatchParticipant> participants;

	}

	/**
	 * 调度参赛者
	 */
	@Data
	@Schema(description = "调度参赛者")
	public static class DispatchParticipant {

		/**
		 * 参赛者记录ID
		 */
		@Schema(description = "参赛者记录ID")
		private Long id;

		/**
		 * 参赛者ID
		 */
		@Schema(description = "参赛者ID")
		private Long participantId;

		/**
		 * 单位名称
		 */
		@Schema(description = "单位名称")
		private String organization;

		/**
		 * 选手姓名
		 */
		@Schema(description = "选手姓名")
		private String playerName;

		/**
		 * 项目名称
		 */
		@Schema(description = "项目名称")
		private String projectName;

		/**
		 * 组别
		 */
		@Schema(description = "组别")
		private String category;

		/**
		 * 出场顺序
		 */
		@Schema(description = "出场顺序")
		private Integer performanceOrder;

	}

}
