Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"api.go",
"dao.go",
],
importpath = "go-common/app/interface/live/app-interface/dao",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/service/live/av/api/liverpc:go_default_library",
"//app/service/live/fans_medal/api/liverpc:go_default_library",
"//app/service/live/live_data/api/liverpc:go_default_library",
"//app/service/live/live_user/api/liverpc:go_default_library",
"//app/service/live/rankdb/api/liverpc:go_default_library",
"//app/service/live/relation/api/liverpc:go_default_library",
"//app/service/live/room/api/liverpc:go_default_library",
"//app/service/live/room_ex/api/liverpc:go_default_library",
"//app/service/live/third_api/bvc:go_default_library",
"//app/service/live/third_api/skyhorse:go_default_library",
"//app/service/live/userext/api/liverpc:go_default_library",
"//app/service/live/xuser/api/grpc/v1:go_default_library",
"//library/net/rpc/liverpc:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//app/interface/live/app-interface/dao/account:all-srcs",
"//app/interface/live/app-interface/dao/av:all-srcs",
"//app/interface/live/app-interface/dao/fans_medal:all-srcs",
"//app/interface/live/app-interface/dao/live_data:all-srcs",
"//app/interface/live/app-interface/dao/live_user:all-srcs",
"//app/interface/live/app-interface/dao/rankdb:all-srcs",
"//app/interface/live/app-interface/dao/relation:all-srcs",
"//app/interface/live/app-interface/dao/room:all-srcs",
"//app/interface/live/app-interface/dao/room_ex:all-srcs",
"//app/interface/live/app-interface/dao/user_ext:all-srcs",
"//app/interface/live/app-interface/dao/xuser:all-srcs",
],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,40 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"dao.go",
"userInfo.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/account",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/service/main/account/api:go_default_library",
"//app/service/main/account/model:go_default_library",
"//app/service/main/account/rpc/client:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,35 @@
package account
import (
"context"
"go-common/app/interface/live/app-interface/conf"
account "go-common/app/service/main/account/rpc/client"
)
// Dao dao
type Dao struct {
c *conf.Config
accountRPC *account.Service3
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
accountRPC: account.New3(nil),
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,47 @@
package account
import (
"context"
"github.com/pkg/errors"
"go-common/app/service/main/account/api"
accountM "go-common/app/service/main/account/model"
actmdl "go-common/app/service/main/account/model"
"go-common/library/ecode"
"go-common/library/log"
)
// GetUserInfoData ...
// 调用account grpc接口cards获取用户信息
func (d *Dao) GetUserInfoData(c context.Context, UIDs []int64) (userResult map[int64]*accountM.Card, err error) {
userResult = make(map[int64]*accountM.Card)
lens := len(UIDs)
if lens <= 0 {
return
}
ret, err := d.accountRPC.Cards3(c, &actmdl.ArgMids{Mids: UIDs})
if err != nil {
err = errors.WithMessage(ecode.AccountGRPCError, "GET SEA PATROL FAIL")
log.Error("Call main.Account.Cards Error.Infos(%+v) error(%+v)", UIDs, err)
}
// 整理数据
for _, item := range ret {
if item != nil {
userResult[item.Mid] = item
}
}
return
}
func (d *Dao) GetUserInfos(c context.Context, uids []int64) (userResult map[int64]*api.Info, err error) {
userResult = make(map[int64]*api.Info)
if len(uids) <= 0 {
return
}
ret, err := d.accountRPC.Infos3(c, &actmdl.ArgMids{Mids: uids})
if err != nil {
err = errors.WithMessage(ecode.AccountGRPCError, "GET USER INFO FAIL")
log.Error("Call main.Account.Info3 Error.Infos(%+v) error(%+v)", uids, err)
}
userResult = ret
return
}

View File

@@ -0,0 +1,92 @@
package dao
import (
"go-common/app/interface/live/app-interface/conf"
avApi "go-common/app/service/live/av/api/liverpc"
fansMedalApi "go-common/app/service/live/fans_medal/api/liverpc"
liveDataApi "go-common/app/service/live/live_data/api/liverpc"
liveUserApi "go-common/app/service/live/live_user/api/liverpc"
rankdbApi "go-common/app/service/live/rankdb/api/liverpc"
relationApi "go-common/app/service/live/relation/api/liverpc"
roomApi "go-common/app/service/live/room/api/liverpc"
roomExApi "go-common/app/service/live/room_ex/api/liverpc"
bvcApi "go-common/app/service/live/third_api/bvc"
skyHorseApi "go-common/app/service/live/third_api/skyhorse"
userExtApi "go-common/app/service/live/userext/api/liverpc"
xuserApi "go-common/app/service/live/xuser/api/grpc/v1"
"go-common/library/net/rpc/liverpc"
)
// RoomApi liveRpc room-service api
var RoomApi *roomApi.Client
// AvApi liveRpc room-service api
var AvApi *avApi.Client
// RoomRawApi liveRpc room-service api
var RoomRawApi *liverpc.Client
// LiveUserApi liveRpc room-service api
var LiveUserApi *liveUserApi.Client
// RelationApi liveRpc room-service api
var RelationApi *relationApi.Client
// BvcApi liveRpc room-service api
var BvcApi *bvcApi.Client
// SkyHorseApi ... liveRpc room-service api
var SkyHorseApi *skyHorseApi.Client
// UserExtApi liveRpc room-service api
var UserExtApi *userExtApi.Client
// LiveDataApi liveRpc room-service api
var LiveDataApi *liveDataApi.Client
// RoomExtApi liveRpc room-service api
var RoomExtApi *roomExApi.Client
// FansMedalApi liveRpc room-service api
var FansMedalApi *fansMedalApi.Client
// RankdbApi liveRpc rankdb-service api
var RankdbApi *rankdbApi.Client
// RankdbApi liveRpc rankdb-service api
var XuserApi *xuserApi.Client
// InitAPI init all service APIs
func InitAPI() {
RoomApi = roomApi.New(getConf("room"))
AvApi = avApi.New(getConf("av"))
RoomExtApi = roomExApi.New(getConf("roomex"))
LiveUserApi = liveUserApi.New(getConf("live_user"))
RelationApi = relationApi.New(getConf("relation"))
BvcApi = bvcApi.New(conf.Conf.HttpClient, getBvcConf("host"), getBvcConf("mock"))
SkyHorseApi = skyHorseApi.New(conf.Conf.HttpClient)
RoomRawApi = liverpc.NewClient(getConf("room"))
UserExtApi = userExtApi.New(getConf("userext"))
LiveDataApi = liveDataApi.New(getConf("livedata"))
FansMedalApi = fansMedalApi.New(getConf("fansmedal"))
RankdbApi = rankdbApi.New(getConf("rankdb"))
}
func getConf(appName string) *liverpc.ClientConfig {
c := conf.Conf.LiveRpc
if c != nil {
return c[appName]
}
return nil
}
func getBvcConf(name string) string {
c := conf.Conf.Bvc
if c == nil {
return ""
}
if _, ok := c[name]; ok {
return c[name]
}
return ""
}

View File

@@ -0,0 +1,40 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"dao.go",
"pk_id.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/av",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/av/api/liverpc/v1:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/rpc/liverpc/context:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,32 @@
package av
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,45 @@
package av
import (
"context"
"github.com/pkg/errors"
ServiceConf "go-common/app/interface/live/app-interface/conf"
"go-common/app/interface/live/app-interface/dao"
avV1 "go-common/app/service/live/av/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
"time"
)
// GetPkID ...
// 获取PkId信息
func (d *Dao) GetPkID(ctx context.Context, req *avV1.PkGetPkIdsByRoomIdsReq, params ServiceConf.ChunkCallInfo) (avResult *avV1.PkGetPkIdsByRoomIdsResp, err error) {
avResult = &avV1.PkGetPkIdsByRoomIdsResp{}
ret, err := dao.AvApi.V1Pk.GetPkIdsByRoomIds(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond), &avV1.PkGetPkIdsByRoomIdsReq{RoomIds: req.RoomIds, Platform: req.Platform})
if err != nil {
return
}
erelongInfo, success := ServiceConf.CheckReturn(err, ret.Code, ret.Msg, ServiceConf.GetPkIdsByRoomIds, params.RPCTimeout, params.ChunkSize, params.ChunkNum)
if !success {
if err != nil {
err = errors.WithMessage(ecode.PkIDRecordFrameWorkCallError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.RoomIds)
} else {
err = errors.WithMessage(ecode.PkIDLiveRPCCodeError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.RoomIds)
}
return
}
if ret.Data == nil || len(ret.Data) <= 0 {
erelongInfo.ErrType = ServiceConf.EmptyResultEn
erelongInfo.ErrDesc = ServiceConf.EmptyResult
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.RoomIds)
return
}
avResult = ret
return
}

