diff --git a/modules/friend/api_cross_agree.go b/modules/friend/api_cross_agree.go index 233016837..034fb495d 100644 --- a/modules/friend/api_cross_agree.go +++ b/modules/friend/api_cross_agree.go @@ -120,9 +120,13 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.FriendAgreeReq) (e } target.FriendIds = append(target.FriendIds, self.Uid) } + + target.Weapplyids = utils.DeleteString(target.Weapplyids, self.Uid) // 同意 移除已经申请的好友 + if err = this.module.modelFriend.Change(target.Uid, map[string]interface{}{ - "friendIds": target.FriendIds, - "applyIds": target.ApplyIds, + "friendIds": target.FriendIds, + "applyIds": target.ApplyIds, + "weapplyids": target.Weapplyids, }); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, diff --git a/modules/hero/module.go b/modules/hero/module.go index 1dc4d1acd..92e56fa8f 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -228,21 +228,23 @@ func (this *Hero) CreateRepeatHeros(session comm.IUserSession, heros map[string] this.Errorf("create hero %s failed", heroCfgId) continue } - szAddHero = append(szAddHero, heroCfgId) + for _, v := range atno { if v.A == "hero" && v.N == 1 { changeList = append(changeList, hero) + szAddHero = append(szAddHero, heroCfgId) break } } } - if db.IsCross() { - go this.moduleFetter.SendRpcAddHero(session.GetUserId(), szAddHero, session.GetServiecTag()) - } else { - go this.moduleFetter.AddHerosFetterData(session.GetUserId(), szAddHero) - } + if len(changeList) > 0 { session.SendMsg("hero", "change", &pb.HeroChangePush{List: changeList}) + if db.IsCross() { + go this.moduleFetter.SendRpcAddHero(session.GetUserId(), szAddHero, session.GetServiecTag()) + } else { + go this.moduleFetter.AddHerosFetterData(session.GetUserId(), szAddHero) + } } return } @@ -910,14 +912,10 @@ func (this *Hero) CreateOneHero(session comm.IUserSession, heroCfgId string) (he } szAddHero = append(szAddHero, heroCfgId) - if db.IsCross() { - go this.moduleFetter.SendRpcAddHero(session.GetUserId(), szAddHero, session.GetServiecTag()) - } else { - go this.moduleFetter.AddHerosFetterData(session.GetUserId(), szAddHero) // 异步调用 - } for _, v := range atno { if v.A == "hero" && v.N == 1 { changeList = append(changeList, hero) + go this.moduleFetter.AddHerosFetterData(session.GetUserId(), szAddHero) // 异步调用 break } }