Exemple #1
0
 /**
  * 室均面积小于20平米的别墅类房源,都为虚假房源
  *
  * @param array $houseInfo
  * @return boolean
  */
 public function check_two($houseInfo)
 {
     if (empty(static::$usetype_detail_all)) {
         $tmp_use_type_detail_all = Model_Community_UseType::getUseTypeDetailAll();
         foreach ($tmp_use_type_detail_all as $key => $list) {
             static::$usetype_detail_all[$list['typeId']] = $list;
         }
     }
     if ($houseInfo['areaNum'] / $houseInfo['roomNum'] < 20 && static::$usetype_detail_all[$houseInfo['useType']]['typeName'] == '别墅') {
         return false;
     }
     return true;
 }
 /**
  * 获取页面的初始化信息
  *
  * @param int $brokerId
  * @param int $cityId
  * @param int $commissionId
  * @param AJKRequest $request
  * @return array
  * @throws Exception
  */
 public static function preparePageParam($brokerId, $cityId, $commissionId, $request)
 {
     $commissionHouseInfo = static::getCommission($commissionId, $brokerId);
     if (empty($commissionHouseInfo)) {
         throw new Exception('获取委托房源信息失败', Const_PublishCode::COMMISSION_ERROR);
     }
     if ($commissionHouseInfo['brokerHouseId'] > 0) {
         throw new Exception('委托房源已经发布过【ID:' . $commissionHouseInfo['brokerHouseId'] . '】', Const_PublishCode::COMMISSION_ERROR_HOUSE_EXISTS);
     }
     $houseInfo = static::getCommissionHouseInfo($commissionHouseInfo['house']);
     $houseInfo['cityId'] = $cityId;
     /** 获取房源发布&编辑页面的示例URL */
     $pageParams = Bll_House_EsfPublish::getExampleURL($cityId);
     $pageParams['houseInfo'] = $houseInfo;
     $pageParams['commissionId'] = $commissionId;
     /** 是否需要显示备案信息 */
     $pageParams['houseRecordNumberConfig'] = Bll_House_EsfPublish::getHouseRecordNumberConfig($cityId);
     $pageParams['priceMentionUrl'] = Bll_House_EsfPublish::getPriceMentionUrl($cityId);
     $pageParams['publishHouseProtocolUrl'] = Bll_House_EsfPublish::getPublishHouseProtocolUrl($cityId);
     $pageParams['brokerId'] = $brokerId;
     $pageParams['cityId'] = $cityId;
     /** 装修情况 */
     $pageParams['fitmentList'] = Model_House_FitmentType::getFitment($cityId);
     /** 房屋类型 */
     $pageParams['useTypeList'] = Model_Community_UseType::getUseTypeByCityId($cityId);
     /** 房屋朝向 */
     $pageParams['orientateList'] = APF::get_instance()->get_config('house_orientate', 'house');
     /** 获取小区和房源公共标签 */
     $pageParams['privateTagList'] = Bll_House_EsfPublish::getPrivateTagList();
     /** 获取上传图片服务器 */
     $pageParams['uploadImgService'] = Bll_House_EsfPublish::getUploadImageServer();
     $pageParams['picData'] = array('UPDROOM' => array(), 'ALLMODEL' => array(), 'ALLCOMM' => array(), 'NEWUPDROOM' => Bll_House_EsfCommission::getCommissionImage($commissionHouseInfo['houseId']));
     /** 最低首付配置 */
     $miniPayDownConfig = Bll_House_EsfPublish::getMiniPayDownConfig($cityId);
     if (Bll_Broker_HzBroker::isPpcBroker($brokerId)) {
         $pageParams['canSpread'] = Bll_Broker_HzBroker::ajkPpcBrokerCanSpreadHouse($cityId, $brokerId);
         $pageParams['brokerActionTip'] = '推广房源已满,只能保存到未推广房源';
     }
     if (Bll_Broker_HzBroker::isComboBroker($brokerId)) {
         $checkCanSpreadResult = Bll_Combo_HouseRelation::housePublishComboCheck($brokerId, $cityId, Bll_Combo_HouseRelation::SITE_TYPE_AJK);
         $pageParams['canSpread'] = $checkCanSpreadResult['status'] == 1;
         $pageParams['brokerActionTip'] = $checkCanSpreadResult['msg'];
     }
     return array_merge($pageParams, $miniPayDownConfig);
 }