View File

@@ -0,0 +1,32 @@
package dao
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,40 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"TargetsWithMedal.go",
"dao.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/fans_medal",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/fans_medal/api/liverpc/v1:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/rpc/liverpc/context:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,48 @@
package fans_medal
import (
"context"
"time"
"github.com/pkg/errors"
ServiceConf "go-common/app/interface/live/app-interface/conf"
"go-common/app/interface/live/app-interface/dao"
fansMedalV1 "go-common/app/service/live/fans_medal/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
)
// GetFansMedal ...
// 获取粉丝勋章佩戴信息
func (d *Dao) GetFansMedal(ctx context.Context, req *fansMedalV1.FansMedalTargetsWithMedalReq, params ServiceConf.ChunkCallInfo) (fansResult *fansMedalV1.FansMedalTargetsWithMedalResp, err error) {
fansResult = &fansMedalV1.FansMedalTargetsWithMedalResp{}
ret, err := dao.FansMedalApi.V1FansMedal.TargetsWithMedal(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond),
&fansMedalV1.FansMedalTargetsWithMedalReq{Uid: req.Uid, TargetIds: req.TargetIds})
if err != nil {
return
}
erelongInfo, success := ServiceConf.CheckReturn(err, ret.Code, ret.Msg, ServiceConf.TargetsWithMedal, params.RPCTimeout, params.ChunkSize, params.ChunkNum)
if !success {
if err != nil {
err = errors.WithMessage(ecode.FansMedalFrameWorkCallError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.TargetIds)
} else {
err = errors.WithMessage(ecode.FansMedalLiveRPCCodeError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.TargetIds)
}
return
}
if ret.Data == nil || len(ret.Data) <= 0 {
erelongInfo.ErrType = ServiceConf.EmptyResultEn
erelongInfo.ErrDesc = ServiceConf.EmptyResult
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.TargetIds)
return
}
fansResult = ret
return
}

View File

@@ -0,0 +1,32 @@
package fans_medal
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,40 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"dao.go",
"record.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/live_data",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/live_data/api/liverpc/v1:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/rpc/liverpc/context:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,32 @@
package live_data
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,48 @@
package live_data
import (
"context"
"time"
"github.com/pkg/errors"
ServiceConf "go-common/app/interface/live/app-interface/conf"
"go-common/app/interface/live/app-interface/dao"
liveDataV1 "go-common/app/service/live/live_data/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
)
// GetLastLiveTime ...
// 获取Record信息
func (d *Dao) GetLastLiveTime(ctx context.Context, req *liveDataV1.RecordGetReq, params ServiceConf.ChunkCallInfo) (resp map[string]*liveDataV1.RecordGetResp_TimeInfo, err error) {
resp = make(map[string]*liveDataV1.RecordGetResp_TimeInfo)
ret, err := dao.LiveDataApi.V1Record.Get(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond),
&liveDataV1.RecordGetReq{Roomids: req.Roomids})
if err != nil {
return
}
erelongInfo, success := ServiceConf.CheckReturn(err, ret.Code, ret.Msg, ServiceConf.Record, params.RPCTimeout, params.ChunkSize, params.ChunkNum)
if !success {
if err != nil {
err = errors.WithMessage(ecode.RecordRecordFrameWorkCallError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Roomids)
} else {
err = errors.WithMessage(ecode.RecordLiveRPCCodeError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Roomids)
}
return
}
if ret.Data == nil || len(ret.Data) <= 0 {
erelongInfo.ErrType = ServiceConf.EmptyResultEn
erelongInfo.ErrDesc = ServiceConf.EmptyResult
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Roomids)
return
}
resp = ret.Data
return
}

