room_black.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package admin
  2. import (
  3. "bet24.com/servers/common"
  4. "bet24.com/servers/micros/audioroom/handler/manager"
  5. pb "bet24.com/servers/micros/audioroom/proto"
  6. user "bet24.com/servers/micros/userservices/proto"
  7. )
  8. // 获取黑名单 - 后台
  9. func (this *adminMgr) AdminGetBlackList(roomId, blackType int) []pb.AdminRoomBlackList {
  10. if roomId == 0 {
  11. var blackList []pb.AdminRoomBlackList
  12. for _, v := range manager.AdminMgr.GetAllRoom() {
  13. list := this.getOnlineBlackList(v.RoomId, blackType)
  14. blackList = append(blackList, list...)
  15. }
  16. return blackList
  17. }
  18. return this.getOnlineBlackList(roomId, blackType)
  19. }
  20. // 获取在线的黑名单列表
  21. func (this *adminMgr) getOnlineBlackList(roomId, blackType int) []pb.AdminRoomBlackList {
  22. r := manager.AdminMgr.GetRoom(roomId)
  23. if r == nil {
  24. return nil
  25. }
  26. var list []pb.AdminRoomBlackList
  27. for _, v := range r.GetBlackList() {
  28. for _, b := range v.BlackTypes {
  29. if b.BlackType != blackType {
  30. continue
  31. }
  32. // 无效用户
  33. u := user.GetUserInfo(v.UserId)
  34. if u == nil {
  35. continue
  36. }
  37. info := r.GetMemberInfo(u.UserId)
  38. // 追加数据
  39. list = append(list, pb.AdminRoomBlackList{
  40. UserID: u.UserId,
  41. NickName: u.NickName,
  42. RoleID: info.RoleId,
  43. Level: info.Level,
  44. ExpireTime: b.ExpireTimeStamp - common.GetTimeStamp(),
  45. Crdate: info.Crdate,
  46. })
  47. }
  48. }
  49. return list
  50. }