private function getHouseInfo($houseId)
 {
     try {
         return Model_House_JpHouseIdx::data_access()->filter('id', $houseId)->filter('isDelete', 0)->get_row();
     } catch (Exception $e) {
         return array();
     }
 }
Ejemplo n.º 2
0
 public static function stopJpBidData($list)
 {
     $checkList = self::checkList($list);
     if (!$checkList['status']) {
         return $checkList;
     }
     $planInfo = Model_Plan_Jp::data_access()->filter('id', $list['planId'])->find_only();
     if ($planInfo->isDelete == Model_Plan_Jp::ENUM_IS_DELETE_YES) {
         return Bll_HzPropBll::build_return(0, '无效的竞价计划' . json_encode($list));
     }
     if ($planInfo->status != Model_Plan_Jp::ENUM_STATUS_ONLINE) {
         return Bll_HzPropBll::build_return(0, '竞价计划不在推广中' . json_encode($list));
     }
     if ($planInfo->type != Model_Plan_Jp::ENUM_TYPE_BID) {
         return Bll_HzPropBll::build_return(0, '竞价计划类型有误' . json_encode($list));
     }
     if (!in_array($planInfo->bidVersion, array(Model_Plan_Jp::BIDVERSION_OLD, Model_Plan_Jp::BIDVERSION_CHOICE))) {
         return Bll_HzPropBll::build_return(0, '竞价计划version error' . json_encode($list));
     }
     $houseIdx = Model_House_JpHouseIdx::data_access()->filter('id', $planInfo['houseId'])->find_only();
     if (empty($houseIdx)) {
         return Bll_HzPropBll::build_return(0, '金铺房源信息没有' . json_encode($list));
     }
     if ($houseIdx->bidSpreadId != $planInfo->id) {
         return Bll_HzPropBll::build_return(0, '金铺房源信息有误bidSpreadId' . json_encode($list));
     }
     $houseIdx->bidSpreadId = 0;
     if (!$houseIdx->save()) {
         return Bll_HzPropBll::build_return(0, '金铺房源信息更新失败' . json_encode($list));
     }
     //发送结算
     $params = array();
     $params['spread_id'] = $planInfo->id;
     $params['log_status'] = 7;
     Bll_Plan_Bid_JpSettlement::getInstance()->settlement($params, 'bid');
     $planInfo->status = Model_Plan_Jp::ENUM_STATUS_OVER;
     $planInfo->isDelete = 1;
     $planInfo->updateTime = date('Y-m-d H:i:s');
     if (!$planInfo->save()) {
         return Bll_HzPropBll::build_return(0, '金铺计划信息更新失败' . json_encode($list));
     }
     //房源下架tosolr
     Bll_House_JpHouseInfo::updateHouseToSolr(1, $planInfo->houseId, 1);
     //通知更新q_spread_bid_update表 计算竞价系数
     Model_Plan_JpSpreadBidUpdate::setBidUpdateQ($planInfo->id);
     //记录房源日志
     $data = array('houseId' => $houseIdx->id, 'planId' => $planInfo->id, 'brokerId' => $list['brokerId'], 'cityId' => $planInfo->cityId, 'type' => 15, 'changeType' => 407, 'remark' => '房源' . $houseIdx->id . '移出定价计划/取消套餐推广。竞价' . $planInfo->id . '(id)取消竞价推广。', 'addDate' => date('Y-m-d H:i:s'), 'operatorId' => $list['operationId'], 'siteType' => 3);
     if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
         return Bll_HzPropBll::build_return(0, array("日志写入失败"));
     }
     return Bll_HzPropBll::build_return(1, array('竞价' . $planInfo->id . '(id)取消竞价推广。'));
 }
Ejemplo n.º 3
0
 public function DownHouse($brokerId = 0, $promitionHouseNum = 0)
 {
     $brokerId = intval($brokerId);
     $promitionHouseNum = intval($promitionHouseNum);
     if ($brokerId == 0 || $promitionHouseNum == 0) {
         return false;
     }
     //将二手房经纪人ID转成商业地产ID
     $jpBrokerInfoObj = Model_Broker_JpBroker::getJpBrokerInfoByAjkBrokerId($brokerId);
     if (!$jpBrokerInfoObj || $jpBrokerInfoObj->id == 0) {
         return Util_GlobalFunc::buildReturn(0, "该经纪人:{$brokerId}没有找到");
     }
     //获取这个经纪人的有效计划
     $OnlinePlan = Model_Plan_Jp::getOnlinePlanByMemberId($jpBrokerInfoObj->id);
     if (!$OnlinePlan) {
         return Util_GlobalFunc::buildReturn(0, "该经纪人:{$brokerId}没有有效计划");
     }
     $onlineplan = array();
     foreach ($OnlinePlan as $plan) {
         $onlineplan[] = $plan->id;
         $isBidVersion[$plan->id]['bidVersion'] = $plan->bidVersion;
     }
     //获取这些有效计划下的房子
     $houseIdx = Model_House_JpHouseIdx::getHouseInfoByFixPlanId($onlineplan);
     if (!$houseIdx) {
         return Util_GlobalFunc::buildReturn(0, "该经纪人:{$brokerId}有效计划下的房子");
     }
     $housecount = count($houseIdx);
     echo '正在处理商业地产' . $brokerId . ',总推广房源数' . $housecount . ',api中允许推广数量' . $promitionHouseNum;
     $allReturn = array();
     //和套餐的推广房源做比较,如果当前在线推广的房子大于套餐推广房子,则下房源将较早推广的房子下架
     if ($housecount > $promitionHouseNum) {
         $offNum = $housecount - $promitionHouseNum;
         for ($i = $offNum; $i >= 1; $i--) {
             if (empty($houseIdx[$i])) {
                 continue;
             }
             if ($houseIdx[$i]->bidSpreadId) {
                 $resultBid = Bll_House_JpHouseInfo::removeBidHouseFromSpread($houseIdx[$i], $jpBrokerInfoObj->id, 1, false);
                 if (!$resultBid['success']) {
                     $allReturn[] = $resultBid['data'];
                 }
             }
             $resultFix = Bll_House_JpHouseInfo::removeFixHouseFromSpread($houseIdx[$i], $jpBrokerInfoObj->id);
             if (!$resultFix['success']) {
                 $allReturn[] = $resultFix['data'];
             }
         }
     }
     return Util_GlobalFunc::buildReturn(1, $allReturn);
 }
