|  |  | 
 |  |  |  | 
 |  |  |    public function __construct(){ | 
 |  |  |       $this->daily_model = new DailyModel(); | 
 |  |  |       $this->hourly_model = new HourlyModel(); | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    public function summary($day){ | 
 |  |  | 
 |  |  |          $time = date('Y-m-d H:i:s'); | 
 |  |  |          foreach ($datas as $data) { | 
 |  |  |             $param['user_id'] = $data['user_id']; | 
 |  |  |             $param['day_avg'] = substr($data['day_avg'], 0, 5); | 
 |  |  |             $param['day_avg'] = floatval(substr($data['day_avg'], 0, 5)); | 
 |  |  |             $param['date'] = $day; | 
 |  |  |             $param['create_time'] = $time; | 
 |  |  |             $this->daily_model->add($param); | 
 |  |  |             unset($param); | 
 |  |  |             for($i = 1; $i <= 8; $i ++){ | 
 |  |  |                if($i == 1){ | 
 |  |  |                   $start_hour = '00:00:00'; | 
 |  |  |                   $end_hour = '02:59:59'; | 
 |  |  |                } | 
 |  |  |                elseif($i == 8){ | 
 |  |  |                   $start_hour = '21:00:00'; | 
 |  |  |                   $end_hour = '23:59:59'; | 
 |  |  |                } | 
 |  |  |                else{ | 
 |  |  |                   $hour = ($i - 1)*3; | 
 |  |  |                   $start_hour = $hour.':00:00'; | 
 |  |  |                   $end_hour = ($hour + 2).':59:59'; | 
 |  |  |                   if($hour < 10 ){ | 
 |  |  |                      $start_hour = '0'.$start_hour; | 
 |  |  |                   } | 
 |  |  |                   if($hour + 2 < 10){ | 
 |  |  |                      $end_hour = '0'.$end_hour; | 
 |  |  |                   } | 
 |  |  | 						 | 
 |  |  |                } | 
 |  |  |                $hourly_datas = $data_model->aggregate( | 
 |  |  |                   array( | 
 |  |  |                      array( | 
 |  |  |                         '$match' => array('create_time' => array('$gte' => $day.' '.$start_hour, '$lte' => $day.' '.$end_hour)) | 
 |  |  |                      ), | 
 |  |  |                      array( | 
 |  |  |                         '$group' => array('_id' => '$user_id', 'avg' => array('$avg' => '$value')) | 
 |  |  |                      ), | 
 |  |  |                      array( | 
 |  |  |                         '$project' => array('_id' => 0, 'user_id' => '$_id', 'avg' => 1) | 
 |  |  |                      ) | 
 |  |  |                   )	 | 
 |  |  |                ); | 
 |  |  |                if($hourly_datas){ | 
 |  |  |                   foreach ($hourly_datas as $hourly_data) { | 
 |  |  |                      $param['user_id'] = $hourly_data['user_id']; | 
 |  |  |                      $param['hour_avg'] = floatval(substr($hourly_data['avg'], 0, 5)); | 
 |  |  |                      $param['date'] = $day; | 
 |  |  |                      $param['start_hour'] = $start_hour; | 
 |  |  |                      $param['end_hour'] = $end_hour; | 
 |  |  |                      $param['time_level'] = $i; | 
 |  |  |                      $param['create_time'] = $time; | 
 |  |  |                      $this->hourly_model->add($param); | 
 |  |  |                      unset($param); | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |          } | 
 |  |  |          $dailyLog_service = new Service_DailyLog(); | 
 |  |  |          $dailyLog_service->addLog($day); | 
 |  |  |  | 
 |  |  |          return true; | 
 |  |  |       } | 
 |  |  |       else{ | 
 |  |  |          return false; | 
 |  |  |       } | 
 |  |  | 		 | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    /** |