Ejemplo n.º 1
0
 public static function getBlock($houseType, $houseObj)
 {
     $blockArr = array();
     $houseType = (int) $houseType;
     if ($houseType == 1 || $houseType == 2) {
         $objBuilding = Model_House_JpBuilding::data_access()->find_by_pk($houseObj->buildingId, false);
         if (empty($objBuilding)) {
             $objBuilding = Model_House_JpProperty::data_access()->find_by_pk($houseObj->buildingId, false);
             if (empty($objBuilding)) {
                 return array();
             }
         }
         $blockArr['blockId'] = $objBuilding->blockId;
         $blockArr['districtId'] = $objBuilding->districtId;
     } else {
         $objProperty = Model_House_JpProperty::data_access()->find_by_pk($houseObj->propertyId);
         if ($objProperty->isRoad == 1) {
             $blockArr['blockId'] = $houseObj->blockId;
             $blockArr['districtId'] = $houseObj->districtId;
         } else {
             $blockArr['blockId'] = $objProperty->blockId;
             $blockArr['districtId'] = $objProperty->districtId;
         }
     }
     if (isset($blockArr['blockId']) && !empty($blockArr['blockId'])) {
         $blockInfo = Model_Jinpu_Block::data_access()->load_field('name')->filter('id', $blockArr['blockId'])->get_row();
         if (!empty($blockInfo)) {
             $blockArr['name'] = $blockInfo['name'];
         }
     }
     //判断和获取新板块
     $arrBlockConfigs = array('1' => 'clues_search_condition_office_rent_list_switch', '2' => 'clues_search_condition_office_sale_list_switch', '3' => 'clues_search_condition_shop_rent_list_switch', '4' => 'clues_search_condition_shop_sale_list_switch');
     $strBlockConfig = isset($arrBlockConfigs[$houseType]) ? $arrBlockConfigs[$houseType] : array();
     if (empty($strBlockConfig)) {
         return array();
     }
     $arrBlockConfig = APF::get_instance()->get_config($strBlockConfig, 'jpmulticity');
     $intCityId = $houseObj->cityId;
     $bolUseNewBlock = isset($arrBlockConfig[$intCityId]) ? $arrBlockConfig[$intCityId] : false;
     if ($bolUseNewBlock) {
         $arrHouseType = array('1' => 'office_rent', '2' => 'office_sale', '3' => 'shop_rent', '4' => 'shop_sale');
         $strHouseType = isset($arrHouseType[$houseType]) ? $arrHouseType[$houseType] : '';
         if (empty($strHouseType)) {
             return array();
         }
         if (in_array($houseType, array(1, 2))) {
             $DDistrictBusiness = Model_Jinpu_NewBusinessBlockMap::data_access()->filter(Model_Jinpu_NewBusinessBlockMap::OLD_BLOCK, $blockArr['blockId'])->find_only();
         } else {
             $DDistrictBusiness = Model_Jinpu_NewShopBusinessBlockMap::data_access()->filter(Model_Jinpu_NewShopBusinessBlockMap::OLD_BLOCK, $blockArr['blockId'])->find_only();
         }
         $blockArr['newBlockId'] = $DDistrictBusiness->new_business_cycle;
         try {
             $businessObj = Model_Jinpu_NewBusinessBlock::data_access()->filter(Model_Jinpu_NewBusinessBlock::IS_ACTIVED, 1)->filter(Model_Jinpu_NewBusinessBlock::ID, $DDistrictBusiness->new_business_cycle)->get_row();
             $blockArr['newName'] = $businessObj->name;
         } catch (Exception $e) {
         }
     }
     return $blockArr;
 }
