From c247137d7e9fedcc05cd010829322c3b91e13894 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 19 Oct 2022 19:43:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/hero/module.go | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/modules/hero/module.go b/modules/hero/module.go index 0c29cb2c9..d6304dae5 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -344,19 +344,33 @@ func (this *Hero) CreateMonster(heroCid string, star, lv int32) (hero *pb.DBHero // 只通过唯一id 查询英雄信息 func (this *Hero) QueryCrossHeroinfo(oid string) (hero *pb.DBHero, err error) { - for _, tag := range db.GetServerTags() { - conn, err1 := db.ServerDBConn(tag) // 遍历连接对象 - if err1 != nil { - continue + + if this.modelHero.moduleHero.IsCross() { + for _, tag := range db.GetServerTags() { + conn, err1 := db.ServerDBConn(tag) // 遍历连接对象 + if err1 != nil { + continue + } + + sr := conn.Mgo.FindOne(comm.TableHero, bson.M{ + "_id": oid, + }) + hero = &pb.DBHero{} + if err = sr.Decode(hero); err != nil { + if err != mongo.ErrNoDocuments { + return + } + } } - filter := bson.M{ + } else { // 不是跨服就查本服 + if res := this.modelHero.DB.FindOne(comm.TableHero, bson.M{ "_id": oid, - } - sr := conn.Mgo.FindOne(comm.TableHero, filter) - hero = &pb.DBHero{} - if err = sr.Decode(hero); err != nil { - if err != mongo.ErrNoDocuments { - return + }); res == nil { + hero = &pb.DBHero{} + if err = res.Decode(hero); err != nil { + if err != mongo.ErrNoDocuments { + return + } } } }