public function handle_request_internal() { header("Access-Control-Allow-Origin: *"); $brokerId = $this->_params['brokerId']; $brokerInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId); if (!$brokerInfo) { throw new Exception_BrokerNotFoundException('经纪人不存在', Const_APIStatus::E_BROKER_NOT_EXISTS); } //经纪人所有二手房房源 $tempHouseInfoList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $brokerInfo->cityId); //过滤违规房源 $commIds = array(); foreach ($tempHouseInfoList as $key => $houseInfo) { $illegal = isset($houseInfo['isVisible']) ? $houseInfo['isVisible'] : 1; if ($illegal == 0 && $houseInfo['ExpireWorker'] != 'propertyReport') { unset($tempHouseInfoList[$key]); continue; } $commIds[] = $houseInfo['commId']; } $commInfos = Bll_Community_APIComm::getInstance()->getInfoByIdMapping($commIds); $commlist = array(); foreach ($commInfos as $commInfo) { $row = array(); $row['commId'] = $commInfo['commId']; $row['commName'] = $commInfo['commName']; $row['commAddress'] = $commInfo['commLocal']; $commlist[] = $row; } return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('commlist' => $commlist)); }
public function handle_request() { $dealCityList = $this->getOption('city', array()); if (!is_array($dealCityList)) { $dealCityList = explode(',', $dealCityList); } if (empty($dealCityList)) { $this->logMsg('请传需要处理城市ID'); file_put_contents($this->_doneFile, 'YES'); return; } file_put_contents($this->_doneFile, 'NO'); $brokerList = $this->getBrokerList($dealCityList, $this->_startId); if (empty($brokerList)) { $this->logMsg(sprintf('startId: %d 没有获取到经纪人。', $this->_startId)); file_put_contents($this->_doneFile, 'YES'); return; } foreach ($brokerList as $broker) { $brokerId = $broker['brokerId']; $cityId = $broker['cityId']; $this->logMsg(sprintf('开始处理城市 %d 经纪人 %d', $cityId, $brokerId)); $houseList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $cityId); $houseIds = array(); foreach ($houseList as $house) { $houseIds[] = $house['proId']; } $this->logMsg(sprintf('经纪人 %d 共有 %d 套房源[%s]', $brokerId, count($houseIds), implode(',', $houseIds))); $spreadHouseList = Bll_Combo_HouseRelation::getOnlineHouseList($brokerId, $cityId, Bll_Combo_HouseRelation::SITE_TYPE_AJK); $spreadHouseIds = array(); foreach ($spreadHouseList as $spreadHouse) { $spreadHouseIds[] = $spreadHouse['houseId']; } $this->logMsg(sprintf('经纪人 %d 共有推广 %d 套房源[%s]', $brokerId, count($spreadHouseIds), implode(',', $spreadHouseIds))); $houseIds = array_diff($houseIds, $spreadHouseIds); $this->logMsg(sprintf('经纪人 %d 需要下掉 %d 套房源[%s]', $brokerId, count($houseIds), implode(',', $houseIds))); foreach ($houseIds as $houseId) { /** 通知用户端下架房源 */ $apiResponse = Bll_Combo_NoticeSolrUpDown::noticeComboSolrAjkAPI($cityId, $brokerId, $houseId, Bll_Combo_NoticeSolrUpDown::SOLR_ACTION_DOWN); if ($apiResponse['status'] == 'ok') { $this->logMsg(sprintf('房源[%d] 通知下架成功', $houseId)); } else { $this->logMsg(sprintf('房源[%d] 通知下架失败, apiResponse:%s', $houseId, json_encode($apiResponse))); } } $this->setCursor($brokerId); } if (count($brokerList) < self::BROKER_LIMIT) { $this->logMsg(sprintf('startId: %d 经纪人已经处理完成', $this->_startId)); file_put_contents($this->_doneFile, 'YES'); } }
/** * 获取经纪人房源信息 * * @param int $brokerId * @param int $cityId * @param array $fixPlanHouseIds * @param array $bidPlanHouseIds * @param bool $isChoiceCity * @param string|int $search * @return array */ public static function getBrokerAllPropInfoList($brokerId, $cityId, $fixPlanHouseIds, $bidPlanHouseIds, $isChoiceCity, $search) { $tempHouseInfoList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $cityId); if (empty($tempHouseInfoList)) { return array(); } $houseInfoList = array('houseIdList' => array(), 'houseCount' => count($tempHouseInfoList), 'bidSpreadHouseList' => array(), 'fixSpreadHouseList' => array(), 'noSpreadHouseList' => array(), 'communityList' => array()); $search = trim($search); /** 过滤搜索 */ if (!empty($search)) { $searchByHouseId = is_numeric($search); foreach ($tempHouseInfoList as $index => $houseInfo) { $communityName = trim($houseInfo['commName']); if (!isset($houseInfoList['communityList'][$houseInfo['commId']])) { $houseInfoList['communityList'][$houseInfo['commId']] = $communityName; } if ($searchByHouseId && $search != $houseInfo['proId']) { unset($tempHouseInfoList[$index]); } elseif (!$searchByHouseId && $communityName != $search) { unset($tempHouseInfoList[$index]); } } $tempHouseInfoList = array_values($tempHouseInfoList); } $houseInfoList['houseCount'] = count($tempHouseInfoList); $tempNoSpreadHouseList = array(); if (!is_array($fixPlanHouseIds)) { $fixPlanHouseIds = array(); } if (!is_array($bidPlanHouseIds)) { $bidPlanHouseIds = array(); } $houseAdShowList = Bll_House_AdPropShowSale::getBrokerAdShowHouseList($brokerId, $cityId); $currentTimestamp = strtotime(date('Y-m-d 00:00:00')); foreach ($tempHouseInfoList as $houseInfo) { $houseInfoList['houseIdList'][] = $houseInfo['proId']; $housePostTime = strtotime(date('Y-m-d 00:00:00', $houseInfo['postDate'])); $houseInfo['expiredDay'] = max(0, 90 - floor(($currentTimestamp - $housePostTime) / 86400)); $houseInfo['illegal'] = isset($houseInfo['isVisible']) ? $houseInfo['isVisible'] : 1; $houseInfo['mobile'] = $houseInfo['uriCode'] == 'mobile.asyn' || $houseInfo['uriCode'] == 'mobile-ajk-broker.asyn' ? 1 : 0; $houseInfo['viewURL'] = Util_Url::ajkHouseDetailUrl($houseInfo['proId'], $cityId); $houseInfo['editURL'] = Bll_Ppc_LinkManager::getSaleEditUrl($houseInfo['proId']); $houseInfo['detailURL'] = static::getHouseDetailPageURL($houseInfo['proId']); // $houseAdShow = Model_House_AdPropShowSale::getHouseAdSale($brokerId, $houseInfo['proId']); $houseInfo['AdShow'] = isset($houseAdShowList[$houseInfo['proId']]); if (!isset($houseInfoList['communityList'][$houseInfo['commId']])) { $houseInfoList['communityList'][$houseInfo['commId']] = trim($houseInfo['commName']); } $totalMoney = intval($houseInfo['proPrice'] * 10000); $fixSpreadPrice = Bll_House_EsfPriceInterval::getPriceInterval($cityId, $totalMoney, 0, 0); if (empty($fixSpreadPrice)) { $houseInfo['staticPrice'] = 0; } else { $houseInfo['staticPrice'] = $fixSpreadPrice['price']; } if (in_array($houseInfo['proId'], $bidPlanHouseIds)) { $houseInfo['redoBucketUrl'] = static::getPpcSpreadSetUrl($houseInfo['proId'], 3, 0); $houseInfo['addBucketUrl'] = static::getPpcSpreadSetUrl($houseInfo['proId'], 2, 2); $houseInfo['changePriceUrl'] = static::getPpcSpreadSetUrl($houseInfo['proId'], 2, 1); $houseInfoList['bidSpreadHouseList'][$houseInfo['proId']] = $houseInfo; } if (in_array($houseInfo['proId'], $fixPlanHouseIds)) { if ($isChoiceCity) { $houseInfo['bidUrl'] = "/ajkbroker/user/choice/set/ajk/" . $houseInfo['proId'] . '/'; } $houseInfoList['fixSpreadHouseList'][$houseInfo['proId']] = $houseInfo; continue; } $tempNoSpreadHouseList[$houseInfo['proId']] = $houseInfo; } /** 过滤违规房源 */ $tmpIllegalList = array(); foreach ($tempNoSpreadHouseList as $propId => $houseInfo) { if ($houseInfo['illegal'] == 0 && $houseInfo['ExpireWorker'] != 'propertyReport') { $tmpIllegalList[$propId] = $houseInfo; unset($tempNoSpreadHouseList[$propId]); } } $houseInfoList['noSpreadHouseList'] = array_merge($tmpIllegalList, array_reverse($tempNoSpreadHouseList)); return $houseInfoList; }
public function handle_request_internal() { $brokerId = $this->_params['brokerId']; $cityId = $this->_params['cityId']; $props = Bll_BrokerInfoApp::get_outline_prop($brokerId, $cityId); $return = array(); $return['status'] = 'ok'; $return['data']['propertyList'] = array(); //APP套餐城市调错API了 需要做一下套餐城市的兼容处理 $isComboBroker = Bll_Broker_HzBroker::isComboBroker($brokerId); if (!$isComboBroker) { if (!empty($props)) { $propRow = array(); foreach ($props as $propertyList) { $propRow['propId'] = $propRow['id'] = $propertyList['ProId']; $propRow['title'] = $propertyList['ProName']; $propRow['commId'] = $propertyList['CommId']; $propRow['commName'] = $propertyList['CommName']; $propRow['roomNum'] = $propertyList['RoomNum']; $propRow['hallNum'] = $propertyList['HallNum']; $propRow['toiletNum'] = $propertyList['ToiletNum']; $propRow['area'] = round($propertyList['AreaNum']); $propRow['price'] = is_float($propertyList['ProPrice']) ? round($propertyList['ProPrice'], 1) : $propertyList['ProPrice']; $propRow['priceUnit'] = '万'; $propRow['isMoreImg'] = $propertyList['IsHighQulity']; $propRow['isVisible'] = $propertyList['IsVisible']; $propRow['isPhonePub'] = $propertyList['UriCode'] == 'mobile.asyn' || $propertyList['UriCode'] == 'mobile-ajk-broker.asyn' ? 1 : 0; $propRow['createTime'] = date('Y-m-d H:i:s', $propertyList['PostDate']); $imgBll = Bll_Image_EsfHouseImage::getInstance(); $propRow['imgUrl'] = $imgBll->getThumbImageUrl($propertyList['ProId'], $propertyList['commId']); //增加委托房源标签 if ($propertyList['CommitionType'] == 2) { $propRow['isEntrust'] = 1; } else { $propRow['isEntrust'] = 0; } $return['data']['propertyList'][] = $propRow; unset($propRow); } } return $return; } else { $brokerInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId); if (!$brokerInfo) { throw new Exception_BrokerNotFoundException('经纪人不存在', Const_APIStatus::E_BROKER_NOT_EXISTS); } //获取套餐推广信息 $cityId = $brokerInfo->cityId; $comboSpreadHouseList = Bll_Broker_Combo_ManageAjk::getComboSpreadHouseList($brokerId, $cityId); $comboSpreadHouseIds = array_keys($comboSpreadHouseList); //获取经纪人所有房源信息 $tempHouseInfoList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $cityId); if (empty($tempHouseInfoList)) { return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => array())); } //未推广房源列表 $tempNoSpreadHouseList = array(); $noSpreadHouseIds = array(); foreach ($tempHouseInfoList as $houseInfo) { if (!in_array($houseInfo['proId'], $comboSpreadHouseIds)) { $houseInfo['illegal'] = isset($houseInfo['isVisible']) ? $houseInfo['isVisible'] : 1; //0-违规房源 1-非违规房源 $tempNoSpreadHouseList[$houseInfo['proId']] = $houseInfo; $noSpreadHouseIds[] = $houseInfo['proId']; } } /** 过滤违规房源 */ $tmpIllegalList = array(); if (!$noSpreadHouseIds) { return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => array())); } foreach ($tempNoSpreadHouseList as $propId => $houseInfo) { if ($houseInfo['illegal'] == 0 && $houseInfo['expireWorker'] != 'propertyReport') { $tmpIllegalList[$propId] = $houseInfo; unset($tempNoSpreadHouseList[$propId]); } } //违规房源排在前面 $noSpreadHouseList = array_merge($tmpIllegalList, $tempNoSpreadHouseList); $propDefImages = Model_House_AjkPropertyData::getDafImages($noSpreadHouseIds); $propertyList = array(); foreach ($noSpreadHouseList as $houseInfo) { $row = array(); $row['propId'] = $houseInfo['proId']; $row['title'] = $houseInfo['proName']; $row['commId'] = $houseInfo['commId']; $row['commName'] = $houseInfo['commName']; $row['roomNum'] = $houseInfo['roomNum']; $row['hallNum'] = $houseInfo['hallNum']; $row['area'] = round($houseInfo['areaNum']); $row['toiletNum'] = $houseInfo['toiletNum']; $row['price'] = intval($houseInfo['proPrice']); $row['priceUnit'] = '万'; $row['isBid'] = 0; $row['isChoice'] = 0; $row['isMoreImg'] = $houseInfo['isHighQulity']; $row['isPhonePub'] = $houseInfo['uriCode'] == 'mobile.asyn' || $houseInfo['uriCode'] == 'mobile-ajk-broker.asyn' ? 1 : 0; $row['isVisible'] = $houseInfo['illegal']; //0-违规房源 1-非违规房源 $row['createTime'] = $houseInfo['postDate']; //房源发布时间 $row['imgUrl'] = $row['imgUrl'] = Model_House_AjkPropertyData::imageUrl($propDefImages[$houseInfo['proId']]); //print_r($houseInfo['commitionType']);exit; $row['isEntrust'] = $houseInfo['commitionType'] == 2 ? 1 : 0; $propertyList[] = $row; } //排序 usort($propertyList, function ($a, $b) { if ($a['createTime'] == $b['createTime']) { return 0; } return $a['createTime'] > $b['createTime'] ? -1 : 1; }); return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => $propertyList)); } }
/** * 判断二手房经纪人是否可以发布房源 * * @param int $cityId * @param int $brokerId * @throws Exception * @return bool */ public static function checkEsfBrokerCanPublishHouse($cityId, $brokerId) { $houseList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $cityId, array('proId', 'operateState')); /** 获取发放数限制 */ // $brokerLimitInfo = Bll_Broker_BrokerLimit::getPpcBrokerLimitInfo($brokerId, Bll_Broker_BrokerLimit::PPC_BROKER_LIMIT_ESF_SITE); // if (!$brokerLimitInfo || !isset($brokerLimitInfo['publishLimit'])) { // throw new Exception('系统繁忙'); // } // $publishLimit = intval($brokerLimitInfo['publishLimit']); /** 获取发放数限制 */ $proLimitInfo = Bll_Onoff_Prop::getPropLimit($cityId, "ajk"); if (!$proLimitInfo['status'] || !isset($proLimitInfo['data']['publishLimit'])) { throw new Exception('系统繁忙'); } $publishLimit = intval($proLimitInfo['data']['publishLimit']); return count($houseList) < $publishLimit; }
public function handle_request_internal() { if (Bll_Weshop::weshopPropsIsMaintain()) { return array('status' => 'error', 'message' => "系统维护中,请稍后再试!"); } header("Access-Control-Allow-Origin: *"); $brokerId = $this->_params['brokerId']; $commId = $this->_params['commId']; $brokerInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId); if (!$brokerInfo) { throw new Exception_BrokerNotFoundException('经纪人不存在', Const_APIStatus::E_BROKER_NOT_EXISTS); } //查找经纪人所有房源 过滤所有违规房源 if ($commId) { $tempHouseInfoList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $brokerInfo->cityId, array(), $commId); } else { $tempHouseInfoList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $brokerInfo->cityId); } //获取经纪人已经导入的二手房房源id $EsPropIdWeshopPropIdTmp = Model_Weshop_PropsFilter::getPropIdAndWeshopPropIdByBroker($brokerId); //获取微店中已有房源的propid /* $weshopProps = Model_Weshop_Props::getWeshopPropsByBrokerId($brokerId); $weshopPropIds = array(); if(!empty($weshopProps)) { foreach($weshopProps as $key => $value) { $weshopPropIds[]=$value->id; } $EsPropIdTmp = Model_Weshop_PropsFilter::getPropIdByWeshopPropId($weshopPropIds); } */ $EsPropIdWeshopPropId = array(); $EsPropId = array(); if (!empty($EsPropIdWeshopPropIdTmp)) { foreach ($EsPropIdWeshopPropIdTmp as $k => $v) { if (!in_array($v['propId'], $EsPropId)) { $EsPropId[] = $v['propId']; $EsPropIdWeshopPropId[$v['propId']] = array(); } array_push($EsPropIdWeshopPropId[$v['propId']], $v['weshopPropId']); } } //过滤违规房源和重复房源 $areaAndBlockIds = array(); $propIds = array(); foreach ($tempHouseInfoList as $key => $houseInfo) { $illegal = isset($houseInfo['isVisible']) ? $houseInfo['isVisible'] : 1; if ($illegal == 0 && $houseInfo['ExpireWorker'] != 'propertyReport') { unset($tempHouseInfoList[$key]); continue; } //过滤重复房源 if (in_array($houseInfo['proId'], $EsPropId)) { $data = Model_Weshop_Props::getWeshopProp($EsPropIdWeshopPropId[$houseInfo['proId']]); if (!empty($data)) { unset($tempHouseInfoList[$key]); continue; } } $areaAndBlockIds[] = substr($houseInfo['areaCode'], 0, 8); $areaAndBlockIds[] = $houseInfo['areaCode']; $propIds[] = $houseInfo['proId']; } //批量获取区域板块信息 $commTypeInfos = Bll_Community_CommunityGardener::getCommTypeInfo($areaAndBlockIds); //批量获取默认图片 $propDefImages = Model_House_AjkPropertyData::getDafImages($propIds); //批量获取房源描述信息 ajk_propertysale $houseExtInfo = Model_House_PropertySale::getPropertySaleInfos($propIds); $propList = array(); foreach ($tempHouseInfoList as $house) { $row = array(); $row['propId'] = $house['proId']; $row['title'] = $house['proName']; $row['commId'] = $house['commId']; $row['commName'] = $house['commName']; $areaId = substr($house['areaCode'], 0, 8); $blockId = $house['areaCode']; $row['areaName'] = $commTypeInfos[$areaId]; $row['blockName'] = $commTypeInfos[$blockId]; $row['room'] = $house['roomNum']; $row['hall'] = $house['hallNum']; $row['toilet'] = $house['toiletNum']; $row['area'] = round($house['areaNum']); $row['areaUnit'] = '平米'; $row['price'] = intval($house['proPrice']); $row['priceUnit'] = '万'; //房源描述 $propDescription = $houseExtInfo[$row['propId']]['addExplan']; $propDescription = str_replace('<p>', "", $propDescription); $propDescription = str_replace('</p>', "", $propDescription); $propDescription = trim($propDescription); $row['propDescription'] = $propDescription; $row['imageUrl'] = Model_House_AjkPropertyData::imageUrl($propDefImages[$house['proId']]); $row['previewUrl'] = Bll_Weshop::getPropPreviewUrl(array('brokerId' => $brokerId, 'propId' => $row['propId'])); $propList[] = $row; } return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propList' => $propList)); }
public function handle_request_internal() { $brokerId = $this->_params['brokerId']; $brokerInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId); if (!$brokerInfo) { throw new Exception_BrokerNotFoundException('经纪人不存在', Const_APIStatus::E_BROKER_NOT_EXISTS); } if (!Bll_Broker_HzBroker::isComboBroker($brokerId)) { throw new Exception_ISNotComboBrokerException('不是套餐经纪人。'); } //获取套餐推广信息 $cityId = $brokerInfo->cityId; $comboSpreadHouseList = Bll_Broker_Combo_ManageAjk::getComboSpreadHouseList($brokerId, $cityId); $comboSpreadHouseIds = array_keys($comboSpreadHouseList); //获取精选推广信息 $bll = new BLL_Choice_EsfAPPAPIChoice(); $choiceHouseList = $bll->getBrokerPropChoiceInfo($brokerId); $choiceHouseIds = array(); foreach ($choiceHouseList as $list) { foreach ($list as $v) { $choiceHouseIds[] = $v['propId']; } } //获取经纪人所有房源信息 $tempHouseInfoList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $cityId); if (empty($tempHouseInfoList)) { return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => array())); } //未推广房源列表 $tempNoSpreadHouseList = array(); $noSpreadHouseIds = array(); foreach ($tempHouseInfoList as $houseInfo) { if (!in_array($houseInfo['proId'], $comboSpreadHouseIds) && !in_array($houseInfo['proId'], $choiceHouseIds)) { $houseInfo['illegal'] = isset($houseInfo['isVisible']) ? $houseInfo['isVisible'] : 1; //0-违规房源 1-非违规房源 $tempNoSpreadHouseList[$houseInfo['proId']] = $houseInfo; $noSpreadHouseIds[] = $houseInfo['proId']; } } // 获取城市价格段信息 $priceSegmentList = Model_House_EsfPrice::getAllPriceInterval($cityId, Model_House_EsfPrice::TRADE_TYPE_SALE); /** 过滤违规房源 */ $tmpIllegalList = array(); if (!$noSpreadHouseIds) { return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => array())); } foreach ($tempNoSpreadHouseList as $propId => $houseInfo) { if ($houseInfo['illegal'] == 0 && $houseInfo['expireWorker'] != 'propertyReport') { $tmpIllegalList[$propId] = $houseInfo; unset($tempNoSpreadHouseList[$propId]); } } //是否是精选城市,是否精选分离 $cityIsChoice = Bll_City::isChoiceCity($cityId, Const_Site::ANJUKE); $cityIsChoiceIndependent = Bll_City::isChoiceIndependentCity($cityId, Const_Site::ANJUKE); //违规房源排在前面 $noSpreadHouseList = array_merge($tmpIllegalList, $tempNoSpreadHouseList); $propDefImages = Model_House_AjkPropertyData::getDafImages($noSpreadHouseIds); $propertyList = array(); foreach ($noSpreadHouseList as $houseInfo) { $row = array(); $row['propId'] = $houseInfo['proId']; $row['title'] = $houseInfo['proName']; $row['commId'] = $houseInfo['commId']; $row['commName'] = $houseInfo['commName']; $row['roomNum'] = $houseInfo['roomNum']; $row['hallNum'] = $houseInfo['hallNum']; $row['area'] = round($houseInfo['areaNum']); $row['toiletNum'] = $houseInfo['toiletNum']; $row['price'] = intval($houseInfo['proPrice']); $row['priceUnit'] = '万'; $row['isBid'] = 0; $row['isChoice'] = 0; $row['isMoreImg'] = $houseInfo['isHighQulity']; $row['isPhonePub'] = $houseInfo['uriCode'] == 'mobile.asyn' || $houseInfo['uriCode'] == 'mobile-ajk-broker.asyn' ? 1 : 0; $row['isVisible'] = $houseInfo['illegal']; //0-违规房源 1-非违规房源 $row['createTime'] = $houseInfo['postDate']; //房源发布时间 $row['imgUrl'] = $row['imgUrl'] = Model_House_AjkPropertyData::imageUrl($propDefImages[$houseInfo['proId']]); if ($houseInfo['commitionType'] == 2) { $row['isEntrust'] = 1; } else { $row['isEntrust'] = 0; } //精选状态: 可精选;可排队;精选中;排队中 $choiceStatusRecommend = Bll_House_EsfHouse::getEsfChoiceStatusAndRecommend($priceSegmentList, array(), $houseInfo, $cityIsChoice, $cityIsChoiceIndependent); $row['choiceStatus'] = $choiceStatusRecommend['choiceStatus']; $row['choiceStatusName'] = $choiceStatusRecommend['choiceStatusName']; $row['choiceRecommend'] = $choiceStatusRecommend['choiceRecommend']; $propertyList[] = $row; } //排序 usort($propertyList, function ($a, $b) { if ($a['createTime'] == $b['createTime']) { return 0; } return $a['createTime'] > $b['createTime'] ? -1 : 1; }); return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => $propertyList)); }
/** * * 获取经纪人的违规房源数 * * @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; }