public function handle_request_internal() { //check param $checkParamMessage = $this->checkParames($this->_params); if ($checkParamMessage !== true) { return $checkParamMessage; } //params $brokerId = $this->_params['brokerId']; $cityId = $this->_params['cityId']; //get anjuke data $data = $this->getAnjukeData($brokerId, $cityId); //get bid flg for city $choiceCityFlag = Bll_City::isChoiceCity($cityId); if ($data['data']['status'] === 'ok') { $output = array(); //竞价计划信息 $bidPlanNum = 0; if (!empty($data['data']['bidPlan'])) { $bidPlanNum = $data['data']['bidPlan'][0]['bidPlanNum']; if ($choiceCityFlag) { $bidPlanNum = 0; } } //定价计划信息 if (empty($data['data']['pricPlan'])) { $fixPlan = array(); } else { $fixPlan = array(); foreach ($data['data']['pricPlan'] as $info) { $status = 1; switch (trim($info['pricPlanStateDesc'])) { case '计划推广中': $status = 1; break; case '手动暂停': $status = 2; break; case '待推广': $status = 2; break; case '余额不足已结束': $status = 2; break; // case '余额不足暂停': // $status = 3; // break; // case '余额不足暂停': // $status = 3; // break; default: break; } $tmp = array('fixPlanId' => $info['pricPlanId'], 'fixPlanName' => $info['pricPlanName'], 'fixPlanPropNum' => $info['pricPlanPropNum'], 'fixPlanState' => $status, 'fixPlanStateDesc' => $info['pricPlanStateDesc']); $fixPlan[] = $tmp; } $a = function ($a, $b) { if ($a['fixPlanId'] == $b['fixPlanId']) { return 0; } return $a['fixPlanId'] < $b['fixPlanId'] ? -1 : 1; }; usort($fixPlan, $a); } $output['fixPlan'] = $fixPlan; //未推广房源列表 $props = Bll_BrokerInfoApp::get_outline_prop($brokerId, $cityId); $output['unRecommendPropNum'] = count($props); $output['bidPlan'] = array('bidPlanPropNum' => $bidPlanNum); $ret = array('status' => 'ok', 'data' => $output); } else { $ret = Util_MobileAPI::error(Const_APIStatus::RETURN_CODE_ERROR); } return $ret; }
public function handle_request_internal() { $brokerId = $this->_params['brokerId']; $cityId = $this->_params['cityId']; $props = Bll_BrokerInfoApp::get_outline_prop($brokerId, $cityId); $return = array(); $return['status'] = 'ok'; $return['data']['propertyList'] = array(); //APP套餐城市调错API了 需要做一下套餐城市的兼容处理 $isComboBroker = Bll_Broker_HzBroker::isComboBroker($brokerId); if (!$isComboBroker) { if (!empty($props)) { $propRow = array(); foreach ($props as $propertyList) { $propRow['propId'] = $propRow['id'] = $propertyList['ProId']; $propRow['title'] = $propertyList['ProName']; $propRow['commId'] = $propertyList['CommId']; $propRow['commName'] = $propertyList['CommName']; $propRow['roomNum'] = $propertyList['RoomNum']; $propRow['hallNum'] = $propertyList['HallNum']; $propRow['toiletNum'] = $propertyList['ToiletNum']; $propRow['area'] = round($propertyList['AreaNum']); $propRow['price'] = is_float($propertyList['ProPrice']) ? round($propertyList['ProPrice'], 1) : $propertyList['ProPrice']; $propRow['priceUnit'] = '万'; $propRow['isMoreImg'] = $propertyList['IsHighQulity']; $propRow['isVisible'] = $propertyList['IsVisible']; $propRow['isPhonePub'] = $propertyList['UriCode'] == 'mobile.asyn' || $propertyList['UriCode'] == 'mobile-ajk-broker.asyn' ? 1 : 0; $propRow['createTime'] = date('Y-m-d H:i:s', $propertyList['PostDate']); $imgBll = Bll_Image_EsfHouseImage::getInstance(); $propRow['imgUrl'] = $imgBll->getThumbImageUrl($propertyList['ProId'], $propertyList['commId']); //增加委托房源标签 if ($propertyList['CommitionType'] == 2) { $propRow['isEntrust'] = 1; } else { $propRow['isEntrust'] = 0; } $return['data']['propertyList'][] = $propRow; unset($propRow); } } return $return; } else { $brokerInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId); if (!$brokerInfo) { throw new Exception_BrokerNotFoundException('经纪人不存在', Const_APIStatus::E_BROKER_NOT_EXISTS); } //获取套餐推广信息 $cityId = $brokerInfo->cityId; $comboSpreadHouseList = Bll_Broker_Combo_ManageAjk::getComboSpreadHouseList($brokerId, $cityId); $comboSpreadHouseIds = array_keys($comboSpreadHouseList); //获取经纪人所有房源信息 $tempHouseInfoList = Bll_House_EsfHouse::getBrokerAllPropInfoList($brokerId, $cityId); if (empty($tempHouseInfoList)) { return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => array())); } //未推广房源列表 $tempNoSpreadHouseList = array(); $noSpreadHouseIds = array(); foreach ($tempHouseInfoList as $houseInfo) { if (!in_array($houseInfo['proId'], $comboSpreadHouseIds)) { $houseInfo['illegal'] = isset($houseInfo['isVisible']) ? $houseInfo['isVisible'] : 1; //0-违规房源 1-非违规房源 $tempNoSpreadHouseList[$houseInfo['proId']] = $houseInfo; $noSpreadHouseIds[] = $houseInfo['proId']; } } /** 过滤违规房源 */ $tmpIllegalList = array(); if (!$noSpreadHouseIds) { return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => array())); } foreach ($tempNoSpreadHouseList as $propId => $houseInfo) { if ($houseInfo['illegal'] == 0 && $houseInfo['expireWorker'] != 'propertyReport') { $tmpIllegalList[$propId] = $houseInfo; unset($tempNoSpreadHouseList[$propId]); } } //违规房源排在前面 $noSpreadHouseList = array_merge($tmpIllegalList, $tempNoSpreadHouseList); $propDefImages = Model_House_AjkPropertyData::getDafImages($noSpreadHouseIds); $propertyList = array(); foreach ($noSpreadHouseList as $houseInfo) { $row = array(); $row['propId'] = $houseInfo['proId']; $row['title'] = $houseInfo['proName']; $row['commId'] = $houseInfo['commId']; $row['commName'] = $houseInfo['commName']; $row['roomNum'] = $houseInfo['roomNum']; $row['hallNum'] = $houseInfo['hallNum']; $row['area'] = round($houseInfo['areaNum']); $row['toiletNum'] = $houseInfo['toiletNum']; $row['price'] = intval($houseInfo['proPrice']); $row['priceUnit'] = '万'; $row['isBid'] = 0; $row['isChoice'] = 0; $row['isMoreImg'] = $houseInfo['isHighQulity']; $row['isPhonePub'] = $houseInfo['uriCode'] == 'mobile.asyn' || $houseInfo['uriCode'] == 'mobile-ajk-broker.asyn' ? 1 : 0; $row['isVisible'] = $houseInfo['illegal']; //0-违规房源 1-非违规房源 $row['createTime'] = $houseInfo['postDate']; //房源发布时间 $row['imgUrl'] = $row['imgUrl'] = Model_House_AjkPropertyData::imageUrl($propDefImages[$houseInfo['proId']]); //print_r($houseInfo['commitionType']);exit; $row['isEntrust'] = $houseInfo['commitionType'] == 2 ? 1 : 0; $propertyList[] = $row; } //排序 usort($propertyList, function ($a, $b) { if ($a['createTime'] == $b['createTime']) { return 0; } return $a['createTime'] > $b['createTime'] ? -1 : 1; }); return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('propertyList' => $propertyList)); } }