package dto

import (
	"go-admin/app/operate/models"
	"go-admin/common/dto"
	"time"
)

type OrgTeamMatchGetPageReq struct {
	dto.Pagination `search:"-"`
	TeamId         string `form:"teamId" search:"-"`
	LeagueId       string `form:"leagueId"  search:"type:exact;column:league_id;table:om" comment:""`
	DivisionId     string `form:"divisionId"  search:"type:exact;column:division_id;table:om" comment:""`
	SeasonId       string `form:"seasonId"  search:"type:exact;column:season_id;table:om" comment:""`
	Rounds         string `form:"rounds"  search:"type:exact;column:rounds;table:om" comment:""`
	MatchStartTime string `form:"matchStartTime"  search:"type:exact;column:match_start_time;table:om" comment:""`
	MatchEndTime   string `form:"matchEndTime"  search:"type:exact;column:match_end_time;table:om" comment:""`
	Status         string `form:"status"  search:"type:exact;column:status;table:om" comment:""`
}

type OrgTeamMatchGetPageReply struct {
	Id             string    `json:"id"`
	LeagueName     string    `json:"leagueName"`
	SeasonName     string    `json:"seasonName"`
	Rounds         string    `json:"rounds"`
	TeamId         string    `json:"teamId"`
	TeamAName      string    `json:"teamAName"`
	TeamBName      string    `json:"teamBName"`
	TeamAId        string    `json:"teamAId"`
	TeamBId        string    `json:"teamBId"`
	MatchStartTime time.Time `json:"matchStartTime"`
	MatchEndTime   time.Time `json:"matchEndTime"`
	Status         string    `json:"status"`
	OwnTeam        string    `json:"ownTeam"`
}

type OrgTeamMatchGetInfoReq struct {
}

type OrgTeamMatchGetInfoReply struct {
	OrgMatch        models.OrgMatch      `form:"orgMatch"`
	OrgLeagueList   []models.OrgLeague   `form:"orgLeagueList"`
	OrgSeasonList   []models.OrgSeason   `form:"orgSeasonList"`
	OrgDivisionList []models.OrgDivision `form:"orgDivisionList"`
	OrgTeamList     []models.OrgTeam     `form:"orgTeamList"`
}

func (m *OrgTeamMatchGetPageReq) GetNeedSearch() interface{} {
	return *m
}

// OrgMatchGetReq 功能获取请求参数
type OrgTeamMatchGetReq struct {
	TeamId int `form:"teamId" json:"teamId"`
	Rounds int `form:"rounds" json:"rounds"`
}
type OrgTeamMatchGetReply struct {
	OrgMatch            models.OrgMatch             `form:"orgMatch" json:"orgMatch"`
	OrgMatchTeamAPlayer []models.OrgMatchTeamPlayer `form:"orgMatchTeamAPlayer" json:"orgMatchTeamAPlayer"`
	OrgMatchTeamBPlayer []models.OrgMatchTeamPlayer `form:"orgMatchTeamBPlayer" json:"orgMatchTeamBPlayer"`
}

func (s *OrgTeamMatchGetReq) GetId() interface{} {
	return s.TeamId
}