Ejemplo n.º 4
0
 /**
  * 经纪人操作添加记录
  */
 public function logHouseOperation($houseId, $memberId, $title, $comment = '')
 {
     if (!empty($comment) && strlen($comment) > 2000) {
         $comment = substr($comment, 0, 2000);
     }
     $houseInfo = Model_House_JpHouseIdx::getPropInfoByPk($houseId);
     $DBmember = Model_Broker_JpBroker::getJpBrokerInfoByPk($memberId);
     $PLog = new Model_Log_JpHouseOperation();
     $PLog->house_id = $houseId;
     $PLog->house_type = $houseInfo->houseType;
     $PLog->member_id = $memberId;
     $PLog->operator_id = $memberId;
     $PLog->operator_name = $DBmember->realName;
     $PLog->title = $title;
     $PLog->comment = $comment;
     $PLog->save();
 }
Ejemplo n.º 5
0
 public static function getHouseInfoExt($propId)
 {
     $houseIdx = Model_House_JpHouseIdx::data_access()->filter('id', $propId)->get_row();
     if (empty($houseIdx) || $houseIdx['isDelete'] == Model_House_JpHouseIdx::ENUM_IS_DELETE_YES) {
         return array();
     }
     $houseTypeClass = Model_House_JpHouseIdx::getHouseTypeModelClass($houseIdx['houseType']);
     $houseInfo = $houseTypeClass::getPropInfoByIds($propId);
     if (empty($houseInfo)) {
         return array();
     }
     $house = array('base' => $houseIdx, 'info' => $houseInfo[0], 'houseType' => $houseIdx['houseType']);
     return self::getHouseExtInfo($house);
 }
Ejemplo n.º 6
0
 public function dealTask($solrOnProId)
 {
     $houseInfo = Model_House_JpHouseIdx::data_access()->filter('id', $solrOnProId)->get_row();
     $brokerInfo = Model_Broker_JpBroker::data_access()->filter('id', $houseInfo['memberId'])->get_row();
     if ($houseInfo['isDelete'] == 1) {
         if ($this->dealFlag) {
             $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrJpAPI($this->cityId, $brokerInfo['ajkMemberId'], $solrOnProId, $houseInfo['houseType'], 2);
             $this->setLog(sprintf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $solrOnProId, $result['status'], $result['message']));
         }
         $this->setLog(sprintf('房源 %s 已经删除, 需要通知solr下' . PHP_EOL, $solrOnProId));
         return true;
     }
     //查询城市配置信息
     $ComboConfig = DAO_My_ComboConfig::getComboConfigByCityId($houseInfo['cityId']);
     if ($ComboConfig && $ComboConfig['type'] == 0) {
         //套餐城市
         if (!Bll_Combo_HouseRelation::getOnlineRelationByHouseId($solrOnProId, Bll_Combo_HouseRelation::SITE_TYPE_JP)) {
             if ($this->dealFlag) {
                 $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrJpAPI($this->cityId, $brokerInfo['ajkMemberId'], $solrOnProId, $houseInfo['houseType'], 2);
                 $this->setLog(sprintf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $solrOnProId, $result['status'], $result['message']));
             }
             $this->setLog(sprintf('房源 %s 不在套餐推广中, 需要通知solr下' . PHP_EOL, $solrOnProId));
             return true;
         }
         return true;
     } else {
         //ppc城市
         if ($houseInfo['spreadId'] != 0) {
             $spreadInfo = Model_Plan_Jp::data_access()->filter('id', $houseInfo['spreadId'])->filter('type', Model_Plan_Jp::ENUM_TYPE_FIX)->filter('isDelete', Model_Plan_Jp::ENUM_IS_DELETE_NO)->get_row();
             if ($spreadInfo && $spreadInfo['status'] == 2) {
                 return true;
             }
         }
         if ($this->dealFlag) {
             $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrJpAPI($this->cityId, $brokerInfo['ajkMemberId'], $solrOnProId, $houseInfo['houseType'], 2);
             $this->setLog(sprintf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $solrOnProId, $result['status'], $result['message']));
         }
         $this->setLog(sprintf('房源 %s 不在定价推广中, 需要通知solr下' . PHP_EOL, $solrOnProId));
         return true;
     }
 }
Ejemplo n.º 7
0
 /**
  * 商铺物业板块变更,处理自选房源
  *
  * @param $cityId
  * @param $oldBlockId
  * @param $newBlockId
  * @param $houseType
  * @param $houseLogType
  * @param $actionType
  * @return array
  * @throws Exception
  */
 public static function dealRoadPropertyAreaChange($cityId, $oldBlockId, $newBlockId, $houseType, $houseLogType, $actionType)
 {
     $useBusinessCycleConfigOption = array(Model_House_JpHouseIdx::ENUM_HOUSE_TYPE_SHOP_RENT => 'clues_search_condition_shop_rent_list_switch', Model_House_JpHouseIdx::ENUM_HOUSE_TYPE_SHOP_SALE => 'clues_search_condition_shop_sale_list_switch');
     $useBusinessCycleConfig = APF::get_instance()->get_config($useBusinessCycleConfigOption[$houseType], 'jpmulticity');
     $useBusinessCycle = isset($useBusinessCycleConfig[$cityId]) && $useBusinessCycleConfig[$cityId];
     if ($useBusinessCycle) {
         $oldBusinessCycleId = Model_Jinpu_NewShopBusinessBlockMap::getNewBusinessCycleByOldBlockId($oldBlockId);
         $choicePlanList = Model_Plan_Jp::getValidChoicePlanByBlockIdAndNewBlockId($oldBlockId, $oldBusinessCycleId, $houseType);
     } else {
         $choicePlanList = Model_Plan_Jp::getValidChoicePlanByBlockIdAndNewBlockId($oldBlockId, 0, $houseType);
     }
     $rtn = array();
     foreach ($choicePlanList as $choicePlan) {
         $houseInfo = Model_House_JpHouseIdx::getHouseInfoById($choicePlan['houseId']);
         if (empty($houseInfo)) {
             $rtn[] = sprintf('没有获取到房源[%d]信息', $choicePlan['houseId']);
             continue;
         }
         if ($houseInfo['isDelete'] != 0) {
             $rtn[] = sprintf('房源[%d]已删除', $choicePlan['houseId']);
             continue;
         }
         $propertyInfo = Model_House_JpProperty::getPropertyById($houseInfo['propertyId']);
         if (empty($propertyInfo)) {
             $rtn[] = sprintf('物业[%d]没有获取到', $houseInfo['propertyId']);
             continue;
         }
         if ($propertyInfo['isRoad'] != 1) {
             $rtn[] = sprintf('物业[%d]非道路型,不处理', $houseInfo['propertyId']);
             continue;
         }
         $houseLog = array();
         $houseLog['houseId'] = $choicePlan['houseId'];
         $houseLog['planId'] = $choicePlan['id'];
         $houseLog['brokerId'] = $choicePlan['ajkBrokerId'];
         $houseLog['cityId'] = $choicePlan['cityId'];
         $houseLog['type'] = $houseLogType;
         $houseLog['changeType'] = $actionType;
         $houseLog['remark'] = sprintf('房源所在物业、写字楼板块发生变更[%d -> %d]', $oldBlockId, $newBlockId);
         $houseLog['addDate'] = date('Y-m-d H:i:s');
         $houseLog['operatorId'] = 0;
         $houseLog['siteType'] = 3;
         if (!Model_Log_HouseLogNew::create($houseLog, date('Ymd'))->save()) {
             $rtn[] = sprintf('板块变更房源[%d]日志写入失败', $choicePlan['houseId']);
             continue;
         }
         $rtn[] = sprintf('板块变更房源[%d]日志写入成功', $choicePlan['houseId']);
     }
     return $rtn;
 }