Ejemplo n.º 2
0
 /**
  * @param $cityId
  * @param $q
  * @param $pb
  * @param int $limit
  * @param int $memberId
  * @return mixed
  */
 public static function getJpSearchProperty($cityId, $q, $pb, $memberId, $limit = 0)
 {
     $limit = $limit > 0 ? $limit : 10;
     $solr = '';
     if ($pb == 'building') {
         $solr = new Solr_SolrList('solrJpBuildingServer', true, false);
     } elseif ($pb == 'property') {
         $solr = new Solr_SolrList('solrJpPropertyServer', true, false);
     }
     $buildings = array();
     $solr->set_row($limit);
     $solr->set_q($q);
     $solr->set_fq('city_id:' . $cityId);
     if ($pb == 'property') {
         $solr->set_sort('is_spider asc,type asc');
     }
     $url = $solr->get_lucene_uri('', false, false);
     $json_data = $solr->get_result_from_lucene($url);
     $solrData = Solr_SolrList::get_properties($json_data);
     $solrIds = array();
     foreach ($solrData as $solr) {
         $solrIds[] = $solr['id'];
     }
     //var_dump($solrIds);die;
     if (!empty($solrIds)) {
         $temp = array();
         if ($pb == 'building') {
             $temp = Model_House_JpBuilding::data_access()->filter(Model_House_JpBuilding::ID, $solrIds)->filter(Model_House_JpBuilding::IS_ACTIVED, Model_House_JpBuilding::ENUM_IS_ACTIVED_YES)->limit($limit)->get_all();
         } elseif ($pb == 'property') {
             $temp = Model_House_JpProperty::data_access()->filter('id', $solrIds)->filter('isActived', Model_House_JpProperty::ENUM_IS_ACTIVED_YES)->sort('isSpider')->limit($limit)->get_all();
         }
         $cityIds = $districtIds = $blockIds = array();
         foreach ($temp as $tmp) {
             $cityIds[] = $tmp['cityId'];
             $districtIds[] = $tmp['districtId'];
             $blockIds[] = $tmp['blockId'];
         }
         $cityIds = array_unique($cityIds);
         $districtIds = array_unique($districtIds);
         $blockIds = array_unique($blockIds);
         $citys = $districts = $blocks = array();
         if ($cityIds) {
             $citysT = Model_Jinpu_City::data_access()->filter('id', $cityIds)->get_all();
             foreach ($citysT as $c) {
                 $citys[$c['id']] = $c['name'];
             }
         }
         if ($districts) {
             $districtsT = Model_Jinpu_District::data_access()->filter('id', $districtIds)->get_all();
             foreach ($districtsT as $d) {
                 $districts[$d['id']] = $d['name'];
             }
         }
         if ($blockIds) {
             $blocksT = Model_Jinpu_Block::data_access()->filter('id', $blockIds)->get_all();
             foreach ($blocksT as $d) {
                 $blocks[$d['id']] = $d['name'];
             }
         }
         foreach ($temp as $b) {
             $allLock = BLL_House_JpProperty::getBuildingLockById($b['id']);
             $buildings[] = array('id' => $b['id'], 'district_id' => $b['districtId'], 'block_id' => $b['blockId'], 'name' => $b['name'] . ($pb == 'property' ? '商铺' : ''), 'city' => empty($citys[$b['cityId']]) ? '' : $citys[$b['cityId']], 'district' => empty($districts[$b['districtId']]) ? '' : $districts[$b['districtId']], 'block' => empty($blocks[$b['blockId']]) ? '' : $blocks[$b['blockId']], 'business_cycle' => empty($b['businessCycle']) ? '' : $b['businessCycle'], 'address' => empty($b['address']) ? '' : $b['address'], 'manage_fee' => empty($b['manageFee']) ? '' : $b['manageFee'], 'property_company' => $b['propertyCompany'], 'has_uploaded_image' => BLL_House_JpProperty::hasLibrary($memberId, $b['id'], $pb), 'property_company_lock' => isset($allLock['property_company']) && $allLock['property_company'] || $b['isNew'] ? 1 : 0);
         }
     }
     return $buildings;
 }
Ejemplo n.º 3
0
 /**
  * @param $buildingId
  * @return array|mixed|null
  * @throws Exception
  */
 public static function getBuildingInfo($buildingId)
 {
     $DBuilding = (array) BLL_House_JpProperty::getProperty($buildingId);
     if (!$DBuilding) {
         return false;
     }
     $HBuilding = Model_House_JpBuilding::data_access()->filter(Model_House_JpBuilding::ID, $DBuilding['id'])->get_row();
     $DBuilding['manageFee'] = $HBuilding->manageFee;
     $cityInfo = Model_Jinpu_City::data_access()->filter(Model_Jinpu_City::ID, intval($DBuilding['cityId']))->get_row();
     $districtInfo = Model_Jinpu_District::data_access()->filter(Model_Jinpu_District::ID, intval($DBuilding['districtId']))->get_row();
     $blockInfo = Model_Jinpu_Block::data_access()->filter('id', intval($DBuilding['blockId']))->get_row();
     $DBuilding['cityName'] = $cityInfo['name'];
     $DBuilding['districtName'] = $districtInfo['name'];
     $DBuilding['cityName'] = $blockInfo['name'];
     return $DBuilding;
 }