View File

@@ -0,0 +1,41 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"dahanghai.go",
"dao.go",
"get_tag.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/live_user",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/live_user/api/liverpc/v1:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/rpc/liverpc/context:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,40 @@
package live_user
import (
"context"
"fmt"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
liveUserV1 "go-common/app/service/live/live_user/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
"time"
)
func (d *Dao) GetDaHangHai(ctx context.Context, req *liveUserV1.NoteGetReq) (rep *liveUserV1.NoteGetResp_Data, err error) {
// TODO 添加DaHangHai超时配置
getTagTimeout := time.Duration(conf.GetTimeout("DaHangHai", 50)) * time.Millisecond
dahanghai, err := cDao.LiveUserApi.V1Note.Get(rpcCtx.WithTimeout(ctx, getTagTimeout), req)
rep = &liveUserV1.NoteGetResp_Data{}
if err != nil {
log.Error("[GetDaHangHai]live_user.v1.note.get rpc error:%+v", err)
err = errors.WithMessage(ecode.UserDHHRPCError, fmt.Sprintf("live_user.v1.note.get rpc error:%+v", err))
return
}
if dahanghai.Code != 0 {
log.Error("[GetDaHangHai]live_user.v1.note response error:%+v,code:%d,msg:%s", err, dahanghai.Code, dahanghai.Msg)
err = errors.WithMessage(ecode.UserDHHReturnError, fmt.Sprintf("live_user.v1.note response error,code:%d,msg:%s", dahanghai.Code, dahanghai.Msg))
return
}
if dahanghai.Data == nil {
log.Error("[GetUserTagList]live_user.v1.note empty error")
err = errors.WithMessage(ecode.UserDHHDataNil, "live_user.v1.note empty error")
return
}
rep = dahanghai.Data
return
}

View File

@@ -0,0 +1,32 @@
package live_user
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,44 @@
package live_user
import (
"context"
"fmt"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
liveUserV1 "go-common/app/service/live/live_user/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
"time"
)
func (d *Dao) GetUserTagList(ctx context.Context, req *liveUserV1.UserSettingGetTagReq) (rep *liveUserV1.UserSettingGetTagResp_Data, err error) {
getTagTimeout := time.Duration(conf.GetTimeout("getMyTag", 50)) * time.Millisecond
var tagListRep *liveUserV1.UserSettingGetTagResp
tagListRep, err = cDao.LiveUserApi.V1UserSetting.GetTag(rpcCtx.WithTimeout(ctx, getTagTimeout), req)
rep = &liveUserV1.UserSettingGetTagResp_Data{}
if err != nil {
log.Error("[GetUserTagList]live_user.v1.getTag rpc error:%+v", err)
// 这个是推荐房间列表的基础信息如果失败需要cancel不然返回值会很奇怪
err = errors.WithMessage(ecode.UserTagRPCError, fmt.Sprintf("live_user.v1.getTag rpc error:%+v", err))
return
}
if tagListRep.Code != 0 {
log.Error("[GetUserTagList]live_user.v1.getTag response error:%+v,code:%d,msg:%s", err, tagListRep.Code, tagListRep.Msg)
// 这个是推荐房间列表的基础信息如果失败需要cancel不然返回值会很奇怪
err = errors.WithMessage(ecode.UserTagReturnError, fmt.Sprintf("live_user.v1.getTag response error,code:%d,msg:%s", tagListRep.Code, tagListRep.Msg))
return
}
if tagListRep.Data == nil {
log.Error("[GetUserTagList]live_user.v1.getTag empty error")
// 这个是推荐房间列表的基础信息如果失败需要cancel不然返回值会很奇怪
err = errors.WithMessage(ecode.UserTagReturnError, "live_user.v1.getTag empty error")
return
}
rep = tagListRep.Data
return
}

View File

@@ -0,0 +1,41 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"api.go",
"dao.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/rankdb",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/rankdb/api/liverpc/v1:go_default_library",
"//app/service/main/account/model:go_default_library",
"//app/service/main/account/rpc/client:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,60 @@
package rankdb
import (
"context"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/dao"
"go-common/app/service/live/rankdb/api/liverpc/v1"
accountM "go-common/app/service/main/account/model"
actmdl "go-common/app/service/main/account/model"
"go-common/library/ecode"
"go-common/library/log"
"time"
)
// GetUserInfoData ...
// 调用account grpc接口cards获取用户信息
func (d *Dao) GetUserInfoData(c context.Context, UIDs []int64) (userResult map[int64]*accountM.Card, err error) {
userResult = make(map[int64]*accountM.Card)
lens := len(UIDs)
if lens <= 0 {
return
}
ret, err := d.accountRPC.Cards3(c, &actmdl.ArgMids{Mids: UIDs})
if err != nil {
err = errors.WithMessage(ecode.AccountGRPCError, "GET SEA PATROL FAIL")
log.Error("Call main.Account.Cards Error.Infos(%+v) error(%+v)", UIDs, err)
}
// 整理数据
for _, item := range ret {
if item != nil {
userResult[item.Mid] = item
}
}
return
}
// GetLastHourTop3 ...
// 获取小时榜前三
func (d *Dao) GetLastHourTop3(c context.Context) (uids []int64, err error) {
uids = make([]int64, 0)
lastHour := time.Now().Add(-time.Hour).Format("06010215")
req := &v1.Rank2018GetHourRankReq{
AreaV2ParentId: 0,
AreaV2Id: 0,
Hour: lastHour,
// rankDB begin from 0
Top: 2,
}
resp, err := dao.RankdbApi.V1Rank2018.GetHourRank(c, req)
if err != nil || resp.Data == nil {
log.Error("[app-interface][rankDbItem] liveRpc call rankDb failed")
return
}
if 0 != resp.Code || 0 == len(resp.Data) {
log.Error("[app-interface][rankDbItem] liveRpc call rankDb return error, code:%d, msg:%s", resp.Code, resp.Data)
return
}
uids = resp.Data
return
}

