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

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

import java.util.List;

/**
 * 保存调度DTO
 *
 * @author BladeX
 */
@Data
@Schema(description = "保存调度DTO")
public class SaveDispatchDTO {

	/**
	 * 赛事ID
	 */
	@Schema(description = "赛事ID")
	private Long competitionId;

	/**
	 * 调整列表
	 */
	@Schema(description = "调整列表")
	private List<DetailAdjustment> adjustments;

	/**
	 * 明细调整
	 */
	@Data
	@Schema(description = "明细调整")
	public static class DetailAdjustment {

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

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

	}

	/**
	 * 参赛者顺序
	 */
	@Data
	@Schema(description = "参赛者顺序")
	public static class ParticipantOrder {

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

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

	}

}
