init match stats before using
This commit is contained in:
21
main.go
21
main.go
@@ -166,7 +166,7 @@ func getPlayer(w http.ResponseWriter, r *http.Request) {
|
|||||||
db.Lock.RLock()
|
db.Lock.RLock()
|
||||||
tMatches, err := tPlayer.QueryMatches().Order(ent.Desc(match.FieldDate)).Limit(10).All(context.Background())
|
tMatches, err := tPlayer.QueryMatches().Order(ent.Desc(match.FieldDate)).Limit(10).All(context.Background())
|
||||||
db.Lock.RUnlock()
|
db.Lock.RUnlock()
|
||||||
if err != nil || len(tMatches) == 0 || tMatches == nil {
|
if err != nil || len(tMatches) == 0 {
|
||||||
log.Debugf("[GP] No matches found for player %s", id)
|
log.Debugf("[GP] No matches found for player %s", id)
|
||||||
err := utils.SendJSON(response, w)
|
err := utils.SendJSON(response, w)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -179,7 +179,7 @@ func getPlayer(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
metaStats := new(utils.MatchStats)
|
metaStats := new(utils.MatchStats)
|
||||||
err = rdc.Get(context.Background(), fmt.Sprintf("csgowtfd_meta_%d", tPlayer.ID), &metaStats)
|
err = rdc.Get(context.Background(), fmt.Sprintf("csgowtfd_meta_%d", tPlayer.ID), &metaStats)
|
||||||
if err != nil || metaStats == nil {
|
if err != nil {
|
||||||
wins, ties, losses, err := utils.GetMatchStats(tPlayer, db.Lock)
|
wins, ties, losses, err := utils.GetMatchStats(tPlayer, db.Lock)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("[GP] Error retrieving match-stats for player %s: %v", id, err)
|
log.Errorf("[GP] Error retrieving match-stats for player %s: %v", id, err)
|
||||||
@@ -187,9 +187,11 @@ func getPlayer(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
response.MatchStats.Win = wins
|
response.MatchStats = &utils.MatchStats{
|
||||||
response.MatchStats.Tie = ties
|
Win: wins,
|
||||||
response.MatchStats.Loss = losses
|
Loss: losses,
|
||||||
|
Tie: ties,
|
||||||
|
}
|
||||||
|
|
||||||
err = rdc.Set(&cache.Item{
|
err = rdc.Set(&cache.Item{
|
||||||
Ctx: context.Background(),
|
Ctx: context.Background(),
|
||||||
@@ -205,9 +207,12 @@ func getPlayer(w http.ResponseWriter, r *http.Request) {
|
|||||||
log.Debugf("[GP] Metastats for %d saved to cache", tPlayer.ID)
|
log.Debugf("[GP] Metastats for %d saved to cache", tPlayer.ID)
|
||||||
} else {
|
} else {
|
||||||
log.Debugf("[GP] Metastats for %d from redis", tPlayer.ID)
|
log.Debugf("[GP] Metastats for %d from redis", tPlayer.ID)
|
||||||
response.MatchStats.Win = metaStats.Win
|
|
||||||
response.MatchStats.Tie = metaStats.Tie
|
response.MatchStats = &utils.MatchStats{
|
||||||
response.MatchStats.Loss = metaStats.Loss
|
Win: metaStats.Win,
|
||||||
|
Tie: metaStats.Tie,
|
||||||
|
Loss: metaStats.Loss,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, iMatch := range tMatches {
|
for _, iMatch := range tMatches {
|
||||||
|
Reference in New Issue
Block a user