Пример #1
0
 /**
  * 删除精选计划
  *
  * @param $brokerId
  * @param $propId
  */
 public function deletePlan($brokerId, $houseId)
 {
     $flag = 0;
     try {
         //获取经纪人基本信息
         $brokerBaseInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId);
         if (empty($brokerBaseInfo)) {
             $this->error(self::EMPTY_BROKER_ERROR, self::EMPTY_BROKER_ERROR_MSG);
         }
         $cityId = $brokerBaseInfo->cityId;
         $userId = $brokerBaseInfo->userId;
         //判断经纪人城市是否开通精选
         if (!$this->checkChoiceOpen($brokerBaseInfo->cityId)) {
             $this->error(self::CHOICE_CLOSE_ERROR, self::CHOICE_CLOSE_ERROR_MSG);
         }
         //获取房源信息
         $houseInfos = Bll_House_EsfHouse::getHouseBaseInfo($houseId, $cityId);
         if (empty($houseInfos)) {
             $this->error(self::PROP_NOT_EXIST_ERROR, self::PROP_NOT_EXIST_ERROR_MSG);
         }
         foreach ($houseInfos as $houseInfo) {
             //操作人验证
             if ($houseInfo->userId != $userId) {
                 $this->error(self::PROP_OPREATE_ACCESS_INVALID_ERROR, self::PROP_OPREATE_ACCESS_INVALID_ERROR_MSG);
             }
             //获取计划信息
             $planInfo = Model_Plan_EsfAjkPropSpread::fitDeletePlan($houseInfo->proId);
             if (empty($planInfo)) {
                 $this->error(self::CHOICE_PLAN_NOT_EXIST_ERROR, self::CHOICE_PLAN_NOT_EXIST_ERROR_MSG);
             }
             $planId = $planInfo->id;
             //删除精选相关操作
             $this->deletePlanAction($planId, $brokerId, $planInfo);
             $flag++;
         }
         return true;
     } catch (Exception $e) {
         if ($flag) {
             return true;
         }
         if ($e instanceof Exception_BllErrorException) {
             $this->errorCode = $e->getCode();
         } else {
             $this->errorCode = self::UNKNOW_ERROR;
         }
         $this->errorMsg = $e->getMessage();
         return false;
     }
 }