12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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
- }
|