Example #1
0
 /**
  * 获取图片验证码
  * @param unknown $iType
  * @return string
  */
 public static function makeImageCode($iType)
 {
     $sKey = self::getImageKey($iType);
     $sRand = Util_Tools::passwdGen(4);
     Util_Cookie::set($sKey, $sRand, 1800);
     return Util_Image::createIdentifyCodeImage(120, 50, $sRand);
 }
Example #2
0
 private function dataCheck($fPropInfo, $fPropInfoExtend, $isBuy)
 {
     $propStatusArr = array(Const_Fyk::PROPSTATUS_DELETE => '房源已被删除', Const_Fyk::PROPSTATUS_SELLING => '在售中', Const_Fyk::PROPSTATUS_SELLED => '房源已出售', Const_Fyk::PROPSTATUS_NOSELL => '房东不卖了', Const_Fyk::PROPSTATUS_FALSE => '房源已被证实为虚假房源');
     //部分缺省数据获取
     //$commInfo = Bll_Community_CommunityGardener::getCommunityInfoByCommunityId($fPropInfo['commId']);
     $commInfo = Bll_Community_APIComm::getInstance()->getInfoById($fPropInfo['commId']);
     $unitPrice = round($fPropInfo['totalPrices'] / $fPropInfo['acreage'], 2);
     //计算发布时间
     $publishDate = strtotime(date('Y-m-d', $fPropInfo['createTime']));
     $nowDate = strtotime(date('Y-m-d', time()));
     $publishDays = intval(($nowDate - $publishDate) / 86400);
     $publishDaysMsg = '天前发布';
     if ($publishDays < 1) {
         $publishDays = 0;
         $publishDaysMsg = '今天发布';
     }
     $wish = $fPropInfoExtend['sale_desire'] ? $fPropInfoExtend['sale_desire'] : '';
     $saleReason = $fPropInfoExtend['sale_reason'] ? $fPropInfoExtend['sale_reason'] : '';
     if ($fPropInfo['status'] == Const_Fyk::PROPSTATUS_FALSE) {
         $fPropInfo['falseReason'] = $fPropInfoExtend['false_reason'] ? $fPropInfoExtend['false_reason'] : '房东不存在';
     }
     //图片信息整理
     $houseImages = array();
     $imageData = $fPropInfoExtend['image'];
     foreach ($imageData as $image) {
         $hash_host = explode("_", $image);
         $images['id'] = $hash_host[0];
         $images['hash'] = $hash_host[0];
         $images['host'] = $hash_host[1];
         $images['smallImageUrl'] = Util_Image::getInstance()->getResizeURL($hash_host[0], $hash_host[1], 100, 75);
         //(拼好小图)
         if ($isBuy === true) {
             $images['bigImageUrl'] = Util_Image::getInstance()->getResizeURL($hash_host[0], $hash_host[1], 600, 600);
             //(拼好大图)
         } else {
             $images['bigImageUrl'] = '';
         }
         $images['format'] = 'JPEG';
         $houseImages[] = $images;
     }
     //未购买时隐藏部分字段
     if ($isBuy === true) {
         $ownerMobile = $fPropInfo['mobile'];
         $buildNum = $fPropInfo['buildNum'] ? $fPropInfo['buildNum'] : '暂无';
         $houseNum = $fPropInfo['roomNum'] ? $fPropInfo['roomNum'] : '暂无';
     } else {
         $ownerMobile = substr_replace($fPropInfo['mobile'], '****', 3, 4);
         $buildNum = '购买后可见';
         $houseNum = '购买后可见';
     }
     $result = array('commName' => $commInfo['name'], 'commId' => $fPropInfo['commId'], 'roomNum' => $fPropInfo['cell'], 'hallNum' => $fPropInfo['hall'], 'toiletNum' => $fPropInfo['toilet'], 'totalPrice' => intval($fPropInfo['totalPrices']), 'unitPrice' => $unitPrice, 'priceUnit' => '万', 'area' => $fPropInfo['acreage'], 'publishDays' => $publishDays, 'publishDaysMsg' => $publishDaysMsg, 'buildNum' => $buildNum, 'houseNum' => $houseNum, 'totalFloor' => $fPropInfo['totalFloor'], 'floor' => $fPropInfo['floor'], 'orientation' => $fPropInfo['orientation'], 'isOnly' => $fPropInfo['isOnly'], 'certificate' => $fPropInfo['certificate'], 'ownerName' => $fPropInfo['ownerName'], 'ownerMobile' => $ownerMobile, 'isOwner400' => 0, 'owner400' => '', 'owner400host' => '', 'wish' => $wish, 'saleReason' => $saleReason, 'status' => $fPropInfo['status'], 'statusMsg' => $propStatusArr[$fPropInfo['status']], 'falseReason' => '', 'isBuy' => $isBuy ? 1 : 0, 'houseImages' => $houseImages);
     return $result;
 }
