go_dreamfactory/modules/hero/api_info.go
2023-09-12 15:29:15 +08:00

58 lines
1.2 KiB
Go

package hero
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"go_dreamfactory/utils"
)
//参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.HeroInfoReq) (errdata *pb.ErrorData) {
if len(req.HeroId) == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return
}
func (this *apiComp) Info(session comm.IUserSession, req *pb.HeroInfoReq) (errdata *pb.ErrorData) {
var (
uid string
)
if errdata = this.InfoCheck(session, req); errdata != nil {
return
}
rsp := &pb.HeroInfoResp{}
if req.Uid == "" {
uid = session.GetUserId()
} else {
uid = req.Uid
}
if tag, _, ok := utils.UIdSplit(uid); ok {
if conn, err := db.ServerDBConn(tag); err == nil {
dbModel := db.NewDBModel(comm.TableHero, conn)
for _, v := range req.HeroId {
if v == "" {
continue
}
hero := &pb.DBHero{}
if err = dbModel.GetListObj(uid, v, hero); err == nil {
rsp.Base = append(rsp.Base, hero)
} else {
this.module.Errorf("err:%v,heroid:%s,uid:%s", err, v, uid)
}
}
}
}
rsp.Uid = uid
session.SendMsg(string(this.module.GetType()), HeroSubTypeInfo, rsp)
return
}