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; } }
/** * 获取租房房源列表信息 * @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); }
/** * 处理经纪人提交成交房源数据 * @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)); } }