コード例 #1
0
ファイル: Auth.php プロジェクト: emilymwang8/ajk-broker
 public function before()
 {
     $ret = parent::before();
     if ($ret != self::STEP_CONTINUE) {
         return $ret;
     }
     $this->set_ajkmemberid();
     $this->set_guid();
     /**
      * @var $request AJKRequest
      */
     $request = @APF::get_instance()->get_request();
     /** 判断经纪人是否是套餐经纪人,如果是,跳转到切换页面 */
     $brokerID = $request->getBrokerId();
     if (isset($brokerID) && $brokerID) {
         //是否经纪人登录
         $brokerInfo = DAO_My_ComboConfig::get_broker_base_info($brokerID);
         //判断是否端口城市
         if ($brokerInfo['PayType'] == 10000 && strpos(strtolower($_SERVER['REQUEST_URI']), 'combochange') === false) {
             //查询城市配置信息
             $ComboConfig = DAO_My_ComboConfig::getComboConfigByCityId($brokerInfo['CityId']);
             if ($ComboConfig && $ComboConfig['type'] == 0) {
                 if ($brokerInfo['CityId'] == 59) {
                     //跳转到切换页面
                     APF::get_instance()->get_response()->redirect('http://' . APF::get_instance()->get_config("cdn_pure_static_host", "resource") . '/html/brokercombo/index01.html?_r=' . mt_rand(1000, time()));
                 } else {
                     //跳转到切换页面
                     APF::get_instance()->get_response()->redirect('http://' . APF::get_instance()->get_config("cdn_pure_static_host", "resource") . '/html/brokercombo/index.html?_r=' . mt_rand(1000, time()));
                 }
             }
         }
     }
     return self::STEP_CONTINUE;
 }
コード例 #2
0
 public function handle_request_internal()
 {
     if (!$this->isBrokerLogin()) {
         $this->redirect_to_login();
     }
     $request = APF::get_instance()->get_request();
     $objResponse = APF::get_instance()->get_response();
     $params = $request->get_parameters();
     $brokerId = $request->getBrokerId();
     $cityId = $request->getBrokerCityId();
     $brokerInfo = self::$BrokerInfo['BaseInfo'];
     //经纪人信息
     if ($brokerInfo['PAYTYPE'] == 9999) {
         $result = array('status' => 1, 'msg' => '已切换!');
     } else {
         //查询是否套餐城市
         $ComboConfig = DAO_My_ComboConfig::getComboConfigByCityId($cityId);
         if ($ComboConfig && $ComboConfig['type'] == 0) {
             if ($ComboConfig['start_time'] <= time()) {
                 //经纪人状态更新
                 DAO_My_ComboConfig::comboBrokerChange($brokerId);
                 $result = array('status' => 1, 'msg' => '切换完成!');
             } else {
                 $result = array('status' => 3, 'msg' => '后台数据处理中,请等待切换!', 'time' => $ComboConfig['start_time']);
             }
         } else {
             $result = array('status' => 2, 'msg' => '非套餐城市!');
         }
     }
     //有回调的情况(jsonp)
     if ($params['callback']) {
         $objResponse->set_content_type('text/plain');
         echo $params['callback'] . "(" . json_encode($result) . ")";
     } else {
         $objResponse->set_content_type('application/json');
         echo json_encode($result);
     }
     return false;
 }
コード例 #3
0
 /**
  * 房源更新到solr
  * @param int $intRequestKey 请求类型 1-房源编号 2-推广编号 3-经纪人编号
  * @param int $intRequestVal 请求类型对应的值
  * @param int $intStatus 操作状态:1-更新(房源),2-预约 (房源),3-删除 (房源),4-手动推广开始(推广计划),
  *                      5-手动推广结束(推广计划),6-日预算花完(定价推广),7-余额花完停止(定价推广),
  *                      8-预算花完停止 (竞价推广),9-推广周期结束停止(竞价推广),10-经纪人房源下线
  * @return int
  */
 public static function updateHouseToSolr($intRequestKey, $intRequestVal, $intStatus)
 {
     if ($intRequestKey == 1) {
         $jpBidInfo = Model_Plan_Jp::getBidPlanByHouseIdV2($intRequestVal);
         //非套餐城市通知老队列
         $ComboConfig = DAO_My_ComboConfig::getComboConfigByCityId($jpBidInfo->cityId);
         if ($ComboConfig && $ComboConfig['type'] == 0) {
             return true;
         }
         $objDa = new Model_House_UpDown_SolrJinpu();
         $objDa->houseId = $intRequestVal;
         $objDa->status = 1;
         $objDa->createTime = date('Y-m-d H:i:s');
         return $objDa->save();
     } else {
         if ($intRequestKey == 2) {
             $objDa = new Model_Plan_JpSpreadStatusUpdate();
             $objDa->spread_id = $intRequestVal;
             $objDa->status = $intStatus - 3;
             $objDa->create_time = date('Y-m-d H:i:s');
             return $objDa->save();
         } else {
             if ($intRequestKey == 3) {
                 $objDa = new Model_Plan_JpSpreadBrokerUpdate();
                 $objDa->member_id = $intRequestVal;
                 $objDa->status = $intStatus == 10 ? 1 : 2;
                 $objDa->create_time = date('Y-m-d H:i:s');
                 $objDa->save();
             }
         }
     }
 }
