|  |  |  | 
|---|
|  |  |  | if($end_time > $start_time){ | 
|---|
|  |  |  | $diff_days = ($end_time - $start_time) / 86400; | 
|---|
|  |  |  | $total_days = $diff_days + 1;//时间段内总天数 | 
|---|
|  |  |  | $step = ($total_days - $total_days % 7) / 7; | 
|---|
|  |  |  | //$step = ($total_days - $total_days % 7) / 7; | 
|---|
|  |  |  | $days_arr=  array(); | 
|---|
|  |  |  | for($i = 0; $i < 7*$step ; $i+=$step){ | 
|---|
|  |  |  | for($i = 0; $i < $total_days ; $i+=1){ | 
|---|
|  |  |  | $days_arr[] = date('Y-m-d', strtotime('+'.$i.' day', $start_time)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | $result = $this->model->getList(array('user_id' => $user_id, 'date' => array('$in' => $days_arr))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else{ | 
|---|
|  |  |  | $result = $this->hourly_model->getList(array('user_id' => $user_id, 'date' => $start_time), array(), array('time_level' => 1)) | 
|---|
|  |  |  | $result = $this->hourly_model->getList(array('user_id' => $user_id, 'date' => date('Y-m-d', $start_time)), array(), array('time_level' => 1)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return $result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取用户某个时间段内的平均值 | 
|---|
|  |  |  | * @param  [type] $user_id    [description] | 
|---|
|  |  |  | * @param  [type] $start_time [description] | 
|---|
|  |  |  | * @param  [type] $end_time   [description] | 
|---|
|  |  |  | * @return [type]             [description] | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public function getUserDataAvg($user_id, $start_time, $end_time){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // if($start_time == $end_time){ | 
|---|
|  |  |  | //     $result = $this->model->get(array('date' => $start_time)); | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // else{ | 
|---|
|  |  |  | $result = $this->model->aggregate( | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | '$match' => array('date' => array('$gte' => $start_time, '$lte' => $end_time), 'user_id' => $user_id) | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | '$group' => array('_id' => '$user_id', 'day_avg' => array('$avg' => '$day_avg')) | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | '$project' => array('_id' => 0, 'day_avg' => 1) | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return isset($result[0]['day_avg'])?$result[0]['day_avg']:0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 验证时间 | 
|---|
|  |  |  | * @param  [type] $start_time [description] | 
|---|
|  |  |  | * @param  [type] $end_time   [description] | 
|---|