private function isExtension($commission, $isOnLine, $house) { //已发布 if (!empty($commission['brokerHouseId'])) { $propertysInfo = Model_House_EsfHouseElementFactory::getHouseBaseInfo($commission['brokerHouseId']); //已过期-已发布90天 $diff = time() - $propertysInfo['postDate']; $pDay = floor($diff / 86400); if (empty($propertysInfo)) { $isExtension = 5; $isExtensionInfo = '待发布'; return array($isExtension, $isExtensionInfo); } if ($pDay > Const_APIStatus::PUBLISHED_OVERDUE) { $isExtension = 2; $isExtensionInfo = '已过期'; return array($isExtension, $isExtensionInfo); } //已发布未推广 if (empty($isOnLine[$commission['brokerHouseId']]) || $isOnLine[$commission['brokerHouseId']] == false) { $isExtension = 6; $isExtensionInfo = '待推广'; return array($isExtension, $isExtensionInfo); } //违规 if ($propertysInfo['operateState'] != 1 || $propertysInfo['isVisible'] == 0) { $isExtension = 5; $isExtensionInfo = '待发布'; return array($isExtension, $isExtensionInfo); } //已发布已推广 $isExtension = 7; $isExtensionInfo = '已推广'; return array($isExtension, $isExtensionInfo); } else { //已过期-未发布15天 $diff = time() - $house['created']; $eDay = floor($diff / 86400); if ($eDay >= Const_APIStatus::UN_PUBLISHED_OVERDUE) { $isExtension = 2; $isExtensionInfo = '已过期'; return array($isExtension, $isExtensionInfo); } //违规删除 if ($house['proStatus'] == Model_House_CommissionHouse::STATUS_ILLEGAL) { $isExtension = 1; $isExtensionInfo = '违规已删除'; return array($isExtension, $isExtensionInfo); } //房东已删除 if ($house['proStatus'] == Model_House_CommissionHouse::STATUS_DELETED) { $isExtension = 8; $isExtensionInfo = '房东已删除'; return array($isExtension, $isExtensionInfo); } //未发布 $isExtension = 5; $isExtensionInfo = '待发布'; return array($isExtension, $isExtensionInfo); } }
/** * 显示状态判断 * @param $data * @param $brokerId * @param $rushBrokerId * @param $brokerHouseId * @return int */ private function showState($data, $brokerId, $rushBrokerId, $brokerHouseId) { /* 未抢到房源状态 */ if (empty($rushBrokerId)) { //违规删除 if ($data['proStatus'] == Model_House_CommissionHouse::STATUS_ILLEGAL) { return array(1, ''); } //房东删除 if ($data['proStatus'] == Model_House_CommissionHouse::STATUS_DELETED) { return array(8, ''); } //过期-15 if ($data['proStatus'] == Model_House_CommissionHouse::STATUS_EXPIRED) { return array(2, ''); } //抢完 if ($data['openBrokerCnt'] >= 5) { return array(3, ''); } //房东停止委托 if ($data['proStatus'] == Model_House_CommissionHouse::STATUS_STOP || $data['proStatus'] == Model_House_CommissionHouse::STATUS_SAVE) { return array(9, ''); } //可抢 return array(4, ''); } /* 抢到房源状态->已发布|未发布->已推广|未推广 */ //已发布 if (!empty($brokerHouseId)) { $propertysInfo = Model_House_EsfHouseElementFactory::getHouseBaseInfo($brokerHouseId); //已过期-已发布90天 if (empty($propertysInfo)) { return array(5, ''); } $diff = time() - $propertysInfo['postDate']; $pDay = floor($diff / 86400); if ($pDay > Const_APIStatus::PUBLISHED_OVERDUE) { return array(2, ''); } //已发布未推广 $isOnLine = Bll_House_EsfHouse::getHouseOnLineInfo($data->cityId, $brokerId, $brokerHouseId); if (empty($isOnLine[$brokerHouseId]) || $isOnLine[$brokerHouseId] == false) { return array(6, $brokerHouseId); } //违规删除(可以再发布) if ($propertysInfo['operateState'] != 1 || $propertysInfo['isVisible'] == 0) { return array(5, ''); } //已发布已推广 return array(7, $brokerHouseId); } else { if ($rushBrokerId) { //已过期-未发布15天 $diff = time() - $data['created']; $eDay = floor($diff / 86400); if ($eDay >= Const_APIStatus::UN_PUBLISHED_OVERDUE) { return array(2, ''); } //违规删除 if ($data['proStatus'] == Model_House_CommissionHouse::STATUS_ILLEGAL) { return array(1, ''); } //房东删除 if ($data['proStatus'] == Model_House_CommissionHouse::STATUS_DELETED) { return array(8, ''); } } else { //违规删除 if ($data['proStatus'] == Model_House_CommissionHouse::STATUS_ILLEGAL) { return array(1, ''); } //房东删除 if ($data['proStatus'] == Model_House_CommissionHouse::STATUS_DELETED) { return array(8, ''); } //已过期-未发布15天 $diff = time() - $data['created']; $eDay = floor($diff / 86400); if ($eDay >= Const_APIStatus::UN_PUBLISHED_OVERDUE) { return array(2, ''); } } //抢到未发布 return array(5, ''); } }
public function handle_request_internal() { header("Access-Control-Allow-Origin: *"); $propId = $this->_params['propId']; //好丑陋。。。。。。好无奈。。。。。。 //委托房源自动转发停用,为了app能够展示报错信息。。。 if (empty($propId)) { $this->_params['apiDebug'] = 1; return array('status' => Const_APIStatus::RETURN_CODE_ERROR, 'errcode' => '0000', 'message' => '委托房源自动转发功能已停用;若要发布请手动发布'); } $propInfo = Bll_Ppc_ServiceAPI::getHouseInfo($propId); $brokerId = $this->_params['brokerId']; $houseInfo = Model_House_EsfHouseElementFactory::getHouseBaseInfo($propId); if (empty($houseInfo)) { $cityId = Model_Broker_AjkBrokerExtend::getCityIdByBrokerId($this->_params['brokerId']); $houseInfo = Bll_House_EsfHouse::getHouseBaseInfo($propId, $cityId); } if (!empty($houseInfo)) { $result['status'] = 'ok'; $areaCode = $houseInfo['areaCode']; $block = Bll_Commtype_Api::getInfoByTypeCode($areaCode); $area = Bll_Commtype_Api::getInfoByTypeId($block['parentId']); $area_name = $area['typeName']; $block_name = $block['typeName']; $data['title'] = $houseInfo['proName']; $data['commId'] = $houseInfo['commId']; $data['commName'] = $houseInfo['commName']; //小区信息 $commInfo = Bll_Community_APIComm::getInstance()->getInfoByIdMapping($data['commId'], 2); $data['commLocation'] = $commInfo['commLocal']; $data['sosolat'] = $commInfo['sosolat']; //纬度 $data['sosolng'] = $commInfo['sosolng']; //经度 $data['floor'] = $propInfo['property']['ProFloor']; $data['totalFloor'] = $propInfo['property']['FloorNum']; $propDescription = $propInfo['property']['sale']['AddExplan']; $propDescription = str_replace('<p>', "", $propDescription); $propDescription = str_replace('</p>', "", $propDescription); $propDescription = trim($propDescription); $data['propDescription'] = $propDescription; $data['areaname'] = $area_name; $data['blockname'] = $block_name; $data['roomNum'] = $houseInfo['roomNum']; $data['hallNum'] = $houseInfo['hallNum']; $data['toiletNum'] = $houseInfo['toiletNum']; $data['area'] = $houseInfo['areaNum']; $data['areaUnit'] = '平米'; $data['price'] = $houseInfo['proPrice']; $data['priceUnit'] = '万'; $data['isMoreImg'] = $houseInfo['isHighQulity']; $data['isVisible'] = $houseInfo['isVisible']; $data['isPhonePub'] = $houseInfo['uriCode'] == 'mobile.asyn' || $houseInfo['uriCode'] == 'mobile-ajk-broker.asyn' ? 1 : 0; $data['propImagesUrl'] = array(); $data['propImages'] = $data['outdoorImage'] = array(); if ($propInfo['attachments']['attachments']) { $propImageNum = 0; $outdoorImageNum = 0; $images = $propInfo['attachments']['attachments']; foreach ($images as $image) { if ($image['DataType'] == 2) { if ($propImageNum >= 8) { continue; } $imageInfo = array(); $url = Util_ImageUtils::getResizeURL($image['FileName'], $image['host_id'], 600, 600); $url = str_replace("display", "display/e", $url); $imageInfo['bigImageUrl'] = $url; $data['propImages'][] = $imageInfo; $propImageNum += 1; } else { if ($image['DataType'] == 3) { if ($outdoorImageNum >= 1) { continue; } $imageInfo = array(); $url = Util_ImageUtils::getResizeURL($image['FileName'], $image['host_id'], 600, 600); $url = str_replace("display", "display/e", $url); $imageInfo['bigImageUrl'] = $url; $data['outdoorImage'][] = $imageInfo; $outdoorImageNum += 1; } } } } $spread = Model_Plan_AjkPropspread::getAjkPropSpreadByIds($propId); $data['isChoice'] = $data['isBid'] = 0; if (!empty($spread)) { if ($spread[0]['bidVersion'] == 1 && $spread[0]['status'] == 1) { $data['isBid'] = 1; } elseif ($spread[0]['bidVersion'] == 2 && ($spread[0]['status'] == 1 || $spread[0]['status'] == 11)) { $data['isChoice'] = 1; } } //计算出房源推广天数 $timeFixStr = strtotime(date("Ymd", $houseInfo['postDate'])); $leftDay = floor((time() - $timeFixStr) / 86400); $data['publishDaysMsg'] = $leftDay > 0 ? $leftDay . '天前发布' : '今天发布'; $imgBll = Bll_Image_EsfHouseImage::getInstance(); $data['imgUrl'] = $imgBll->getThumbImageUrl($propId, $houseInfo['commId']); $mobileBaseDomain = APF::get_instance()->get_config("mobile_base_domain"); $data['url'] = 'http://' . $mobileBaseDomain . '/sale/x/' . $houseInfo['cityId'] . '/' . $houseInfo->proId; //增加委托房源标签 if ($houseInfo['commitionType'] == 2) { $data['isEntrust'] = 1; } else { $data['isEntrust'] = 0; } } else { $data['status'] = 'error'; $data['message'] = '房源信息不存在'; } $result['data'] = $data; return $result; }
/** * 拼接房源具体信息 * * @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; }