public function handle_request_internal() { $request = APF::get_instance()->get_request(); $params = $request->get_parameters(); $city = $params['city']; $company = $params['company']; $storeName = $params['kw']; $storeName = sprintf('%%%s%%', $storeName); $area_id = $params['areaid']; $block_id = $params['block_id']; $type = $params['type']; if ($block_id == 0) { $areacode = 0; } else { // 根据type 获取areacode. $type = intval($type); $rst = DAO_Common_common::getCommTypeDetail($type); $areacode = @$rst['TYPECODE']; } $storeList = Model_Broker_AjkCstBrokerCompany::getStoreListByKeyword($company, $city, $storeName); $store = array(); $other = array('id' => 0, 'name' => '其他门店', 'AreaId' => 0, 'AreaName' => null, 'BlockId' => 0, 'BlockName' => null); array_push($store, $other); foreach ($storeList as $k => $v) { //$area = DAO_Common_common::getAreaInfo(substr($v['areaCode'], 0, 8)); //$block = DAO_Common_common::getAreaInfo($v['areaCode']); $block = Model_City_TypeCode::getAreaInfo($v['areaCode']); $area = Model_City_TypeCode::getAreaInfoByTypeIdEx($block['parentId']); $swap = array('id' => $v['comanyId'], 'name' => $v['comanyName'], 'AreaId' => $area['typeId'], 'AreaName' => $area['typeName'], 'BlockId' => $block['typeId'], 'BlockName' => $block['typeName']); array_push($store, $swap); } echo json_encode($store); }
public function handle_request_internal() { $cityId = $this->_params['cityId']; //$areaInfoBycityId = Model_City_TypeCode::getAreaInfoByCityId($cityId); $areaInfoBycityId = Bll_Commtype_Api::getAreaInfoByCityId($cityId); //$areaInfosByParentId = Model_City_TypeCode::getAreaInfoByParentId($areaInfoBycityId['typeId']); $areaInfosByParentId = Bll_Commtype_Api::getAreaInfoByParentId($areaInfoBycityId['typeId']); $return = array(); foreach ($areaInfosByParentId as $value) { //判断区域下面有没有板块,如果没有板块,则不现实该区域 $blockInfos = Model_City_TypeCode::getAreaInfoByParentId($value['typeId']); $blockCount = count($blockInfos); if ($blockCount > 0) { $return['districtList'][] = array('districtId' => $value['typeId'], 'districtName' => $value['typeName']); } } return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => $return); }
public function handle_request_internal() { //$a = Bll_Commtype_Api::getInstance()->search(1,200); // $a = Bll_Commtype_Api::getInfoByTypeIdOrCode(array(200,201),0,2); ///print_r($a);exit; $a = Bll_Commtype_Api::getAreaInfoByCityId(11); print_r($a); $tmp = Model_City_TypeCode::get_area_block(200); echo $tmp->typeName; phpinfo(); die; $hzbrokerId = 147468; $r = Bll_Hammer::send_gift($hzbrokerId); echo "<pre>"; var_dump($r); die; $ret = array('status' => 'ok', 'data' => array('num1' => 10000, 'num2' => 20000)); $this->output($ret); die; }
protected function getAreaCodeNames($areaCodes) { if (empty($areaCodes)) { return array(); } // 去重 $areaCodes = array_flip(array_flip($areaCodes)); // 获取区域的编码 foreach ($areaCodes as $areaCode) { if (strlen($areaCode) > 8) { $areaCodes[] = substr($areaCode, 0, 8); } } // 再次去重 $areaCodes = array_flip(array_flip($areaCodes)); $typeCodes = Model_City_TypeCode::data_access()->filter('typeCode', $areaCodes)->find_all(); $result = array(); foreach ($typeCodes as $typeCode) { $result[$typeCode->typeCode] = $typeCode->typeName; } return $result; }
/** * 获取城市的板块信息 * * @param string $areaCode * @return array */ public static function getAreaBlock($type_id) { $blockInfos = Model_City_TypeCode::get_area_block($type_id); $keyBlockInfos = array(); foreach ($blockInfos as $blockInfo) { $keyBlockInfos[$blockInfo['typeCode']] = $blockInfo['typeName']; } return $keyBlockInfos; }
/** * 获取房源 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_internal() { $request = APF::get_instance()->get_request(); $params = $request->get_parameters(); $channel = intval($params['channel']); if ($channel < 0 && $channel > 3) { $channel = 0; } $sid = $this->getSid($channel); if ($this->isBrokerLogin()) { $request->set_attribute("url", $params['url']); $request->set_attribute("sid", $sid); $request->set_attribute("loginok", "ok"); return "Broker_Loginok"; } if ($params["cityid"] && intval($params["cityid"]) > 10) { $defaultCityId = $params["cityid"]; } else { $defaultCityId = 11; } if ($params["selectcityid"]) { $defaultCityId = $params["selectcityid"]; } //得到可以选择主营业务的城市id列表 $mainBusinessAvailableCity = APF::get_instance()->get_config("main_business_available", "multicity"); if (isset($params['action'])) { $strAction = $params['action']; } if ($strAction == "register") { $preg = "/^(1|2)\\d{10}/"; if (!preg_match($preg, $params['mobile'])) { $this->regError['mobile'] = Const_Register::REGISTER_MOBILE_FORMAT; } $mobile = Bll_Security_Member::dhtmlspecialchars(trim($params['mobile'])); $checkMobileRes = Bll_Broker_Register::CheckMobile(array('mobile' => $mobile)); if ($checkMobileRes) { $this->regError['mobile'] = Const_Register::REGISTER_MOBILE_CHECK; } else { $checkUserMobile = Bll_Broker_Register::checkUserMobile(array('mobile' => $mobile)); if ($checkUserMobile) { $this->regError['mobile'] = Const_Register::REGISTER_USER_MOBILE_CHECK; } } if (preg_match("/['\"&<>\\s]/i", $params['password'])) { $this->regError['password'] = Const_Register::PROFILE_PASSWORD_ILLEGAL; } if (preg_match("/['\"&<>\\s]/i", $params['truename']) || $params['truename'] == "") { $this->regError['truename'] = Const_Register::PROFILE_PASSWORD_ILLEGAL; } $checkPwd = Bll_Security_Member::dhtmlspecialchars(trim($params['checkpwd'])); $password = Bll_Security_Member::dhtmlspecialchars(trim($params['password'])); $passwordLength = strlen($password); if ($passwordLength < 6 || $passwordLength > 16) { $this->regError['password'] = Const_Register::PROFILE_PASSWORD_LENGTH; } if ($checkPwd != $password) { $this->regError['passwd_notmatch'] = Const_Register::PROFILE_PASSWORD_NOT_MATCH; } $selectcityid = intval($params['selectcityid']); $companyId = intval($params['companyid']); $selectareaid = intval($params['selectareaid']); $selectblockid = intval($params['selectblockid']); if ($selectcityid < 11) { $this->regError['city'] = Const_Register::REGISTER_CITY_CHECK; } $openRegisterCity = APF::get_instance()->get_config("open_register_city", "multicity"); if (!empty($openRegisterCity) && empty($openRegisterCity[$selectcityid])) { $this->regError['city'] = Const_Register::REGISTER_CITY_CHECK_OPEN; } if ($companyId == 0) { $this->regError['company'] = Const_Register::REGISTER_COMPANY_CHECK; } if ($companyId < 1) { $companyId = 0; } if ($selectareaid <= 0 || $selectblockid <= 0) { $this->regError['city'] = Const_Register::REGISTER_BLOCK_CHECK; } if ($params['storeid'] == "") { $this->regError['store'] = Const_Register::REGISTER_STORE_CHECK; } if (empty($params['storeid'])) { $storeid = 0; } else { $storeid = $params['storeid']; } //验证主营业务数据是否合法 $params['mainbusiness'] = (int) $params['mainbusiness']; if (!isset($params['mainbusiness'])) { $this->regError['main_business'] = Const_Register::MAIN_BUSSINESS_EMPTY; } elseif ($params['mainbusiness'] < 1 || $params['mainbusiness'] > 2) { $this->regError['main_business'] = Const_Register::MAIN_BUSSINESS_INVALID; } elseif ($params['mainbusiness'] == 2) { //检查该城市是否有权限选择主营业务 $businessAccess = in_array($selectcityid, $mainBusinessAvailableCity); if ($businessAccess === false) { $request->set_attribute("url", $params['url']); $request->set_attribute("sid", $sid); $request->set_attribute("error", Const_Register::MAIN_BUSSINESS_ACCESS); $request->set_attribute("loginok", "ok"); return "Broker_Loginok"; } } $truename = Bll_Security_Member::dhtmlspecialchars(trim($params['truename'])); //验证cookie $regCookie = $request->get_cookie('anjukereg'); $verifyCode = Util_AuthorCrypt::decrypt($regCookie, md5($_SERVER['HTTP_USER_AGENT'])); if ($verifyCode != $params['code']) { $this->regError['seccodeverify'] = Const_Register::SUBMIT_SEC_CODE_INVALID; } if (count($this->regError) > 0) { $request->set_attribute("regerror", $this->regError); } else { $selectblockid = $selectblockid == 0 ? $selectareaid : $selectblockid; $getAreaInfo = Model_City_TypeCode::getAreaInfoByTypeId($selectblockid, $selectcityid); $areaCode = $getAreaInfo['typeCode']; if (!$areaCode) { $request->set_attribute("url", $params['url']); $request->set_attribute("sid", $sid); $request->set_attribute("error", "发现不恰当行为,区域板块不存在。"); $request->set_attribute("loginok", "ok"); return "Broker_Loginok"; } $clientIp = $request->get_client_ip(); $brd = intval(trim($params['brd'])); $ext = ""; if ($brd) { $ext = json_encode(array("brokerId" => $brd)); } $ppcConfig = APF::get_instance()->get_config("ppc_city_config", "ppc"); $postData = array("j_password" => $password, "trueName" => $truename, "cityId" => $selectcityid, "areaCode" => $areaCode, "companyId" => $companyId, "storeId" => $storeid, "userMobile" => $mobile, "channel" => $channel, "regip" => $clientIp, "ext" => $ext, 'clientPort' => intval($_SERVER['REMOTE_PORT']), "isPPC" => $ppcConfig[$selectcityid] ? "true" : "false", "mainBussiness" => $params['mainbusiness']); $registerRes = Bll_Broker_Register::register($postData); if ($registerRes && $registerRes['status'] == "ok") { //记录经纪人的主营业务类型 $mainBusinessDate = array('broker_id' => $registerRes['broker']['brokerId'], 'member_id' => $registerRes['broker']['userId'], 'type' => $params['mainbusiness']); $addMainBusiness = $this->store_main_business($mainBusinessDate); //存储经纪人主营业务失败 if ($addMainBusiness['status'] === false) { $request->set_attribute("url", $params['url']); $request->set_attribute("sid", $sid); $request->set_attribute("error", $addMainBusiness['mesg']); $request->set_attribute("loginok", "ok"); return "Broker_Loginok"; } $UserId = $registerRes['broker']['userId']; $this->success($UserId); } else { $request->set_attribute("url", $params['url']); $request->set_attribute("sid", $sid); $request->set_attribute("error", "服务器忙,请稍后再试。"); $request->set_attribute("loginok", "ok"); return "Broker_Loginok"; } } } $cfsByPinYin = $this->getAllCityInfo(); foreach ($cfsByPinYin as $key => $val) { foreach ($val as $k => $v) { if ($defaultCityId == $v['cityId']) { $defaultCityName = $v['cityName']; } } } $request->set_attribute("defaultcityid", $defaultCityId); $request->set_attribute("channel", $channel); $request->set_attribute("defaultcityname", $defaultCityName); $hotCity = APF::get_instance()->get_config("hot_city", "multicity"); $request->set_attribute("hotcity", $hotCity); $request->set_attribute("cfsbypinyin", $cfsByPinYin); //设置可以选择主营业务的城市id列表 $request->set_attribute("mainbusinessavailablecity", json_encode($mainBusinessAvailableCity)); //设置my domain $ajk_base_domain = APF::get_instance()->get_config('anjuke_base_domain'); $ajk_domain = 'http://my.' . $ajk_base_domain; $request->set_attribute("ajkdomain", $ajk_domain); if (!empty($params["selectcityid"]) && !empty($params["selectareaid"])) { $daoinfo = Model_City_TypeCode::getAreaInfoByCityId(intval($params['selectcityid'])); foreach ($daoinfo as $info) { if ($info["typeId"] == $params["selectareaid"]) { $params["areaname"] = $info["typeName"]; break; } } if (!empty($params["selectblockid"])) { $daoinfo = Model_City_TypeCode::getArrayAreaInfoByParentId(intval($params['selectareaid'])); foreach ($daoinfo as $info) { if ($info["typeId"] == $params["selectblockid"]) { $params["blockname"] = $info["typeName"]; break; } } } } $request->set_attribute("params", $params); return "Broker_Register"; }
/** * 拼接房源具体信息 * * @param $houseIdStr * @return array */ public function getProductDetail($houseIdStr) { $houseArray = array(); if (empty($houseIdStr)) { return $houseArray; } $houseIdArray = explode(',', $houseIdStr); $imgBll = Bll_Image_EsfHouseImage::getInstance(); foreach ($houseIdArray as $row) { $houseInfo = Model_House_EsfHouseElementFactory::getHouseBaseInfo($row); if (empty($houseInfo)) { continue; } $formatHouseInfo = array(); //房源标题 $formatHouseInfo['title'] = $houseInfo->proName; //板块名称 $block = Model_City_TypeCode::getTypeCodeNames(array($houseInfo->areaCode)); if (empty($block)) { $formatHouseInfo['block'] = ''; } else { $formatHouseInfo['block'] = $block[$houseInfo->areaCode]; } //小区名称 $formatHouseInfo['community'] = $houseInfo->commName; //户型 $formatHouseInfo['type'] = sprintf('%d室%d厅', $houseInfo->roomNum, $houseInfo->hallNum); //大小 $formatHouseInfo['area'] = sprintf('%d平米', intval($houseInfo->areaNum)); //价格 $formatHouseInfo['price'] = sprintf('%d万', intval($houseInfo->proPrice)); //房源图片 $formatHouseInfo['pic'] = $imgBll->getThumbImageUrl($houseInfo->proId, $houseInfo->commId); $houseArray[] = $formatHouseInfo; } return $houseArray; }
public static function getArrayAreaInfoByParentIdEx($parentId) { try { $result = Model_City_TypeCode::data_access()->load_field("typeId")->load_field("typeName")->filter('parentId', $parentId)->filter('typeFlag', 0)->get_all(); } catch (Exception $e) { $result = array(''); } return $result; }
public function handle_request_internal() { $propLists = array(); $hasNextPage = 0; $userId = $this->_params['userId']; $sinceId = isset($this->_params['sinceId']) ? intval($this->_params['sinceId']) : 0; $per = isset($this->_params['per']) ? $this->_params['per'] : 20; $propIds = Model_Broker_FykPushProps::data_access()->load_field('propId')->filter('userId', $userId)->sort('id', 'desc')->limit($per + 1)->offset($sinceId)->get_all(); if (!empty($propIds)) { $hasNextPage = count($propIds) > $per ? 1 : 0; if ($hasNextPage) { array_pop($propIds); $sinceId = $sinceId + $per; } else { $sinceId = 0; } $propIds = self::getArrayColumn($propIds, 'propId'); $props = Model_Fyk_PropLibrary::data_access()->filter('id', array_unique($propIds))->get_all(); //获取小区、板块名称 start $commNames = $typeNames = array(); $commIds = self::getArrayColumn($props, 'commId'); /*$commInfos = Model_Community_AjkCommunity::data_access() ->filter('commId', $commIds) ->get_all();*/ $commInfos = Bll_Community_APIComm::getInstance()->getInfoById($commIds); foreach ($commInfos as $info) { $commNames[$info['comm_id']] = $info['name']; } //———————————————————————————————————————————————— $districtIds = self::getArrayColumn($props, 'areaId'); $blockIds = self::getArrayColumn($props, 'blockId'); $typeIds = array_merge($districtIds, $blockIds); $typeInfos = Model_City_TypeCode::data_access()->load_field('typeId')->load_field('typeName')->filter('typeId', $typeIds)->get_all(); foreach ($typeInfos as $info) { $typeNames[$info['typeId']] = $info['typeName']; } //获取小区、板块名称 end foreach ($props as $prop) { //计算发布时间 $publishDate = strtotime(date('Y-m-d', $prop['createTime'])); $nowDate = strtotime(date('Y-m-d', time())); $publishDays = intval(($nowDate - $publishDate) / 86400); $propId = $prop['id']; $propList['fPropId'] = $propId; $propList['isOnly'] = $prop['isOnly']; $propList['isReal'] = $prop['isReal']; $propList['certificate'] = $prop['certificate']; $propList['commId'] = $prop['commId']; $propList['commName'] = $commNames[$prop['commId']]; $propList['districtId'] = $prop['areaId']; $propList['districtName'] = $typeNames[$prop['areaId']]; $propList['blockId'] = $prop['blockId']; $propList['blockName'] = $typeNames[$prop['blockId']]; $propList['roomNum'] = $prop['cell']; $propList['hallNum'] = $prop['hall']; $propList['toiletNum'] = $prop['toilet']; $propList['area'] = $prop['acreage']; $propList['areaUnit'] = '平'; $propList['price'] = intval($prop['totalPrices']); $propList['priceUnit'] = '万'; $propList['publishDays'] = $publishDays; $propList['publishDaysMsg'] = $propList['publishDays'] > 0 ? "{$propList['publishDays']}天前发布" : '今天发布'; $propLists[$propId] = $propList; } } $propListFormat = array(); foreach ($propIds as $id) { $propListFormat[] = $propLists[$id]; } unset($propLists); //更新为0 Model_Fyk_PushPropsLatestCount::data_access()->set_field('count', 0)->filter('userId', $userId)->update(); $data['props'] = $propListFormat; $data['sinceId'] = $sinceId; $data['hasNextPage'] = $hasNextPage; return API_Result::create()->ok()->data($data)->toArray(); }
public static function getAreaOrBlockName($typeId) { $tmp = Model_City_TypeCode::get_area_block($typeId); return $tmp->typeName; }