Exemplo n.º 1
0
 /**
  * init env
  * @param AJKRequest $request
  * @param array $out
  * @throws Exception
  */
 private static function initEnv($request, &$out)
 {
     $out['debug'] = isset($_GET['debug']) ? true : false;
     $out['cityId'] = $request->getBrokerCityId();
     $out['ajkBrokerId'] = $request->getBrokerId();
     $route_matches = $request->get_router_matches();
     $out['proId'] = trim($route_matches[2], "/ \t\n\r\v");
     if (!$out['proId']) {
         throw new Exception('缺少房源Id参数');
     }
     // 获取好租brokerId
     $out['hzBrokerId'] = Model_Broker_HzMapping::get_hz_broker_id($out['ajkBrokerId']);
     // 是否精选
     $out['isChoiceCity'] = Bll_City::isChoiceCity($out['cityId'], Const_Site::HAOZU);
     $out['isBidCity'] = false;
     // 获取经纪人信息
     if (!($out['brokerInfo'] = Model_Broker_HzUsersSearch::getUserInfoByUserId($out['hzBrokerId']))) {
         throw new Exception('获取好租经纪人信息失败:hzBrokerId [' . $out['hzBrokerId'] . ']');
     }
     // 身份是否通过
     $out['isPassVerify'] = Bll_Broker_HzBroker::isPassVerify($out['brokerInfo']['profileVerify']);
     // 获取套餐相关
     //$out['brokerLimitInfo'] = Bll_Broker_BrokerLimit::getPpcBrokerLimitInfo($out['ajkBrokerId'], Bll_Broker_BrokerLimit::PPC_BROKER_LIMIT_ZF_SITE);
     // 获取经纪人主推房源
     $out['mainSpreadProIds'] = array();
     $mainSpreads = Model_Broker_AdPropsShowRent::getInstance()->getBrokerAdPropInfo($out['ajkBrokerId']);
     if ($mainSpreads) {
         foreach ($mainSpreads as $v) {
             $out['mainSpreadProIds'][$v->propId] = $v->propId;
         }
     }
 }