View File

@@ -0,0 +1,33 @@
package rankdb
import (
"context"
"go-common/app/interface/live/app-interface/conf"
account "go-common/app/service/main/account/rpc/client"
)
// Dao dao
type Dao struct {
c *conf.Config
accountRPC *account.Service3
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
accountRPC: account.New3(nil),
}
return
}
// Close close the resource.
func (d *Dao) Close() {
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,41 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"BaseInfo.go",
"Feed.go",
"dao.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/relation",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/relation/api/liverpc/v1:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/rpc/liverpc/context:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,59 @@
package relation
import (
"context"
"github.com/pkg/errors"
ServiceConf "go-common/app/interface/live/app-interface/conf"
"go-common/app/interface/live/app-interface/dao"
relationV1 "go-common/app/service/live/relation/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
"time"
)
// GetGiftInfo 获取给我关注的人送礼(金瓜子)信息
func (d *Dao) GetGiftInfo(ctx context.Context, params ServiceConf.ChunkCallInfo) (giftInfo map[int64]int64, err error) {
relationParams := &relationV1.BaseInfoGetGiftInfoReq{}
ret, err := dao.RelationApi.V1BaseInfo.GetGiftInfo(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond), relationParams)
if err != nil {
return
}
erelongInfo, success := ServiceConf.CheckReturn(err, ret.Code, ret.Msg, "gift", params.RPCTimeout, params.ChunkSize, params.ChunkNum)
if !success {
if err != nil {
err = errors.WithMessage(ecode.PkIDRecordFrameWorkCallError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName)
} else {
err = errors.WithMessage(ecode.PkIDLiveRPCCodeError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName)
}
return giftInfo, nil
}
if ret.Data == nil || len(ret.Data) < 0 {
erelongInfo.ErrType = ServiceConf.EmptyResultEn
erelongInfo.ErrDesc = ServiceConf.EmptyResult
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d",
erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName)
return giftInfo, nil
}
for _, v := range ret.Data {
giftInfo[v.Mid] = v.Gold
}
return
}
// GetAttentionListGroupBy 获取分组的关注列表
func (d *Dao) GetAttentionListGroupBy(ctx context.Context, params ServiceConf.ChunkCallInfo) (relationInfo map[int64]*relationV1.BaseInfoGetFollowTypeResp_UidInfo, attentionErr error) {
attentionData, attentionErr := dao.RelationApi.V1BaseInfo.GetFollowType(
rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond),
&relationV1.BaseInfoGetFollowTypeReq{})
if attentionErr != nil || attentionData == nil {
attentionErr = ecode.AttentionListRPCError
return
}
relationInfo = attentionData.Data
return
}

View File

@@ -0,0 +1 @@
package relation

View File

