def quitFromAllTalkRoom(self): ''' 从所有聊天室中退出 ''' horner_gear_handler = HornerGear().getHandler() talk_room_wildcard_label = "%s:%s:*" % (CacheKeys.CHATROOM_KEY, self.company_id) _same_company_rooms = horner_gear_handler.keys(talk_room_wildcard_label) for _room_id in _same_company_rooms: _regular_room_name = ensureString(_room_id).split(':') if 3 == len(_regular_room_name): _check_room = Chatroom(self.company_id, _regular_room_name[2]) if _check_room.isLoadSuccess(): _check_room.removeRequestUuid(self.sess_id) if (1 == _check_room.cntParticipates()): _check_room.closeRoomNotice(self.application.getLiveRequestHandlerList()) # 从公司大厅中删除 self._quitFromHall()
def allPaticipatedRoom(company_id, sess_id): ''' 列出所有参与进的聊天室 :param comnay_id: :param sess_id: :return: list ''' ret_room_id_list = [] match_key = "%s:%s:*" % (CacheKeys.CHATROOM_KEY, company_id) horner_gear_handler = HornerGear().getHandler() room_list = horner_gear_handler.keys(match_key) for _room_label in room_list: _regular_room_name = ensureString(_room_label).split(':') if (3 == len(_regular_room_name)): _room_key = Chatroom.getRoomKey(company_id, _regular_room_name[2]) if (horner_gear_handler.sismember(_room_key, sess_id)): ret_room_id_list.append(_regular_room_name[2]) return ret_room_id_list