def doHelloTuyou(self): gameId = runhttp.getParamInt('gameId') clientId = runhttp.getParamStr('clientId', '') ftlog.debug('Hello->gameId=', gameId, 'clientId=', clientId) mo = MsgPack() mo.setCmd('hello') if gameId not in gdata.gameIds(): mo.setError(1, 'gameId error !') ftlog.error('doHelloTuyou gameId error', runhttp.getDict()) return mo try: clientIdInt = pokerconf.clientIdToNumber(clientId) except: clientIdInt = 0 ftlog.error() if clientIdInt <= 0: mo.setError(2, 'clientId error !') ftlog.error('doHelloTuyou clientId error', runhttp.getDict()) return mo nicaiCode = runhttp.getParamStr('nicaiCode', '') if not nicaiCode: mo.setError(3, 'nicai error !') ftlog.error('doHelloTuyou nicai error', runhttp.getDict()) return mo # 1. 生存你猜CODE HelloTuyou.getNiCaiCode(mo, nicaiCode) # 2. 取得更新信息 updateVersion = runhttp.getParamInt('updateVersion') alphaVersion = runhttp.getParamInt('alphaVersion', 0) HelloTuyou.getUpdataInfo(mo, gameId, clientId, updateVersion, alphaVersion) # 3. 静态配置文件的MD5和URL staticConf = hallconf.getUpgradeStaticConf() mo.updateResult(staticConf) # 4. 返回三方SDK的控制开关 HelloTuyou.getThirdSwitches(mo, clientId) # 设置其他返回值 mo.setResult('gameId', gameId) mo.setResult('clientId', clientId) return mo
def doReceiveSdkNotify(self): """ action: add_friend accept_friend """ paramsDict = runhttp.getDict() ftlog.debug("doReceiveSdkNotify:", paramsDict) appId = paramsDict.get('appId', 0) userId = int(paramsDict.get('userId', 0)) actionType = paramsDict.get('type', '') ext = paramsDict.get('ext', None) msg = paramsDict.get('message', '') mo = MsgPack() mo.setCmd('friend_notify') mo.setResult('gameId', appId) mo.setResult('userId', userId) mo.setResult('action', actionType) mo.setResult('info', msg) if ext != None: try: extjson = json.loads(ext) for k in extjson: mo.setResult(k, extjson[k]) except: pass userdata.clearUserCache(userId) router.sendToUser(mo, userId) # if actionType == 'add_friend': # from poker.entity.biz.message import message # message.send(int(appId), message.MESSAGE_TYPE_SYSTEM, int(userId), msg) return 'success'
def do_player_bindBankAccount(self): if ftlog.is_debug(): request = runhttp.getRequest() ftlog.debug('ErdayiHttpHandler.do_player_bindBankAccount', 'params=', runhttp.getDict()) ftlog.debug('ErdayiHttpHandler.do_player_bindBankAccount', 'request=', request) try: userId, err = self.checkBaseParams() if err: return err.pack() bankNo = runhttp.getParamStr('bankNo') if not bankNo: return PlayerControl.makeResponse(userId, ErrorEnum.ERR_BAD_PARAM) bankName = runhttp.getParamStr('bankName') if not bankName: return PlayerControl.makeResponse(userId, ErrorEnum.ERR_BAD_PARAM) bankAccount = runhttp.getParamStr('bankAccount') if not bankAccount: return PlayerControl.makeResponse(userId, ErrorEnum.ERR_BAD_PARAM) ftlog.debug('do_player_bindBankAccount', 'userId=', userId, 'bankNo=', bankNo, 'bankName=', bankName, 'bankAccount=', bankAccount) response = PlayerControl.bindBankAccount(userId, bankNo, bankName, bankAccount) return response.pack() except: ftlog.error() return PlayerControl.makeResponse(userId, ErrorEnum.ERR_UNKNOWN).pack()
def doQueryForTime(self): """ 废弃,目前的生成规则已不再依赖时间,原因不明,人员已离职 """ paramsDict = runhttp.getDict() ftlog.debug("doQueryForTime:", paramsDict) from hall.entity.hallactivity.activity_exchange_code import TYActivityExchangeCode mo = TYActivityExchangeCode.doQueryTimeCode(paramsDict) return mo
def checkCode(self): code = "" datas = runhttp.getDict() if "code" in datas: code = datas["code"] del datas["code"] signStr = util.httpParamsSign(datas) if code != signStr: return -1, "Verify code error" return 0, None
def doGetGameInfoForSdk(self): paramsDict = runhttp.getDict() ftlog.debug("doGetGameInfoForSdk:", paramsDict) uidlist = paramsDict.get('uids', '').split(',') for_winchip = paramsDict.get('for_winchip', 0) for_level_info = paramsDict.get('for_level_info', 0) for_online_info = paramsDict.get('for_online_info', 1) gameIds = paramsDict.get('gameids', '').split(',') for x in xrange(len(gameIds)): gameIds[x] = strutil.parseInts(gameIds[x]) for x in xrange(len(uidlist)): uidlist[x] = strutil.parseInts(uidlist[x]) return self._doGetGameInfoForSdk(uidlist, gameIds, for_level_info, for_winchip, for_online_info)
def checkCode(self): code = '' datas = runhttp.getDict() if 'code' in datas: code = datas['code'] del datas['code'] keys = sorted(datas.keys()) checkstr = '' for k in keys: checkstr += k + '=' + datas[k] + '&' checkstr = checkstr[:-1] apikey = 'www.tuyoo.com--third-party-api-e031f2a946854db29211a20f2252c3a3-www.tuyoo.com' checkstr = checkstr + apikey if code != strutil.md5digest(checkstr): return -1, 'Verify code error' acttime = int(datas.get('time', 0)) if abs(time.time() - acttime) > 10: return -1, 'Verify time error' return 0, None
def doGetRecommendFriends(self): paramsDict = runhttp.getDict() ftlog.debug("doGetRecommendFriends:", paramsDict) count = int(paramsDict.get('count', 0)) friend_uids = paramsDict.get('friend_uids', '') userId = paramsDict.get('userId', '') friend_uid_list = [] if friend_uids and friend_uids != '': friend_uid_list = friend_uids.split(',') count_all = len(friend_uid_list) + count * 3 # 适当扩大范围,优先推荐女性 uids = onlinedata.getOnlineRandUserIds(count_all) ftlog.debug("doGetRecommendFriends uids:", uids) recommend_uids = set() for uid in uids: if uid <= 10000 or uid == int(userId) or str(uid) in friend_uid_list: continue recommend_uids.add(uid) return json.dumps(list(recommend_uids))
def checkCode(self): code = '' datas = runhttp.getDict() if 'code' in datas: code = datas['code'] del datas['code'] keys = sorted(datas.keys()) checkstr = '' for k in keys: checkstr += k + '=' + datas[k] + '&' checkstr = checkstr[:-1] apikey = 'www.tuyoo.com-api-6dfa879490a249be9fbc92e97e4d898d-www.tuyoo.com' checkstr = checkstr + apikey if code != strutil.md5digest(checkstr): return -1, 'Verify code error' # acttime = int(datas.get('time', 0)) # if abs(time.time() - acttime) > 10: # return -1, 'verify time error' return 0, None
def doGetRecommendFriends(self): paramsDict = runhttp.getDict() ftlog.debug("doGetRecommendFriends:", paramsDict) count = int(paramsDict.get('count', 0)) friend_uids = paramsDict.get('friend_uids', '') userId = paramsDict.get('userId', '') friend_uid_list = [] if friend_uids and friend_uids != '': friend_uid_list = friend_uids.split(',') count_all = len(friend_uid_list) + count * 3 # 适当扩大范围,优先推荐女性 uids = onlinedata.getOnlineRandUserIds(count_all) ftlog.debug("doGetRecommendFriends uids:", uids) recommend_uids = set() for uid in uids: if uid <= 10000 or uid == int(userId) or str( uid) in friend_uid_list: continue recommend_uids.add(uid) return json.dumps(list(recommend_uids))
def doQueryForTime(self): paramsDict = runhttp.getDict() ftlog.debug("doQueryForTime:", paramsDict) from hall.entity.hallactivity.activity_exchange_code import TYActivityExchangeCode mo = TYActivityExchangeCode.doQueryTimeCode(paramsDict) return mo
def doExcodeForUser(self): paramsDict = runhttp.getDict() ftlog.debug("doExcodeForUser:", paramsDict) from hall.entity.hallactivity.activity_exchange_code import TYActivityExchangeCode mo = TYActivityExchangeCode.doExcodeForUser(paramsDict) return mo
def doSdkSnsCallback(self): paramsDict = runhttp.getDict() # ftlog.debug("doGetGameInfoForSdk:", paramsDict) sdk_result = paramsDict.get('sdk_result') tcp_params = paramsDict.get('tcp_params') # from urllib import unquote # ftlog.debug("tcp_params:", tcp_params) try: tcp_params = json.loads(tcp_params) except: tcp_params = None if not tcp_params or not sdk_result: return '' from poker.util import strutil try: sdk_result = strutil.loads(sdk_result) sdk_result = sdk_result['result'] except: ftlog.error() return '' action = tcp_params['action'] userId = tcp_params.get('userId') gameId = tcp_params.get('gameId') clientId = tcp_params.get('clientId') ftlog.debug('sdk_result', sdk_result) # if sdk_result is None or 'ec' in sdk_result: # return False, -1, u'请求失败' mo = MsgPack() mo.setCmd('friend_call') mo._ht['result'] = tcp_params # mo.setResult('action', 'query') for k in sdk_result: mo.setResult(k, sdk_result[k]) userdata.clearUserCache(userId) try: if action == 'praise_friend': self.on_praise_friend(gameId, userId, clientId, mo) elif action == 'ready_invite_friend': self.on_ready_invite_friend(gameId, userId, clientId, mo) code = mo.getResult('code', 0) if code > 0: return '' elif action == 'add_friend': self.on_add_friend(gameId, userId, clientId, mo) elif action == 'accept_friend': self.on_accept_friend(gameId, userId, clientId, mo) elif action == 'get_friends_rank': self.on_get_friends_rank(gameId, mo) elif action == 'get_friend_list': self.on_get_friend_list(userId, mo) except: import traceback traceback.print_exc() router.sendToUser(mo, userId) return ''
def doSdkSnsCallback(self): paramsDict = runhttp.getDict() # ftlog.debug("doGetGameInfoForSdk:", paramsDict) sdk_result = paramsDict.get('sdk_result') tcp_params = paramsDict.get('tcp_params') # from urllib import unquote # ftlog.debug("tcp_params:", tcp_params) try: tcp_params = json.loads(tcp_params) except: tcp_params = None if not tcp_params or not sdk_result: return '' try: sdk_result = strutil.loads(sdk_result) sdk_result = sdk_result['result'] except: ftlog.error() return '' action = tcp_params['action'] userId = tcp_params.get('userId') gameId = tcp_params.get('gameId') clientId = tcp_params.get('clientId') ftlog.debug('sdk_result', sdk_result) # if sdk_result is None or 'ec' in sdk_result: # return False, -1, u'请求失败' mo = MsgPack() mo.setCmd('friend_call') mo._ht['result'] = tcp_params # mo.setResult('action', 'query') for k in sdk_result: mo.setResult(k, sdk_result[k]) userdata.clearUserCache(userId) try: if action == 'praise_friend': self.on_praise_friend(gameId, userId, clientId, mo) elif action == 'ready_invite_friend': self.on_ready_invite_friend(gameId, userId, clientId, mo) code = mo.getResult('code', 0) if code > 0: return '' elif action == 'add_friend': self.on_add_friend(gameId, userId, clientId, mo) elif action == 'accept_friend': self.on_accept_friend(gameId, userId, clientId, mo) elif action == 'get_friends_rank': self.on_get_friends_rank(gameId, mo) elif action == 'get_friend_list': self.on_get_friend_list(userId, mo) except: import traceback traceback.print_exc() router.sendToUser(mo, userId) return ''