Example #3
0
 public function handle_request_internal()
 {
     $propIds = explode(',', $this->_params['propIds']);
     $cityId = $this->_params['cityId'];
     //获取房源信息
     $propsInfos = Bll_House_EsfHouse::getHouseBaseInfo($propIds, $cityId);
     //板块信息
     $blockCode = array();
     $brokerIds = array();
     foreach ($propsInfos as $propsInfoVal) {
         $blockCode[] = substr($propsInfoVal['areaCode'], 8, 4);
         $brokerIds[] = $propsInfoVal['brokerId'];
     }
     $blockInfos = Bll_Community_CommunityGardener::getAreaBlock($blockCode);
     //获取经纪人微聊信息
     $chatInfos = Model_Mobile_BrokerChatInfo::getBrokerChatInfos($brokerIds);
     $propList = array();
     foreach ($propsInfos as $propsInfo) {
         $row = array();
         $row['brokerId'] = $propsInfo['brokerId'];
         $row['chatId'] = $chatInfos[$row['brokerId']]['chatId'];
         $row['propId'] = $propsInfo['proId'];
         $row['cityId'] = $propsInfo['cityId'];
         $row['title'] = $propsInfo['proName'];
         $row['commId'] = $propsInfo['commId'];
         $row['commName'] = $propsInfo['commName'];
         $row['areaCode'] = $propsInfo['areaCode'];
         $row['blockName'] = $blockInfos[$row['areaCode']];
         $row['createTime'] = date("Y-m-d H:i:s", $propsInfo['postDate']);
         $row['room'] = $propsInfo['roomNum'];
         $row['hall'] = $propsInfo['hallNum'];
         $row['toilet'] = $propsInfo['toiletNum'];
         $row['area'] = $propsInfo['areaNum'];
         $row['areaUnit'] = '平米';
         $row['price'] = intval($propsInfo['proPrice']);
         $row['priceUnit'] = '万';
         //获取房源图片
         $houseImageInfo = Bll_Ppc_ServiceAPI::getHouseImageInfo($propsInfo['proId']);
         $houseImageBaseInfos = $houseImageInfo['imageBaseInfo'];
         $houseImageUrls = array();
         if ($houseImageBaseInfos) {
             foreach ($houseImageBaseInfos as $imageInfo) {
                 $houseImageUrls[] = Util_Image::getInstance()->getResizeURL($imageInfo['FILENAME'], $imageInfo['HOST_ID'], 420, 315);
             }
         }
         $row['imageUrls'] = $houseImageUrls;
         $propList[] = $row;
     }
     return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('props' => $propList));
 }
Example #4
0
 /**
  * 获取房源房源的图片信息,结果以数组返回,格式为:array(houseId1 => imageUrl1,houseId2 => imageUrl2),图片地址为完整路径
  * @param array $houseIds 房东房源Id数组
  * @param int $iWidth
  * @param int $iHeight
  * @return array
  */
 public static function getCommissionProImage($houseIds = array(), $iWidth = 200, $iHeight = 200)
 {
     if (empty($houseIds)) {
         return array();
     }
     $imageInfos = Model_Image_SaleEntrustImage::getImagesByProIds($houseIds);
     if (empty($imageInfos)) {
         return array();
     }
     $iInfo = array();
     foreach ($imageInfos as $imageVal) {
         if (empty($iInfo[$imageVal->proId])) {
             $iInfo[$imageVal->proId] = Util_Image::getInstance()->getResizeURL($imageVal->imageId, $imageVal->hostId, $iWidth, $iHeight);
         }
     }
     return $iInfo;
 }
