通过区服id 和唯一id 查询坐骑信息
This commit is contained in:
parent
ddc9d6d1e3
commit
b102f80188
@ -660,5 +660,8 @@ type (
|
|||||||
QueryBigDragonList(uid string) (dragon []*pb.DBDragon, err error)
|
QueryBigDragonList(uid string) (dragon []*pb.DBDragon, err error)
|
||||||
// 通过ID 查询龙的信息
|
// 通过ID 查询龙的信息
|
||||||
QueryDragonById(uid string, dragonid string) (dragon *pb.DBDragon, err error)
|
QueryDragonById(uid string, dragonid string) (dragon *pb.DBDragon, err error)
|
||||||
|
|
||||||
|
// 跨服接口 通过 服务器标签和唯一id 获取坐骑信息
|
||||||
|
QueryDragonByTagAndOid(tag string, objId string) (dragon *pb.DBDragon, err error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -82,10 +82,19 @@ func (this *ModelDragon) CreateDragon(session comm.IUserSession, dragons map[str
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bFound := false
|
dragon = &pb.DBDragon{
|
||||||
|
Id: primitive.NewObjectID().Hex(),
|
||||||
|
Uid: uid,
|
||||||
|
Dragonid: dragonCfgId,
|
||||||
|
Lv: lv,
|
||||||
|
Exp: 0,
|
||||||
|
Property: map[string]int32{},
|
||||||
|
Play: map[int32]*pb.PlayData{},
|
||||||
|
Rtime: configure.Now().Unix(),
|
||||||
|
}
|
||||||
for _, obj := range dragonList {
|
for _, obj := range dragonList {
|
||||||
if obj.Dragonid == dragonCfgId { // 重复获得 直接返回
|
if obj.Dragonid == dragonCfgId { // 重复获得 直接返回
|
||||||
bFound = true
|
dragon.Id = obj.Id
|
||||||
update := make(map[string]interface{}, 0)
|
update := make(map[string]interface{}, 0)
|
||||||
update["lv"] = lv // 更新等级
|
update["lv"] = lv // 更新等级
|
||||||
if err = this.UpdateDragonData(session.GetUserId(), obj.Id, update); err != nil {
|
if err = this.UpdateDragonData(session.GetUserId(), obj.Id, update); err != nil {
|
||||||
@ -99,17 +108,7 @@ func (this *ModelDragon) CreateDragon(session comm.IUserSession, dragons map[str
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !bFound {
|
|
||||||
dragon = &pb.DBDragon{
|
|
||||||
Id: primitive.NewObjectID().Hex(),
|
|
||||||
Uid: uid,
|
|
||||||
Dragonid: dragonCfgId,
|
|
||||||
Lv: lv,
|
|
||||||
Exp: 0,
|
|
||||||
Property: map[string]int32{},
|
|
||||||
Play: map[int32]*pb.PlayData{},
|
|
||||||
Rtime: configure.Now().Unix(),
|
|
||||||
}
|
|
||||||
if conf, err := this.module.configure.GetDragonConfById(dragonCfgId, lv); err == nil {
|
if conf, err := this.module.configure.GetDragonConfById(dragonCfgId, lv); err == nil {
|
||||||
if c, err := this.module.configure.GetDragonMount(dragonCfgId, conf.Type); err == nil {
|
if c, err := this.module.configure.GetDragonMount(dragonCfgId, conf.Type); err == nil {
|
||||||
dragon.Property["stime"] = c.Stime
|
dragon.Property["stime"] = c.Stime
|
||||||
@ -133,7 +132,6 @@ func (this *ModelDragon) CreateDragon(session comm.IUserSession, dragons map[str
|
|||||||
err = this.AddList(uid, dragonCfgId, dragon)
|
err = this.AddList(uid, dragonCfgId, dragon)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
chanegList = append(chanegList, dragon)
|
chanegList = append(chanegList, dragon)
|
||||||
session.SendMsg(string(this.module.GetType()), "change", &pb.DragonChangePush{
|
session.SendMsg(string(this.module.GetType()), "change", &pb.DragonChangePush{
|
||||||
Dragons: chanegList,
|
Dragons: chanegList,
|
||||||
|
@ -8,6 +8,10 @@ import (
|
|||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
cfg "go_dreamfactory/sys/configure/structs"
|
cfg "go_dreamfactory/sys/configure/structs"
|
||||||
|
"go_dreamfactory/sys/db"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"go.mongodb.org/mongo-driver/bson"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewModule() core.IModule {
|
func NewModule() core.IModule {
|
||||||
@ -126,3 +130,21 @@ func (this *Dragon) QueryDragonById(uid string, dragonid string) (dragon *pb.DBD
|
|||||||
err = fmt.Errorf("not found dragon dragonid:%s", dragonid)
|
err = fmt.Errorf("not found dragon dragonid:%s", dragonid)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 通过区服id 和唯一id 查询坐骑信息
|
||||||
|
func (this *Dragon) QueryDragonByTagAndOid(tag string, objId string) (dragon *pb.DBDragon, err error) {
|
||||||
|
var (
|
||||||
|
conn *db.DBConn
|
||||||
|
model *db.DBModel
|
||||||
|
)
|
||||||
|
if conn, err = db.ServerDBConn(tag); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dragon = &pb.DBDragon{}
|
||||||
|
model = db.NewDBModel(this.modelDragon.TableName, time.Hour, conn)
|
||||||
|
if model.DB.FindOne(comm.TableHero, bson.M{"_id": objId}).Decode(dragon); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -469,7 +469,7 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat
|
|||||||
case comm.PandaType:
|
case comm.PandaType:
|
||||||
panda[v.T] = 1
|
panda[v.T] = 1
|
||||||
case comm.MountsType:
|
case comm.MountsType:
|
||||||
mts[v.T] = 1
|
mts[v.T] = v.N // N 表示等级
|
||||||
case comm.PerType:
|
case comm.PerType:
|
||||||
per[v.T] = 1
|
per[v.T] = 1
|
||||||
default:
|
default:
|
||||||
@ -691,7 +691,7 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea
|
|||||||
case comm.PandaType:
|
case comm.PandaType:
|
||||||
panda[v.T] = 1
|
panda[v.T] = 1
|
||||||
case comm.MountsType:
|
case comm.MountsType:
|
||||||
mts[v.T] = 1
|
mts[v.T] += v.N
|
||||||
case comm.PerType:
|
case comm.PerType:
|
||||||
per[v.T] = 1
|
per[v.T] = 1
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user