Ejemplo n.º 8
0
 public static function broker_restitution($params)
 {
     $all_return[] = "队列(" . $params['id'] . ")开始处理";
     $all_return[] = '金铺系统返还';
     //todo 查询用户所有定价计划,开启计划,上线房源
     $ajk_broker_id = $params['broker_id'];
     //获取金铺经纪人broker_id
     $jpBrokerInfoObj = Model_Broker_JpBroker::getJpBrokerInfoByAjkBrokerId($params['broker_id']);
     $params['broker_id'] = $jpBrokerInfoObj->id;
     //获取由于余额用完停止的计划
     $fixInfoObjs = Model_Plan_Jp::getNoBalancePlan($params['broker_id']);
     foreach ($fixInfoObjs as $fixInfoObj) {
         $plan_log = array();
         $plan_log['id'] = $params['id'];
         $plan_log['plan_id'] = $fixInfoObj->id;
         $plan_log['broker_id'] = $ajk_broker_id;
         $plan_log['city_id'] = $fixInfoObj->cityId;
         $plan_log['type'] = $params['type'];
         $plan_log = Bll_JpFixPlanBll::build_plan_log($plan_log, 8, "系统返还", 0);
         //写计划日志
         if (!Model_House_UpDown_PlanLog::create($plan_log, date('m'))->save()) {
             $all_return[] = "计划" . $plan_log['planId'] . "房源推广日志写入失败";
         } else {
             $all_return[] = "计划" . $plan_log['planId'] . "房源推广日志写入成功";
         }
         //计划开启
         $fixInfoObj->status = 2;
         $fixInfoObj->stopReason = 0;
         if (!$fixInfoObj->save()) {
             return array('status' => 0, 'msg' => array("定价计划" . $plan_log['planId'] . ",更新失败"));
         }
         //获取房源列表
         $houseInfoObjs = Model_House_JpHouseIdx::getHouseInfoByFixPlanId($plan_log['planId']);
         if ($houseInfoObjs) {
             foreach ($houseInfoObjs as $houseInfoObj) {
                 $prop_log['id'] = $params['id'];
                 $prop_log['pro_id'] = $houseInfoObj->id;
                 $prop_log['plan_id'] = $plan_log['planId'];
                 $prop_log['broker_id'] = $ajk_broker_id;
                 $prop_log['city_id'] = $houseInfoObj->cityId;
                 $prop_log['type'] = $params['type'];
                 $prop_log = Bll_JpPropBll::build_prop_log($prop_log, 5, "系统返还", 0);
                 //写房源日志
                 if (!Model_Log_HouseLogNew::create($prop_log, date('Ymd'))->save()) {
                     $all_return[] = "房源" . $houseInfoObj->id . "系统返还后房源推广日志写入失败";
                 } else {
                     $all_return[] = "房源" . $houseInfoObj->id . "系统返还后房源推广日志写入成功";
                 }
                 //获取房源分表信息
                 $houseClass = Model_House_JpHouseIdx::getHouseTypeModelClass($houseInfoObj->houseType);
                 $houseObj = $houseClass::getPropInfoByPk($houseInfoObj->id);
                 //更新展示房源状态
                 $houseObj->isList = 1;
                 if ($houseObj->save()) {
                     $all_return[] = "houseType=" . $houseInfoObj->houseType . ",更新分表isList=1成功";
                 } else {
                     $all_return[] = "houseType=" . $houseInfoObj->houseType . ",更新分表isList=1失败";
                 }
             }
         }
     }
     return Bll_JpPropBll::build_return(1, $all_return);
 }
Ejemplo n.º 9
0
 public static function handle_plan_start($params)
 {
     $all_return = array();
     $all_return[] = "队列(" . $params['id'] . ")开始处理";
     //获取房源列表
     $houseInfoObjs = Model_House_JpHouseIdx::getHouseInfoByFixPlanId($params['plan_id']);
     //写房源推广日志
     if ($houseInfoObjs) {
         //todo 房源要上线 查余额判断
         foreach ($houseInfoObjs as $houseInfoObj) {
             $params['pro_id'] = $houseInfoObj->id;
             $data = Bll_JpPropBll::build_prop_log($params, 5, "房源推广", $params['broker_id']);
             Model_Log_HouseLogNew::create($data, date('Ymd'))->save();
             $all_return[] = "房源" . $params['pro_id'] . "上线日志写入";
         }
     }
     //写计划日志
     $data = self::build_plan_log($params, 4, "手动开始计划", $params['broker_id']);
     Model_House_UpDown_PlanLog::create($data, date('m'))->save();
     $all_return[] = "手动开始计划日志写入";
     return Bll_JpPropBll::build_return(1, $all_return);
 }
