diff --git a/comm/imodule.go b/comm/imodule.go index decb699ae..175067152 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -654,5 +654,9 @@ type ( CreateDragon(session IUserSession, dragons map[string]int32, bPush bool) (errdata *pb.ErrorData) // 机器人 坐骑 CreateRobotDragon(dragonid string, lv int32) (dragon *pb.DBDragon, err error) + // 查询所有成龙 + QueryBigDragonList(uid string) (dragon []*pb.DBDragon, err error) + // 通过ID 查询龙的信息 + QueryDragonById(uid string, dragonid string) (dragon *pb.DBDragon, err error) } ) diff --git a/modules/dragon/module.go b/modules/dragon/module.go index 211f75238..3197c075b 100644 --- a/modules/dragon/module.go +++ b/modules/dragon/module.go @@ -1,6 +1,7 @@ package dragon import ( + "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/modules" @@ -89,3 +90,39 @@ func (this *Dragon) CreateRobotDragon(dragonid string, lv int32) (dragon *pb.DBD } return } + +func (this *Dragon) QueryBigDragonList(uid string) (dragon []*pb.DBDragon, err error) { + var ( + list []*pb.DBDragon + ) + + if list, err = this.modelDragon.GetDragonList(uid); err != nil { + return + } + for _, v := range list { + if c, err := this.configure.GetDragonConfById(v.Dragonid, v.Lv); err == nil { + if c.Type == 3 { + dragon = append(dragon, v) + } + } + } + return +} + +func (this *Dragon) QueryDragonById(uid string, dragonid string) (dragon *pb.DBDragon, err error) { + var ( + list []*pb.DBDragon + ) + + if list, err = this.modelDragon.GetDragonList(uid); err != nil { + return + } + for _, v := range list { + if v.Dragonid == dragonid { + dragon = v + return + } + } + err = fmt.Errorf("not found dragon dragonid:%s", dragonid) + return +}