Ejemplo n.º 1
0
    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 ''
Ejemplo n.º 2
0
    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 ''