Example #5
0
 private function getImagesInfo($fImages)
 {
     $houseImages = array();
     foreach ($fImages as $houseImage) {
         $images['id'] = $houseImage['hash'];
         $images['hash'] = $houseImage['hash'];
         $images['host'] = $houseImage['host'];
         $images['smallImageUrl'] = Util_Image::getInstance()->getResizeURL($houseImage['hash'], $houseImage['host'], 100, 75);
         //(拼好小图)
         $images['bigImageUrl'] = Util_Image::getInstance()->getResizeURL($houseImage['hash'], $houseImage['host'], 600, 600);
         //(拼好大图)
         $houseImages[] = $images;
     }
     return $houseImages;
 }
Example #6
0
 /**
  * 数据整理
  * @param $data
  * @param $brokerId
  * @param $showStatus
  * @param $commLocal
  * @param $rushBrokerId
  * @param $propertyId
  * @return array
  */
 private function formatdate($data, $eBrokers, $showStatus, $commLocal, $rushBrokerId, $propertyId, $imgInfos)
 {
     if (empty($data)) {
         return '';
     }
     $business = APF::get_instance()->get_config("choice_business", "multicity");
     $row = array();
     $row['entrustId'] = $data['id'];
     //委托ID
     $row['cityId'] = $data['cityId'];
     //房源所属城市
     $row['ownerId'] = $data['userId'];
     //房东ID
     $row['ownerName'] = $data['userName'];
     //房东姓名
     if ($data['owner400'] != 0) {
         $is400 = 1;
     } else {
         $is400 = 0;
     }
     $row['is400'] = $is400;
     if ($rushBrokerId) {
         $row['ownerMobile'] = $rushBrokerId ? $data['ownerMobile'] : substr_replace($data['ownerMobile'], '*****', 3, 5);
         //手机. 规则抢到显示
         $row['owner400'] = $rushBrokerId ? $data['owner400'] : ($is400 == 1 ? substr_replace($data['owner400'], '*****', 0, strlen($data['owner400'])) : 0);
         //是否绑定400。0-否;是-具体号码
     } else {
         $row['ownerMobile'] = substr_replace($data['ownerMobile'], '*****', 3, 5);
         $row['owner400'] = $is400 == 1 ? substr_replace($data['owner400'], '*****', 0, strlen($data['owner400'])) : 0;
         //是否绑定400。0-否;是-具体号码
     }
     $row['owner400Host'] = APF::get_instance()->get_config("400_host");
     if ($data['fromType'] != 0) {
         $houseExt = Model_House_CommissionHouseExtend::getHouseExtByPk($data['id']);
         $chatId = $houseExt ? $houseExt->chatId : '';
     } else {
         $chatId = '';
     }
     if ($rushBrokerId) {
         $row['ownerChatId'] = $rushBrokerId ? $chatId : '';
         //新增微聊id。
     } else {
         $row['ownerChatId'] = '';
     }
     $row['commId'] = $data['commId'];
     //对应的小区ID
     $row['commName'] = $data['commName'];
     //小区名称
     $row['commLocal'] = $commLocal;
     //小区地址
     $row['roomNum'] = $data['roomNum'];
     //房间数量
     $row['hallNum'] = $data['hallNum'];
     //客厅的数量x
     $row['toiletNum'] = $data['toiletNum'];
     //卫生间的数量
     $row['areaNum'] = $data['areaNum'];
     //房源的建筑面积;单位”平米”
     $row['areaUnit'] = '平米';
     //房源的建筑面积;单位”平米”
     $row['propPrice'] = $data['proPrice'];
     //房源价格(万元)/房源租金(元/月)
     $row['priceUnit'] = $data['commissionType'] == 1 ? '万元' : '元/月';
     //房源价格(万元)/房源租金(元/月)
     $row['entrustType'] = $data['commissionType'];
     //1-出售,2-出租
     if (!empty($imgInfos) && $data['commissionType'] == 1) {
         foreach ($imgInfos as $imginfo) {
             $img = array();
             $img['id'] = $imginfo['id'];
             $img['smallImageUrl'] = Util_Image::getInstance()->getResizeURL($imginfo['imageId'], $imginfo['hostId'], 100, 75);
             //(拼好小图)
             $img['bigImageUrl'] = Util_Image::getInstance()->getResizeURL($imginfo['imageId'], $imginfo['hostId'], 600, 600);
             //(拼好大图)
             $img['hostId'] = $imginfo['hostId'];
             $img['width'] = $imginfo['width'] ? $imginfo['width'] : 1280;
             $img['height'] = $imginfo['height'] ? $imginfo['height'] : 1500;
             $img['hash'] = $imginfo['imageId'];
             $img['type'] = 2;
             //图片类型 1:小区图 2: 室内图 3: 户型图
             $img['entry'] = 4;
             //图片来源 1:系统默认 2:相机拍摄 3:相册选取 4: 在线图库
             $img['exists'] = 1;
             //图片是否已存在
             $img['format'] = 'JPEG';
             $imgs[] = $img;
         }
         $row['imagesInfo'] = $imgs;
     } else {
         $row['imagesInfo'] = array();
     }
     if ($showStatus == 5 || $showStatus == 6) {
         $row['showStatus'] = 7;
     } else {
         $row['showStatus'] = $showStatus;
     }
     //房源状态 0-非法数据暂时没用 1-违规删除 2-已过期 3-抢完了 4-可以抢 5-抢到未发布;6-抢到已发布未推广;7-抢到已发布已推广;8-房东已删除;9-房东停止委托;
     $row['propertyId'] = $propertyId;
     $row['created'] = $data['created'];
     //创建时间
     $row['lastModifyDate'] = $data['lastModifyDate'];
     //最后更改时间
     $row['brokerIds'] = $eBrokers ? implode(',', $eBrokers) : '';
     //该套委托二手房源的所有经纪人id
     $row['isRealityPats'] = empty($imgs) ? 0 : 1;
     //实拍icon 1:显示实拍 0:不显示
     if (!empty($business)) {
         $row['isChoiceCity'] = in_array($data['cityId'], $business) ? 1 : 0;
         //1:精选城市 0:非精选城市
     } else {
         $row['isChoiceCity'] = 0;
     }
     $row['timeState'] = Bll_Common_Format::formatTime($data['created']);
     //倒计时
     $row['brokerImages'] = array();
     if ($showStatus == 3) {
         //已抢完,加入经纪人头像
         $commissionInfo = Model_House_Commission::getCommissionsOrderById(intval($data['id']));
         $brokerIds = array();
         foreach ($commissionInfo as $comm) {
             $brokerIds[] = $comm['brokerId'];
         }
         $brokerInfo = array();
         $brokers = array();
         $brokerInfo = Model_Broker_AjkBrokerExtend::findMultiBrokers($brokerIds);
         foreach ($brokerInfo as $broInfo) {
             $brokers[$broInfo['brokerId']] = $broInfo;
         }
         if (!empty($brokerIds)) {
             foreach ($brokerIds as $broId) {
                 $photo = Util_ImageUtils::get_broker_photo_url($brokers[$broId]['userPhoto'], '200x200');
                 $row['brokerImages'][] = $photo ? $photo : APF::get_instance()->get_config("broker_image_url");
             }
         } else {
             for ($i = 0; $i < 5; $i++) {
                 $row['brokerImages'][$i] = APF::get_instance()->get_config("broker_image_url");
             }
         }
     }
     return $row;
 }
