#!/usr/bin/python # -*- coding: GBK -*- #--------------------------------------------------------------------- # #--------------------------------------------------------------------- ##@package GMT_GetPlayerForbid.py # ²éѯȫ·þ´¦·£ÐÅÏ¢ # # @author whx # @date 2012-08-10 17:00 # @version 1.0 # # @note #--------------------------------------------------------------------- """Version = 2012-08-10 17:00""" #--------------------------------------------------------------------- #µ¼Èë from MangoDBCommon import fix_incomingText from Collections.CollectionDefine import * from Common import (CommFuncEx, mylog) from Collections import DataServerPlayerData import GMCommon #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- ## ÊÕµ½gmÃüÁîÖ´ÐÐ # @param gmCmdDict:gmÃüÁî×Öµä # @return None def OnExec(gmCmdDict): queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '') #Íæ¼Ò´¦·ÖÃûµ¥ if queryType == "allPlayer": return GMCommon.Def_DoQueryUserDB, "" #IP´¦·ÖÐÅÏ¢ elif queryType == "allIP": return GMCommon.Def_SendToGameServer, "" # »Ø¸´ return GMCommon.Def_ParamErr, '' ## ²éѯlogdb·µ»Ø # @param logdb:logdb # @param data:´«ÈëµÄÐÅÏ¢ # @param gmCmdDict:gmÃüÁî×Öµä # @return None def LogDBResponse(logdb, data, gmCmdDict): queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '') #Íæ¼Ò´¦·ÖÃûµ¥ if queryType == "allPlayer": return GMCommon.Def_DoQueryUserDB, "" #IP´¦·ÖÐÅÏ¢ elif queryType == "allIP": return GMCommon.Def_SendToGameServer, "" # »Ø¸´ return GMCommon.Def_ParamErr, '' ## ²éѯuserdb·µ»Ø # @param userdb:userdb # @param data:´«ÈëµÄÐÅÏ¢ # @param gmCmdDict:gmÃüÁî×Öµä # @return None def UserDBResponse(userdb, data, gmCmdDict): queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '') #IP´¦·ÖÐÅÏ¢ if queryType == "allIP": return GMCommon.Def_SendToGameServer, "" forbidLoginList = [] forbidTalkList = [] collection = userdb[UCN_DBPlayer] allPlayer = collection.find() playerCnt = allPlayer.count() if playerCnt <= 0: return GMCommon.Def_NoTag, '' for i in range(playerCnt): player = allPlayer[i] accState = player.get('AccState', 0) #Ëø¶¨ if (accState & pow(2, GMCommon.Def_PysForbidByPy)) > 0: accID = player.get('AccID', "") forbidLoginList.append(accID) if (accState & pow(2, GMCommon.Def_PysForbidTalk)) > 0 or (accState & pow(2, GMCommon.Def_PysForbidTalkDevice)) > 0: accID = player.get('AccID', "") forbidTalkList.append(accID) forbidInfo = { 'forbidLoginList':forbidLoginList, #ÊÇ·ñËø¶¨ 'forbidTalkList':forbidTalkList, #ÊÇ·ñ½ûÑÔ } return GMCommon.Def_Success, forbidInfo