@@ -0,0 +1,33 @@
package relation
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,47 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"app.go",
"appIndex.go",
"dao.go",
"info.go",
"pendant.go",
"recommend.go",
"status.go",
"uid2roomid.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/room",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/room/api/liverpc/v1:go_default_library",
"//app/service/live/room/api/liverpc/v2:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/rpc/liverpc/context:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,123 @@
package room
import (
"context"
"time"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
roomV2 "go-common/app/service/live/room/api/liverpc/v2"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
)
// 根据moduleId查common房间列表
func (d *Dao) GetListByIds(ctx context.Context, moduleIds []int64) (respModuleList map[int64]*roomV2.AppIndexGetRoomListByIdsResp_RoomList, err error) {
getModuleListByIdsTimeOut := time.Duration(conf.GetTimeout("getModuleListByIds", 100)) * time.Millisecond
moduleList, err := cDao.RoomApi.V2AppIndex.GetRoomListByIds(rpcCtx.WithTimeout(ctx, getModuleListByIdsTimeOut), &roomV2.AppIndexGetRoomListByIdsReq{
Ids: moduleIds,
})
if err != nil {
log.Error("[GetListByIds]get all module ids rpc error, room.v1.AppIndex.GetModuleIds, error:%+v", err)
err = errors.New("GET Module List Rpc error")
return
}
if moduleList.Code != 0 || moduleList.Data == nil {
log.Error("[GetListByIds]get all module ids return data error, code, %d, msg: %s", moduleList.Code, moduleList.Msg)
err = errors.New("GET Module List return error")
return
}
if len(moduleList.Data) <= 0 {
log.Error("[GetListByIds]get all module ids empty error")
err = errors.New("GET Module List empty error")
return
}
respModuleList = moduleList.Data
return
}
// 获取所有模块基础信息
func (d *Dao) GetAllModuleInfo(ctx context.Context, moduleId int64) (moduleInfoList []*roomV2.AppIndexGetBaseMInfoListResp_ModuleInfo, err error) {
moduleInfoList = make([]*roomV2.AppIndexGetBaseMInfoListResp_ModuleInfo, 0)
param := &roomV2.AppIndexGetBaseMInfoListReq{}
if moduleId != 0 {
param.ModuleId = moduleId
}
moduleInfoListOut, err := cDao.RoomApi.V2AppIndex.GetBaseMInfoList(ctx, param)
if err != nil {
log.Error("[GetAllModuleInfo]RoomApi.V2AppIndex.GetBaseMInfoList rpc error, RoomApi.V2AppIndex.GetBaseMInfoList, error:%+v", err)
err = errors.New("RoomApi.V2AppIndex.GetBaseMInfoList rpc error")
return
}
if moduleInfoListOut.Code != 0 || moduleInfoListOut.Data == nil || len(moduleInfoListOut.Data) <= 0 {
log.Error("[GetAllModuleInfo]RoomApi.V2AppIndex.GetBaseMInfoList return data error, code, %d, msg: %s, error:%+v", moduleInfoListOut.Code, moduleInfoListOut.Msg, err)
err = errors.New("RoomApi.V2AppIndex.GetBaseMInfoList return data error")
return
}
moduleInfoList = moduleInfoListOut.Data
return
}
// 根据模块id获取分区入口信息
func (d *Dao) GetAreaEntrance(ctx context.Context, ids []int64) (result map[int64]*roomV2.AppIndexGetPicListByIdsResp_ItemList, err error) {
result = make(map[int64]*roomV2.AppIndexGetPicListByIdsResp_ItemList, 0)
areaEntranceOut, err := cDao.RoomApi.V2AppIndex.GetPicListByIds(ctx, &roomV2.AppIndexGetPicListByIdsReq{Ids: ids})
if err != nil {
log.Error("[GetAreaEntrance]RoomApi.V2AppIndex.GetPicListByIds rpc error:%+v", err)
err = errors.New("RoomApi.V2AppIndex.GetPicListByIds rpc error")
return
}
if areaEntranceOut.Code != 0 || areaEntranceOut.Data == nil {
log.Error("[GetAreaEntrance]RoomApi.V2AppIndex.GetPicListByIds return data error, code, %d, msg: %s, error:%+v", areaEntranceOut.Code, areaEntranceOut.Msg, err)
err = errors.New("RoomApi.V2AppIndex.GetPicListByIds return data error")
return
}
result = areaEntranceOut.Data
return
}
// 根据分区ids获取房间列表
func (d *Dao) GetMultiRoomList(ctx context.Context, areaIds string, platform string) (result map[int64][]*roomV2.AppIndexGetMultiRoomListResp_RoomList, err error) {
result = make(map[int64][]*roomV2.AppIndexGetMultiRoomListResp_RoomList)
multiRoomListOut, err := cDao.RoomApi.V2AppIndex.GetMultiRoomList(ctx, &roomV2.AppIndexGetMultiRoomListReq{
AreaIds: areaIds,
Platform: platform,
})
if err != nil {
log.Error("[GetMultiRoomList]RoomApi.V2AppIndex.GetMultiRoomList rpc error:%+v", err)
err = errors.New("RoomApi.V2AppIndex.GetMultiRoomList rpc error")
return
}
if multiRoomListOut.Code != 0 || multiRoomListOut.Data == nil {
log.Error("[GetMultiRoomList]RoomApi.V2AppIndex.GetMultiRoomList return data error, code, %d, msg: %s", multiRoomListOut.Code, multiRoomListOut.Msg)
err = errors.New("RoomApi.V2AppIndex.GetMultiRoomList return data error")
return
}
if len(multiRoomListOut.Data) <= 0 {
log.Error("[GetMultiRoomList]RoomApi.V2AppIndex.GetMultiRoomList empty error")
err = errors.New("RoomApi.V2AppIndex.GetMultiRoomList empty error")
return
}
for _, item := range multiRoomListOut.Data {
if item != nil {
result[item.Id] = item.List
}
}
return
}

View File

@@ -0,0 +1,37 @@
package room
import (
"context"
"errors"
"time"
"go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
roomV2 "go-common/app/service/live/room/api/liverpc/v2"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
)
func (d *Dao) GetActivityCard(ctx context.Context, ids []int64, logPrefix string) (err error, data map[int64]*roomV2.AppIndexGetActivityCardResp_ActivityCard) {
activityQueryTimeout := time.Duration(conf.GetTimeout("activityQuery", 100)) * time.Millisecond
cardInfo, roomError := cDao.RoomApi.V2AppIndex.GetActivityCard(rpcCtx.WithTimeout(ctx, activityQueryTimeout), &roomV2.AppIndexGetActivityCardReq{Ids: ids})
if roomError != nil {
log.Error("[%s] get activity card info rpc error, room.v2.AppIndex.GetActivityCard, error:%+v", logPrefix, roomError)
err = errors.New("get activity card info rpc error")
return
}
if cardInfo.Code != 0 {
log.Error("[%s] get activity card info response error, code, %d, msg: %s", logPrefix, cardInfo.Code, cardInfo.Msg)
err = errors.New("get activity card info response error")
return
}
if cardInfo.Data.ActivityCard == nil {
log.Error("[%s] get activity card info but on data", logPrefix)
err = errors.New("get activity card info but no data")
return
}
data = cardInfo.Data.ActivityCard
return
}

View File

