Example #1
0
    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
Example #2
0
    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'
Example #3
0
    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'
Example #4
0
    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()
Example #5
0
 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
Example #6
0
    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
Example #7
0
 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)
Example #8
0
 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)
Example #9
0
    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
Example #10
0
    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))
Example #11
0
    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
Example #12
0
    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
Example #13
0
    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))
Example #14
0
 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
Example #15
0
 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
Example #16
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 ''
Example #17
0
 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
Example #18
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 ''
Example #19
0
 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