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

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

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

/**
 * 小程序登录响应VO
 *
 * @author BladeX
 */
@Data
@Schema(description = "小程序登录响应")
public class MiniLoginVO implements Serializable {

	private static final long serialVersionUID = 1L;

	@Schema(description = "访问令牌")
	private String token;

	@Schema(description = "用户角色：pub-普通评委, admin-裁判长")
	private String userRole;

	@Schema(description = "比赛ID")
	private Long matchId;

	@Schema(description = "比赛名称")
	private String matchName;

	@Schema(description = "比赛时间")
	private String matchTime;

	@Schema(description = "评委ID")
	private Long judgeId;

	@Schema(description = "评委姓名")
	private String judgeName;

	@Schema(description = "场地ID")
	private Long venueId;

	@Schema(description = "场地名称")
	private String venueName;

	@Schema(description = "分配的项目列表")
	private List<ProjectInfo> projects;

	/**
	 * 项目信息内部类
	 */
	@Data
	@Schema(description = "项目信息")
	public static class ProjectInfo implements Serializable {

		private static final long serialVersionUID = 1L;

		@Schema(description = "项目ID")
		private Long projectId;

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