Exemple #3
0
 public function handle_request_internal()
 {
     if (!isset($this->_params['cityId'])) {
         return Util_MobileAPI::error(Const_APIStatus::E_PARAM_CITYID_MISS);
     }
     $api_url = 'conf/publishPropConf?cityId=' . $this->_params['cityId'];
     $result = Util_CallAPI::get_data_from_java_v3($api_url);
     unset($result['data']['houseType']['allValue']);
     $tempArr = Model_Community_UseType::getUseTypeByCityId($this->_params['cityId']);
     if (empty($tempArr)) {
         return Util_MobileAPI::error(Const_APIStatus::E_NOT_FOUND_STYLE);
     }
     $styleArr = array();
     foreach ($tempArr as $v) {
         if ($v['typeName'] != '其它') {
             $styleArr[] = array('index' => $v['typeId'], 'value' => $v['typeName']);
         }
     }
     $result['data']['houseType']['allValue'] = $styleArr;
     if ($result['data']['status'] !== 'ok') {
         return Util_MobileAPI::error(Bll_Prop::changeJavaAPICodeToSelfCode($result['data']['code']));
     }
     unset($result['data']['status']);
     $fitments = $result['data']['fitments']['allValue'];
     foreach ($fitments as $k => $v) {
         if (($v['value'] == '其它' || $v['value'] == '其他') && !in_array($this->_params['cityId'], array(11, 30, 31))) {
             unset($result['data']['fitments']['allValue'][$k]);
         }
     }
     // fixbug44041 - 解决
     $result['data']['fitments']['allValue'] = array_values($result['data']['fitments']['allValue']);
     $return = array();
     $return["status"] = "ok";
     $return['data'] = $result['data'];
     return $return;
 }
 /**
  * 获取页面的初始化信息
  *
  * @param int $brokerId
  * @param int $cityId
  * @param AJKRequest $request
  * @return array
  */
 public static function preparePageParam($brokerId, $cityId, $request)
 {
     /** 获取房源发布&编辑页面的示例URL */
     $pageParams = Bll_House_EsfPublish::getExampleURL($cityId);
     /** 是否需要显示备案信息 */
     $pageParams['houseRecordNumberConfig'] = static::getHouseRecordNumberConfig($cityId);
     $pageParams['priceMentionUrl'] = static::getPriceMentionUrl($cityId);
     $pageParams['publishHouseProtocolUrl'] = static::getPublishHouseProtocolUrl($cityId);
     $pageParams['brokerId'] = $brokerId;
     $pageParams['cityId'] = $cityId;
     /** 装修情况 */
     $pageParams['fitmentList'] = Model_House_FitmentType::getFitment($cityId);
     /** 房屋类型 */
     $pageParams['useTypeList'] = Model_Community_UseType::getUseTypeByCityId($cityId);
     /** 房屋朝向 */
     $pageParams['orientateList'] = APF::get_instance()->get_config('house_orientate', 'house');
     /** 经纪人已经发不过的小区 */
     $pageParams['publishedCommunityList'] = static::getPublishedCommunityList($brokerId);
     /** 获取小区和房源公共标签 */
     $pageParams['privateTagList'] = static::getPrivateTagList();
     /** 获取上传图片服务器 */
     $pageParams['uploadImgService'] = static::getUploadImageServer();
     $pageParams['picData'] = array('UPDROOM' => array(), 'ALLMODEL' => array(), 'ALLCOMM' => array());
     /** 最低首付配置 */
     $miniPayDownConfig = static::getMiniPayDownConfig($cityId);
     if (Bll_Broker_HzBroker::isPpcBroker($brokerId)) {
         $pageParams['canSpread'] = Bll_Broker_HzBroker::ajkPpcBrokerCanSpreadHouse($cityId, $brokerId);
         $pageParams['brokerActionTip'] = '推广房源已满,只能保存到未推广房源';
     }
     if (Bll_Broker_HzBroker::isComboBroker($brokerId)) {
         $checkCanSpreadResult = Bll_Combo_HouseRelation::housePublishComboCheck($brokerId, $cityId, Bll_Combo_HouseRelation::SITE_TYPE_AJK);
         $pageParams['canSpread'] = $checkCanSpreadResult['status'] == 1;
         $pageParams['brokerActionTip'] = $checkCanSpreadResult['msg'];
     }
     return array_merge($pageParams, $miniPayDownConfig);
 }
 /**
  * 获取房源 Solr 文档信息
  *
  * @param Model_Fyk_QueuePropToSolr $task
  *
  * @return array
  */
 protected function propDoc($task)
 {
     $propDoc = array();
     $prop = $task->prop();
     if (!$prop) {
         throw new Exception(sprintf('Task %d prop %d not found.', $task->id, $task->propId));
     }
     $propDoc['id'] = $prop->id;
     $propDoc['status'] = $prop->status;
     $propDoc['city_id'] = $prop->cityId;
     $propDoc['housing_type_id'] = $prop->housingType;
     $propDoc['housing_type_name'] = '';
     // TODO
     // TODO 待优化
     $housingType = Model_Community_UseType::data_access()->filter('typeId', $prop->housingType)->find_only();
     if ($housingType) {
         $propDoc['housing_type_name'] = $housingType['typeName'];
         // TODO
     }
     $propDoc['build_year'] = $prop->buildYear;
     $propDoc['is_only'] = $prop->isOnly;
     $propDoc['is_real'] = $prop->isReal;
     $propDoc['is_certificate'] = $prop->certificate;
     $propDoc['fitment_id'] = $prop->fitment;
     $propDoc['fitment_name'] = '';
     // TODO
     $fitmentType = Model_House_FitmentType::data_access()->filter('fitmentId', $prop->fitment)->find_only();
     if ($fitmentType) {
         $propDoc['fitment_name'] = $fitmentType->fitmentValue;
     }
     $propDoc['area_num'] = $prop->acreage;
     $propDoc['room_num'] = $prop->cell;
     $propDoc['hall_num'] = $prop->hall;
     $propDoc['toilet_num'] = $prop->toilet;
     $propDoc['floor'] = $prop->floor;
     $propDoc['floor_total'] = $prop->totalFloor;
     $propDoc['price'] = $prop->totalPrices * 10000;
     // 单位:元
     $propDoc['price_unit'] = $prop->acreage ? intval($prop->totalPrices * 10000 / $prop->acreage) : 0;
     $propDoc['comm_id'] = $prop->commId;
     $propDoc['comm_name'] = '';
     $propDoc['comm_location'] = '';
     // TODO 待优化
     $comm = Bll_Community_APIComm::getInstance()->getInfoById($prop->commId, 2);
     $commLat = $comm['geolocation']['soso'] ? $comm['geolocation']['soso']['lat'] : null;
     $commLng = $comm['geolocation']['soso'] ? $comm['geolocation']['soso']['lng'] : null;
     if ($comm) {
         $propDoc['comm_name'] = $comm['name'];
         $propDoc['comm_location'] = $commLat . ',' . $commLng;
     }
     $propDoc['block_id'] = $prop->blockId;
     $propDoc['block_name'] = '';
     $propDoc['district_id'] = $prop->areaId;
     $propDoc['district_name'] = '';
     // TODO 待优化
     $zones = Model_City_TypeCode::data_access()->filter('typeId', array($prop->blockId, $prop->areaId))->find_all();
     foreach ($zones as $zone) {
         if ($zone->typeId == $propDoc['block_id']) {
             $propDoc['block_name'] = $zone->typeName;
         }
         if ($zone->typeId == $propDoc['district_id']) {
             $propDoc['district_name'] = $zone->typeName;
         }
     }
     $propDoc['onsell_time'] = $prop->onsellTime;
     $propDoc['create_time'] = $prop->createTime;
     $propDoc['update_time'] = strtotime($prop->updateTime);
     return $propDoc;
 }
 public function handle_request_abs()
 {
     $action = $this->getParameter(static::ACTION);
     $this->setAttribute('show_searchbar', false);
     /** 小区可以纠错的信息 */
     $communityInfo = $this->getCommunityCorrectInfo($this->communityInfo);
     /**
      * 所有字段都锁定(除小区别名)的情况下,直接跳到下一步,第一步基础详情纠错不展示
      */
     if ($this->baseInfoIsLocked) {
         if ($this->isLockMap) {
             if ($this->communityImageCount <= 0) {
                 if (Bll_Community_CommunityGardener::setCheckGardener($this->communityId, static::$intBrokerID)) {
                     $this->setAttribute('isOk', 1);
                 } else {
                     $this->setAttribute('isOk', 2);
                 }
                 return 'Community_Gardener_PhotoCommitOk';
             }
             $this->redirect(Bll_Community_CommunityGardener::buildGardenerPhotoCommit($this->communityId, array(self::VERIFY => $this->verifyCode)));
         } else {
             $this->redirect(Bll_Community_CommunityGardener::buildGardenerCorrectMap($this->communityId, array(self::VERIFY => $this->verifyCode)));
         }
     }
     /** 获取 物业类型 */
     $typeList = Model_Community_UseType::getUseTypeByCityId($communityInfo['cityId']);
     /** 小区锁定字段信息 */
     $communityWikiLockInfo = Bll_Community_CommunityGardener::getCommunityWikiInfo($this->communityId);
     /** 经纪人未完成的记录 */
     $applyHistory = Bll_Community_CommunityGardener::getBrokerUnfinishedApply($this->communityId, static::$intBrokerID);
     if ($action == 'save') {
         //用于保存小区基本信息的纠错
         $a = $this->checkAndSaveCorrectData(static::$intBrokerID, $communityWikiLockInfo, $this->getParameters(), $typeList, $applyHistory['applyData']);
         // if ($a || !empty($applyHistory['applyData']) || $this->communityGardenerId == 0) {
         if ($a) {
             if ($this->isLockMap) {
                 if ($this->communityImageCount <= 0) {
                     if (Bll_Community_CommunityGardener::setCheckGardener($this->communityId, static::$intBrokerID)) {
                         $this->setAttribute('isOk', 1);
                     } else {
                         $this->setAttribute('isOk', 2);
                     }
                     return 'Community_Gardener_PhotoCommitOk';
                 }
                 $this->redirect(Bll_Community_CommunityGardener::buildGardenerPhotoCommit($this->communityId, array(self::VERIFY => $this->verifyCode)));
             } else {
                 $this->redirect(Bll_Community_CommunityGardener::buildGardenerCorrectMap($this->communityId, array(self::VERIFY => $this->verifyCode)));
             }
         } else {
             $this->redirect(Bll_Community_CommunityGardener::buildGardenerCorrectInfo($this->communityId, array(self::VERIFY => $this->verifyCode)));
         }
     }
     $hasCorrectInfo = false;
     if (!empty($applyHistory['applyData'])) {
         $applyData = json_decode($applyHistory['applyData'], true);
         unset($applyData['map'], $applyData['images']);
         $hasCorrectInfo = !empty($applyData);
     }
     $this->setAttribute('typeList', $typeList);
     $this->setAttribute('applyHistory', $applyHistory);
     $this->setAttribute('hasCorrectInfo', $hasCorrectInfo);
     $this->setAttribute('commInfo', $communityInfo);
     $this->setAttribute('infoLock', $communityWikiLockInfo);
     $this->setAttribute('brokerid', static::$intBrokerID);
     $this->setAttribute('existGardener', $this->communityGardenerId > 0);
     $this->setAttribute('fields', self::$fields);
     $this->setAttribute('facilities', self::$facilities);
     return 'Community_Gardener_CorrectInfo';
 }
