通过区服id 和唯一id 查询坐骑信息 批处理

This commit is contained in:
meixiongfeng 2023-09-05 20:07:59 +08:00
parent 217530b674
commit a20b9db3a1
2 changed files with 24 additions and 7 deletions

View File

@ -662,6 +662,6 @@ type (
QueryDragonById(uid string, dragonid string) (dragon *pb.DBDragon, err error)
// 跨服接口 通过 服务器标签和唯一id 获取坐骑信息
QueryDragonByTagAndOid(tag string, objId string) (dragon *pb.DBDragon, err error)
QueryDragonByTagAndOid(tag string, objId []string) (dragon []*pb.DBDragon, err error)
}
)

View File

@ -1,6 +1,7 @@
package dragon
import (
"context"
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
@ -12,6 +13,7 @@ import (
"time"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
)
func NewModule() core.IModule {
@ -132,19 +134,34 @@ func (this *Dragon) QueryDragonById(uid string, dragonid string) (dragon *pb.DBD
}
// 通过区服id 和唯一id 查询坐骑信息
func (this *Dragon) QueryDragonByTagAndOid(tag string, objId string) (dragon *pb.DBDragon, err error) {
func (this *Dragon) QueryDragonByTagAndOid(tag string, objId []string) (dragon []*pb.DBDragon, err error) {
var (
conn *db.DBConn
model *db.DBModel
conn *db.DBConn
model *db.DBModel
cursor *mongo.Cursor
)
if conn, err = db.ServerDBConn(tag); err != nil {
return
}
dragon = &pb.DBDragon{}
dragon = make([]*pb.DBDragon, 0)
model = db.NewDBModel(this.modelDragon.TableName, time.Hour, conn)
if model.DB.FindOne(comm.TableHero, bson.M{"_id": objId}).Decode(dragon); err != nil {
result := make([]bson.M, 0)
for _, v := range objId {
result = append(result, bson.M{"_id": v})
}
if cursor, err = model.DB.Find(core.SqlTable(this.modelDragon.TableName), bson.M{"$or": result}); err != nil {
this.Errorln(err)
return
}
for cursor.Next(context.Background()) {
temp := &pb.DBDragon{}
if err = cursor.Decode(temp); err != nil {
this.Errorln(err)
continue
}
dragon = append(dragon, temp)
}
return
}