Ejemplo n.º 10
0
 /**
  * 金铺更新
  * @param $record
  * @return bool
  */
 public function updateSolrJp($record)
 {
     $type = $record['type'];
     if ($type != 2 && $type != 4) {
         //记录处理日志
         $this->setLog('不需要做更新处理 ' . __METHOD__);
         return true;
     }
     $houseIdx = Model_House_JpHouseIdx::data_access()->filter('id', $record['houseId'])->find_only();
     if (intval($houseIdx->houseType) <= 0) {
         $this->setLog('金铺房源房源类型为空,无法处理 ');
         return false;
     }
     $resArr = Bll_Combo_NoticeSolrUpDown::noticeUpdateJpAPI($record['cityId'], $record['houseId'], $houseIdx->houseType, Bll_Combo_NoticeSolrUpDown::HLSFromPropUpdate, strtotime($record['addDate']), date('Ymd', strtotime($record['addDate'])) . $record['id']);
     if ($resArr['status'] == 'ok') {
         //记录处理日志
         $this->setLog('solr处理成功 ');
     } else {
         //记录处理日志
         $this->setLog('solr处理失败 ');
     }
     return true;
 }
Ejemplo n.º 11
0
 protected static function init()
 {
     try {
         $idx = Model_House_JpHouseIdx::data_access()->find_by_pk(self::$houseId);
         self::$memberId = $idx->memberId;
     } catch (Exception $e) {
         self::$memberId = 0;
         $idx = null;
     }
     if (!$idx) {
         return false;
     }
     self::$houseType = $idx->houseType;
     self::$houseModelName = null;
     self::$houseImgModelName = NULL;
     self::get_houseModel();
     $houseModel = self::$houseModelName;
     try {
         $house = $houseModel::data_access()->find_by_pk(self::$houseId);
     } catch (Exception $e) {
     }
     self::$officeExquisite = 0;
     self::$shopHighQuality = 0;
     self::$publishTime = 0;
     self::$spreadOffer = 0;
     self::$cityId = $idx->cityId;
     self::$houseUnitPrice = 0;
     self::$price_75 = null;
     self::$exquisiteScore = 0;
     if ($house) {
         self::$exquisiteScore = $house->exquisiteScore;
         if (self::$houseCategory == 'office') {
             self::$officeExquisite = $house->isExquisite;
             if (self::$houseType == Model_House_JpHouseIdx::ENUM_HOUSE_TYPE_OFFICE_RENT) {
                 self::$houseUnitPrice = $house->dailyRent;
                 $midpricedata = self::get_midprice($house->buildingId);
                 self::$price_75 = !is_null($midpricedata) ? $midpricedata->mid_price_office_rent : null;
             } else {
                 self::$houseUnitPrice = $house->unitPrice;
                 $midpricedata = self::get_midprice($house->buildingId);
                 self::$price_75 = !is_null($midpricedata) ? $midpricedata->mid_price_office_sale : null;
             }
         } elseif (self::$houseCategory == 'shop') {
             self::$shopHighQuality = $house->isQuality;
             if (self::$houseType == Model_House_JpHouseIdx::ENUM_HOUSE_TYPE_SHOP_RENT) {
                 self::$houseUnitPrice = $house->dailyRent;
                 $midpricedata = self::get_midprice($house->propertyId);
                 self::$price_75 = !is_null($midpricedata) ? $midpricedata->mid_price_shop_rent : null;
             } else {
                 self::$houseUnitPrice = $house->unitPrice;
                 $midpricedata = self::get_midprice($house->propertyId);
                 self::$price_75 = !is_null($midpricedata) ? $midpricedata->mid_price_shop_sale : null;
             }
         }
         if ($house->createTime) {
             self::$publishTime = $house->createTime;
         }
         if ($house->spreadOffer) {
             self::$spreadOffer = $house->spreadOffer;
         }
     }
     if ($idx->spreadId == 0) {
         self::$spreadType = 0;
     } else {
         try {
             $spread = Model_Plan_Jp::data_access()->find_by_pk($idx->spreadId);
         } catch (Exception $e) {
         }
         if ($spread) {
             self::$spreadType = $spread->type;
         }
     }
     $objMember = Model_Broker_JpBroker::data_access()->find_by_pk($idx->memberId, false);
     if ($objMember && $objMember->hasRecharged) {
         self::$memberType = 2;
     }
     return true;
 }
 private function getHouseList()
 {
     try {
         $modelClass = Model_House_JpHouseIdx::getHouseTypeModelClass($this->_dealType);
         $dataAccess = $modelClass::data_access('');
         $dataAccess->filter_by_op('id', '>', $this->_startId);
         $dataAccess->filter_by_op('updateTime', '>=', $this->_startTime);
         $dataAccess->filter_by_op('updateTime', '<=', $this->_endTime);
         $dataAccess->sort('id', 'asc');
         $dataAccess->limit(self::BATCH_LIMIT);
         return $dataAccess->get_all();
     } catch (Exception $e) {
         return array();
     }
 }
Ejemplo n.º 13
0
 /**
  * @param $houseId
  * @return bool
  */
 public static function getFixPlanInfo($houseId)
 {
     $house = Model_House_JpHouseIdx::data_access()->filter('id', $houseId)->get_row();
     if (empty($house) || empty($house['fixSpreadId'])) {
         return array('success' => false, 'data' => '推广不存在');
     }
     $plan = Model_Plan_Jp::data_access()->filter('id', intval($house['fixSpreadId']))->filter('type', Model_Plan_Jp::ENUM_TYPE_FIX)->filter('isDelete', Model_Plan_Jp::ENUM_IS_DELETE_NO)->get_row();
     if ($plan['memberId'] != $house['memberId']) {
         return array('success' => false, 'data' => '没有权限操作推广');
     }
     return array('success' => true, 'data' => $plan);
 }