Exemplo n.º 2
0
 public static function &getInstance()
 {
     if (self::$_instance === null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Exemplo n.º 3
0
 /**
  * init env
  * @param $request
  * @param $out
  * @throws Exception
  */
 private static function initEnv($request, &$out)
 {
     $out['debug'] = isset($_GET['debug']) ? true : false;
     $out['cityId'] = $request->getBrokerCityId();
     $out['ajkBrokerId'] = $request->getBrokerId();
     // 获取好租brokerId
     $out['hzBrokerId'] = Model_Broker_HzMapping::get_hz_broker_id($out['ajkBrokerId']);
     // 获取账户余额
     $balance = Bll_Broker_HzBroker::getAccountInfo($out['ajkBrokerId'], 'balance');
     if (!$balance['status']) {
         throw new Exception_BllErrorException($balance['msg']);
     }
     $out['validMoney'] = $balance['msg'] ? round($balance['msg'] / 100, 2) : 0;
     // 是否精选
     $out['isChoiceCity'] = Bll_City::isChoiceCity($out['cityId'], Const_Site::HAOZU);
     $out['isBidCity'] = false;
     $out['isShowCaseCity'] = Bll_City::isShowCaseCity($out['cityId'], Const_Site::HAOZU);
     // 获取经纪人信息
     if (!($out['brokerInfo'] = Model_Broker_HzUsersSearch::getUserInfoByUserId($out['hzBrokerId']))) {
         throw new Exception('获取好租经纪人信息失败:hzBrokerId [' . $out['hzBrokerId'] . ']');
     }
     // 身份是否通过
     $out['isPassVerify'] = Bll_Broker_HzBroker::isPassVerify($out['brokerInfo']['profileVerify']);
     // 获取套餐相关
     $out['brokerLimitInfo'] = Bll_Broker_BrokerLimit::getPpcBrokerLimitInfo($out['ajkBrokerId'], Bll_Broker_BrokerLimit::PPC_BROKER_LIMIT_ZF_SITE);
     // 获取经纪人主推房源
     $out['mainSpreadProIds'] = array();
     $mainSpreads = Model_Broker_AdPropsShowRent::getInstance()->getBrokerAdPropInfo($out['ajkBrokerId']);
     if ($mainSpreads) {
         foreach ($mainSpreads as $v) {
             $out['mainSpreadProIds'][$v->propId] = $v->propId;
         }
     }
 }
Exemplo n.º 4
0
 /**
  * @param AJKRequest $request
  * @param array $out
  * @throws Exception
  */
 public static function initEnv($request, &$out)
 {
     $out['debug'] = isset($_GET['debug']) ? true : false;
     $out['cityId'] = $request->getBrokerCityId();
     $out['ajkBrokerId'] = $request->getBrokerId();
     // 获取好租brokerId
     $out['hzBrokerId'] = Model_Broker_HzMapping::get_hz_broker_id($out['ajkBrokerId']);
     // 获取账户余额
     /*$balance = Bll_Broker_HzBroker::getAccountInfo($out['ajkBrokerId'], 'balance');
       if (!$balance['status'])
           throw new Exception_BllErrorException($balance['msg']);
       $out['validMoney'] = $balance['msg'] ? round($balance['msg'] / 100, 2) : 0;
       */
     // 是否精选
     $out['isChoiceCity'] = Bll_City::isChoiceCity($out['cityId'], Const_Site::HAOZU);
     $out['isBidCity'] = false;
     $out['isShowCaseCity'] = Bll_City::isShowCaseCity($out['cityId'], Const_Site::HAOZU);
     $out['bidTip'] = '精选';
     // 获取经纪人信息
     if (!($out['brokerInfo'] = Model_Broker_HzUsersSearch::getUserInfoByUserId($out['hzBrokerId']))) {
         throw new Exception('获取好租经纪人信息失败:hzBrokerId [' . $out['hzBrokerId'] . ']');
     }
     // 身份是否通过
     $out['isPassVerify'] = Bll_Broker_HzBroker::isPassVerify($out['brokerInfo']['profileVerify']);
     // 获取该经纪人房源
     $out['props'] = Bll_House_HzHouse::getValidPropsByBrokerIdEx($out['ajkBrokerId'], $out['cityId']);
     // 获取改经纪人所有房源质量
     //$out['propsQuality'] = Model_Stats_HzPropQuality::getPropsquality(array_keys($out['props']));
     $out['propsQuality'] = static::getHzPropsQuality($out['props']);
     if (count($out['props']) > 0) {
         foreach ($out['props'] as $proId => $prop) {
             $out['props'][$proId]['proId'] = $proId;
             // 获取剩余时间
             $out['props'][$proId]['leftDays'] = Bll_House_HzHouse::getLeftDays($prop['created']);
             // 是否手机房源
             $out['props'][$proId]['isMobileProp'] = Bll_House_HzHouse::isMobileProp($prop['from'] ? $prop['from'] : '');
         }
     }
     // 获取经纪人主推房源
     $out['mainSpreadProIds'] = array();
     $mainSpreads = Model_Broker_AdPropsShowRent::getInstance()->getBrokerAdPropInfo($out['ajkBrokerId']);
     if ($mainSpreads) {
         foreach ($mainSpreads as $v) {
             $out['mainSpreadProIds'][$v->propId] = $v->propId;
         }
     }
 }
Exemplo n.º 5
0
 /**
  * 获取经纪人在房源单页展示的主推房源信息
  * @param $brokerId
  * @param $type
  * @return array
  */
 public function getBrokerAdPropShowInfo($brokerId, $type = Const_ShowcaseOrders::SALE_DB)
 {
     if ($type == Const_ShowcaseOrders::SALE_DB) {
         return Model_Broker_AdPropsShowSale::getInstance()->getBrokerAdPropInfo($brokerId);
     } elseif ($type == Const_ShowcaseOrders::RENT_DB) {
         return Model_Broker_AdPropsShowRent::getInstance()->getBrokerAdPropInfo($brokerId);
     } else {
         return array();
     }
 }
Exemplo n.º 6
0
 /**
  * 插入展示房源信息
  * @param $proIds
  * @param $brokerId
  * @param $cityId
  * @param $type
  */
 private function insertBrokerShowPros($proIds, $brokerId, $cityId, $type)
 {
     foreach ($proIds as $proId) {
         $insertData = array();
         if ($this->jobType == Const_ShowcaseOrders::RENT_DB) {
             //租房经纪人ID
             $insertData['hzUserId'] = $this->actionBrokerId;
         }
         $insertData['brokerId'] = $brokerId;
         $insertData['cityId'] = $cityId;
         $insertData['propId'] = $proId;
         $insertData['type'] = $type;
         $insertData['createTime'] = time();
         if ($this->jobType == Const_ShowcaseOrders::SALE_DB) {
             $insertRes = Model_Broker_AdPropsShowSale::getInstance()->insertData($insertData);
         } elseif ($this->jobType == Const_ShowcaseOrders::RENT_DB) {
             $insertRes = Model_Broker_AdPropsShowRent::getInstance()->insertData($insertData);
         }
         //插入房源变更日志
         if (!empty($insertRes)) {
             //插入日志表
             $this->insertProLog($proId, $brokerId, $cityId, $type, Const_ShowcaseOrders::PRO_CHANGE_LOG_FLAG_IN);
         }
     }
     //向中间件发送房源上架消息
     Bll_Broker_ShowcaseAdSetPro::getInstance()->sendAdProChangeMes($brokerId, $cityId, array(Const_ShowcaseOrders::SHOWCASE_SET), $proIds, $this->jobType);
 }
Exemplo n.º 7
0
 /**
  * 插入展示房源信息
  * @param $brokerId
  * @param $cityId
  * @param $proId
  * @param $proType
  */
 private function insertBrokerShowPro($brokerId, $cityId, $proId, $proType)
 {
     $insertData = array();
     if ($this->jobType == Const_ShowcaseOrders::RENT_DB) {
         //租房经纪人ID
         $insertData['hzUserId'] = $this->actionBrokerId;
     }
     $insertData['brokerId'] = $brokerId;
     $insertData['cityId'] = $cityId;
     $insertData['propId'] = $proId;
     $insertData['type'] = $proType;
     $insertData['createTime'] = time();
     if ($this->jobType == Const_ShowcaseOrders::SALE_DB) {
         $insertRes = Model_Broker_AdPropsShowSale::getInstance()->insertData($insertData);
     } elseif ($this->jobType == Const_ShowcaseOrders::RENT_DB) {
         $insertRes = Model_Broker_AdPropsShowRent::getInstance()->insertData($insertData);
     }
     //插入房源变更日志
     if (!empty($insertRes)) {
         //插入日志表
         $logData = array();
         $logData['brokerId'] = $brokerId;
         $logData['cityId'] = $cityId;
         $logData['propId'] = $proId;
         $logData['reason'] = Const_ShowcaseOrders::PRO_CHANGE_LOG_REASON_SHOW_UP;
         $logData['type'] = $proType;
         $logData['flag'] = Const_ShowcaseOrders::PRO_CHANGE_LOG_FLAG_IN;
         $logData['createTime'] = time();
         if ($this->jobType == Const_ShowcaseOrders::SALE_DB) {
             Model_Broker_AdPropsChangeSaleLog::getInstance()->insertOne($logData, $this->jobYm);
         } else {
             Model_Broker_AdPropsChangeRentLog::getInstance()->insertOne($logData, $this->jobYm);
         }
     }
 }