public function dealTask($task) { $planId = $task['id']; // 查询对应关系 $planning = Model_Plan_HzPlanning::getPlanByPlanId($planId); if (count($planning) > 0) { return true; } // 不需要处理 // 获取当时的房子 Model_Choice_ActionQueue::data_access(date('m', $task['created']))->filter('siteType', 2)->filter('status', self::ENUM_FAIL)->get_row(); // 解冻 // 更新计划删除 // 记录有问题精选计划id file_put_contents('/data1/logs/Zufang_FixExistOnLineChoicePlanNoPlanning_ErrorPlanIds', $planId . PHP_EOL, FILE_APPEND); return true; }
public function handle_request() { $sqlSelectErrorQueue = 'SELECT * from q_new_bid_deal_06 WHERE `actionId`=2 AND `siteType`=2 AND `status`=2 AND `id` >7330;'; $errorQueueList = Model_Choice_ActionQueue::data_access(date('m'))->native_sql($sqlSelectErrorQueue, array()); foreach ($errorQueueList as $errorQueue) { $this->log("开始修复: ID={$errorQueue['id']}\tBrokerId={$errorQueue['brokerId']}\tPlanId={$errorQueue['planId']}"); $ajkBrokerExtend = Model_Broker_AjkBrokerExtend::getDataByBrokerId($errorQueue['brokerId']); /** TODO 添加获取二手房经纪人信息为空日志 */ if (empty($ajkBrokerExtend)) { $this->log(sprintf('获取经纪人(%d)的UserId失败(%d)。', $errorQueue['brokerId'], $errorQueue['id'])); continue; } $planExtend = Dao_Broker_HzPlan::get_bid_sn($errorQueue['planId']); /** TODO 添加获取SN 失败日志 */ if (empty($planExtend)) { $this->log(sprintf('获取计划(%d)的SN失败(%d)。', $errorQueue['planId'], $errorQueue['id'])); continue; } $planInfo = Dao_Broker_HzPlan::get_plan($errorQueue['planId']); /** TODO 添加获取计划信息失败日志*/ if (empty($planInfo)) { $this->log(sprintf('获取计划(%d)的信息失败(%d)。', $errorQueue['planId'], $errorQueue['id'])); continue; } //精选结算 $amount = $planInfo['total_consume']; $note = urlencode(sprintf('精选推广(%d)扣费失败修复', $errorQueue['planId'])); $this->log("传递的参数:UserId={$ajkBrokerExtend['userId']}\tamount={$amount}\tplanId={$errorQueue['planId']}\tSN={$planExtend['sn']}"); $charge_sn = Bll_PayAccount::cancel_frozen($ajkBrokerExtend['userId'], $amount, $errorQueue['planId'], Const_PaymentApp::HZ_CHOICE, $planExtend['sn'], $note, true); if ($charge_sn['data']['status'] === 'ok') { $this->log('修复成功。'); } else { $this->log('修复失败。'); } $this->log(print_r($charge_sn, true)); } return 'success'; }
/** * 获取精选计划解冻失败的记录 * * @param int $startId * @param int $siteType * @param int $splitSuffix * @return array */ public static function getFailedAbandonFee($startId, $siteType = self::ENUM_HAOZU, $splitSuffix = 0) { if (empty($splitSuffix)) { $splitSuffix = date('m'); } try { return Model_Choice_ActionQueue::data_access($splitSuffix)->filter('siteType', $siteType)->filter('status', self::ENUM_FAIL)->filter('actionId', self::ENUM_STOP_BY_HAND)->filter('updateRemark', '扣费失败')->filter_by_op('id', '>', $startId)->get_row(); } catch (Exception $e) { return array(); } }