Example #7
0
 public function handle_request_internal()
 {
     $brokerIds = explode(',', $this->_params['brokerIds']);
     $cityId = $this->_params['cityId'];
     $sinceId = isset($this->_params['sinceId']) ? intval($this->_params['sinceId']) : 0;
     //从$sinceId 行开始读
     $per = isset($this->_params['per']) ? $this->_params['per'] : 10;
     //每页示的条数
     //二手房 房源表查找房源信息 找出所有的 propIds
     $isComboCity = Bll_City::isComboCity($cityId);
     $propIds = array();
     if ($isComboCity) {
         //如果是套餐城市 套餐房源表中 批量获取经纪人在线房源
         $comboSpreadHouseList = Bll_Broker_Combo_ManageAjk::getComboSpreadHouseList($brokerIds, $cityId);
         $propIds = array_keys($comboSpreadHouseList);
         $status = 2;
         //2 套餐 1 定价
     } else {
         //如果是定价城市 获取经纪人定价计划--获取有效计划房源关系
         $fixSpreadPlanList = Bll_Plan_Fix_AjkPlan::getBrokerPlanList($brokerIds);
         //获取经纪人有效定价计划  计划表
         $fixSpreadPlanIds = array_keys($fixSpreadPlanList);
         //获取有效计划房源关系
         $relations = Bll_Plan_Fix_AjkPlan::getPropFixedPlanRelation($brokerIds, $cityId, $fixSpreadPlanIds);
         foreach ($relations as $relation) {
             $propIds[] = $relation['propId'];
         }
         $status = 1;
     }
     //获取房源信息  分页
     $propsInfos = Bll_House_EsfHouse::getHouseBaseInfo($propIds, $cityId, array(), $per + 1, $sinceId);
     //板块信息
     $blockCode = array();
     foreach ($propsInfos as $propsInfoVal) {
         $blockCode[] = substr($propsInfoVal['areaCode'], 8, 4);
     }
     $blockInfos = Bll_Community_CommunityGardener::getAreaBlock($blockCode);
     $hasNextPage = 0;
     //是否有下一页
     $brokerProps = array();
     if (!empty($propsInfos)) {
         $hasNextPage = count($propsInfos) > $per ? 1 : 0;
     }
     if ($hasNextPage) {
         array_pop($propsInfos);
         $sinceId += $per;
     } else {
         $sinceId = 0;
     }
     foreach ($propsInfos as $propsInfo) {
         $row = array();
         $row['brokerId'] = $propsInfo['brokerId'];
         $row['propId'] = $propsInfo['proId'];
         $row['cityId'] = $propsInfo['cityId'];
         $row['title'] = $propsInfo['proName'];
         $row['commId'] = $propsInfo['commId'];
         $row['commName'] = $propsInfo['commName'];
         $row['areaCode'] = $propsInfo['areaCode'];
         $row['blockName'] = $blockInfos[$row['areaCode']];
         $row['createTime'] = date("Y-m-d H:i:s", $propsInfo['postDate']);
         $row['room'] = $propsInfo['roomNum'];
         $row['hall'] = $propsInfo['hallNum'];
         $row['toilet'] = $propsInfo['toiletNum'];
         $row['area'] = $propsInfo['areaNum'];
         $row['areaUnit'] = '平米';
         $row['price'] = intval($propsInfo['proPrice']);
         $row['priceUnit'] = '万';
         //获取房源图片
         $houseImageInfo = Bll_Ppc_ServiceAPI::getHouseImageInfo($propsInfo['proId']);
         $houseImageBaseInfos = $houseImageInfo['imageBaseInfo'];
         $houseImageUrls = array();
         if ($houseImageBaseInfos) {
             foreach ($houseImageBaseInfos as $imageInfo) {
                 $houseImageUrls[] = Util_Image::getInstance()->getResizeURL($imageInfo['FILENAME'], $imageInfo['HOST_ID'], 420, 315);
             }
         }
         $row['imageUrls'] = $houseImageUrls;
         $row['status'] = $status;
         $brokerProps[] = $row;
     }
     return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('brokerProps' => $brokerProps, 'hasNextPage' => $hasNextPage, 'sinceId' => $sinceId));
 }