diff --git a/modules/hero/api_awaken.go b/modules/hero/api_awaken.go index e88cddf5b..9d95c0fd9 100644 --- a/modules/hero/api_awaken.go +++ b/modules/hero/api_awaken.go @@ -24,19 +24,13 @@ func (this *apiComp) AwakenCheck(session comm.IUserSession, req *pb.HeroAwakenRe func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (code pb.ErrorCode, data proto.Message) { var ( awakenData *cfg.Game_heroAwakenData + _hero *pb.DBHero ) - _hero, err := this.module.GetHero(session.GetUserId(), req.HeroObjID) - defer func() { - if code == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), StrengthenUplv, &pb.HeroAwakenResp{Hero: _hero}) - } - }() - if err != pb.ErrorCode_Success { - code = pb.ErrorCode_HeroNoExist + code = this.AwakenCheck(session, req) // check + if code != pb.ErrorCode_Success { return } - - code = this.AwakenCheck(session, req) // check + _hero, code = this.module.GetHero(session.GetUserId(), req.HeroObjID) if code != pb.ErrorCode_Success { return } @@ -84,6 +78,7 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c if err1 != nil { code = pb.ErrorCode_DBError log.Errorf("update hero skill failed:%v", err1) + return } } else { // 加属性 property := make(map[string]int32, 0) @@ -98,6 +93,6 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c if err1 != nil { log.Errorf("PushHeroProperty err!") } - + session.SendMsg(string(this.module.GetType()), StrengthenUplv, &pb.HeroAwakenResp{Hero: _hero}) return } diff --git a/modules/hero/api_lock.go b/modules/hero/api_lock.go index 57ef87610..69dddb69c 100644 --- a/modules/hero/api_lock.go +++ b/modules/hero/api_lock.go @@ -20,18 +20,14 @@ func (this *apiComp) LockCheck(session comm.IUserSession, req *pb.HeroLockReq) ( /// 英雄锁定 func (this *apiComp) Lock(session comm.IUserSession, req *pb.HeroLockReq) (code pb.ErrorCode, data proto.Message) { - - _hero, err := this.module.GetHero(session.GetUserId(), req.Heroid) - defer func() { - if code == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), HeroLock, &pb.HeroAwakenResp{Hero: _hero}) - } - }() - if err != pb.ErrorCode_Success { - code = pb.ErrorCode_HeroNoExist + var ( + _hero *pb.DBHero + ) + code = this.LockCheck(session, req) // check + if code != pb.ErrorCode_Success { return } - code = this.LockCheck(session, req) // check + _hero, code = this.module.GetHero(session.GetUserId(), req.Heroid) if code != pb.ErrorCode_Success { return } @@ -40,11 +36,12 @@ func (this *apiComp) Lock(session comm.IUserSession, req *pb.HeroLockReq) (code "block": _hero.Block, } // 保存数据 - err1 := this.module.modelHero.modifyHeroData(session.GetUserId(), _hero.Id, _heroMap) - if err1 != nil { + err := this.module.modelHero.modifyHeroData(session.GetUserId(), _hero.Id, _heroMap) + if err != nil { code = pb.ErrorCode_DBError - log.Errorf("update hero skill failed:%v", err1) + log.Errorf("update hero skill failed:%v", err) + return } - + session.SendMsg(string(this.module.GetType()), HeroLock, &pb.HeroAwakenResp{Hero: _hero}) return } diff --git a/modules/hero/api_resonance.go b/modules/hero/api_resonance.go index dcc5f2f1a..c318c9ce5 100644 --- a/modules/hero/api_resonance.go +++ b/modules/hero/api_resonance.go @@ -15,6 +15,7 @@ func (this *apiComp) ResonanceCheck(session comm.IUserSession, req *pb.HeroReson code = pb.ErrorCode_ReqParameterError return } + return } @@ -23,19 +24,16 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR var ( szCostHero map[string]int32 // k 消耗卡牌对象 v 数量 totalCostCard int32 //消耗卡总数量 + _hero *pb.DBHero + _costHero *pb.DBHero ) szCostHero = make(map[string]int32, 0) - _hero, code := this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 - defer func() { - if code == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), Resonance, &pb.HeroResonanceResp{Hero: _hero}) - } - }() + code = this.ResonanceCheck(session, req) // check if code != pb.ErrorCode_Success { return } - code = this.ResonanceCheck(session, req) // check + _hero, code = this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 if code != pb.ErrorCode_Success { return } @@ -53,7 +51,7 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR code = pb.ErrorCode_HeroMaxResonate // 共鸣次数已满 return } - var _costHero *pb.DBHero + for k, v := range szCostHero { for _, v1 := range resonConfig.Heroneed { @@ -67,7 +65,6 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR } _costHero, code = this.module.GetHero(session.GetUserId(), k) // 查询消耗卡是否存在 if code != pb.ErrorCode_Success { // 英雄被锁不能消耗 - code = pb.ErrorCode_HeroNoEnough return } if _costHero.Block { @@ -87,7 +84,6 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR for _, v := range req.CostObjID { code = this.module.DelCard(session.GetUserId(), v, 1) // 删除材料卡 if code != pb.ErrorCode_Success { - code = pb.ErrorCode_DBError return } } @@ -110,6 +106,8 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR err1 = this.module.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息 if err1 != nil { log.Errorf("update hero skill failed:%v", err1) + code = pb.ErrorCode_DBError + return } // 返还对应初始星级的卡 for _, v := range resonConfig.Prize { @@ -128,5 +126,6 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR if err1 != nil { log.Errorf("PushHeroProperty err!") } + session.SendMsg(string(this.module.GetType()), Resonance, &pb.HeroResonanceResp{Hero: _hero}) return } diff --git a/modules/hero/api_resonanceReset.go b/modules/hero/api_resonanceReset.go index 783d62116..073498a19 100644 --- a/modules/hero/api_resonanceReset.go +++ b/modules/hero/api_resonanceReset.go @@ -20,18 +20,20 @@ func (this *apiComp) ResonanceResetCheck(session comm.IUserSession, req *pb.Hero /// 英雄共鸣 func (this *apiComp) ResonanceReset(session comm.IUserSession, req *pb.HeroResonanceResetReq) (code pb.ErrorCode, data proto.Message) { - - _hero, code := this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 - defer func() { - if code == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), ResonanceReset, &pb.HeroResonanceResetResp{Hero: _hero, Energy: _hero.ResonateNum}) - } - }() + var ( + _hero *pb.DBHero + ) code = this.ResonanceResetCheck(session, req) // check if code != pb.ErrorCode_Success { return } + _hero, code = this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 + if code != pb.ErrorCode_Success { + code = pb.ErrorCode_HeroNoExist + return + } + if _hero.ResonateNum <= 0 { // 没有共鸣 不允许重置 code = pb.ErrorCode_HeroNoResonate return @@ -75,11 +77,13 @@ func (this *apiComp) ResonanceReset(session comm.IUserSession, req *pb.HeroReson err1 = this.module.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息 if err1 != nil { log.Errorf("update hero skill failed:%v", err1) + code = pb.ErrorCode_DBError + return } err1 = this.module.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化 if err1 != nil { log.Errorf("PushHeroProperty err!") } - + session.SendMsg(string(this.module.GetType()), ResonanceReset, &pb.HeroResonanceResetResp{Hero: _hero, Energy: _hero.ResonateNum}) return } diff --git a/modules/hero/api_resonanceSelect.go b/modules/hero/api_resonanceSelect.go index 87d7c4875..a55a0fb23 100644 --- a/modules/hero/api_resonanceSelect.go +++ b/modules/hero/api_resonanceSelect.go @@ -14,22 +14,23 @@ func (this *apiComp) ResonanceUseEnergyCheck(session comm.IUserSession, req *pb. if len(req.HeroObjID) == 0 || req.UseEnergy <= 0 || req.UseType < 0 || req.UseType > 3 { code = pb.ErrorCode_ReqParameterError } + return } func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, req *pb.HeroResonanceUseEnergyReq) (code pb.ErrorCode, data proto.Message) { - - _hero, code := this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 - defer func() { - if code == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), ResonanceUseEnergy, &pb.HeroResonanceUseEnergyResp{Hero: _hero}) - } - }() + var ( + _hero *pb.DBHero + ) code = this.ResonanceUseEnergyCheck(session, req) // check if code != pb.ErrorCode_Success { return } + _hero, code = this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 + if code != pb.ErrorCode_Success { + return + } if _hero.DistributionResonate < req.UseEnergy { // 能量点数不够 code = pb.ErrorCode_HeroNoEnergy return @@ -46,6 +47,7 @@ func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, req *pb.HeroR if err1 != nil { code = pb.ErrorCode_DBError log.Errorf("update hero skill failed:%v", err1) + return } // 计算属性 resonConfig, errr := this.module.configure.GetHeroResonanceConfig(_hero.HeroID) @@ -69,5 +71,6 @@ func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, req *pb.HeroR if err1 != nil { log.Errorf("PushHeroProperty err!") } + session.SendMsg(string(this.module.GetType()), ResonanceUseEnergy, &pb.HeroResonanceUseEnergyResp{Hero: _hero}) return } diff --git a/modules/hero/api_skillUp.go b/modules/hero/api_skillUp.go index c643e1e66..a82e91673 100644 --- a/modules/hero/api_skillUp.go +++ b/modules/hero/api_skillUp.go @@ -16,6 +16,7 @@ func (this *apiComp) StrengthenUpSkillCheck(session comm.IUserSession, req *pb.H code = pb.ErrorCode_ReqParameterError return } + return } @@ -29,27 +30,22 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt tmpValue int32 // 临时对象 存放累加权重 tagColor int32 // 目标卡品质 costColor int32 // 消耗卡品质 + _hero *pb.DBHero // 操作的英雄 + _costHero *pb.DBHero // 消耗的英雄 ) tmpUpSkillID = make(map[int32]*pb.SkillData, 0) probability = make(map[int32]int32, 0) - _hero, err := this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 - defer func() { - if code == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), StrengthenUpSkill, &pb.HeroStrengthenUpSkillResp{Hero: _hero}) - } - }() code = this.StrengthenUpSkillCheck(session, req) // check if code != pb.ErrorCode_Success { return } - if err != pb.ErrorCode_Success { - code = pb.ErrorCode_HeroNoExist + + _hero, code = this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 + if code != pb.ErrorCode_Success { return } - - _costHero, err := this.module.GetHero(session.GetUserId(), req.CostCardObj) // 查询消耗卡是否存在 - if err != pb.ErrorCode_Success { - code = pb.ErrorCode_HeroNoExist + _costHero, code = this.module.GetHero(session.GetUserId(), req.CostCardObj) // 查询消耗卡是否存在 + if code != pb.ErrorCode_Success { return } if _costHero.Block { // 锁定的卡不允许被消耗 @@ -76,12 +72,9 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt config, err1 := this.module.configure.GetHeroSkillUpConfig() if err1 != nil { + code = pb.ErrorCode_ConfigNoFound return } - // 先随机一个没有升满 - for _, value := range config.GetDataList() { - log.Debugf("%d", value.Hid) - } for index, skill := range _hero.NormalSkill { skillMaxLv := this.module.configure.GetHeroSkillMaxLvConfig(uint32(skill.SkillID)) @@ -127,7 +120,9 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt } err1 = this.module.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息 if err1 != nil { - log.Errorf("update hero skill failed:%v", err) + log.Errorf("update hero skill failed:%v", err1) + code = pb.ErrorCode_DBError + return } // 扣除材料 code = this.module.DelCard(session.GetUserId(), req.CostCardObj, 1) @@ -139,5 +134,7 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt if err1 != nil { log.Errorf("PushHeroProperty err!") } + + session.SendMsg(string(this.module.GetType()), StrengthenUpSkill, &pb.HeroStrengthenUpSkillResp{Hero: _hero}) return } diff --git a/modules/hero/api_starUp.go b/modules/hero/api_starUp.go index c7ba7d441..4a100d04c 100644 --- a/modules/hero/api_starUp.go +++ b/modules/hero/api_starUp.go @@ -14,6 +14,7 @@ func (this *apiComp) StrengthenUpStarCheck(session comm.IUserSession, req *pb.He if req.HeroObjID == "" || len(req.Hero) == 0 || len(req.HeroRace) == 0 { code = pb.ErrorCode_ReqParameterError } + return } @@ -22,21 +23,19 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr var ( target *cfg.Game_heroStarupData // 配置表目标升星英雄信息 costRaceCount int32 + _hero *pb.DBHero // 目标英雄 + raceHero *pb.DBHero // 消耗阵容的英雄 + tagHero *pb.DBHero // 消耗指定英雄 ) - _hero, err := this.module.GetHero(session.GetUserId(), req.HeroObjID) - defer func() { - if code == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), StrengthenUpStar, &pb.HeroStrengthenUpStarResp{Hero: _hero}) - } - }() code = this.StrengthenUpStarCheck(session, req) // check if code != pb.ErrorCode_Success { return } - if err != pb.ErrorCode_Success { - code = pb.ErrorCode_HeroNoExist + _hero, code = this.module.GetHero(session.GetUserId(), req.HeroObjID) + if code != pb.ErrorCode_Success { return } + // 校验指定英雄 tagHeroConfig, err1 := this.module.configure.GetHeroStarupConfig() if err1 != nil { @@ -56,8 +55,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr } // 指定英雄消耗校验 for _, v := range req.Hero { - if tagHero, err := this.module.GetHero(session.GetUserId(), v.CostCardObj); err != pb.ErrorCode_Success { - code = pb.ErrorCode_ReqParameterError + if tagHero, code = this.module.GetHero(session.GetUserId(), v.CostCardObj); code != pb.ErrorCode_Success { return } else { if tagHero.Block { // 锁定的卡不允许被消耗 @@ -77,8 +75,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr } // 校验阵容英雄消耗 for _, v := range req.HeroRace { - if raceHero, err := this.module.GetHero(session.GetUserId(), v.CostCardObj); err != pb.ErrorCode_Success { - code = pb.ErrorCode_ReqParameterError + if raceHero, code = this.module.GetHero(session.GetUserId(), v.CostCardObj); code != pb.ErrorCode_Success { return } else { if raceHero.Block { // 锁定的卡不允许被消耗 @@ -142,5 +139,9 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr } } code = this.module.modelHero.HeroStarUp(session, _hero) // 执行升星操作 + if code != pb.ErrorCode_Success { + return + } + session.SendMsg(string(this.module.GetType()), StrengthenUpStar, &pb.HeroStrengthenUpStarResp{Hero: _hero}) return } diff --git a/modules/hero/api_strengthen.go b/modules/hero/api_strengthen.go index 9e4acedf8..6d735d5f1 100644 --- a/modules/hero/api_strengthen.go +++ b/modules/hero/api_strengthen.go @@ -15,6 +15,7 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero code = pb.ErrorCode_ReqParameterError return } + return } @@ -22,31 +23,25 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStrengthenUplvReq) (code pb.ErrorCode, data proto.Message) { var ( - curLv int32 - curExp int32 // 当前英雄的经验 - addExp int32 // 需要增加的经验 - costRes map[string][]*cfg.Game_atn // 需要消耗的资源 + curLv int32 + curExp int32 // 当前英雄的经验 + addExp int32 // 需要增加的经验 + costRes map[string][]*cfg.Game_atn // 需要消耗的资源 + _hero *pb.DBHero // 目标英雄 + _expHero *pb.DBHero // 消耗英雄 ) costRes = make(map[string][]*cfg.Game_atn, 0) - _hero, err := this.module.GetHero(session.GetUserId(), req.HeroObjID) // 校验升级的对象是否存在 - defer func() { - if code == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), StrengthenUplv, &pb.HeroStrengthenUplvResp{Hero: _hero}) - } - }() code = this.StrengthenUplvCheck(session, req) // check if code != pb.ErrorCode_Success { return } - if err != pb.ErrorCode_Success { - code = pb.ErrorCode_HeroNoExist + _hero, code = this.module.GetHero(session.GetUserId(), req.HeroObjID) + if code != pb.ErrorCode_Success { return } - _expHero, err := this.module.GetHero(session.GetUserId(), req.ExpCardID) // 校验需要消耗经验卡牌的对象是否存在 - - if err != pb.ErrorCode_Success { - code = pb.ErrorCode_HeroNoExist + _expHero, code = this.module.GetHero(session.GetUserId(), req.ExpCardID) // 校验需要消耗经验卡牌的对象是否存在 + if code != pb.ErrorCode_Success { return } if req.Amount <= 0 { // 消耗数量校验 @@ -144,7 +139,8 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren // 删除经验卡 err1 := this.module.modelHero.consumeOneHeroCard(session.GetUserId(), req.ExpCardID, req.Amount) if err1 != nil { - log.Errorf("delete err failed err:%T!", err) + code = pb.ErrorCode_HeroNoEnough + log.Errorf("delete err failed err:%T!", err1) return } @@ -152,5 +148,7 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren if err1 != nil { log.Errorf("PushHeroProperty err!") } + + session.SendMsg(string(this.module.GetType()), StrengthenUplv, &pb.HeroStrengthenUplvResp{Hero: _hero}) return } diff --git a/modules/hero/model_hero.go b/modules/hero/model_hero.go index 56180b35e..f184a2c72 100644 --- a/modules/hero/model_hero.go +++ b/modules/hero/model_hero.go @@ -282,6 +282,7 @@ func (this *ModelHero) PushHeroProperty(session comm.IUserSession, heroId string } if err = this.ChangeList(session.GetUserId(), heroId, update); err != nil { + log.Errorf("PushHeroProperty err:%v", err) return } return session.SendMsg("push", "property", &pb.HeroProperty{Property: m}) diff --git a/pb/proto/mail/mail_msg.proto b/pb/proto/mail/mail_msg.proto index 38908e36b..dedeba2aa 100644 --- a/pb/proto/mail/mail_msg.proto +++ b/pb/proto/mail/mail_msg.proto @@ -37,3 +37,8 @@ message MailDelMailReq { message MailDelMailResp { repeated DBMailData Mail = 1; } + +// 推送邮件 +message MailGetNewMailPush{ + DBMailData Mail = 1; // 推送新的邮件信息 +} \ No newline at end of file