room_task.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package admin
  2. import (
  3. "bet24.com/servers/common"
  4. "bet24.com/servers/micros/audioroom/handler/config"
  5. "bet24.com/servers/micros/audioroom/handler/manager"
  6. pb "bet24.com/servers/micros/audioroom/proto"
  7. )
  8. // 生成系统任务集合
  9. func (this *adminMgr) GenerateSysTaskMap(sysFlag bool) map[int]*pb.TaskConfig {
  10. sysTask := config.Mgr.GetSysTask(sysFlag)
  11. sysTaskMap := make(map[int]*pb.TaskConfig)
  12. for _, v := range sysTask {
  13. sysTaskMap[v.Id] = v
  14. }
  15. return sysTaskMap
  16. }
  17. // 获取房间任务列表 - 后台
  18. func (this *adminMgr) AdminGetRoomTask(roomId int) []pb.AdminRoomTask {
  19. list := make([]pb.AdminRoomTask, 0, 0)
  20. currentTime := common.GetTimeStamp()
  21. sysTaskMap := this.GenerateSysTaskMap(true)
  22. for _, v := range manager.AdminMgr.GetAllRoom() {
  23. if roomId > 0 && v.RoomId != roomId {
  24. continue
  25. }
  26. r := manager.AdminMgr.GetRoom(v.RoomId)
  27. if r == nil {
  28. continue
  29. }
  30. taskList := r.GetRoomTaskList()
  31. for k, _ := range taskList {
  32. taskInfo := pb.AdminRoomTask{
  33. RoomID: r.RoomId,
  34. TaskID: taskList[k].TaskId,
  35. Schedule: taskList[k].Schedule,
  36. CurrNum: taskList[k].CurrNum,
  37. UpdateTime: common.TimeStampToString(int64(taskList[k].TimeStamp)),
  38. }
  39. // 过期重置
  40. if !common.IsSameDay(taskList[k].TimeStamp, currentTime) {
  41. taskInfo.Schedule = 0
  42. taskInfo.CurrNum = 0
  43. }
  44. if sysTaskInfo, ok := sysTaskMap[taskList[k].TaskId]; ok {
  45. taskInfo.TaskName = sysTaskInfo.Name
  46. }
  47. list = append(list, taskInfo)
  48. }
  49. }
  50. return list
  51. }