@@ -0,0 +1,32 @@
package room
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,52 @@
package room
import (
"context"
"fmt"
"time"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
roomV2 "go-common/app/service/live/room/api/liverpc/v2"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
)
// GetRoomInfoByIds
func (d *Dao) GetRoomInfoByIds(ctx context.Context, roomIds []int64, fields []string, from string) (multiRoomListResp map[int64]*roomV2.RoomGetByIdsResp_RoomInfo, err error) {
multiRoomListResp = make(map[int64]*roomV2.RoomGetByIdsResp_RoomInfo)
getByIdsTimeout := time.Duration(conf.GetTimeout("getByIds", 100)) * time.Millisecond
multiRoomList, getByIdsError := cDao.RoomApi.V2Room.GetByIds(rpcCtx.WithTimeout(ctx, getByIdsTimeout), &roomV2.RoomGetByIdsReq{
Ids: roomIds,
NeedBroadcastType: 1,
NeedUinfo: 1,
Fields: fields,
From: from,
})
if getByIdsError != nil {
log.Error("[GetRoomInfoByIds]room.v2.getByIds rpc error:%+v", getByIdsError)
// 这个是推荐房间列表的基础信息如果失败需要cancel不然返回值会很奇怪
err = errors.WithMessage(ecode.GetRoomError, fmt.Sprintf("room.v2.getByIds rpc error:%+v", getByIdsError))
return
}
if multiRoomList.Code != 0 {
log.Error("[GetRoomInfoByIds]room.v2.getByIds response error,code:%d,msg:%s", multiRoomList.Code, multiRoomList.Msg)
// 这个是推荐房间列表的基础信息如果失败需要cancel不然返回值会很奇怪
err = errors.WithMessage(ecode.GetRoomError, fmt.Sprintf("room.v2.getByIds response error,code:%d,msg:%s", multiRoomList.Code, multiRoomList.Msg))
return
}
if multiRoomList.Data == nil {
log.Error("[GetRoomInfoByIds]room.v2.getByIds empty error")
// 这个是推荐房间列表的基础信息如果失败需要cancel不然返回值会很奇怪
err = errors.WithMessage(ecode.GetRoomEmptyError, "room.v2.getByIds empty error")
return
}
multiRoomListResp = multiRoomList.Data
return
}

View File

@@ -0,0 +1,77 @@
package room
import (
"context"
"fmt"
"time"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/conf"
ServiceConf "go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
roomV1 "go-common/app/service/live/room/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
)
// GetRoomPendant
func (d *Dao) GetRoomPendant(ctx context.Context, roomIds []int64, pendantType string, position int64) (pendantRoomListResp map[int64]*roomV1.RoomPendantGetPendantByIdsResp_Result, err error) {
pendantRoomListResp = make(map[int64]*roomV1.RoomPendantGetPendantByIdsResp_Result)
getPendantByIdsTimeout := time.Duration(conf.GetTimeout("getPendantByIds", 50)) * time.Millisecond
pendantRoomList, err := cDao.RoomApi.V1RoomPendant.GetPendantByIds(rpcCtx.WithTimeout(ctx, getPendantByIdsTimeout), &roomV1.RoomPendantGetPendantByIdsReq{
Ids: roomIds,
Type: pendantType,
Position: position, // 历史原因,取右上,但客户端展示在左上
})
if err != nil {
log.Error("[GetRoomPendant]room.v1.getPendantByIds rpc error:%+v", err)
err = errors.WithMessage(ecode.RoomPendantError, fmt.Sprintf("room.v1.getPendantByIds rpc error:%+v", err))
return
}
if pendantRoomList.Code != 0 {
log.Error("[GetRoomPendant]room.v1.getPendantByIds response code:%d,msg:%s", pendantRoomList.Code, pendantRoomList.Msg)
err = errors.WithMessage(ecode.RoomPendantReturnError, fmt.Sprintf("room.v1.getPendantByIds response error, code:%d, msg:%s", pendantRoomList.Code, pendantRoomList.Msg))
return
}
if pendantRoomList.Data == nil || pendantRoomList.Data.Result == nil {
log.Error("[GetRoomPendant]room.v1.getPendantByIds empty error")
err = errors.WithMessage(ecode.RoomPendantReturnError, "")
return
}
pendantRoomListResp = pendantRoomList.Data.Result
return
}
// GetRoomPendantInfo ...
// 获取角标信息
func (d *Dao) GetRoomPendantInfo(ctx context.Context, req *roomV1.RoomPendantGetPendantByIdsReq, params ServiceConf.ChunkCallInfo) (roomNewsResult *roomV1.RoomPendantGetPendantByIdsResp, err error) {
ret, err := cDao.RoomApi.V1RoomPendant.GetPendantByIds(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond), &roomV1.RoomPendantGetPendantByIdsReq{Ids: req.Ids, Type: req.Type, Position: req.Position})
if err != nil {
return
}
erelongInfo, success := ServiceConf.CheckReturn(err, ret.Code, ret.Msg, ServiceConf.RoomPendent, params.RPCTimeout, params.ChunkSize, params.ChunkNum)
if !success {
if err != nil {
err = errors.WithMessage(ecode.PkIDRecordFrameWorkCallError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Ids)
} else {
err = errors.WithMessage(ecode.PkIDLiveRPCCodeError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Ids)
}
return nil, err
}
if ret.Data == nil {
erelongInfo.ErrType = ServiceConf.EmptyResultEn
erelongInfo.ErrDesc = ServiceConf.EmptyResult
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Ids)
return nil, err
}
roomNewsResult = ret
return
}

View File

@@ -0,0 +1,43 @@
package room
import (
"context"
"fmt"
"time"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
roomV1 "go-common/app/service/live/room/api/liverpc/v1"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
)
// 获取首页推荐强推列表
func (d *Dao) GetStrongRecList(ctx context.Context, recPage int64) (strongRecRoomListResp *roomV1.RoomRecommendClientRecStrongResp, err error) {
strongRecRoomListResp = &roomV1.RoomRecommendClientRecStrongResp{}
clientRecStrongTimeout := time.Duration(conf.GetTimeout("clientRecStrong", 100)) * time.Millisecond
strongRecRoomList, err := cDao.RoomApi.V1RoomRecommend.ClientRecStrong(rpcCtx.WithTimeout(ctx, clientRecStrongTimeout), &roomV1.RoomRecommendClientRecStrongReq{
RecPage: recPage,
})
if err != nil {
log.Error("[GetStrongRecList]room.v1.clientStrongRec rpc error:%+v", err)
err = errors.New(fmt.Sprintf("room.v1.clientStrongRec rpc error:%+v", err))
return
}
if strongRecRoomList.Code != 0 {
log.Error("[GetStrongRecList]room.v1.getPendantByIds response code:%d,msg:%s", strongRecRoomList.Code, strongRecRoomList.Msg)
err = errors.New(fmt.Sprintf("room.v1.getPendantByIds response error, code:%d, msg:%s", strongRecRoomList.Code, strongRecRoomList.Msg))
return
}
if strongRecRoomList.Data == nil || strongRecRoomList.Data.Result == nil {
log.Error("[GetStrongRecList]room.v1.getPendantByIds empty")
err = errors.New("[getSkyHorseRoomList]room.v1.getPendantByIds empty")
return
}
strongRecRoomListResp = strongRecRoomList
return
}