Ejemplo n.º 14
0
 /**
  *
  * 获取经纪人的违规房源数
  *
  * @param $brokerId
  * @param $cityId
  * @param $siteType
  * @return int
  */
 public static function getBrokerIllegalNum($brokerId, $cityId, $siteType)
 {
     $num = 0;
     switch ($siteType) {
         case 'ajk':
             $propList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $cityId);
             foreach ($propList as $prop) {
                 if ($prop['isVisible'] != 1) {
                     $num += 1;
                 }
             }
             break;
         case 'hz':
             $brokerMapping = Bll_Broker_MainBusiness::getDataByEsfId($brokerId);
             //根据经纪人查询商铺相应
             $propList = Model_House_HzPropSearch::getPropListByUserId($brokerMapping['hzBrokerid'], $cityId, array('status' => 6));
             $num = count($propList);
             break;
         case 'jp':
             $brokerMapping = Bll_Broker_MainBusiness::getDataByEsfId($brokerId);
             //根据经纪人查询商铺相应
             $baseInfo = Model_House_JpHouseIdx::data_access()->filter('memberId', $brokerMapping['jpBrokerid'])->filter('isDelete', Model_House_JpHouseIdx::ENUM_IS_DELETE_NO)->get_all();
             if (!$baseInfo) {
                 return $num;
             }
             $houseIds = array();
             foreach ($baseInfo as $hInfo) {
                 $houseIds[] = $hInfo['id'];
             }
             //获取房源的标签
             $jpOfficeRent = Model_House_JpOfficeRent::getPropInfoByIds($houseIds);
             $jpOfficeSale = Model_House_JpOfficeSale::getPropInfoByIds($houseIds);
             $jpShopRent = Model_House_JpShopRent::getPropInfoByIds($houseIds);
             $jpShopSale = Model_House_JpShopSale::getPropInfoByIds($houseIds);
             $houseList = array_merge($jpOfficeRent, $jpOfficeSale, $jpShopRent, $jpShopSale);
             $num = 0;
             foreach ($houseList as $list) {
                 if ($list['isIllegal'] == 1) {
                     $num += 1;
                 }
             }
             break;
         default:
             break;
     }
     return $num;
 }
Ejemplo n.º 15
0
 /**
  * @param $houseId
  * @param $forceMaster
  * @throws Exception
  * 重新计算spreadPrice字段
  */
 public function rebuildSpreadPrice($houseId, $forceMaster)
 {
     $houseIdxInfo = Model_House_JpHouseIdx::getPropInfoByPk($houseId, $forceMaster);
     if (!empty($houseIdxInfo) && !empty($houseIdxInfo->hosueType)) {
         $houseTypeClass = Model_House_JpHouseIdx::getHouseTypeModelClass($houseIdxInfo->hosueType);
         $houseDetail = $houseTypeClass::getPropInfoByPk($houseId, $forceMaster);
         //如果没有基准价格
         $intHouseType = $houseIdxInfo->houseType;
         if (in_array($intHouseType, array(1, 3))) {
             $floPrice = $houseDetail->monthlyRent;
         } else {
             $floPrice = $houseDetail->totalPrice;
         }
         $arrBasePrice = $this->getSpreadPriceByPrice($floPrice, $intHouseType, $houseIdxInfo->cityId);
         $houseDetail->spreadPrice = $arrBasePrice['base_price'];
         $houseDetail->save();
     }
 }
Ejemplo n.º 16
0
 public static function getHouseInfoByFixPlanIdEx($PlanId)
 {
     try {
         return Model_House_JpHouseIdx::data_access()->filter('fixSpreadId', $PlanId)->filter('houseType', array(1, 2, 3, 4))->filter('isDelete', 0)->get_all();
     } catch (Exception $e) {
         return array();
     }
 }
Ejemplo n.º 17
0
 /**
  * 精选计划板块变更
  *
  * @param array $queueInfo
  * @return array
  */
 public static function houseBlockChange($queueInfo)
 {
     $choicePlanInfo = Model_Plan_Jp::getPlanInfoById($queueInfo['planId'], true);
     if (empty($choicePlanInfo)) {
         return self::buildReturn(0, '没有获取到计划');
     }
     if ($choicePlanInfo['status'] != Model_Plan_Jp::ENUM_STATUS_ONLINE && $choicePlanInfo['status'] != Model_Plan_Jp::ENUM_STATUS_CHOICE_HOLD) {
         return self::buildReturn(1, sprintf('计划状态[%d]不处理', $choicePlanInfo['status']));
     }
     /** 获取房源信息 */
     $houseInfo = Model_House_JpHouseIdx::getHouseInfoById($choicePlanInfo['houseId']);
     if (empty($houseInfo)) {
         return self::buildReturn(0, sprintf('没有获取到房源[%d]信息', $choicePlanInfo['houseId']));
     }
     if ($houseInfo['isDelete'] == Model_House_JpHouseIdx::ENUM_IS_DELETE_YES) {
         return self::buildReturn(0, sprintf('房源[%d]已经删除[%d]', $choicePlanInfo['houseId'], $houseInfo['isDelete']));
     }
     /** 获取房源的板块id */
     if (in_array($houseInfo['houseType'], array(Model_House_JpHouseIdx::ENUM_HOUSE_TYPE_OFFICE_RENT, Model_House_JpHouseIdx::ENUM_HOUSE_TYPE_OFFICE_SALE))) {
         $propertyInfo = Model_House_JpBuilding::getBuildingById($houseInfo['propertyId'], array('blockId'));
     } else {
         $propertyInfo = Model_House_JpProperty::getPropertyById($houseInfo['propertyId'], array('blockId', 'isRoad'));
     }
     $blockId = $propertyInfo['blockId'];
     /** 商铺自选房源精选板块ID从房源信息表里取 */
     if (in_array($houseInfo['houseType'], array(Model_House_JpHouseIdx::ENUM_HOUSE_TYPE_SHOP_RENT, Model_House_JpHouseIdx::ENUM_HOUSE_TYPE_SHOP_SALE)) && $propertyInfo['isRoad'] == 1) {
         $houseTypeClass = Model_House_JpHouseIdx::getHouseTypeModelClass($houseInfo['houseType']);
         $extendHouseInfo = $houseTypeClass::getPropInfoById($houseInfo['id']);
         $blockId = $extendHouseInfo['blockId'];
     }
     /** 获取商圈ID */
     $businessCycleId = Bll_House_JpHouseInfo::getBusinessCycleId($houseInfo['cityId'], $blockId, $houseInfo['houseType']);
     /** 更新计划的板块和商圈ID */
     if (!Model_Plan_Jp::updatePlanBlockIdAndNewBlockIdById($choicePlanInfo['id'], $blockId, $businessCycleId)) {
         return self::buildReturn(0, sprintf('更新计划[%d]的板块[%d -> %d]和商圈[%d -> %d]id失败', $choicePlanInfo['id'], $choicePlanInfo['blockId'], $blockId, $choicePlanInfo['newBlockId'], $businessCycleId));
     }
     if (!Model_Choice_JPBidBucket::getBucketInfo($blockId, $businessCycleId, $choicePlanInfo['houseType'], $choicePlanInfo['priceId'])) {
         Model_Choice_JPBidBucket::initBucketInfo($blockId, $businessCycleId, $choicePlanInfo['houseType'], $choicePlanInfo['priceId'], $choicePlanInfo['cityId']);
     }
     Model_Choice_JPBidBucket::incrementUsedNumEx($blockId, $businessCycleId, $choicePlanInfo['houseType'], $choicePlanInfo['priceId']);
     return self::buildReturn(1, sprintf('更新计划[%d]的板块[%d -> %d]和商圈[%d -> %d]id成功', $choicePlanInfo['id'], $choicePlanInfo['blockId'], $blockId, $choicePlanInfo['newBlockId'], $businessCycleId));
 }
