diff --git a/app/mobile/apis/org_player.go b/app/mobile/apis/org_player.go index b5366715e58ebb8210e1c1beeaa18d6239e30386..d0315f174a7775449fa1805dd264852a8e25f36f 100755 --- a/app/mobile/apis/org_player.go +++ b/app/mobile/apis/org_player.go @@ -165,13 +165,21 @@ func (e OrgPlayer) GetInfo(c *gin.Context) { reply := new(dto.OrgPlayerGetInfoReply) reply.OrgPlayerInfo = object - replyOrgMatchInfo := new(dto.OrgMatchInfo) - err = s.StatisticsScoringAvg(strconv.Itoa(req.PlayerId), seasonId, "avg", replyOrgMatchInfo) + replyDataAvg := dto.OrgMatchInfo{} + err = s.StatisticsScoringAvg("", seasonId, "avg", &replyDataAvg) if err != nil { e.Error(500, err, fmt.Sprintf("鑾峰彇姣旇禌鐞冨憳淇℃伅 澶辫触锛孿r\n澶辫触淇℃伅 %s", err.Error())) return } - reply.OrgMatchInfo = *replyOrgMatchInfo + reply.DataAvg = replyDataAvg + + replyOrgMatchInfo := dto.OrgMatchInfo{} + err = s.StatisticsScoringAvg(strconv.Itoa(req.PlayerId), seasonId, "avg", &replyOrgMatchInfo) + if err != nil { + e.Error(500, err, fmt.Sprintf("鑾峰彇姣旇禌鐞冨憳淇℃伅 澶辫触锛孿r\n澶辫触淇℃伅 %s", err.Error())) + return + } + reply.OrgMatchInfo = replyOrgMatchInfo err, matchId := s.GetMatchId(strconv.Itoa(req.PlayerId), seasonId) var count int64 diff --git a/app/mobile/service/dto/org_player.go b/app/mobile/service/dto/org_player.go index c2903658e91666518eaac788349b0045f2935ecb..75d208faa3b9b5acc3861713abcd82b2a52814aa 100755 --- a/app/mobile/service/dto/org_player.go +++ b/app/mobile/service/dto/org_player.go @@ -74,10 +74,28 @@ type OrgPlayerGetInfoReq struct { type OrgPlayerGetInfoReply struct { OrgPlayerInfo OrgPlayerGetReply `json:"orgPlayerInfo"` + DataAvg OrgMatchInfo `json:"dataAvg"` OrgMatchInfo OrgMatchInfo `json:"orgMatchInfo"` RoundsScoring []OrgPlayerRoundsScoring `json:"roundsScoring"` } +type DataAvg struct { + //ScoringAvg string `json:"scoringAvg" comment:"寰楀垎"` + //ReboundAvg string `json:"reboundAvg" comment:"绡澘"` + //AssistAvg string `json:"assistAvg" comment:"鍔╂敾"` + //StealAvg string `json:"stealAvg" comment:"鎶㈡柇"` + //FreeThrowAvg string `json:"freeThrowAvg" comment:"缃氱悆"` + //BlockShotAvg string `json:"blockShotAvg" comment:"鐩栧附"` + //FoulAvg string `json:"foulAvg" comment:"鐘"` + //TwoPointShotAvg string `json:"twoPointShotAvg" comment:"2鍒嗚繘鐞冩暟閲�"` + //ThreePointShotAvg string `json:"threePointShotAvg" comment:"3鍒嗚繘鐞冩暟閲�"` + Scoring string `json:"scoring" comment:"寰楀垎"` + Rebound string `json:"rebound" comment:"绡澘"` + Assist string `json:"assist" comment:"鍔╂敾"` + Steal string `json:"steal" comment:"鎶㈡柇"` + BlockShot string `json:"blockShot" comment:"鐩栧附"` +} + type OrgMatchInfo struct { Id string `json:"id"` SeasonId string `json:"seasonId" comment:"璧涘id"` diff --git a/app/mobile/service/org_player.go b/app/mobile/service/org_player.go index c766e64126acec60bb1673f50a67448d6cf2074f..3ba661b7df4e3de7813786ca88911e0019a0489a 100755 --- a/app/mobile/service/org_player.go +++ b/app/mobile/service/org_player.go @@ -181,8 +181,8 @@ func (e *OrgPlayer) StatisticsScoringAvg(playerId string, seasonId string, stati Joins("left join org_match as om on omtp.match_id = om.id and omtp.rounds = om.rounds"). Joins("left join org_league as ol on ol.id = om.league_id"). Joins("left join org_season as os on os.id = om.season_id"). + Scopes(cDto.SetWhere("omtp", "player_id", playerId)). Where("om.season_id = ?", seasonId). - Where("omtp.player_id = ?", playerId). Group("om.season_id"). First(data).Error @@ -191,7 +191,10 @@ func (e *OrgPlayer) StatisticsScoringAvg(playerId string, seasonId string, stati err = e.Orm.Table("org_match_team_player as omtp"). Joins("left join org_match as om on omtp.match_id = om.id and omtp.rounds = om.rounds"). Select(field). - Scopes(cDto.SetWhere("om", "season_id", seasonId)). + Scopes( + cDto.SetWhere("om", "season_id", seasonId), + cDto.SetWhere("omtp", "player_id", playerId), + ). Count(&teamCount).Error data.Scoring = utils.GetAvg(data.Scoring, teamCount) diff --git a/common/utils/common.go b/common/utils/common.go index d2ed03fe6d731d68d134dc2e62e41f87102d3e79..3bb2f0e44d04ecfd740b663cdfe8bb970bbdc990 100755 --- a/common/utils/common.go +++ b/common/utils/common.go @@ -22,8 +22,10 @@ func StringToInt(data string) int { func GetAvg(data string, count int64) string { floatData, _ := strconv.ParseFloat(data, 64) - res := fmt.Sprintf("%.2f", floatData/float64(count)) - return res + return strconv.FormatFloat(floatData/float64(count), 'f', 2, 64) + + //res := fmt.Sprintf("%.2f", floatData/float64(count)) + //return res } func StringToFloat(data string) float64 {