|  |  |  | 
|---|
|  |  |  | <?php | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class Service_Data_Three_Hourly extends System_Service_Base{ | 
|---|
|  |  |  | class Service_DataThreeHourly extends System_Service_Base{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public function __construct(){ | 
|---|
|  |  |  | $this->data_three_hourly_model = new DataThreeHourlyModel(); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public function summary($day, $time_level){ | 
|---|
|  |  |  | if($time_level > 0 && $time_level <= 8){ | 
|---|
|  |  |  | $hourly_model = new DataHourlyModel(); | 
|---|
|  |  |  | $hour = ($time_level - 1)*3; | 
|---|
|  |  |  | $start_hour = $hour.':00:00'; | 
|---|
|  |  |  | $end_hour = ($hour + 2).':00:00'; | 
|---|
|  |  |  | $hourly_model = new HourlyModel(); | 
|---|
|  |  |  | $hour = ($time_level - 1)*3; | 
|---|
|  |  |  | $start_hour = $hour.':05:00'; | 
|---|
|  |  |  | $end_hour = ($hour + 3).':05:00'; | 
|---|
|  |  |  | if($hour < 10 ){ | 
|---|
|  |  |  | $start_hour = '0'.$start_hour; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if($hour + 2 < 10){ | 
|---|
|  |  |  | $end_hour = '0'.$end_hour; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | echo $start_hour.'---'.$end_hour; | 
|---|
|  |  |  | $hourly_datas = $hourly_model->aggregate( | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | '$match' => array('create_time' => array('$gte' => $day.' '.$start_hour, '$lte' => $day.' '.$end_hour)) | 
|---|
|  |  |  | '$match' => array('create_time' => array('$gte' => $day.' '.$start_hour, '$lt' => $day.' '.$end_hour)) | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | '$group' => array('_id' => '$user_id', 'avg' => array('$avg' => '$value')) | 
|---|