/** * 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; } } }
/** * 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; } } }
/** * @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; } } }
/** * 获取经纪人在房源单页展示的主推房源信息 * @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(); } }
/** * 插入展示房源信息 * @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); }
/** * 插入展示房源信息 * @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); } } }