Ejemplo n.º 1
0
 public function handle_request_internal()
 {
     $request = APF::get_instance()->get_request();
     $params = $this->getParameters();
     $this->cityId = $request->getBrokerCityId();
     $this->brokerId = self::$BrokerInfo['BaseInfo']['BROKERID'];
     //判断活动是否开始
     $pageAttributes['activityStatus'] = Bll_City_BizType::isOnActivity($this->cityId, 4, Const_CityBizType::TYPE_ACTIVITY_RES);
     if ($pageAttributes['activityStatus'] == 'notStart') {
         echo json_encode(array('status' => 'error', 'info' => '活动还未开始'));
         exit;
     } elseif ($pageAttributes['activityStatus'] == 'end') {
         echo json_encode(array('status' => 'error', 'info' => '活动已经结束'));
         exit;
     }
     if ($params['action'] == 'activeSubmit') {
         $esfProIds = empty($params['esf']) ? array() : explode(',', $params['esf']);
         $zfProIds = empty($params['zf']) ? array() : explode(',', $params['zf']);
         if (empty($esfProIds) && empty($zfProIds)) {
             echo json_encode(array('status' => 'error', 'info' => '对不起,您提交的房源为空。'));
             exit;
         }
         //获取经纪人已经参加活动房源
         $getBrokerResActivity = Bll_Activity_Res_ProInfo::getBrokerResActivityPropInfo($this->brokerId);
         $resActivityNum = count($getBrokerResActivity);
         $esfNum = count($esfProIds);
         $zfNum = count($zfProIds);
         if ($esfNum + $zfNum > 10 || $esfNum + $zfNum + $resActivityNum > 10) {
             echo json_encode(array('status' => 'error', 'info' => '对不起,您提交的房源数超出了10条。'));
             exit;
         } elseif ($esfNum + $zfNum + $resActivityNum == 10) {
             /*if (Bll_Activity_Res_RealEstateSeasonBrokerLuckDraw::getBrokerLuckDrawInfo($this->brokerId)) {
                   Bll_Activity_Res_RealEstateSeasonBrokerLuckDraw::incrementLuckDrawNum($this->brokerId);
               } else {*/
             $luckDrawInfo = array('brokerId' => $this->brokerId, 'cityId' => $this->cityId, 'totalNum' => 1, 'num' => 1, 'addTime' => time());
             Bll_Activity_Res_RealEstateSeasonBrokerLuckDraw::insertBrokerLuckDrawInfo($luckDrawInfo);
             //}
         }
         $this->doPost($esfProIds, $zfProIds, $getBrokerResActivity);
         echo json_encode(array('status' => 'ok', 'info' => '提交成功。'));
         exit;
     }
 }
Ejemplo n.º 2
0
 /**
  * 获取租房房源列表信息
  * @return array
  */
 private function getBrokerZfPro()
 {
     //获取经纪人参加活动租房房源id
     $proIds = $this->getProIdsByBrokerId(Bll_Combo_HouseRelation::SITE_TYPE_HZ);
     //获取经纪人参加活动租房房源详细信息
     $proInfos = Bll_House_HzPro::getInstance()->getBrokerHzProInfo($proIds, $this->cityId);
     //租房房源主表信息
     $propMainInfo = Bll_House_HzPro::getInstance()->getHzProInfoByIds($proIds);
     $propMainNew = array();
     foreach ($propMainInfo as $val) {
         $propMainNew[$val['propId']]['contentBasic'] = json_decode($val['contentBasic'], true);
         $propMainNew[$val['propId']]['contentOther'] = json_decode($val['contentOther'], true);
     }
     //获取经纪人已经参加活动房源
     $getBrokerResActivity = Bll_Activity_Res_ProInfo::getBrokerResActivityPropInfo($this->brokerId);
     $resActivityNum = count($getBrokerResActivity);
     //过滤已经参加活动租房房源,同时返回必须参数(参数拼接)
     $result = Bll_Activity_Res_ProInfo::getCanSetZfProList($proInfos, $propMainNew, $getBrokerResActivity);
     //根据最新发布时间排序
     array_multisort($result['orderByZfProId'], SORT_DESC, $result['data']);
     return $pageAttributes = array('data' => $result['data'], 'resActivityNum' => $resActivityNum, 'resActivityNumLeave' => 10 - $resActivityNum);
 }
Ejemplo n.º 3
0
 /**
  * 处理经纪人提交成交房源数据
  * @param $data
  * @return string
  */
 private function doPost($data)
 {
     $error = $this->checkData($data);
     if (!empty($error)) {
         $this->redirectResult('101', $error);
     }
     //获取经纪人已经参加活动房源
     $getBrokerResActivity = Bll_Activity_Res_ProInfo::getBrokerResActivityPropInfo($this->brokerId);
     $proInfo = $getBrokerResActivity[$data['proId']];
     //判断提交成交房源信息是否是经纪人参加活动的房源
     if (empty($proInfo)) {
         $this->redirectResult('101', '请确认提交成交房源信息');
     }
     $proContent = json_decode($proInfo['proContent'], true);
     $recordContent = array('id' => $data['proId'], 'commName' => $proContent['commName'], 'roomNum' => $data['roomNum'], 'hallNum' => $data['hallNum'], 'toiletNum' => $data['toiletNum'], 'area' => $data['area'], 'floor' => $data['floor'], 'floorAll' => $data['floorAll'], 'customerName' => $data['customerName'], 'customerMobile' => $data['customerMobile'], 'customerCard' => $data['customerCard']);
     $insertData = array('activityId' => $proInfo['id'], 'proId' => $data['proId'], 'brokerId' => $this->brokerId, 'cityId' => $this->cityId, 'siteType' => $proInfo['siteType'], 'recordContent' => json_encode($recordContent), 'addTime' => time());
     if (Bll_Activity_Res_ProInfo::getRecordsByProId($this->brokerId, $data['proId'])) {
         $this->redirectResult('101', '您已经提交成交房源信息');
     }
     if (Bll_Activity_Res_ProInfo::insertResProTransactionRecord($insertData)) {
         Bll_Activity_Res_ProInfo::updateProInfoStatus(array('siteType' => $proInfo['siteType'], 'brokerId' => $this->brokerId, 'proId' => $data['proId']), array('status' => 1));
     }
 }