package hunting import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/redis" "go_dreamfactory/modules" "go_dreamfactory/pb" ) type ModelRank struct { modules.MCompModel moduleUser *Hunting } func (this *ModelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.TableName = comm.TableHuntingRank err = this.MCompModel.Init(service, module, comp, options) this.moduleUser = module.(*Hunting) return } //获取用户 func (this *ModelRank) getUserSession(uid string) (cuser *pb.CacheUser) { cuser = &pb.CacheUser{} if err := this.Get(uid, cuser); err != nil { this.moduleUser.Errorf("GetUserSession err:%v", err) return } return } func (this *ModelRank) AddRank(uId string, data *pb.DBHuntingRank) (err error) { if err = this.Add(uId, data); err != nil { return } return nil } func (this *ModelRank) GetUserRandData(uid string) (result *pb.DBHuntingRank, err error) { result = &pb.DBHuntingRank{} if err = this.Get(uid, result); err != nil && redis.RedisNil != err { return } err = nil return result, err } // 更新排行榜数据 func (this *ModelRank) ChangeUserRank(uid string, value map[string]interface{}) (err error) { if len(value) == 0 { return nil } return this.Change(uid, value) } // 获取排行榜数据 func (this *ModelRank) GetRankData() (data []*pb.DBHuntingRank, err error) { data = make([]*pb.DBHuntingRank, 0) err = this.Redis.LRange(comm.TableHuntingRank, 0, -1, &data) // 0 表示列表的第一个元素 -1 表示列表的最后一个元素 return }