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;
 }
示例#3
0
 /**
  * @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;
 }
示例#4
0
 /**
  * 获取所有经纪人在线房源数
  * @param $date
  * @return array|string
  */
 private function getSaleOnlinePropNum($date)
 {
     return Model_Broker_AjkComboBrokerDay::getAllBrokerSaleOnlinePropNum($date);
 }