Exemple #7
0
 /**
  * 获取页面的初始化信息
  *
  * @param int $brokerId
  * @param int $cityId
  * @param int $houseId
  * @param AJKRequest $request
  * @throws Exception
  * @return array
  */
 public static function preparePageParam($brokerId, $cityId, $houseId, $request)
 {
     /** 获取房源发布&编辑页面的示例URL */
     $pageParams = Bll_House_EsfPublish::getExampleURL($cityId);
     /** 是否需要显示备案信息 */
     $pageParams['houseRecordNumberConfig'] = Bll_House_EsfPublish::getHouseRecordNumberConfig($cityId);
     $pageParams['priceMentionUrl'] = Bll_House_EsfPublish::getPriceMentionUrl($cityId);
     $pageParams['publishHouseProtocolUrl'] = Bll_House_EsfPublish::getPublishHouseProtocolUrl($cityId);
     $pageParams['brokerId'] = $brokerId;
     $pageParams['cityId'] = $cityId;
     $pageParams['houseId'] = $houseId;
     /** 装修情况 */
     $pageParams['fitmentList'] = Model_House_FitmentType::getFitment($cityId);
     /** 房屋类型 */
     $pageParams['useTypeList'] = Model_Community_UseType::getUseTypeByCityId($cityId);
     /** 房屋朝向 */
     $pageParams['orientateList'] = APF::get_instance()->get_config('house_orientate', 'house');
     /** 获取小区和房源公共标签 */
     $pageParams['privateTagList'] = Bll_House_EsfPublish::getPrivateTagList();
     /** 获取上传图片服务器 */
     $pageParams['uploadImgService'] = Bll_House_EsfPublish::getUploadImageServer();
     $pageParams['picData'] = static::getHouseImageEx($brokerId, $houseId);
     /** 最低首付配置 */
     $miniPayDownConfig = Bll_House_EsfPublish::getMiniPayDownConfig($cityId);
     $houseInfo = Bll_House_EsfEdit::getHouseBaseInfo($houseId);
     $pageParams['houseInfo'] = $houseInfo;
     if ($houseInfo['commissionType'] == 2 || $houseInfo['commissionType'] == 3) {
         $commissionInfo = Bll_House_EsfCommission::getCommissionByBrokerHouseId($houseId, $brokerId);
         $commissionHouseInfo = Bll_House_EsfCommission::getCommissionHouseInfo($commissionInfo['house']);
         $pageParams['commissionHouseInfo'] = $commissionHouseInfo;
     }
     $selectTagList = Model_House_AjkPrivateTag::getHouseTagById($houseInfo['ProPrivateTag']);
     foreach ($pageParams['privateTagList']['commTag'] as &$commTag) {
         if (in_array($commTag['tagId'], $houseInfo['ProPrivateTag'])) {
             $commTag['enable'] = false;
         }
     }
     foreach ($pageParams['privateTagList']['houseTag'] as &$subType) {
         foreach ($subType as &$houseTag) {
             if (in_array($houseTag['tagId'], $houseInfo['ProPrivateTag'])) {
                 $houseTag['enable'] = false;
             }
         }
     }
     $pageParams['selectTagList'] = $selectTagList;
     $pageParams['canSpread'] = true;
     $pageParams['brokerActionTip'] = '推广房源已满,只能保存到未推广房源';
     $pageParams['houseIsSpreading'] = false;
     if (Bll_Broker_HzBroker::isPpcBroker($brokerId)) {
         $pageParams['houseIsSpreading'] = BLL_Plan_EsfPropFixedPlanRelation::isHouseOnline($cityId, $houseId);
         if (!$pageParams['houseIsSpreading']) {
             $pageParams['canSpread'] = Bll_Broker_HzBroker::ajkPpcBrokerCanSpreadHouse($cityId, $brokerId);
         } else {
             $pageParams['canSpread'] = false;
         }
     }
     if (Bll_Broker_HzBroker::isComboBroker($brokerId)) {
         $pageParams['houseIsSpreading'] = false;
         $houseRelation = Bll_Combo_HouseRelation::getOnlineRelationByHouseId($houseId, Bll_Combo_HouseRelation::SITE_TYPE_AJK);
         if (!empty($houseRelation)) {
             $pageParams['houseIsSpreading'] = true;
             $pageParams['canSpread'] = false;
         }
         if (!$pageParams['houseIsSpreading']) {
             $checkCanSpreadResult = Bll_Combo_HouseRelation::housePublishComboCheck($brokerId, $cityId, Bll_Combo_HouseRelation::SITE_TYPE_AJK);
             $pageParams['canSpread'] = $checkCanSpreadResult['status'] == 1;
             $pageParams['brokerActionTip'] = $checkCanSpreadResult['msg'];
         }
     }
     return array_merge($pageParams, $miniPayDownConfig);
 }