def handleHttp(dictParam: dict): fRmbFen = float(dictParam.get('rmb', "0")) if not checkIsFloat(fRmbFen): raise exceptionLogic(errorLogic.client_param_invalid) # 客户的给的是分 iRmbFen = int(fRmbFen * 100) if iRmbFen < 100 or iRmbFen > 300000: raise exceptionLogic(errorLogic.pay_online_amount_limit) try: #检查用户是否登录,检查用户token strAccountId = str(dictParam.get("accountId", "")) strToken = str(dictParam.get("token", "")) except: raise exceptionLogic(errorLogic.client_param_invalid) if len(strAccountId) <= 0: raise exceptionLogic(errorLogic.player_id_empty) if not procVariable.debug: certify_token(strAccountId, strToken) objResp = cResp() objResp.data = yield from lpayPayOrder(strAccountId, iRmbFen, "wx_wap", dictParam.get("srcIp", "")) return classJsonDump.dumps(objResp)
def handleHttp(dictParam: dict): #每月VIP活动 objResp = cResp() strAccountId = dictParam.get('accountId', '') strToken = dictParam.get('token', '') certifytoken.certify_token(strAccountId, strToken) objPlayerData = yield from classDataBaseMgr.getInstance().getPlayerData( strAccountId) objActiveData = yield from classDataBaseMgr.getInstance().getActiveData( strAccountId) if objPlayerData is None: raise exceptionLogic(errorLogic.player_data_not_found) if objActiveData is None: raise exceptionLogic(errorLogic.active_not_find) #判断活动是否完成 objActiveItme = objActiveData.dictActiveItem.get(2001) if objActiveItme is None: raise exceptionLogic(errorLogic.active_not_find) if objActiveItme.iActiveState == 1: raise exceptionLogic(errorLogic.active_have_already_get) #升级需要的流水 upWater = vipConfig.vip_config[objPlayerData.iLevel].get( 'upGradeValidWater') #保级需要的流水 keepWater = vipConfig.vip_config[objPlayerData.iLevel].get( 'keepValidWater') #这个月24小时内充值存款 payMonthly, orderTime = yield from classSqlBaseMgr.getInstance( ).getAccountFirstPayByDay(strAccountId) # 获取当月有效流水自己平台 validWater = yield from classSqlBaseMgr.getInstance().getValidWaterMonthly( strAccountId) #获取平博当月有效流水 pingboValidWater = yield from classSqlBaseMgr.getInstance( ).getAccountPinboHistoryValidWater(timeHelp.monthStartTimestamp(), timeHelp.nextMonthStartTimestamp(), strAccountId) pingboValidWater = 0 if pingboValidWater.get( 'validWaterCoin') is None else pingboValidWater.get('validWaterCoin') data = cData() data.accountId = strAccountId #升级还需要的流水 data.upLevelWater = "%.2f" % round( (upWater - objPlayerData.iLevelValidWater) / 100, 2) data.keepLevelWater = "%.2f" % round( (keepWater - (validWater + pingboValidWater)) / 100, 2) data.level = objPlayerData.iLevel data.rebate = vipConfig.vip_config[objPlayerData.iLevel].get('rebate') data.recharge = "%.2f" % round(payMonthly / 100, 2) data.activeTime = objActiveData.dictActiveItem.get(2001).iActiveTime data.validWater = "%.2f" % round((pingboValidWater + validWater) / 100, 2) data.activeId = 2001 objResp.data = data return classJsonDump.dumps(objResp)
def handleHttp(dictParam: dict): objResp = cResp() strAccountId = dictParam.get('accountId','') iLevel = int(dictParam.get('level',0)) strToken = dictParam.get('token','') certifytoken.certify_token(strAccountId, strToken) yield from joinVipPayRebateActive(strAccountId, iLevel) return classJsonDump.dumps(objResp)
def handleHttp(dictParam: dict): objResp = cResp() fRmbFen = float(dictParam.get('rmb', "0")) if not checkIsFloat(fRmbFen): raise exceptionLogic(errorLogic.client_param_invalid) # 客户的给的是分 iRmbFen = int(fRmbFen * 100) # 检查用户是否登录,检查用户token strAccountId = str(dictParam["accountId"]) strToken = str(dictParam.get("token", "")) if not procVariable.debug: certify_token(strAccountId, strToken) #这里用web的 objResp.data = yield from lpayPayOrder(strAccountId, iRmbFen, "unionpay_wap", dictParam.get("srcIp", "")) return classJsonDump.dumps(objResp)
def handleHttp(dictParam: dict): #首充活动 objResp = cResp() strAccountId = dictParam.get('accountId', '') strToken = dictParam.get('token', '') certifytoken.certify_token(strAccountId, strToken) objActiveData = yield from classDataBaseMgr.getInstance().getActiveData( strAccountId) if objActiveData is None: raise exceptionLogic(errorLogic.active_not_find) #判断活动是否完成 objActiveItme = objActiveData.dictActiveItem.get(1000) if objActiveItme is None: raise exceptionLogic(errorLogic.active_not_find) if objActiveItme.iActiveState == 1: raise exceptionLogic(errorLogic.active_have_already_get) activeTime = objActiveData.dictActiveItem.get(1000).iActiveTime recharge = yield from classSqlBaseMgr.getInstance().getFirstRechCoin( strAccountId, activeTime) #获取当月有效流水自己平台 validWater = yield from classSqlBaseMgr.getInstance().getValidWaterMonthly( strAccountId) pingboValidWater = yield from classSqlBaseMgr.getInstance( ).getAccountPinboHistoryValidWater(activeTime, activeTime + 86400, strAccountId) pingboValidWater = 0 if pingboValidWater.get( 'validWaterCoin') is None else pingboValidWater.get('validWaterCoin') data = cData() data.recharge = "%.2f" % round(recharge / 100, 2) data.validWater = "%.2f" % round((validWater + pingboValidWater) / 100, 2) data.activeTime = objActiveData.dictActiveItem.get(1000).iActiveTime data.activeId = 1000 objResp.data = data return classJsonDump.dumps(objResp)
def handleHttp(dict_param: dict): """app登陆""" objRsp = cResp() agentId = dict_param.get("agentId", "") password = dict_param.get("password", "") token = dict_param.get("token", "") if not agentId: raise exceptionLogic(errorLogic.client_param_invalid) if password or token: if password: strPwd = PwdEncrypt().create_md5(password) objPlayerData, objLock = yield from classDataBaseMgr.getInstance( ).getPlayerDataByLock(agentId) objAgentData = yield from classDataBaseMgr.getInstance( ).getAgentData(agentId) if objPlayerData is None: raise exceptionLogic(errorLogic.player_data_not_found) sql = "select status from dj_agent_apply where agentId=%s" with (yield from classSqlBaseMgr.getInstance().objDbMysqlMgr) as conn: result = yield from conn.execute(sql, [agentId]) if result.rowcount <= 0: raise exceptionLogic(errorLogic.agent_data_not_found) else: for var_row in result: status = var_row.status if status == 1: raise exceptionLogic(errorLogic.agent_id_under_review) if objAgentData is None: raise exceptionLogic(errorLogic.agent_data_not_found) if objPlayerData.iUserType != 2: raise exceptionLogic(errorLogic.agent_data_not_found) if strPwd != objPlayerData.strPassword: yield from classDataBaseMgr.getInstance( ).releasePlayerDataLock(agentId, objLock) raise exceptionLogic(errorLogic.login_pwd_not_valid) if timeHelp.getNow() < objPlayerData.iLockEndTime: yield from classDataBaseMgr.getInstance( ).releasePlayerDataLock(agentId, objLock) raise exceptionLogic(errorLogic.player_id_invalid) else: # objAgentData.strAppToken = generate_token(agentId) objAgentData.strToken = generate_token(agentId) objPlayerData.iStatus = 0 objPlayerData.iLockStartTime = 0 objPlayerData.iLockEndTime = 0 objPlayerData.strLockReason = "" objPlayerData.iLastLoginTime = timeHelp.getNow() yield from classDataBaseMgr.getInstance().setPlayerDataByLock( objPlayerData, objLock) else: certify_token(agentId, token) objPlayerData = yield from classDataBaseMgr.getInstance( ).getPlayerData(agentId) objAgentData = yield from classDataBaseMgr.getInstance( ).getAgentData(agentId) if objPlayerData is None: raise exceptionLogic(errorLogic.user_data_not_found) sql = "select status from dj_agent_apply where agentId=%s" with (yield from classSqlBaseMgr.getInstance().objDbMysqlMgr) as conn: result = yield from conn.execute(sql, [agentId]) if result.rowcount <= 0: raise exceptionLogic(errorLogic.agent_data_not_found) else: for var_row in result: status = var_row.status if status == 1: raise exceptionLogic(errorLogic.agent_id_under_review) if objAgentData is None: raise exceptionLogic(errorLogic.agent_data_not_found) if objPlayerData.iUserType != 2: raise exceptionLogic(errorLogic.agent_data_not_found) # if token != objAgentData.strAppToken: if token != objAgentData.strToken: raise exceptionLogic(errorLogic.login_token_not_valid) if timeHelp.getNow() < objAgentData.iLockEndTime: raise exceptionLogic(errorLogic.player_id_invalid) else: objAgentData.iStatus = 0 objAgentData.iLockStartTime = 0 objAgentData.iLockEndTime = 0 objAgentData.strLockReason = "" yield from classDataBaseMgr.getInstance().setAgentData(objAgentData) unReadNum = yield from classSqlBaseMgr.getInstance( ).getAgentMsgUnReadNum(agentId) # 构造回包 objRsp.data = cData() objRsp.data.agentId = objPlayerData.strAccountId objRsp.data.token = objAgentData.strToken objRsp.data.cid = objAgentData.iCid objRsp.data.headAddress = objPlayerData.strHeadAddress objRsp.data.count = unReadNum return classJsonDump.dumps(objRsp) else: raise exceptionLogic(errorLogic.client_param_invalid)
def handleHttp(dictParam: dict): #领取活动奖金 objResp = cResp() strAccountId = dictParam.get('accountId','') strToken = dictParam.get('token','') iActiveId=int(dictParam.get('activeId',0)) certifytoken.certify_token(strAccountId, strToken) objPlayerData,objPlayerLock=yield from classDataBaseMgr.getInstance().getPlayerDataByLock(strAccountId) if objPlayerData is None: yield from classDataBaseMgr.getInstance().setPlayerDataByLock(objPlayerData, objPlayerLock) raise exceptionLogic(errorLogic.player_data_not_found) objActiveData, objLock = yield from classDataBaseMgr.getInstance().getActiveDataByLock(strAccountId, None) #判断活动是否完成 objActiveItme=objActiveData.dictActiveItem.get(iActiveId) if objActiveItme is None: yield from classDataBaseMgr.getInstance().setPlayerDataByLock(objPlayerData, objPlayerLock) yield from classDataBaseMgr.getInstance().setActiveDataByLock(objActiveData, objLock) raise exceptionLogic(errorLogic.active_not_find) if objActiveItme.iActiveState==1: yield from classDataBaseMgr.getInstance().setPlayerDataByLock(objPlayerData, objPlayerLock) yield from classDataBaseMgr.getInstance().setActiveDataByLock(objActiveData, objLock) raise exceptionLogic(errorLogic.active_have_already_get) global awardCoin,transFrom awardCoin=0 transFrom="" if iActiveId==1000: #首冲活动领取 #计算他该领取的金钱 recharge=yield from classSqlBaseMgr.getInstance().getFirstRechCoin(strAccountId,objActiveItme.iActiveTime) recharge=recharge/100 config_keys=[] for x in activeConfig.activeConfig_cfg.keys(): if x.startswith('10'): config_keys.append(int(x)) config_keys.sort() for x in config_keys: if recharge>=int(activeConfig.activeConfig_cfg[str(x)].get('taskConditionParam2')): awardCoin=activeConfig.activeConfig_cfg[str(x)].get('awardNum') transFrom=activeConfig.activeConfig_cfg[str(x)].get('taskDes') continue else: break elif iActiveId==2001: #vip月首冲活动 if objPlayerData.iLevel == 0: yield from classDataBaseMgr.getInstance().setPlayerDataByLock(objPlayerData, objPlayerLock) raise exceptionLogic(errorLogic.active_requirements_not_met) #1.判断是否领取时间过期 nowDtObj=datetime.fromtimestamp(getNow()) actDtobj=datetime.fromtimestamp(objActiveItme.iActiveTime) if (nowDtObj.year!=actDtobj.year) and (nowDtObj.month!=actDtobj.month): objActiveItme.iActiveState=1 yield from classDataBaseMgr.getInstance().setPlayerDataByLock(objPlayerData,objPlayerLock) yield from classDataBaseMgr.getInstance().setActiveDataByLock(objActiveData,objLock) raise exceptionLogic(errorLogic.active_award_not_get) totalCoin,fistrtTime=yield from classSqlBaseMgr.getInstance().getAccountFirstPayByDay(strAccountId) totalCoin=0 if totalCoin is None else totalCoin/100 if totalCoin<10000: yield from classDataBaseMgr.getInstance().setPlayerDataByLock(objPlayerData, objPlayerLock) yield from classDataBaseMgr.getInstance().setActiveDataByLock(objActiveData, objLock) raise exceptionLogic(errorLogic.active_requirements_not_met) for x in activeConfig.activeConfig_cfg.keys(): if objPlayerData.iLevel == int(activeConfig.activeConfig_cfg[x].get('taskConditionParam2')): awardCoin = activeConfig.activeConfig_cfg[x].get('awardNum') transFrom = activeConfig.activeConfig_cfg[str(x)].get('taskDes') #加钱 awardCoin=awardCoin*100 objActiveItme.iActiveState = 1 objPlayerData.iCoin+=awardCoin # 增加不可提现额度 objActiveData.iNotDrawingCoin+=awardCoin #记录流水 yield from addPlayerBill(strAccountId,awardCoin,CoinOp.coinOpActiveAward,1,transFrom,strAccountId,dictParam.get('srcIp')) yield from classDataBaseMgr.getInstance().setPlayerDataByLock(objPlayerData, objPlayerLock) yield from classDataBaseMgr.getInstance().setActiveDataByLock(objActiveData, objLock) return classJsonDump.dumps(objResp)
def handleHttp(request:dict): """获取用户信息接口 """ url=tokenhelp.PINBO_URL+"/player/info" headers=tokenhelp.gen_headers() accountId=request.get('accountId','') token = request.get('token','') source = request.get('source', 'pc') if not all([accountId, source]): logging.debug(errorLogic.client_param_invalid) raise exceptionLogic(errorLogic.client_param_invalid) certify_token(accountId, token) objPlayerData = yield from classDataBaseMgr.getInstance().getPlayerData(accountId) if source == 'pc': if objPlayerData.strToken!=token: logging.debug(errorLogic.login_token_not_valid) raise exceptionLogic(errorLogic.login_token_not_valid) elif source == 'app': if objPlayerData.strAppToken!=token: logging.debug(errorLogic.login_token_not_valid) raise exceptionLogic(errorLogic.login_token_not_valid) params={} params['userCode']='probet.'+accountId try: with (aiohttp.ClientSession()) as session: with aiohttp.Timeout(10): resp = yield from session.get(url=url,params=params,headers=headers,verify_ssl=False) if resp.status!=200: logging.exception(errorLogic.third_party_error) raise exceptionLogic(errorLogic.third_party_error) except Exception as e: logging.exception(repr(e)) raise exceptionLogic(errorLogic.sys_unknow_error) else: res= yield from resp.read() res=json.loads(res.decode()) code = res.get('code', '') if code != '' and (code in errorLogic.pinbo_error_code.keys()): logging.debug(code + ":" + errorLogic.pinbo_error_code[code]) raise exceptionLogic([code, errorLogic.pinbo_error_code[code]]) availableBalance=res.get("availableBalance") if availableBalance is None: logging.debug(errorLogic.third_party_error) raise exceptionLogic(errorLogic.third_party_error) objPlayerData, objLock = yield from classDataBaseMgr.getInstance().getPlayerDataByLock(accountId) objPlayerData.iPingboCoin = availableBalance * 100 objPlayerData.iLastPBCRefreshTime=getNow() yield from classDataBaseMgr.getInstance().setPlayerDataByLock(objPlayerData, objLock) res['availableBalance']="%.2f"%round(availableBalance,2) ret={} ret['ret']=errorLogic.success[0] ret['data']=res ret['retDes']=errorLogic.success[1] return classJsonDump.dumps(ret)
def handleHttp(dict_param: dict): """登陆""" objRsp = cResp() # TODO 多设备同时登陆 source = dict_param.get('source', 'pc') strAccountId = dict_param.get("accountId", "") strPassword = dict_param.get("password", "") strToken = dict_param.get("token", "") if not all([strAccountId, source]): raise exceptionLogic(errorLogic.client_param_invalid) if strToken or strPassword: if strPassword: strPwd = PwdEncrypt().create_md5(strPassword) objPlayerData, objLock = yield from classDataBaseMgr.getInstance( ).getPlayerDataByLock(strAccountId) if objPlayerData is None: raise exceptionLogic(errorLogic.player_data_not_found) if strPwd != objPlayerData.strPassword: yield from classDataBaseMgr.getInstance( ).releasePlayerDataLock(strAccountId, objLock) raise exceptionLogic(errorLogic.login_pwd_not_valid) if timeHelp.getNow() < objPlayerData.iLockEndTime: yield from classDataBaseMgr.getInstance( ).releasePlayerDataLock(strAccountId, objLock) raise exceptionLogic(errorLogic.player_id_invalid) else: if source == 'pc': objPlayerData.strToken = generate_token(strAccountId) elif source == 'app': objPlayerData.strAppToken = generate_token(strAccountId) else: raise exceptionLogic(errorLogic.client_param_invalid) objPlayerData.iStatus = 0 objPlayerData.iLockStartTime = 0 objPlayerData.iLockEndTime = 0 objPlayerData.strLockReason = "" objPlayerData.strLastDeviceName = "" #macAddr objPlayerData.iLastLoginTime = timeHelp.getNow() objPlayerData.strLastLoginIp = dict_param.get("srcIp", "") yield from classDataBaseMgr.getInstance().setPlayerDataByLock( objPlayerData, objLock) #yield from update_status(strAccountId, 'ACTIVE') unReadNum = yield from classSqlBaseMgr.getInstance( ).getSysMsgUnReadNum(strAccountId) else: certify_token(strAccountId, strToken) objPlayerData, objLock = yield from classDataBaseMgr.getInstance( ).getPlayerDataByLock(strAccountId) if objPlayerData is None: raise exceptionLogic(errorLogic.player_data_not_found) if source == 'pc': if strToken != objPlayerData.strToken: yield from classDataBaseMgr.getInstance( ).releasePlayerDataLock(strAccountId, objLock) raise exceptionLogic(errorLogic.login_token_not_valid) elif source == 'app': if strToken != objPlayerData.strAppToken: yield from classDataBaseMgr.getInstance( ).releasePlayerDataLock(strAccountId, objLock) raise exceptionLogic(errorLogic.login_token_not_valid) else: raise exceptionLogic(errorLogic.client_param_invalid) if timeHelp.getNow() < objPlayerData.iLockEndTime: yield from classDataBaseMgr.getInstance( ).releasePlayerDataLock(strAccountId, objLock) raise exceptionLogic(errorLogic.player_id_invalid) else: objPlayerData.iStatus = 0 objPlayerData.iLockStartTime = 0 objPlayerData.iLockEndTime = 0 objPlayerData.strLockReason = "" objPlayerData.iLastLoginTime = timeHelp.getNow() objPlayerData.strLastLoginIp = dict_param.get("srcIp", "") objPlayerData.strLastDeviceName = "" #macAddr yield from classDataBaseMgr.getInstance().setPlayerDataByLock( objPlayerData, objLock) # yield from update_status(strAccountId, 'ACTIVE') unReadNum = yield from classSqlBaseMgr.getInstance( ).getSysMsgUnReadNum(strAccountId) else: raise exceptionLogic(errorLogic.client_param_invalid) # 构造回包 objRsp.data = cData() if source == "pc": objRsp.data.token = objPlayerData.strToken elif source == "app": objRsp.data.token = objPlayerData.strAppToken objRsp.data.accountId = objPlayerData.strAccountId objRsp.data.nick = objPlayerData.strNick objRsp.data.coin = "%.2f" % round(objPlayerData.iCoin / 100, 2) objRsp.data.headAddress = objPlayerData.strHeadAddress objRsp.data.unReadNum = unReadNum objRsp.data.phoneNum = objPlayerData.strPhone objRsp.data.realName = objPlayerData.strRealName objRsp.data.sex = objPlayerData.strSex objRsp.data.born = objPlayerData.strBorn objRsp.data.address = objPlayerData.dictAddress objRsp.data.userType = objPlayerData.iUserType objRsp.data.mac = objPlayerData.strLastDeviceName if objPlayerData.strTradePassword: objRsp.data.tradePwd = 1 else: objRsp.data.tradePwd = 0 objRsp.data.email = objPlayerData.strEmail objRsp.data.bankCard = objPlayerData.arrayBankCard #日志 dictLogin = { 'billType': 'loginBill', 'accountId': objPlayerData.strAccountId, 'agentId': objPlayerData.strAgentId, 'loginTime': timeHelp.getNow(), 'coin': objPlayerData.iCoin, 'vipLevel': objPlayerData.iLevel, 'loginDevice': objPlayerData.strLastDeviceModal, 'loginIp': objPlayerData.strLastLoginIp, 'vipExp': objPlayerData.iLevelValidWater, } logging.getLogger('bill').info(json.dumps(dictLogin)) return classJsonDump.dumps(objRsp)
def handleHttp(dict_param: dict): """存款""" objRsp = cResp() strAccountId = dict_param.get("accountId", "") strToken = dict_param.get("token", "") strPayType = dict_param.get("payType", "") # iTradeType = dict_param.get("tradeType", 0) money = dict_param.get("money", "") if not all([strAccountId, strToken, money]): raise exceptionLogic(errorLogic.client_param_invalid) if cpv.checkIsString(money): raise exceptionLogic(errorLogic.client_param_invalid) fMoney = float(money) if not cpv.checkIsFloat(fMoney): raise exceptionLogic(errorLogic.client_param_invalid) iCoin = int(fMoney * 100) if not cpv.checkIsInt(iCoin): raise exceptionLogic(errorLogic.client_param_invalid) certifytoken.certify_token(strAccountId, strToken) objPlayerData = yield from classDataBaseMgr.getInstance().getPlayerData(strAccountId) if objPlayerData is None: raise exceptionLogic(errorLogic.player_data_not_found) if strToken != objPlayerData.strToken: raise exceptionLogic(errorLogic.login_token_not_valid) PayTypeList = [] for var in constants.DEPOSIT_LIST: PayTypeList.append(var["desc"]) if strPayType not in PayTypeList: raise exceptionLogic(errorLogic.pay_type_not_valid) if strPayType == enumPayType.BankTransfer: # 银行转账 accountInfoList = yield from classSqlBaseMgr.getInstance().getAllBankInfo() objRsp.data = cData() objRsp.data.iCoin = "%.2f" % round(objPlayerData.iCoin / 100, 2) objRsp.data.iSaveCoin = "%.2f" % round(iCoin / 100, 2) try: objRsp.data.payeeCardInfo = random.choice(accountInfoList) except Exception as e: logging.error(repr(e)) raise exceptionLogic(errorLogic.pay_channel_not_support) orderId=orderGeneral.generalOrderId() yield from generalPayOrder(orderId,"","",strAccountId,iCoin,dict_param.get("srcIp",""),"银行卡转账", objRsp.data.payeeCardInfo["accountId"]) # 构造回包 objRsp.data.payOrder = orderId return classJsonDump.dumps(objRsp) elif strPayType == enumPayType.AlipayTransfer: # 支付宝转账 accountInfoList = yield from classSqlBaseMgr.getInstance().getAllAlipayInfo() objRsp.data = cData() objRsp.data.iCoin = "%.2f" % round(objPlayerData.iCoin / 100, 2) objRsp.data.iSaveCoin = "%.2f" % round(iCoin / 100, 2) try: objRsp.data.payeeCardInfo = random.choice(accountInfoList) except Exception as e: logging.error(repr(e)) raise exceptionLogic(errorLogic.pay_channel_not_support) orderId = orderGeneral.generalOrderId() yield from generalPayOrder(orderId, "","", strAccountId, iCoin, dict_param.get("srcIp", ""), "支付宝转账",objRsp.data.payeeCardInfo["accountId"]) objRsp.data.payOrder = orderId return classJsonDump.dumps(objRsp) elif strPayType == enumPayType.WeixinTransfer: # 微信转账 accountInfoList = yield from classSqlBaseMgr.getInstance().getAllWeixinInfo() objRsp.data = cData() objRsp.data.iCoin = "%.2f" % round(objPlayerData.iCoin / 100, 2) objRsp.data.iSaveCoin = "%.2f" % round(iCoin / 100, 2) try: objRsp.data.payeeCardInfo = random.choice(accountInfoList) except Exception as e: logging.error(repr(e)) raise exceptionLogic(errorLogic.pay_channel_not_support) orderId = orderGeneral.generalOrderId() yield from generalPayOrder(orderId, "","", strAccountId, iCoin, dict_param.get("srcIp", ""), "微信转账",objRsp.data.payeeCardInfo["accountId"]) objRsp.data.payOrder = orderId return classJsonDump.dumps(objRsp)