本文整理汇总了Golang中github.com/ginuerzh/sports/models.RedisLogger.RecStats方法的典型用法代码示例。如果您正苦于以下问题:Golang RedisLogger.RecStats方法的具体用法?Golang RedisLogger.RecStats怎么用?Golang RedisLogger.RecStats使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/ginuerzh/sports/models.RedisLogger
的用法示例。
在下文中一共展示了RedisLogger.RecStats方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: userRecStatHandler
func userRecStatHandler(request *http.Request, resp http.ResponseWriter, redis *models.RedisLogger, form userRecStatForm) {
user := &models.Account{}
stats := &statResp{}
if find, err := user.FindByUserid(form.Userid); !find {
e := errors.NewError(errors.NotExistsError, "user not found")
if err != nil {
e = errors.NewError(errors.DbError, err.Error())
}
writeResponse(request.RequestURI, resp, nil, e)
return
}
stats.RecCount, _ = models.TotalRecords(form.Userid)
stats.TotalDistance, stats.TotalDuration = redis.RecStats(form.Userid)
maxDisRec, _ := models.MaxDistanceRecord(form.Userid)
maxSpeedRec, _ := models.MaxSpeedRecord(form.Userid)
stats.MaxDistance = &record{}
if maxDisRec.Sport != nil {
stats.MaxDistance.Type = maxDisRec.Type
stats.MaxDistance.Source = maxDisRec.Sport.Source
stats.MaxDistance.BeginTime = maxDisRec.StartTime.Unix()
stats.MaxDistance.EndTime = maxDisRec.EndTime.Unix()
stats.MaxDistance.Duration = maxDisRec.Sport.Duration
stats.MaxDistance.Distance = maxDisRec.Sport.Distance
}
stats.MaxSpeed = &record{}
if maxSpeedRec.Sport != nil {
stats.MaxDistance.Type = maxDisRec.Type
stats.MaxDistance.Source = maxDisRec.Sport.Source
stats.MaxDistance.BeginTime = maxDisRec.StartTime.Unix()
stats.MaxDistance.EndTime = maxDisRec.EndTime.Unix()
stats.MaxSpeed.Duration = maxSpeedRec.Sport.Duration
stats.MaxSpeed.Distance = maxSpeedRec.Sport.Distance
}
stats.Score = user.Props.Score
stats.Actor = userActor(user.Actor)
stats.Level = user.Level()
//stats.Rank = userRank(stats.Level)
stats.Index = redis.LBDisRank(form.Userid) + 1
stats.LBCount = redis.LBDisCard()
writeResponse(request.RequestURI, resp, stats, nil)
}
示例2: recommendHandler
func recommendHandler(r *http.Request, w http.ResponseWriter,
redis *models.RedisLogger, user *models.Account, p Parameter) {
form := p.(recommendForm)
excludes := redis.Friends(models.RelFollowing, user.Id)
excludes = append(excludes, redis.Friends(models.RelBlacklist, user.Id)...)
users, _ := user.Recommend(excludes)
var list []*leaderboardResp
for i, _ := range users {
if users[i].Id == user.Id {
continue
}
rel := redis.Relationship(user.Id, users[i].Id)
if rel == models.RelFollowing || rel == models.RelFriend {
continue
}
lb := &leaderboardResp{
Userid: users[i].Id,
Score: users[i].Props.Score,
Level: users[i].Level(),
Profile: users[i].Profile,
Nickname: users[i].Nickname,
Gender: users[i].Gender,
LastLog: users[i].LastLogin.Unix(),
Birth: users[i].Birth,
Location: users[i].Loc,
Addr: users[i].LocAddr,
Phone: users[i].Phone,
Actor: users[i].Actor,
}
lb.Distance, _ = redis.RecStats(users[i].Id)
lb.Status = users[i].LatestArticle().Title
list = append(list, lb)
}
respData := map[string]interface{}{
"members_list": list,
"page_frist_id": form.Paging.First,
"page_last_id": form.Paging.Last,
}
writeResponse(r.RequestURI, w, respData, nil)
}