/** * 通过userId获取账户关系 * @return array */ public static function getAccountMappingByUserId($userId) { try { $data_obj = Model_Payment_AccountMapping::data_access(); $data = $data_obj->filter('userId', $userId)->find_only(); return $data; } catch (Exception $e) { return array(); } }
/** * 查询账户关系表(支持缓存) * @param $accountId * @param string $site */ public static function getAccountMapping($accountId, $site = '', $isCache = true) { $data = array(); if ($isCache) { $strCacheKey = 'ballance_log_job_accountid_new_' . $accountId . '_site_' . $site; $objMem = APF_Cache_Factory::get_instance()->get_memcache(); $data = $objMem->get($strCacheKey); } if (!$data) { $data = Model_Payment_AccountMapping::getAccountMapping($accountId, $site); if ($isCache && $data) { $objMem->set($strCacheKey, $data, 0, 86400); } } return $data; }
public function handle_request() { $accountBalanceZeroList = Model_Log_AccountBalanceZeroLog::getLogList($this->_startId, self::LOG_LIMIT); if (empty($accountBalanceZeroList)) { $this->logMsg(sprintf('Id: %d 处理完成', $this->_startId)); return; } foreach ($accountBalanceZeroList as $accountBalanceZero) { $this->setCursor($accountBalanceZero['id']); /** 根据 AccountId 获取UserId */ $accountId = $accountBalanceZero['accountId']; $accountMapping = Model_Payment_AccountMapping::getAccountMappingByAccountId($accountId, Model_Payment_AccountMapping::SITE_TYPE_AJK); if (empty($accountMapping)) { $this->logMsg(sprintf('没有获取到AccountMapping accountId:%d', $accountId)); continue; } $userId = $accountMapping['userId']; $brokerInfo = Model_Broker_AjkBrokerExtend::getBrokerInfoByUserIdEx($userId, array('cityId', 'brokerId', 'userId', 'trueName', 'payType')); if (empty($brokerInfo)) { $this->logMsg(sprintf('没有获取到经纪人信息 accountId:%d userId:%d', $accountId, $userId)); continue; } $brokerId = $brokerInfo['brokerId']; if ($brokerInfo['payType'] != 10000) { $this->logMsg(sprintf('经纪人:%s AccountId:%d UserId:%d BrokerId:%d PayType=%d不是PPC经纪人 ', $brokerInfo['trueName'], $accountId, $userId, $brokerId, $brokerInfo['payType'])); continue; } $cityId = $brokerInfo['cityId']; $data = array('brokerId' => $brokerId, 'cityId' => $cityId, 'type' => 301, 'remark' => '账户余额不足', 'flag' => 0, 'addDate' => time(), 'operateId' => 0, 'from' => __METHOD__, 'siteType' => 4); try { Model_House_UpDown_Task::create($data, date('Ymd'))->save(); } catch (Exception $e) { $this->logMsg(sprintf('经纪人:%s CityId:%d AccountId:%d UserId:%d BrokerId:%d 通知账户没钱失败', $brokerInfo['trueName'], $cityId, $accountId, $userId, $brokerId)); } $this->logMsg(sprintf('经纪人:%s CityId:%d AccountId:%d UserId:%d BrokerId:%d 通知账户没钱成功', $brokerInfo['trueName'], $cityId, $accountId, $userId, $brokerId)); } if (count($accountBalanceZeroList) < self::LOG_LIMIT) { $this->logMsg(sprintf('Id: %d 处理完成', $this->_startId)); return; } }
public function doCreateThreeSiteAccountMust($userId, $ajkAccount, $hzAccount, $jpAccount, $objMapping) { if ($objMapping) { $objMapping->userId = $userId; $objMapping->accountidAjk = $ajkAccount; $objMapping->accountidHz = $hzAccount; $objMapping->accountidJp = $jpAccount; $objMapping->lastUpdate = date("Y-m-d H:i:s"); $objMapping->save(); } else { $objAccountMapping = new Model_Payment_AccountMapping(); $objAccountMapping->userId = $userId; $objAccountMapping->accountidAjk = $ajkAccount; $objAccountMapping->accountidHz = $hzAccount; $objAccountMapping->accountidJp = $jpAccount; $objAccountMapping->lastUpdate = date("Y-m-d H:i:s"); $objAccountMapping->save(); } }
/** * 经纪人套餐升级(使用个人账户) * * @param $brokerId * @param $siteType * @return array */ public static function upgradeCombo($userId, $sukId, $orderId) { if (empty($userId) || empty($sukId) || empty($orderId)) { return array('status' => 'error', 'errMsg' => '升级套餐API,缺少参数'); } $accountInfo = Model_Payment_AccountMapping::getAccountMappingByUserId($userId); $api = new BLL_Service_Api(); $result = array(); $tmpArr = array('userId' => $userId, 'reqId' => $userId . '' . time(), 'accountId' => $accountInfo->accountidAjk, 'skuId' => $sukId, 'orderId' => $orderId, 'note' => '经纪人后台'); //请求三次 for ($i = 0; $i < 3; $i++) { $result = $api->sendCurl('service-combo/rest/combo/order/brokerUpgradeCombo?json', $tmpArr, 2, 2); if ($result['result'] !== false) { break; } } //返回值 if ($result['status'] == 'ok') { return array('status' => 'ok'); } else { return array('status' => 'error', 'errMsg' => $result['info']); } }