View File

@@ -0,0 +1,47 @@
package room
import (
"context"
"github.com/pkg/errors"
ServiceConf "go-common/app/interface/live/app-interface/conf"
"go-common/app/interface/live/app-interface/dao"
roomV1 "go-common/app/service/live/room/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
"time"
)
// GetRoomInfo ...
// 获取room信息
func (d *Dao) GetRoomInfo(ctx context.Context, req *roomV1.RoomGetStatusInfoByUidsReq, params ServiceConf.ChunkCallInfo) (resp *roomV1.RoomGetStatusInfoByUidsResp, err error) {
// ret, err := dao.FansMedalApi.V1FansMedal.TargetsWithMedal(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond),
resp = &roomV1.RoomGetStatusInfoByUidsResp{}
ret, err := dao.RoomApi.V1Room.GetStatusInfoByUids(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond),
&roomV1.RoomGetStatusInfoByUidsReq{Uids: req.Uids, FilterOffline: req.FilterOffline, NeedBroadcastType: req.NeedBroadcastType})
if err != nil {
return
}
erelongInfo, success := ServiceConf.CheckReturn(err, ret.Code, ret.Msg, ServiceConf.GetStatusInfoByUfos, params.RPCTimeout, params.ChunkSize, params.ChunkNum)
if !success {
if err != nil {
err = errors.WithMessage(ecode.RoomGetStatusInfoRPCError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Uids)
} else {
err = errors.WithMessage(ecode.RoomGetStatusInfoRPCError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Uids)
}
return
}
if ret.Data == nil || len(ret.Data) <= 0 {
erelongInfo.ErrType = ServiceConf.EmptyResultEn
erelongInfo.ErrDesc = ServiceConf.EmptyResult
// log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
// erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Uids)
return
}
resp = ret
return
}

View File

@@ -0,0 +1,39 @@
package room
import (
"context"
"github.com/pkg/errors"
ServiceConf "go-common/app/interface/live/app-interface/conf"
"go-common/app/interface/live/app-interface/dao"
roomV2 "go-common/app/service/live/room/api/liverpc/v2"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
"time"
)
// UIDs2roomIDs ...
// uid转换roomID,每批最大400
func (d *Dao) UIDs2roomIDs(ctx context.Context, req *roomV2.RoomRoomIdByUidMultiReq, params ServiceConf.ChunkCallInfo) (ret *roomV2.RoomRoomIdByUidMultiResp, err error) {
ret, err = dao.RoomApi.V2Room.RoomIdByUidMulti(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond), &roomV2.RoomRoomIdByUidMultiReq{Uids: req.Uids})
if err != nil {
return
}
erelongInfo, success := ServiceConf.CheckReturn(err, ret.Code, ret.Msg, ServiceConf.GetRoomID, params.RPCTimeout, params.ChunkSize, params.ChunkNum)
if !success {
if err != nil {
err = errors.WithMessage(ecode.FansMedalFrameWorkCallError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Uids)
}
return
}
if ret.Data == nil || len(ret.Data) <= 0 {
erelongInfo.ErrType = ServiceConf.EmptyResultEn
erelongInfo.ErrDesc = ServiceConf.EmptyResult
// log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
// erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.Uids)
return
}
return
}

View File

@@ -0,0 +1,41 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"banner.go",
"dao.go",
"news.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/room_ex",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/room_ex/api/liverpc/v1:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/rpc/liverpc/context:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,45 @@
package room_ex
import (
"context"
"fmt"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
roomEx "go-common/app/service/live/room_ex/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
"time"
)
func (d *Dao) GetBanner(ctx context.Context, biz int64, position int64, platform string, device string, build int64) (bannerListResp []*roomEx.BannerGetNewBannerResp_NewBanner, err error) {
timeOut := time.Duration(conf.GetTimeout("/room_ex/v1/Banner/getNewBanner", 50)) * time.Millisecond
bannerListResult, errCode := cDao.RoomExtApi.V1Banner.GetNewBanner(rpcCtx.WithTimeout(ctx, timeOut), &roomEx.BannerGetNewBannerReq{
Platform: biz,
Position: position,
UserPlatform: platform,
UserDevice: device,
Build: build,
})
if errCode != nil {
log.Error("[getBannerFromRoomEx]roomEx.v1.getNewBanner rpc error:%+v", errCode)
err = errors.WithMessage(ecode.GetBannerErr, fmt.Sprintf("roomEx.v1.getNewBanner rpc error:%+v", errCode))
return
}
if bannerListResult.Code != 0 {
log.Error("[getBannerFromRoomEx]roomEx.v1.getNewBanner response error:%+v,code:%d,msg:%s", errCode, bannerListResult.Code, bannerListResult.Msg)
err = errors.WithMessage(ecode.GetBannerErr, fmt.Sprintf("roomEx.v1.getNewBanner response error,code:%d,msg:%s", bannerListResult.Code, bannerListResult.Msg))
return
}
if bannerListResult.Data == nil {
log.Error("[getBannerFromRoomEx]roomEx.v1.getNewBanner empty error")
err = errors.WithMessage(ecode.GetBannerErr, "roomEx.v1.getNewBanner empty error")
return
}
bannerListResp = bannerListResult.Data
return
}

