public static function &getInstance() { if (self::$_instance === null) { self::$_instance = new self(); } return self::$_instance; }
/** * 检测套餐是否有推广房源 * @param $dateIndex * @param $dataBase * @return array */ public function checkHasComboBrokerHouses($dateIndex, $dataBase) { $result = array('stauts' => false, 'data' => ''); if ($dataBase == Const_ShowcaseOrders::SALE_DB) { $data = Model_Broker_AjkComboBrokerDay::getInstance()->getSaleByDayDate($dateIndex); } elseif ($dataBase == Const_ShowcaseOrders::RENT_DB) { $data = Model_Broker_HzComboBrokerDay::getInstance()->getRentByDayDate($dateIndex); } if (!empty($data)) { $result['status'] = true; $result['data'] = $data; } return $result; }
/** * @param User_Statistics_BrokerStatisticsController $controller * @param AJKRequest $request * @param AJKResponse $response * * @return array */ public static function getBrokerStatistics($controller, $request, $response) { $brokerId = $request->getBrokerId(); $cityId = $request->getBrokerCityId(); $params = $request->get_parameters(); $pageParams = static::setSearchDay($params); $isChoiceCity = Bll_City::isChoiceCity($cityId); $isBidCity = Bll_City::isChoiceCity($cityId); $isShowCaseCity = Bll_City::isShowCaseCity($cityId); $pageParams['isChoiceCity'] = $isChoiceCity; $pageParams['isBidCity'] = $isBidCity; $pageParams['isShowCaseCity'] = $isShowCaseCity; $startDate = date('Ymd', $pageParams['beginDateUnix']); $endDate = date('Ymd', $pageParams['endDateUnix']); if ($startDate > $endDate) { return $pageParams; } /** 非精选城市 */ if ($isBidCity) { $pageParams['bidMessage'] = '竞价'; } if ($isChoiceCity) { $pageParams['bidMessage'] = '精选'; } $tempBrokerStatisticsInfoList = Model_Broker_AjkComboBrokerDay::getBrokerStatistics($brokerId, $startDate, $endDate); if (empty($tempBrokerStatisticsInfoList)) { return $pageParams; } $total = array('TotalPropNum' => 0, 'TotalClickNum' => 0, 'TotalAmount' => 0, 'saleProp' => 0, 'saleGoodProp' => 0, 'saleNewProp' => 0, 'saleNewGoodProp' => 0, 'saleVppv' => 0, 'saleBidProp' => 0, 'saleBidGoodProp' => 0, 'saleBidNewProp' => 0, 'saleBidNewGoodProp' => 0, 'saleBidCost' => 0, 'saleBidVppv' => 0); $dateList = static::getDateList($pageParams['beginDateUnix'], $pageParams['endDateUnix']); if ($isShowCaseCity) { $adPriceInfo = static::getBrokerPriceInfo($brokerId, $startDate, $endDate); $adClickInfo = static::getBrokerAdClickInfo($brokerId, $startDate, $endDate); } $brokerStatisticsInfoList = array(); foreach ($dateList as $key => $date) { $brokerStatisticsInfoList[$key] = array('_DayDate' => $date); } foreach ($tempBrokerStatisticsInfoList as $brokerStatisticsInfo) { $date = $brokerStatisticsInfo['dayDate']; $brokerStatisticsInfo['_DayDate'] = $dateList[$date]; $brokerStatisticsInfo['TotalPropNum'] = $brokerStatisticsInfo['saleProp']; $brokerStatisticsInfo['TotalClickNum'] = $brokerStatisticsInfo['saleVppv']; $brokerStatisticsInfo['TotalAmount'] = $brokerStatisticsInfo['saleBidCost']; if ($isBidCity || $isChoiceCity) { $brokerStatisticsInfo['TotalPropNum'] += $brokerStatisticsInfo['saleBidProp']; $brokerStatisticsInfo['TotalClickNum'] += $brokerStatisticsInfo['saleBidVppv']; } /** * 总计 */ $total['TotalPropNum'] += $brokerStatisticsInfo['TotalPropNum']; $total['TotalClickNum'] += $brokerStatisticsInfo['TotalClickNum']; $total['TotalAmount'] += $brokerStatisticsInfo['TotalAmount']; $total['saleProp'] += $brokerStatisticsInfo['saleProp']; $total['saleGoodProp'] += $brokerStatisticsInfo['saleGoodProp']; $total['saleNewProp'] += $brokerStatisticsInfo['saleNewProp']; $total['saleNewGoodProp'] += $brokerStatisticsInfo['saleNewGoodProp']; $total['saleVppv'] += $brokerStatisticsInfo['saleVppv']; if ($isBidCity || $isChoiceCity) { $total['saleBidProp'] += $brokerStatisticsInfo['saleBidProp']; $total['saleBidVppv'] += $brokerStatisticsInfo['saleBidVppv']; $total['saleBidCost'] += $brokerStatisticsInfo['saleBidCost']; $total['saleBidNewProp'] += $brokerStatisticsInfo['saleBidNewProp']; $total['saleBidGoodProp'] += $brokerStatisticsInfo['saleBidGoodProp']; $total['saleBidNewGoodProp'] += $brokerStatisticsInfo['saleBidNewGoodProp']; } /** * 橱窗 */ if ($isShowCaseCity) { $brokerStatisticsInfo['props_sum'] = $adPriceInfo[$date]['propsSum']; $brokerStatisticsInfo['quantity_count'] = $adClickInfo[$date]['quantity_count']; $brokerStatisticsInfo['price'] = $adPriceInfo[$date]['price']; $total['props_sum'] += $adPriceInfo[$date]['propsSum']; $total['quantity_count'] += $adClickInfo[$date]['quantity_count']; $total['price'] += $adPriceInfo[$date]['price']; } $brokerStatisticsInfoList[$date] = $brokerStatisticsInfo; } $BrokerWorkLogInfo = array('data' => array_reverse($brokerStatisticsInfoList), 'total' => $total); $pageParams['BrokerWorkLogInfo'] = $BrokerWorkLogInfo; return $pageParams; }
/** * 获取所有经纪人在线房源数 * @param $date * @return array|string */ private function getSaleOnlinePropNum($date) { return Model_Broker_AjkComboBrokerDay::getAllBrokerSaleOnlinePropNum($date); }