Ejemplo n.º 18
0
 public static function delete_prop($params)
 {
     //是否套餐经纪人,套餐单独处理
     //$broker_info = Dao_Broker_BrokerInfo::get_broker_base_info($params['broker_id']);
     if (Bll_City::isComboCity($params['city_id'])) {
         return self::delete_combo_prop($params);
     }
     if (empty($params['pro_id'])) {
         return self::build_return(0, array("房源ID为空"));
     }
     $out_return[] = "队列(" . $params['id'] . ")开始处理";
     $remark = json_decode($params['remark'], 1);
     if ($remark['fix'] == 'online') {
         //记录房源手动移除定价组日志
         $data = self::build_prop_log($params, 11, "房源移出定价组", $params['broker_id']);
         if (Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
             $all_return[] = "房源手动移出定价组日志写入成功";
         } else {
             $all_return[] = "房源手动移出定价组日志写入失败";
         }
         //写入下线日志
         $data = self::build_prop_log($params, 6, "房源下线", $params['broker_id']);
         if (Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
             $all_return[] = "房源" . $params['pro_id'] . "下线日志写入成功";
         } else {
             $all_return[] = "房源" . $params['pro_id'] . "下线日志写入失败";
         }
     } elseif ($remark['fix'] == 'stop') {
         //记录房源手动移除定价组日志
         $data = self::build_prop_log($params, 11, "房源移出定价组", $params['broker_id']);
         if (Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
             $all_return[] = "房源手动移出定价组日志写入成功";
         } else {
             $all_return[] = "房源手动移出定价组日志写入失败";
         }
     }
     //获取房源分表信息
     if (BLL_Fixedspread_StaticPlanUpDownSwicher::isOnline()) {
         $houseInfoObj = Model_House_JpHouseIdx::getPropInfoByPk($params['pro_id']);
         $houseClass = Model_House_JpHouseIdx::getHouseTypeModelClass($houseInfoObj->houseType);
         $houseObj = $houseClass::getPropInfoByPk($params['pro_id']);
         //更新删除房源时间
         $houseObj->deleteTime = date("Y-m-d H:i:s");
         $houseObj->save();
         $all_return[] = "houseType:" . $houseInfoObj->houseType . ",deleteTime:0=>" . date("Y-m-d H:i:s");
     }
     //写房源删除日志
     $data = self::build_prop_log($params, 3, "房源删除", 0);
     if (Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
         $all_return[] = '写房源删除日志成功';
         return self::build_return(1, $all_return);
     } else {
         $all_return[] = '写房源删除日志失败';
         return self::build_return(0, $all_return);
     }
 }
Ejemplo n.º 19
0
 private function modifyHouse($task)
 {
     //取数据
     $params = array(array('id', '>', 0), array('propertyId', '=', $task['propertyId']), array('houseType', 'in', array(1, 2, 3, 4)));
     $sort = array('id', 'asc');
     $tasks = Model_House_JpHouseIdx::getPropLists($params, $this->houseLimit, $sort);
     if (empty($tasks)) {
         return array('status' => 'none', 'msg' => 'house list is empty');
     }
     while ($tasks) {
         //处理数据
         foreach ($tasks as $key => $val) {
             $this->cursor = $val['id'];
             if ($val['isDelete'] == 1) {
                 continue;
             }
             //判断房源信息是否需要修改
             $houseModelClass = Model_House_JpHouseIdx::getHouseTypeModelClass($val['houseType']);
             $dataAccess = $houseModelClass::data_access('');
             $dataAccess->filter('id', $val['id']);
             //                $dataAccess->filter('districtId', $task['areaId']);
             //                $dataAccess->filter('blockId', $task['blockId']);
             $result = $dataAccess->get_row();
             if (empty($result)) {
                 continue;
             }
             //非自选
             if ($val['houseType'] == 1 || $val['houseType'] == 2) {
                 if ($result['buildingId'] == $task['propertyId']) {
                     try {
                         // call api update house
                         $data = array('officeId' => $val['id']);
                         $result = $this->updateBuildingHouse($data);
                         $info = $result['info'];
                         if ($result['status'] == 'ok') {
                             $this->setLog('[' . date('Y-m-d H:i:s') . '] updateHouse: 更新房源[ ' . $val['id'] . ' ]分表[ ' . $val['houseType'] . ' ]的districtId=' . $this->newDistrictId . ',blockId=' . $this->newBlockId . ' 【 成功 】data:' . $info);
                         } else {
                             $this->setLog('[' . date('Y-m-d H:i:s') . '] updateHouse: 更新房源[ ' . $val['id'] . ' ]分表[ ' . $val['houseType'] . ' ]的districtId=' . $this->newDistrictId . ',blockId=' . $this->newBlockId . ' 【 失败 】data:' . $info);
                         }
                     } catch (Exception $e) {
                         $this->setLog('[' . date('Y-m-d H:i:s') . '] updateHouse: 更新房源[ ' . $val['id'] . ' ]分表[ ' . $val['houseType'] . ' ]的districtId=' . $this->newDistrictId . ',blockId=' . $this->newBlockId . ' 【 异常 】');
                         $this->setLog($e->getMessage());
                     }
                 }
             } elseif ($val['houseType'] == 3 || $val['houseType'] == 4) {
                 if ($result['propertyId'] == $task['propertyId']) {
                     try {
                         // call api update house
                         $data = array('shopId' => $val['id'], 'districtId' => $this->newDistrictId, 'blockId' => $this->newBlockId);
                         $result = $this->updateShopHouse($data);
                         $info = $result['info'];
                         if ($result['status'] == 'ok') {
                             $this->setLog('[' . date('Y-m-d H:i:s') . '] updateHouse: 更新房源[ ' . $val['id'] . ' ]分表[ ' . $val['houseType'] . ' ]的districtId=' . $this->newDistrictId . ',blockId=' . $this->newBlockId . ' 【 成功 】data:' . $info);
                         } else {
                             $this->setLog('[' . date('Y-m-d H:i:s') . '] updateHouse: 更新房源[ ' . $val['id'] . ' ]分表[ ' . $val['houseType'] . ' ]的districtId=' . $this->newDistrictId . ',blockId=' . $this->newBlockId . ' 【 失败 】data:' . $info);
                         }
                     } catch (Exception $e) {
                         $this->setLog('[' . date('Y-m-d H:i:s') . '] updateHouse: 更新房源[ ' . $val['id'] . ' ]分表[ ' . $val['houseType'] . ' ]的districtId=' . $this->newDistrictId . ',blockId=' . $this->newBlockId . ' 【 异常 】');
                         $this->setLog($e->getMessage());
                     }
                 }
             }
         }
         $this->setLog('[' . date('Y-m-d H:i:s') . '] updateHouse: 更新房源 current cursor: ' . $this->cursor);
         //取数据
         $params = array(array('id', '>', $this->cursor), array('propertyId', '=', $task['propertyId']), array('houseType', 'in', array(1, 2, 3, 4)));
         $sort = array('id', 'asc');
         $tasks = Model_House_JpHouseIdx::getPropLists($params, $this->houseLimit, $sort);
     }
     return array('status' => 'over', 'msg' => 'house list is empty');
 }
