| | |
| | | $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); |