55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
package hero
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/pb"
|
|
"go_dreamfactory/sys/db"
|
|
"go_dreamfactory/utils"
|
|
"time"
|
|
|
|
"google.golang.org/protobuf/proto"
|
|
)
|
|
|
|
//参数校验
|
|
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.HeroInfoReq) (code pb.ErrorCode) {
|
|
if len(req.HeroId) == 0 {
|
|
code = pb.ErrorCode_ReqParameterError
|
|
}
|
|
return
|
|
}
|
|
|
|
func (this *apiComp) Info(session comm.IUserSession, req *pb.HeroInfoReq) (code pb.ErrorCode, data proto.Message) {
|
|
var (
|
|
uid string
|
|
)
|
|
|
|
if code = this.InfoCheck(session, req); code != pb.ErrorCode_Success {
|
|
return
|
|
}
|
|
rsp := &pb.HeroInfoResp{}
|
|
|
|
if req.Uid == "" {
|
|
uid = session.GetUserId()
|
|
} else {
|
|
uid = req.Uid
|
|
}
|
|
|
|
tag, _, b := utils.UIdSplit(uid)
|
|
if b {
|
|
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", err)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
session.SendMsg(string(this.module.GetType()), HeroSubTypeInfo, rsp)
|
|
return
|
|
}
|