/** * 室均面积小于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); }
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'; }
/** * 获取页面的初始化信息 * * @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); }