roomAdmin.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package v1
  2. import (
  3. "context"
  4. v1pb "go-common/app/interface/live/web-room/api/http/v1"
  5. "go-common/app/interface/live/web-room/conf"
  6. "go-common/app/interface/live/web-room/dao"
  7. "go-common/library/log"
  8. )
  9. // RoomAdminService struct
  10. type RoomAdminService struct {
  11. conf *conf.Config
  12. // optionally add other properties here, such as dao
  13. // dao *dao.Dao
  14. dao *dao.Dao
  15. }
  16. //NewRoomAdminService init
  17. func NewRoomAdminService(c *conf.Config) (s *RoomAdminService) {
  18. s = &RoomAdminService{
  19. conf: c,
  20. dao: dao.New(c),
  21. }
  22. return s
  23. }
  24. // History 相关服务
  25. // GetByRoom implementation
  26. // 获取主播拥有的的所有房管, 无需登录态
  27. // `method:"GET"
  28. func (s *RoomAdminService) GetByRoom(ctx context.Context, req *v1pb.RoomAdminGetByRoomReq) (resp *v1pb.RoomAdminGetByRoomResp, err error) {
  29. // 默认值
  30. resp = &v1pb.RoomAdminGetByRoomResp{
  31. Page: &v1pb.RoomAdminGetByRoomResp_Page{
  32. Page: 1,
  33. PageSize: 1,
  34. TotalPage: 1,
  35. TotalCount: 0,
  36. },
  37. Data: []*v1pb.RoomAdminGetByRoomResp_Data{},
  38. }
  39. roomID := req.GetRoomid()
  40. page := req.GetPage()
  41. pageSize := req.GetPageSize()
  42. if page <= 0 {
  43. page = 1
  44. }
  45. if pageSize <= 0 || pageSize > 100 {
  46. pageSize = int64(10)
  47. }
  48. ret, err := s.dao.GetByRoomIDPage(ctx, roomID, page, pageSize)
  49. if ret == nil {
  50. log.Info("call GetByAnchor nil mid(%v) err (%v)", roomID, err)
  51. return
  52. }
  53. if err != nil {
  54. return
  55. }
  56. if nil != ret.Page {
  57. resp.Page = ret.Page
  58. }
  59. if nil != ret.Data {
  60. resp.Data = ret.Data
  61. }
  62. return
  63. }