From fe17144107194a911d5f546e183789f32c24b13e Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 19 Oct 2022 14:52:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=B8=AA=E5=9C=A8=E7=BA=BF=E4=B9=9F?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=20=E9=82=A3=E4=B9=88=20=E5=B0=B1=E5=8E=BB?= =?UTF-8?q?=E9=9A=8F=E6=9C=BA=E5=8F=96=E6=8C=87=E5=AE=9A=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E7=9A=84=E7=8E=A9=E5=AE=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/gourmet/api_getranduser.go | 23 ++++++++++++++++++++++- modules/library/comp_configure.go | 2 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/modules/gourmet/api_getranduser.go b/modules/gourmet/api_getranduser.go index ad48dba38..eccbf1abb 100644 --- a/modules/gourmet/api_getranduser.go +++ b/modules/gourmet/api_getranduser.go @@ -1,10 +1,16 @@ package gourmet import ( + "context" "go_dreamfactory/comm" + "go_dreamfactory/lego/core" "go_dreamfactory/pb" + "go_dreamfactory/sys/db" "go_dreamfactory/utils" + "time" + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo/options" "google.golang.org/protobuf/proto" ) @@ -28,7 +34,7 @@ func (this *apiComp) GetRandUser(session comm.IUserSession, req *pb.GourmetGetRa return // 参数校验失败直接返回 } // 获取在线玩家信息 - onlineList, err := this.module.ModuleUser.UserOnlineList() + onlineList, err := this.module.ModuleUser.CrossUserOnlineList() if err != nil { code = pb.ErrorCode_DBError return @@ -54,6 +60,21 @@ func (this *apiComp) GetRandUser(session comm.IUserSession, req *pb.GourmetGetRa for _, v := range szUid { randOnlineUsers = append(randOnlineUsers, v) } + if len(randOnlineUsers) == 0 { // 一个人也没有 那就从db 中随机取 + tag := session.GetServiecTag() + if conn, err := db.ServerDBConn(tag); err == nil { + dbModel := db.NewDBModel(comm.TableUser, time.Hour, conn) + if _data, err1 := dbModel.DB.Find(core.SqlTable(comm.TableUser), bson.M{}, options.Find().SetSort(bson.M{"lv": -1}).SetLimit(int64(req.People))); err1 == nil { + for _data.Next(context.TODO()) { + temp := &pb.DBUser{} + if err = _data.Decode(temp); err == nil { + randOnlineUsers = append(randOnlineUsers, temp.Uid) + + } + } + } + } + } } for _, v := range randOnlineUsers { szDbUser = append(szDbUser, this.module.ModuleUser.GetUser(v)) // 转成user对象 diff --git a/modules/library/comp_configure.go b/modules/library/comp_configure.go index 8ffd527e5..30daffc8f 100644 --- a/modules/library/comp_configure.go +++ b/modules/library/comp_configure.go @@ -44,7 +44,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp } func (this *configureComp) SetLibraryFavor() { - if v, err := this.GetConfigure(game_favornum); err == nil { + if v, err := this.GetConfigure(game_libraryfavor); err == nil { if _configure, ok := v.(*cfg.GameLibraryFavor); ok { for _, v1 := range _configure.GetDataList() { this.favor[int64(v1.Star<<8)+int64(v1.Favorlv)] = v1