/**
  * 通过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();
     }
 }
Beispiel #2
0
 /**
  * 查询账户关系表(支持缓存)
  * @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;
     }
 }
Beispiel #4
0
 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']);
     }
 }