public function handle_request() { $currentTableSplitSuffix = date('m'); $failedActionQueue = Model_Choice_ActionQueue::getFailedAbandonFee($this->queueId, Model_Choice_ActionQueue::ENUM_HAOZU, $this->tableSplitSuffix); if (empty($failedActionQueue)) { /** 如果不是同一个月的话,那么前一个月没有需要修复的数据就开始修复本月的数据 */ if (strcmp($currentTableSplitSuffix, $this->tableSplitSuffix) != 0) { $this->saveCursor($currentTableSplitSuffix, 0); } return; } $this->log("开始修复: ID={$failedActionQueue['id']}\tBrokerId={$failedActionQueue['brokerId']}\tPlanId={$failedActionQueue['planId']}\tupdateRemark={$failedActionQueue['updateRemark']}"); $ajkBrokerExtend = Model_Broker_AjkBrokerExtend::getDataByBrokerId($failedActionQueue['brokerId']); /** TODO 添加获取二手房经纪人信息为空日志 */ if (empty($ajkBrokerExtend)) { $this->log(sprintf(' 获取经纪人(%d)的UserId失败(%d)。', $failedActionQueue['brokerId'], $failedActionQueue['id'])); $this->saveCursor($this->tableSplitSuffix, $failedActionQueue['id']); return; } $planExtend = Dao_Broker_HzPlan::get_bid_sn($failedActionQueue['planId']); /** TODO 添加获取SN 失败日志 */ if (empty($planExtend)) { $this->log(sprintf(' 获取计划(%d)的SN失败(%d)。', $failedActionQueue['planId'], $failedActionQueue['id'])); $this->saveCursor($this->tableSplitSuffix, $failedActionQueue['id']); return; } // $planInfo = Dao_Broker_HzPlan::get_plan($failedActionQueue['planId']); $planInfo = Model_Plan_HzPlanBasic::get_plan_by_id($failedActionQueue['planId']); /** TODO 添加获取计划信息失败日志*/ if (empty($planInfo)) { $this->log(sprintf(' 获取计划(%d)的信息失败(%d)。', $failedActionQueue['planId'], $failedActionQueue['id'])); $this->saveCursor($this->tableSplitSuffix, $failedActionQueue['id']); return; } //精选结算 $amount = $planInfo['total_consume']; $note = '%E8%A7%A3%E5%86%BB'; $this->log(" 传递的参数:UserId={$ajkBrokerExtend['userId']}\tamount={$amount}\tplanId={$failedActionQueue['planId']}\tSN={$planExtend['sn']}"); $unlockSuccess = Bll_PayAccount::cancel_frozen($ajkBrokerExtend['userId'], $amount, $failedActionQueue['planId'], Const_PaymentApp::HZ_CHOICE, $planExtend['sn'], $note, true); if ($unlockSuccess === true) { $this->log(' 解冻成功。'); $this->saveCursor($this->tableSplitSuffix, $failedActionQueue['id']); $repairRemark = $failedActionQueue['updateRemark'] . ', 解冻修复成功'; /** 更新队列状态为处理成功 */ Model_Choice_ActionQueue::setBidQueenStatusById($this->tableSplitSuffix, $failedActionQueue['id'], Model_Choice_ActionQueue::ENUM_SUCCESS, $repairRemark); return; } $this->log(' 解冻失败。'); }