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 }