Ejemplo n.º 20
0
 public function handle_request()
 {
     //分表
     $date = date('Ymd');
     $id = 0;
     //获取游标
     $dateFlag = $this->getFlag();
     if (!empty($dateFlag)) {
         $date = $dateFlag['date'];
         $id = $dateFlag['id'];
     }
     //竞价队列数据获取
     $ProLogList = Model_Log_HouseLogNew::getProLogList($date, $id, $this->limit);
     //判断当前队列是否处理完成
     if (empty($ProLogList)) {
         //判断是否切换表
         if ($date < date('Ymd')) {
             $date = date('Ymd', strtotime($date) + 24 * 3600);
             $id = 0;
             //记录表游标
             $this->setFlag(array('date' => $date, 'id' => $id));
         }
         //休息1秒钟
         $this->setShCommonSleepTime(1);
         $this->setLog(date('Y-m-d H:i:s') . ' 处理完成');
         exit;
     }
     //队列数据处理
     foreach ($ProLogList as $list) {
         $id = $list['id'];
         $time = 0;
         //查询房源的发布时间
         if ($list['siteType'] == 1) {
             //二手房
             $ajkProInfo = Bll_House_EsfHouse::getHouseInfo($list['houseId'], $list['cityId']);
             if ($ajkProInfo->postDate) {
                 $time = $ajkProInfo->postDate;
             }
         } elseif ($list['siteType'] == 2) {
             $hzProInfo = Model_House_HzPropSearch::get_prop_by_prop_id($list['cityId'], $list['houseId']);
             if ($hzProInfo['created']) {
                 $time = $hzProInfo['created'];
             }
         } elseif ($list['siteType'] == 3) {
             $jpProInfo = Model_House_JpHouseIdx::getPropInfoByPk($list['houseId']);
             if ($jpProInfo['createTime']) {
                 $time = strtotime($jpProInfo['createTime']);
             }
         }
         //写索引表
         if (!empty($time)) {
             //查询数据是否存在
             $ProLogIndex = Model_Log_HouseLogIndexNew::getProLogIndexByProId($list['houseId'], date('Ymd', strtotime($list['addDate'])), $list['siteType'], date('Ymd', $time));
             if (!empty($ProLogIndex)) {
                 //记录处理日志
                 $this->setLog(date('Y-m-d H:i:s') . ' id:' . $list['id'] . ' 城市id:' . $list['cityId'] . ' 经纪人:' . $list['brokerId'] . ' 房源:' . $list['houseId'] . ' 网站:' . $list['siteType'] . '  房源创建时间:' . date('Y-m-d H:i:s', $time) . ' remark:索引已存在');
                 continue;
             }
             try {
                 Model_Log_HouseLogIndexNew::create(array('proId' => $list['houseId'], 'datei' => date('Ymd', strtotime($list['addDate'])), 'siteType' => $list['siteType']), date('Ymd', $time))->save();
             } catch (Exception $e) {
                 print_r($e);
             }
             //记录处理日志
             $this->setLog(date('Y-m-d H:i:s') . ' id:' . $list['id'] . ' 城市id:' . $list['cityId'] . ' 经纪人:' . $list['brokerId'] . ' 房源:' . $list['houseId'] . ' 网站:' . $list['siteType'] . '  房源创建时间:' . date('Y-m-d H:i:s', $time) . ' remark:创建索引');
         } else {
             //记录处理日志
             $this->setLog(date('Y-m-d H:i:s') . ' id:' . $list['id'] . ' 城市id:' . $list['cityId'] . ' 经纪人:' . $list['brokerId'] . ' 房源:' . $list['houseId'] . ' 网站:' . $list['siteType'] . '  remark:未找到房源信息');
         }
     }
     $this->setFlag(array('date' => $date, 'id' => $id));
     //休息10毫秒
     $this->setShCommonSleepTime(0.01);
 }
Ejemplo n.º 21
0
 /**
  * @param $houseId
  * @param $selfPage
  * @return int
  */
 public static function editRedirect($houseId, $selfPage)
 {
     $configArr = array(1 => 'jpor', 2 => 'jpos', 3 => 'jpsr', 4 => 'jpss');
     if ($houseId) {
         $houseIdx = Model_House_JpHouseIdx::getPropInfoByPk($houseId);
         if ($houseIdx) {
             if ($configArr[$houseIdx->houseType] == $selfPage) {
                 return 0;
             } else {
                 return $configArr[$houseIdx->houseType] . '/' . $houseId;
             }
         }
     }
     return 'jpor/?from=editRedirect';
 }
