练功接口优化
This commit is contained in:
parent
9c11102b5a
commit
910568d2f4
@ -321,22 +321,13 @@ func (this *Hero) AddHeroExp(session comm.IUserSession, heroObjID string, exp in
|
|||||||
func (this *Hero) KungFuHero(session comm.IUserSession, heroObjID string, bKongfu bool) (code pb.ErrorCode) {
|
func (this *Hero) KungFuHero(session comm.IUserSession, heroObjID string, bKongfu bool) (code pb.ErrorCode) {
|
||||||
var (
|
var (
|
||||||
_hero *pb.DBHero
|
_hero *pb.DBHero
|
||||||
newhero *pb.DBHero
|
|
||||||
_changeHero []*pb.DBHero // 变化的英雄
|
_changeHero []*pb.DBHero // 变化的英雄
|
||||||
)
|
)
|
||||||
if this.IsCross() {
|
|
||||||
for _, tag := range db.GetServerTags() {
|
|
||||||
conn, err1 := db.ServerDBConn(tag) // 遍历连接对象
|
|
||||||
if err1 != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
sr := conn.Mgo.FindOne(comm.TableHero, bson.M{
|
if this.IsCross() {
|
||||||
"_id": heroObjID,
|
if model, err := this.GetDBModuleByUid(session.GetUserId(), this.modelHero.TableName, this.modelHero.Expired); err == nil {
|
||||||
})
|
if err := model.GetListObj(session.GetUserId(), heroObjID, _hero); err != nil {
|
||||||
_hero = &pb.DBHero{}
|
this.Errorf("err:%v", err)
|
||||||
if err := sr.Decode(_hero); err != nil {
|
|
||||||
this.modelHero.moduleHero.Errorf("find hero error: %v", err)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -351,41 +342,36 @@ func (this *Hero) KungFuHero(session comm.IUserSession, heroObjID string, bKongf
|
|||||||
code = pb.ErrorCode_HeroAlreadyKongFuStatus // 已经是练功状态
|
code = pb.ErrorCode_HeroAlreadyKongFuStatus // 已经是练功状态
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !bKongfu {
|
|
||||||
_heroMap := map[string]interface{}{
|
if !bKongfu && _hero.Status == pb.HeroType_HeroTypeNil {
|
||||||
"status": pb.HeroType_HeroTypeNil,
|
return
|
||||||
|
}
|
||||||
|
if bKongfu {
|
||||||
|
_hero.Status = pb.HeroType_HeroTypeKongFu
|
||||||
|
} else {
|
||||||
|
_hero.Status = pb.HeroType_HeroTypeNil
|
||||||
|
}
|
||||||
|
|
||||||
|
_heroMap := map[string]interface{}{
|
||||||
|
"status": _hero.Status,
|
||||||
|
}
|
||||||
|
|
||||||
|
if this.IsCross() {
|
||||||
|
if model, err := this.GetDBModuleByUid(session.GetUserId(), this.modelHero.TableName, this.modelHero.Expired); err == nil {
|
||||||
|
if err := model.ChangeList(session.GetUserId(), heroObjID, _heroMap); err != nil {
|
||||||
|
this.Errorf("err:%v", err)
|
||||||
|
code = pb.ErrorCode_DBError
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
err1 := this.modelHero.ChangeList(session.GetUserId(), heroObjID, _heroMap) // 修改英雄信息
|
} else {
|
||||||
if err1 != nil {
|
if err := this.modelHero.ChangeList(session.GetUserId(), heroObjID, _heroMap); err != nil { // 修改英雄信息
|
||||||
this.Errorf("update hero skill failed:%v", err1)
|
this.Errorf("err:%v", err)
|
||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_hero.Status = pb.HeroType_HeroTypeNil
|
|
||||||
_changeHero = append(_changeHero, _hero)
|
|
||||||
session.SendMsg(string(this.GetType()), "change", &pb.HeroChangePush{List: _changeHero})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// if _hero.SameCount > 1 {
|
|
||||||
// _hero.SameCount -= 1
|
|
||||||
// newHero := this.modelHero.CloneNewHero(session.GetUserId(), _hero)
|
|
||||||
// _changeHero = append(_changeHero, newHero)
|
|
||||||
// }
|
|
||||||
_heroMap := map[string]interface{}{
|
|
||||||
"status": pb.HeroType_HeroTypeKongFu,
|
|
||||||
}
|
|
||||||
_hero.Status = pb.HeroType_HeroTypeKongFu
|
|
||||||
//_hero.SameCount = 1
|
|
||||||
err1 := this.modelHero.ChangeList(session.GetUserId(), heroObjID, _heroMap) // 修改英雄信息
|
|
||||||
if err1 != nil {
|
|
||||||
this.Errorf("update hero skill failed:%v", err1)
|
|
||||||
code = pb.ErrorCode_DBError
|
|
||||||
return
|
|
||||||
}
|
|
||||||
_changeHero = append(_changeHero, _hero) // 升级后的英雄 hero id 不变
|
|
||||||
if newhero != nil {
|
|
||||||
_changeHero = append(_changeHero, newhero) // 原来的英雄 只是数量变化了
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_changeHero = append(_changeHero, _hero)
|
_changeHero = append(_changeHero, _hero)
|
||||||
session.SendMsg(string(this.GetType()), "change", &pb.HeroChangePush{List: _changeHero})
|
session.SendMsg(string(this.GetType()), "change", &pb.HeroChangePush{List: _changeHero})
|
||||||
return
|
return
|
||||||
|
Loading…
Reference in New Issue
Block a user