예제 #1
0
 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));
 }
예제 #2
0
 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');
     }
 }
예제 #3
0
 /**
  * 获取经纪人房源信息
  *
  * @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;
 }
예제 #4
0
 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));
     }
 }
예제 #5
0
 /**
  * 判断二手房经纪人是否可以发布房源
  *
  * @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;
 }
예제 #6
0
 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));
 }
예제 #7
0
 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));
 }
예제 #8
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;
 }