go_dreamfactory/modules/hero/api_info.go
2022-09-26 11:59:59 +08:00

48 lines
1.1 KiB
Go

package hero
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.HeroInfoReq) (code pb.ErrorCode) {
if req.HeroId == "" {
code = pb.ErrorCode_ReqParameterError
}
return
}
func (this *apiComp) Info(session comm.IUserSession, req *pb.HeroInfoReq) (code pb.ErrorCode, data proto.Message) {
if code = this.InfoCheck(session, req); code != pb.ErrorCode_Success {
return
}
rsp := &pb.HeroInfoResp{}
defer func() {
err := session.SendMsg(string(this.module.GetType()), HeroSubTypeInfo, rsp)
if err != nil {
code = pb.ErrorCode_SystemError
return
}
// utils.TraceFunc(session.GetUserId(), string(this.module.GetType()), HeroSubTypeInfo, req, rsp)
}()
hero := this.module.modelHero.getOneHero(session.GetUserId(), req.HeroId)
if hero == nil {
code = pb.ErrorCode_HeroNoExist
return
}
rsp.Base = hero
fmt.Printf("[ %v ] \n", hero)
this.module.AddHeroExp(session, hero.Id, 5000)
fmt.Printf("exp:=%d,exp+%d", hero.Lv, hero.Exp)
return
}