Пример #1
0
 /**
  * @param $intSpreadId
  * @param $intHouseId
  * @param null $memberId
  * @param bool $isSettlement
  * @return int
  * @throws Exception
  */
 public function stopBidSpread($intSpreadId, $intHouseId, $memberId = null, $isSettlement = true)
 {
     if (!$memberId) {
         $apf = APF::get_instance();
         $memberId = $apf->get_request()->get_member_id();
     }
     $spreadInfo = Model_Plan_Jp::data_access()->filter('id', $intSpreadId)->find_only();
     if (!$spreadInfo) {
         return false;
     }
     if ($isSettlement) {
         // add log: broker stop hp
         Bll_Log_JpPlan::getInstance()->writeSpreadStatusLog(Model_Log_JpSpreadStatusUpdate::ENUM_STATUS_SPREAD_STOP, $intSpreadId, '精选房源计划手动停止计划:触发结算前');
         $params = array();
         $params['spread_id'] = $spreadInfo->id;
         $params['log_status'] = 7;
         Bll_Plan_Bid_JpSettlement::getInstance()->settlement($params, 'choice');
     }
     //解除i_house.spread_bid_id
     $objHouse = Model_House_JpHouseIdx::getPropInfoByPk($intHouseId);
     if (!$objHouse) {
         return false;
     }
     $objHouse->bidSpreadId = 0;
     $objHouse->save();
     //记录日志
     Bll_Log_JpPlan::getInstance()->writeSpreadHouseLog(1, $intHouseId, $intSpreadId, 2);
     //判断是否下架房源
     $intHouseOp = 1;
     if (!empty($objHouse->fixSpreadId)) {
         $objFixSpread = Model_Plan_Jp::getPlanInfoByPk($objHouse->fixSpreadId);
         if (!empty($objFixSpread) && $objFixSpread->status == 2) {
             $intHouseOp = 0;
         }
     }
     //操作下架
     if ($intHouseOp) {
         // 房源下架
         Bll_House_JpHouseInfo::houseOutShelves(intval($intHouseId), $memberId);
         //记录房源操作
         $intTitle = Const_CrmHouseLog::V_OPERATION_TITLE_OUT_SHELVES;
         $intComment = Const_CrmHouseLog::V_OPERATION_COMMENT_HOUSE_SPREAD_OFFLINE;
         Bll_Log_JpHouse::getInstance()->logHouseOperation($intHouseId, $memberId, $intTitle, $intComment);
     }
     Bll_Log_JpHouse::getInstance()->writeHouseLog($intHouseId, $intSpreadId, 0, $memberId, Model_Log_JpHouseUpDown::ENUM_BID_MEMBER_STOP);
     return Bll_House_JpHouseInfo::updateHouseToSolr(1, intval($intHouseId), 1);
 }