package dto

import (
	"go-admin/common/dto"
)

type OrgPlayerRankGetPageReq struct {
	dto.Pagination `search:"-"`
	PlayerId       string `form:"playerId"  search:"-"`                                                     //id
	LeagueId       string `form:"leagueId"  search:"type:exact;column:league_id;table:om" comment:"联赛级别id"` //联赛级别id
	TypeName       string `form:"typeName"  search:"-"`                                                     //
}

type OrgPlayerRankGetPageReply struct {
	Id           string `json:"id"`
	Rank         string `json:"rank"`
	LeagueName   string `json:"leagueName"`
	TeamName     string `json:"teamName"`
	ClubName     string `json:"clubName"`
	ClubLogo     string `json:"clubLogo"`
	ClubQrcode   string `json:"clubQrcode"`
	PlayerName   string `json:"playerName"`
	PlayerNumber string `json:"playerNumber" comment:"球衣号码"`
	PlayerImg    string `json:"playerImg"`
	Position     string `json:"position" comment:"场上位置"`
	dto.TotalScoring
}

type OrgPlayerRankAllData struct {
	OwnData OrgPlayerRankGetPageReply   `json:"ownData"`
	AllData []OrgPlayerRankGetPageReply `json:"allData"`
}

type OrgPlayerRankInfoGetReq struct {
	dto.Pagination `search:"-"`
	LeagueId       string `form:"leagueId"  search:"type:exact;column:league_id;table:om" comment:"联赛级别id"` //联赛级别id
	SeasonId       string `form:"seasonId"  search:"type:exact;column:season_id;table:om" comment:"赛季id"`   //赛季id
	TeamId         string `form:"teamId"  search:"-"`                                                       //
}

type OrgPlayerRankInfoGetReply struct {
	Id                 string                  `json:"id"`
	LeagueName         string                  `json:"leagueName"`
	TeamName           string                  `json:"teamName"`
	ClubName           string                  `json:"clubName"`
	ClubLogo           string                  `json:"clubLogo"`
	ClubQrcode         string                  `json:"clubQrcode"`
	SeasonName         string                  `json:"seasonName" comment:"赛季名称"`
	CompositeRank      string                  `json:"compositeRank" comment:"综合排名"`
	CountWin           string                  `json:"countWin" comment:"胜场"`
	CountLose          string                  `json:"countLose" comment:"败场"`
	CountIntegral      string                  `json:"countIntegral" comment:"总积分"`
	CountMatch         string                  `json:"countMatch" comment:"总场次"`
	ScoringRank        string                  `json:"scoringRank" comment:"得分"`
	ReboundRank        string                  `json:"reboundRank" comment:"篮板"`
	AssistRank         string                  `json:"assistRank" comment:"助攻"`
	StealRank          string                  `json:"stealRank" comment:"抢断"`
	FreeThrowRank      string                  `json:"freeThrowRank" comment:"罚球"`
	BlockShotRank      string                  `json:"blockShotRank" comment:"盖帽"`
	FoulRank           string                  `json:"foulRank" comment:"犯规"`
	TwoPointShotRank   string                  `json:"twoPointShotRank" comment:"2分进球数量"`
	ThreePointShotRank string                  `json:"threePointShotRank" comment:"3分进球数量"`
	PlayerList         []OrgPlayerGetPageReply `json:"playerList" comment:"球员列表"`
	dto.TotalScoring
}

type OrgPlayerRankInfoGetData struct {
	Id            string `json:"id"`
	LeagueName    string `json:"leagueName"`
	TeamName      string `json:"teamName"`
	ClubName      string `json:"clubName"`
	ClubLogo      string `json:"clubLogo"`
	ClubQrcode    string `json:"clubQrcode"`
	SeasonName    string `json:"seasonName" comment:"赛季名称"`
	TeamAId       string `json:"teamAId" comment:"a队id"`
	TeamBId       string `json:"teamBId" comment:"b队id"`
	TeamAScore    string `json:"teamAScore" comment:"a队比分"`
	TeamBScore    string `json:"teamBScore" comment:"b队比分"`
	TeamAIntegral string `json:"teamAIntegral" comment:"a队积分"`
	TeamBIntegral string `json:"teamBIntegral" comment:"b队积分"`
}

type GetPageMatchPlayerRankReq struct {
	Id string `form:"id" json:"id"`
}
type GetPageMatchPlayerRankReply struct {
	MatchInfo     dto.PageMatchInfo   `json:"matchInfo"`
	TotalScoring  []dto.TotalScoring  `json:"totalScoring"`
	RoundsScoring []dto.RoundsScoring `json:"roundsScoring"`
}

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

// OrgMatchEvaluateGetReq 功能获取请求参数
type OrgTeamPlayerGetReq struct {
	Id int `uri:"id"`
}

type OrgTeamPlayerGetReply struct {
	MatchInfo     dto.PageMatchInfo   `json:"matchInfo"`
	RoundsScoring []dto.RoundsScoring `json:"roundsScoring"`
}

func (s *OrgTeamPlayerGetReq) GetId() interface{} {
	return s.Id
}