コード例 #4
0
ファイル: Solr2Table.php プロジェクト: emilymwang8/ajk-broker
 public function dealTask($solrOnProId)
 {
     $houseInfo = Model_House_JpHouseIdx::data_access()->filter('id', $solrOnProId)->get_row();
     $brokerInfo = Model_Broker_JpBroker::data_access()->filter('id', $houseInfo['memberId'])->get_row();
     if ($houseInfo['isDelete'] == 1) {
         if ($this->dealFlag) {
             $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrJpAPI($this->cityId, $brokerInfo['ajkMemberId'], $solrOnProId, $houseInfo['houseType'], 2);
             $this->setLog(sprintf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $solrOnProId, $result['status'], $result['message']));
         }
         $this->setLog(sprintf('房源 %s 已经删除, 需要通知solr下' . PHP_EOL, $solrOnProId));
         return true;
     }
     //查询城市配置信息
     $ComboConfig = DAO_My_ComboConfig::getComboConfigByCityId($houseInfo['cityId']);
     if ($ComboConfig && $ComboConfig['type'] == 0) {
         //套餐城市
         if (!Bll_Combo_HouseRelation::getOnlineRelationByHouseId($solrOnProId, Bll_Combo_HouseRelation::SITE_TYPE_JP)) {
             if ($this->dealFlag) {
                 $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrJpAPI($this->cityId, $brokerInfo['ajkMemberId'], $solrOnProId, $houseInfo['houseType'], 2);
                 $this->setLog(sprintf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $solrOnProId, $result['status'], $result['message']));
             }
             $this->setLog(sprintf('房源 %s 不在套餐推广中, 需要通知solr下' . PHP_EOL, $solrOnProId));
             return true;
         }
         return true;
     } else {
         //ppc城市
         if ($houseInfo['spreadId'] != 0) {
             $spreadInfo = Model_Plan_Jp::data_access()->filter('id', $houseInfo['spreadId'])->filter('type', Model_Plan_Jp::ENUM_TYPE_FIX)->filter('isDelete', Model_Plan_Jp::ENUM_IS_DELETE_NO)->get_row();
             if ($spreadInfo && $spreadInfo['status'] == 2) {
                 return true;
             }
         }
         if ($this->dealFlag) {
             $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrJpAPI($this->cityId, $brokerInfo['ajkMemberId'], $solrOnProId, $houseInfo['houseType'], 2);
             $this->setLog(sprintf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $solrOnProId, $result['status'], $result['message']));
         }
         $this->setLog(sprintf('房源 %s 不在定价推广中, 需要通知solr下' . PHP_EOL, $solrOnProId));
         return true;
     }
 }
コード例 #5
0
ファイル: Table2Solr.php プロジェクト: emilymwang8/ajk-broker
 /**
  * 判断该task的房子  不在线则通知上
  * @param $task
  * @return bool
  * @throws Exception
  */
 public function dealTask($task)
 {
     $houseInfo = $task;
     $proId = $houseInfo['id'];
     $cityId = $houseInfo['cityId'];
     $brokerInfo = Model_Broker_JpBroker::data_access()->filter('id', $houseInfo['memberId'])->get_row();
     //查询城市配置信息
     $ComboConfig = DAO_My_ComboConfig::getComboConfigByCityId($cityId);
     // 判断solr是否在线  不在线通知上
     if ($ComboConfig && $ComboConfig['type'] == 0) {
         //套餐城市
         if (Bll_Combo_HouseRelation::getOnlineRelationByHouseId($proId, Bll_Combo_HouseRelation::SITE_TYPE_JP)) {
             $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrJpAPI($cityId, $brokerInfo['ajkMemberId'], $proId, $houseInfo['houseType'], 1);
             $this->setLog(sprintf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $proId, $result['status'], $result['message']));
             $this->setLog(sprintf('房源 %s 在套餐推广中, 需要通知solr上' . PHP_EOL, $proId));
             return true;
         }
         return true;
     } else {
         //ppc城市
         if ($houseInfo['fixSpreadId'] != 0) {
             $spreadInfo = Model_Plan_Jp::data_access()->filter('id', $houseInfo['fixSpreadId'])->filter('type', Model_Plan_Jp::ENUM_TYPE_FIX)->filter('isDelete', Model_Plan_Jp::ENUM_IS_DELETE_NO)->get_row();
             if ($spreadInfo && $spreadInfo['status'] == 2) {
                 // 定价在线 需要通知上
                 $result = Bll_Combo_NoticeSolrUpDown::noticeComboSolrJpAPI($cityId, $brokerInfo['ajkMemberId'], $proId, $houseInfo['houseType'], 1);
                 $this->setLog(sprintf('房源 %s 通知中间件返回的结果status=%s ; message=%s' . PHP_EOL, $proId, $result['status'], $result['message']));
                 $this->setLog(sprintf('房源 %s 在定价推广中, 需要通知solr上' . PHP_EOL, $proId));
                 return true;
             }
         }
         return true;
     }
 }