View File

@@ -0,0 +1,32 @@
package room_ex
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,44 @@
package room_ex
import (
"context"
"github.com/pkg/errors"
ServiceConf "go-common/app/interface/live/app-interface/conf"
cDao "go-common/app/interface/live/app-interface/dao"
roomExV1 "go-common/app/service/live/room_ex/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
rpcCtx "go-common/library/net/rpc/liverpc/context"
"time"
)
func (d *Dao) GetRoomNewsInfo(ctx context.Context, req *roomExV1.RoomNewsMultiGetReq, params ServiceConf.ChunkCallInfo) (roomNewsResult *roomExV1.RoomNewsMultiGetResp, err error) {
roomNewsResult = &roomExV1.RoomNewsMultiGetResp{}
ret, err := cDao.RoomExtApi.V1RoomNews.MultiGet(rpcCtx.WithTimeout(ctx, time.Duration(params.RPCTimeout)*time.Millisecond),
&roomExV1.RoomNewsMultiGetReq{RoomIds: req.RoomIds, IsDecoded: req.IsDecoded})
if err != nil {
return
}
erelongInfo, success := ServiceConf.CheckReturn(err, ret.Code, ret.Msg, ServiceConf.RoomNews, params.RPCTimeout, params.ChunkSize, params.ChunkNum)
if !success {
if err != nil {
err = errors.WithMessage(ecode.RoomNewsRecordFrameWorkCallError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.RoomIds)
} else {
err = errors.WithMessage(ecode.RoomNewsLiveRPCCodeError, "GET SEA PATROL FAIL")
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|error:%+v"+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
err, erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.RoomIds)
}
return nil, err
}
if ret.Data == nil {
erelongInfo.ErrType = ServiceConf.EmptyResultEn
erelongInfo.ErrDesc = ServiceConf.EmptyResult
log.Error(erelongInfo.ErrType+"|"+erelongInfo.URLName+"|Code:%d"+"|Msg:%s"+"|RPCTimeout:%d"+"|ChunkSize:%d"+"|ChunkNum:%d"+"|ParamsName:%s"+"|Params:%v",
erelongInfo.Code, erelongInfo.Msg, erelongInfo.RPCTimeout, erelongInfo.ChunkSize, erelongInfo.ChunkNum, params.ParamsName, req.RoomIds)
return nil, err
}
roomNewsResult = ret
return
}

View File

@@ -0,0 +1,39 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"dao.go",
"get.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/user_ext",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/interface/live/app-interface/dao:go_default_library",
"//app/service/live/userext/api/liverpc/v1:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,31 @@
package user_ext
import (
"context"
"go-common/app/interface/live/app-interface/conf"
)
// Dao dao
type Dao struct {
c *conf.Config
}
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
dao = &Dao{
c: c,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// check
return nil
}

View File

@@ -0,0 +1,26 @@
package user_ext
import (
"context"
"github.com/pkg/errors"
"go-common/app/interface/live/app-interface/dao"
userExV1 "go-common/app/service/live/userext/api/liverpc/v1"
"go-common/library/ecode"
"go-common/library/log"
)
// GetGrayRule 获取灰度配置
func (d *Dao) GetGrayRule(ctx context.Context, req *userExV1.GrayRuleGetByMarkReq) (extResult *userExV1.GrayRuleGetByMarkResp, err error) {
extResult = &userExV1.GrayRuleGetByMarkResp{}
if req == nil {
return nil, nil
}
ret, err := dao.UserExtApi.V1GrayRule.GetByMark(ctx, req)
if err != nil {
log.Error("call_userExt_grayRule error,err:%v", err)
err = errors.WithMessage(ecode.GetGrayRuleError, "GET SEA PATROL FAIL")
return
}
extResult = ret
return
}

View File

@@ -0,0 +1,38 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"dao.go",
"userExp.go",
],
importpath = "go-common/app/interface/live/app-interface/dao/xuser",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/live/app-interface/conf:go_default_library",
"//app/service/live/xuser/api/grpc/v1:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//vendor/github.com/pkg/errors:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,41 @@
package xuser
import (
"context"
"go-common/app/interface/live/app-interface/conf"
xuser "go-common/app/service/live/xuser/api/grpc/v1"
)
// Dao dao
type Dao struct {
c *conf.Config
xuserGRPC *xuser.Client
}
var _rsCli *xuser.Client
// New init mysql db
func New(c *conf.Config) (dao *Dao) {
var err error
if _rsCli, err = xuser.NewClient(c.XuserClient); err != nil {
panic(err)
}
dao = &Dao{
c: c,
xuserGRPC: _rsCli,
}
return
}
// Close close the resource.
func (d *Dao) Close() {
return
}
// Ping dao ping
func (d *Dao) Ping(c context.Context) error {
// TODO: if you need use mc,redis, please add
// check
return nil
}

View File

@@ -0,0 +1,31 @@
package xuser
import (
"context"
"github.com/pkg/errors"
xuserM "go-common/app/service/live/xuser/api/grpc/v1"
"go-common/library/ecode"
"go-common/library/log"
)
// GetUserExpData ...
// 调用account grpc接口cards获取用户信息
func (d *Dao) GetUserExpData(c context.Context, UIDs []int64) (userResult map[int64]*xuserM.LevelInfo, err error) {
userResult = make(map[int64]*xuserM.LevelInfo)
lens := len(UIDs)
if lens <= 0 {
return
}
ret, err := d.xuserGRPC.GetUserExp(c, &xuserM.GetUserExpReq{Uids: UIDs})
if err != nil {
err = errors.WithMessage(ecode.AccountGRPCError, "GET SEA PATROL FAIL")
log.Error("Call main.Account.Cards Error.Infos(%+v) error(%+v)", UIDs, err)
}
// 整理数据
for _, item := range ret.Data {
if item != nil {
userResult[item.Uid] = item
}
}
return
}