You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.0 KiB
52 lines
2.0 KiB
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 |
|
}
|
|
|