| <?php | 
|   | 
| class Service_Daily extends System_Service_Base{ | 
|   | 
|     public function __construct(){ | 
|         $this->daily_model = new DailyModel(); | 
|     } | 
|   | 
|     public function summary($day){ | 
|         $data_model = new DataModel(); | 
|         $datas = $data_model->aggregate( | 
|             array( | 
|                 array( | 
|                     '$match' => array('create_time' => array('$gte' => $day.' 00:00:00', '$lte' => $day.' 23:59:59')) | 
|                 ), | 
|                 array( | 
|                     '$group' => array('_id' => '$user_id', 'day_avg' => array('$avg' => '$value')) | 
|                 ), | 
|                 array( | 
|                     '$project' => array('_id' => 0, 'user_id' => '$_id', 'day_avg' => 1) | 
|                 ) | 
|             )     | 
|         ); | 
|         if($datas){ | 
|             $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['date'] = $day; | 
|                 $param['create_time'] = $time; | 
|                 $this->daily_model->add($param); | 
|                 unset($param); | 
|             } | 
|             $dailyLog_service = new Service_DailyLog(); | 
|             $dailyLog_service->addLog($day); | 
|             return true; | 
|         } | 
|         else{ | 
|             return false; | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 获取用户某个时间段内的数据 | 
|      * @param  [type] $user_id    [description] | 
|      * @param  [type] $start_time [description] | 
|      * @param  [type] $end_time   [description] | 
|      * @return [type]             [description] | 
|      */ | 
|     public function getUserDataList($user_id, $days_arr){ | 
|         $user_dailys = $this->daily_model->getList(array('user_id' => $user_id, 'date' => array('$in' => $days_arr)), array(), array('_id' => 1)); | 
|         return $user_dailys; | 
|     } | 
|   | 
|   | 
|   | 
|   | 
| } |