Пример #1
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;
 }