| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- package audioroom
- import (
- "bet24.com/log"
- audioroomPb "bet24.com/servers/micros/audioroom/proto"
- user "bet24.com/servers/micros/userservices/proto"
- "encoding/json"
- "strconv"
- )
- var mgr *Manager
- type Manager struct {
- }
- func Run() {
- mgr = new(Manager)
- }
- // 获取语聊房列表
- func (this *Manager) getRoomList(searchKey, beginTime, endTime, sortName, sortType string,
- pageIndex, pageSize, realTime int) (int, interface{}) {
- var roomId int
- // 如果输入的是数字则直接替换成房间id
- if num, err := strconv.ParseInt(searchKey, 10, 64); err == nil {
- roomId = int(num)
- searchKey = ""
- }
- if isRealTime(realTime) {
- return audioroomPb.AdminGetRoomList(searchKey, sortName, sortType, roomId, pageIndex, pageSize)
- }
- return getRoomList(searchKey, beginTime, endTime, sortName, sortType, roomId, pageIndex, pageSize)
- }
- // 获取语聊房详细信息
- func (this *Manager) getRoomDetail(roomId, realTime int) interface{} {
- if roomId <= 0 {
- return nil
- }
- if isRealTime(realTime) {
- return audioroomPb.AdminGetRoomDetail(roomId)
- }
- resp := getRoomDetail(roomId)
- var mics []audioroomPb.MicInfo
- if err := json.Unmarshal([]byte(resp.MicInfo), &mics); err != nil {
- log.Debug("Manager.getRoomDetail json.Unmarshal error. err[%+v]", err)
- return resp
- }
- resp.MicInfo = ""
- resp.UpMicCount = audioroomPb.AdminGetUpMicCount(mics)
- return resp
- }
- // 获取语聊房成员
- func (this *Manager) getRoomMember(beginTime, endTime string, roomId, pageIndex, pageSize, realTime int) (int, interface{}) {
- if isRealTime(realTime) {
- return audioroomPb.AdminGetRoomMember(roomId, pageIndex, pageSize)
- }
- return getRoomMember(beginTime, endTime, roomId, pageIndex, pageSize)
- }
- // 获取语聊房房间的在线用户
- func (this *Manager) getRoomOnlineUsers(roomId, realTime, pageIndex, pageSize int) (int, interface{}) {
- if !isRealTime(realTime) {
- return 0, nil
- }
- return audioroomPb.AdminGetRoomOnlineUsers(roomId, pageIndex, pageSize)
- }
- // 获取语聊房麦位
- func (this *Manager) getRoomMic(roomId, realTime int) (int, interface{}) {
- if !isRealTime(realTime) {
- return 0, nil
- }
- return audioroomPb.AdminGetRoomMic(roomId)
- }
- // 获取黑名单列表
- func (this *Manager) getBlackList(roomId, blackType, pageIndex, pageSize, realTime int, beginTime, endTime string) (int, interface{}) {
- if isRealTime(realTime) {
- return audioroomPb.AdminGetBlackList(roomId, blackType, pageIndex, pageSize)
- }
- return getBlackList(roomId, blackType, pageIndex, pageSize, beginTime, endTime)
- }
- // 获取房内操作日志
- func (this *Manager) getRoomLogRecord(roomId, pageIndex, pageSize int, beginTime, endTime string) (int, interface{}) {
- count, list := getRoomLogRecord(roomId, pageIndex, pageSize, beginTime, endTime)
- for k, v := range list {
- userInfo := user.GetUserInfo(v.UserID)
- if userInfo == nil {
- continue
- }
- list[k].NickName = userInfo.NickName
- toUserInfo := user.GetUserInfo(v.ToUserID)
- if toUserInfo == nil {
- continue
- }
- list[k].ToNickName = toUserInfo.NickName
- }
- return count, list
- }
- // 获取房间任务列表
- func (this *Manager) getRoomTask(realTime, roomId, pageIndex, pageSize int, beginTime, endTime string) (int, interface{}) {
- if isRealTime(realTime) {
- return audioroomPb.AdminGetRoomTask(roomId, pageIndex, pageSize)
- }
- sysTask := audioroomPb.GenerateSysTaskMap(true)
- var sysTaskMap map[int]*audioroomPb.TaskConfig
- if err := json.Unmarshal([]byte(sysTask), &sysTaskMap); err != nil {
- log.Debug("Manager.getRoomTask GenerateSysTaskMap json Unmarshal fail. err:%+v", err)
- return 0, nil
- }
- count, list := getRoomTask(roomId, pageIndex, pageSize, beginTime, endTime)
- for k, v := range list {
- task, ok := sysTaskMap[v.TaskID]
- if ok {
- list[k].TaskName = task.Name
- }
- }
- return count, list
- }
- // 获取用户的房间任务
- func (this *Manager) getUserRoomTask(roomId, userId, pageIndex, pageSize int) (int, interface{}) {
- sysTask := audioroomPb.GenerateSysTaskMap(false)
- var sysTaskMap map[int]*audioroomPb.TaskConfig
- if err := json.Unmarshal([]byte(sysTask), &sysTaskMap); err != nil {
- log.Debug("Manager.getUserRoomTask GenerateSysTaskMap json Unmarshal fail. err:%+v", err)
- return 0, []audioroomPb.AdminUserRoomTask{}
- }
- count, list := getUserRoomTask(roomId, userId, pageIndex, pageSize)
- for k, v := range list {
- task, ok := sysTaskMap[v.TaskID]
- if ok {
- list[k].TaskName = task.Name
- }
- }
- return count, list
- }
- // 获取房间上下麦日志
- func (this *Manager) getRoomMicLog(pageIndex, pageSize int, searchRoom, searchUser, beginTime, endTime string) (int, interface{}) {
- var roomId, userId int
- // 如果输入的是数字则直接替换成房间id
- if num, err := strconv.ParseInt(searchRoom, 10, 64); err == nil {
- roomId = int(num)
- searchRoom = ""
- }
- // 如果输入的是数字则直接替换成用户id
- if num, err := strconv.ParseInt(searchUser, 10, 64); err == nil {
- userId = int(num)
- searchUser = ""
- }
- return getRoomMicLog(roomId, userId, pageIndex, pageSize, searchRoom, searchUser, beginTime, endTime)
- }
|