From 63d25e17ba64575ca5f0154074009c74af4fbfd8 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Tue, 28 Feb 2023 11:26:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8B=B1=E9=9B=84=E6=B3=A8=E5=86=8C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8F=82=E6=95=B0=E8=B0=83=E6=95=B4=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/imodule.go | 2 +- modules/hero/module.go | 38 ++++++++++++++++++++++---------------- modules/mail/model_mail.go | 2 +- pb/errorcode.pb.go | 1 + 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/comm/imodule.go b/comm/imodule.go index 0ac10a8b0..a8bef5354 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -94,7 +94,7 @@ type ( GetAllMaxHero(session IUserSession) (code pb.ErrorCode) // 教习登记 - RegisterInstructor(session IUserSession, heroCid string, registerId int32) (code pb.ErrorCode) + RegisterInstructor(session IUserSession, heroOid string, registerId int32) (code pb.ErrorCode) } //玩家 diff --git a/modules/hero/module.go b/modules/hero/module.go index 1cc945a6f..60c235618 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -798,24 +798,30 @@ func (this *Hero) InRange(heroRecord *pb.DBHeroRecord, strPool []string, update return } -func (this *Hero) RegisterInstructor(session comm.IUserSession, heroCid string, fulllvenr int32) (code pb.ErrorCode) { - list := this.GetHeroList(session.GetUserId()) - for _, v := range list { - if v.HeroID == heroCid && v.Fulllvenr == 0 { - v.Fulllvenr = fulllvenr - _heroMap := map[string]interface{}{ - "fulllvenr": v.Fulllvenr, - } - if err := this.modelHero.ChangeList(session.GetUserId(), v.Id, _heroMap); err != nil { - code = pb.ErrorCode_DBError - return - } - return - } else { - code = pb.ErrorCode_HeroIsRegister // 英雄已经注册过 +func (this *Hero) RegisterInstructor(session comm.IUserSession, heroOid string, fulllvenr int32) (code pb.ErrorCode) { + _hero, code := this.GetHeroByObjID(session.GetUserId(), heroOid) + if code != pb.ErrorCode_Success { + return + } + + if _hero.Fulllvenr == 0 { + // 校验有没有满级 + if _hero.Lv < _hero.Star*comm.HeroStarLvRatio { + code = pb.ErrorCode_HeroInsufficientLv // 必须满级 return } + _hero.Fulllvenr = fulllvenr + _heroMap := map[string]interface{}{ + "fulllvenr": _hero.Fulllvenr, + } + if err := this.modelHero.ChangeList(session.GetUserId(), _hero.Id, _heroMap); err != nil { + code = pb.ErrorCode_DBError + return + } + + } else { + code = pb.ErrorCode_HeroIsRegister // 英雄已经注册过 + return } - code = pb.ErrorCode_HeroNoExist // 英雄不存在 return } diff --git a/modules/mail/model_mail.go b/modules/mail/model_mail.go index 5a655e2f4..2d17c4754 100644 --- a/modules/mail/model_mail.go +++ b/modules/mail/model_mail.go @@ -49,8 +49,8 @@ func (this *modelMail) MailQueryUserMail(uId string) (mail []*pb.DBMailData, err } // 插入一封新的邮件 -func (this *modelMail) MailInsertUserMail(mail *pb.DBMailData) (err error) { +func (this *modelMail) MailInsertUserMail(mail *pb.DBMailData) (err error) { mail.ObjId = primitive.NewObjectID().Hex() mail.Check = false mail.Reward = true diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index d6ebed969..ce61e5688 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -132,6 +132,7 @@ const ( ErrorCode_HeroAlreadyKongFuStatus ErrorCode = 1324 // 已经是练功状态 ErrorCode_HeroLvNoEnough ErrorCode = 1325 // 英雄等级不足 ErrorCode_HeroIsRegister ErrorCode = 1326 // 英雄已经登记过 + ErrorCode_HeroInsufficientLv ErrorCode = 1327 // 英雄等级不足 // equipment ErrorCode_EquipmentOnFoundEquipment ErrorCode = 1400 // 未找到武器 ErrorCode_EquipmentLvlimitReached ErrorCode = 1401 // 武器等级已达上限