| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package admin
- import (
- "bet24.com/servers/common"
- "bet24.com/servers/micros/audioroom/handler/manager"
- pb "bet24.com/servers/micros/audioroom/proto"
- user "bet24.com/servers/micros/userservices/proto"
- "sort"
- )
- // 获取语聊房麦位 - 后台
- func (this *adminMgr) AdminGetRoomMic(roomId int) []pb.AdminRoomMic {
- var micList []pb.AdminRoomMic
- if roomId == 0 {
- for _, v := range manager.AdminMgr.GetAllRoom() {
- list := this.getOnlineMic(v.RoomId)
- micList = append(micList, list...)
- }
- } else {
- micList = this.getOnlineMic(roomId)
- }
- return this.changeMicListSort(micList)
- }
- // 获取在线的麦位
- func (this *adminMgr) getOnlineMic(roomId int) []pb.AdminRoomMic {
- r := manager.AdminMgr.GetRoom(roomId)
- if r == nil {
- return nil
- }
- var list []pb.AdminRoomMic
- for k, v := range r.GetMicListInfo() {
- if v.UserId <= 0 {
- continue
- }
- u := user.GetUserInfo(v.UserId)
- if u == nil {
- continue
- }
- member := r.GetMemberInfo(v.UserId)
- list = append(list, pb.AdminRoomMic{
- UserID: u.UserId,
- NickName: u.NickName,
- RoleID: member.RoleId,
- Level: member.Level,
- MicNum: k + 1,
- UpMicType: r.MicMode,
- UpMicTime: common.TimeStampToString(int64(v.TimeStamp)),
- })
- }
- return list
- }
- // 改变麦位列表的排序
- func (this *adminMgr) changeMicListSort(list []pb.AdminRoomMic) []pb.AdminRoomMic {
- // 排序规则:优先加入
- sort.SliceStable(list, func(i, j int) bool {
- return list[i].UpMicTime < list[j].UpMicTime
- })
- return list
- }
|