56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
package hero
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/pb"
|
|
"go_dreamfactory/sys/db"
|
|
"go_dreamfactory/utils"
|
|
"time"
|
|
)
|
|
|
|
//参数校验
|
|
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, time.Hour, conn)
|
|
for _, v := range req.HeroId {
|
|
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
|
|
}
|