Ejemplo n.º 22
0
 /**
  * Job执行逻辑
  */
 public function handle_request()
 {
     printf('[%s] lastLogId: %s' . PHP_EOL, date('Y-m-d H:i:s'), $this->lastLogId);
     $this->setLog(sprintf('[%s] lastLogId: %s' . PHP_EOL, date('Y-m-d H:i:s'), $this->lastLogId));
     // 获取非删除的房子
     $params = array(array('isDelete', '=', 0), array('id', '>', $this->lastLogId));
     if ($this->cityIds) {
         $params = array(array('isDelete', '=', 0), array('cityId', 'in', $this->cityIds), array('id', '>', $this->lastLogId));
     }
     $tasks = Model_House_JpHouseIdx::getPropLists($params, $this->limit);
     if ($tasks === false) {
         $this->setLog(sprintf('[%s] remark: %s' . PHP_EOL, date('Y-m-d H:i:s'), '获取数据失败'));
         exit;
     }
     if (empty($tasks)) {
         // 任务完成
         printf('[%s] remark: %s' . PHP_EOL, date('Y-m-d H:i:s'), '任务执行完成');
         $this->setStop();
         $this->setShStopFlag();
         $this->setFlag(array('lastLogId' => 0));
         exit;
     }
     $doProps = array();
     /** 本次处理的房子 */
     $doTmpProIds = array();
     $solrProIdsTmp = array();
     $solrProIds = array();
     foreach ($tasks as $task) {
         $this->lastLogId = $task['id'];
         $doProps[$task['id']] = $task;
         $doTmpProIds[$task['houseType']][] = $task['id'];
     }
     foreach ($doTmpProIds as $type => $proIds) {
         printf('[%s] 获取solr, type: %s, proId: %s' . PHP_EOL, date('Y-m-d H:i:s'), $type, json_encode($proIds));
         // 获取solr
         $solrs = Util_SearchUtil::getJpPropsFromSolr($this->getTypeByHouseType($type), $proIds, $this->limit);
         if (!empty($solrs)) {
             $solrProIdsTmp[$type] = $solrs;
         }
     }
     // 扁平处理
     if (!empty($solrProIdsTmp)) {
         foreach ($solrProIdsTmp as $items) {
             foreach ($items as $item) {
                 $solrProIds[] = $item['id'];
             }
         }
     }
     // 拿出不在线的进行处理
     $willDealProIds = array_diff(array_keys($doProps), $solrProIds);
     if (empty($willDealProIds)) {
         printf('[%s] remark: %s' . PHP_EOL, date('Y-m-d H:i:s'), '本轮取的房子都在线,不需要处理');
         //记录游标
         $this->setFlag(array('lastLogId' => $this->lastLogId));
         die;
     }
     // 循环处理任务
     foreach ($willDealProIds as $willDealProId) {
         $this->dealTask($doProps[$willDealProId]);
     }
     //记录游标
     $this->setFlag(array('lastLogId' => $this->lastLogId));
 }
 private function moveJpPPCFixPlanRelation($cityId, $jpBrokerId, $fixPlan)
 {
     try {
         $ajkBrokerId = Bll_Broker_User::getAjkBrokerIdByJpBrokerId($jpBrokerId);
     } catch (Exception $e) {
         $this->logMsg($e->getMessage());
         return;
     }
     if ($ajkBrokerId == 0) {
         $this->logMsg(sprintf('经纪人[%d - %d]没有获取到二手房经纪人ID。', $cityId, $jpBrokerId));
         return;
     }
     $fixPlanId = $fixPlan['id'];
     $fixPlanHouseRelationList = Model_House_JpHouseIdx::getHouseInfoByFixPlanIdEx($fixPlanId);
     if (empty($fixPlanHouseRelationList)) {
         $this->logMsg(sprintf('经纪人[%d - %d - %d - %d]没有获取到金铺定价计划房源。', $cityId, $ajkBrokerId, $jpBrokerId, $fixPlanId));
         return;
     }
     foreach ($fixPlanHouseRelationList as $fixPlanHouseRelation) {
         $comboHouseRelation = Bll_Combo_HouseRelation::getRelationByHouseId($fixPlanHouseRelation['id'], Model_Combo_HouseRelation::SITE_TYPE_JP);
         if (!empty($comboHouseRelation)) {
             if ($comboHouseRelation['state'] == Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE) {
                 $this->logMsg(sprintf('房源[%d]的套餐关系存在id[%d],且state==205', $fixPlanHouseRelation['id'], $comboHouseRelation['id']));
                 continue;
             }
             if (1 == Bll_Combo_HouseRelation::updateComboStatusById($comboHouseRelation['id'], Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE, Model_Combo_HouseRelation::SITE_TYPE_JP)) {
                 $this->logMsg(sprintf('房源[%d]的套餐关系存在id[%d],更新成功', $fixPlanHouseRelation['id'], $comboHouseRelation['id']));
             } else {
                 $this->logMsg(sprintf('房源[%d]的套餐关系存在id[%d],更新失败', $fixPlanHouseRelation['id'], $comboHouseRelation['id']));
             }
             continue;
         }
         $data = array('houseId' => $fixPlanHouseRelation['id'], 'brokerId' => $ajkBrokerId, 'cityId' => $cityId, 'state' => Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE, 'created' => $fixPlanHouseRelation['createTime']);
         if (1 == Model_Combo_HouseRelation::create($data, Model_Combo_HouseRelation::SITE_TYPE_JP)->save()) {
             $this->logMsg(sprintf('房源[%d]转移成功', $fixPlanHouseRelation['id']));
         } else {
             $this->logMsg(sprintf('房源[%d]转移失败', $fixPlanHouseRelation['id']));
         }
     }
 }
Ejemplo n.º 24
0
 public static function propCheck($houseId, $brokerId)
 {
     //获取房源信息
     $objModel = Model_House_JpHouseIdx::data_access();
     $objHouse = $objModel->find_by_pk($houseId, false);
     if (empty($objHouse)) {
         return array('flg' => false, 'data' => '房源为空');
     }
     $jpMemberId = Model_Broker_JpBroker::getJpBrokerInfoByAjkBrokerId($brokerId);
     if ($objHouse->memberId != $jpMemberId->id) {
         return array('flg' => false, 'data' => '没有权限操作房源');
     }
     if ($objHouse->isDelete == 1) {
         return array('flg' => false, 'data' => '删除房源无法操作');
     }
     $houseTypeClass = Model_House_JpHouseIdx::getHouseTypeModelClass($objHouse->houseType);
     $objHouseDetail = $houseTypeClass::getPropInfoByPk($houseId);
     if (empty($objHouseDetail)) {
         return array('flg' => false, 'data' => '房源不存在');
     }
     if ($objHouseDetail->isExpired) {
         return array('flg' => false, 'data' => '过期房源不能操作');
     }
     if ($objHouseDetail->isIllegal) {
         return array('flg' => false, 'data' => '违规房源不能操作');
     }
     return array('flg' => true, 'data' => '');
 }