| | |
| | | if($this->start_time == $this->end_time || $data_daily_service->checkTime($this->start_time, $this->end_time)){ |
| | | $result = $data_daily_service->getUserDataList($this->user_id, $this->start_time, $this->end_time); |
| | | if($result){ |
| | | $res_avg = $data_daily_service->getUserDataAvg($this->user_id, $this->start_time, $this->end_time); |
| | | if($res_avg < 0.25){ |
| | | $res_status = '安全'; |
| | | } |
| | | elseif($res_avg >= 0.25 && $res_avg < 0.8){ |
| | | $res_status = '轻微'; |
| | | } |
| | | elseif($res_avg >= 8 && $res_avg < 2){ |
| | | $res_status = '中度'; |
| | | } |
| | | else{ |
| | | $res_status = '严重'; |
| | | } |
| | | $rs['msg'] = '数据获取成功'; |
| | | $rs['info'] = $result; |
| | | $rs['info'] = array('data' => $result, 'avg' => $res_avg, 'status' => $res_status); |
| | | } |
| | | else{ |
| | | $rs['msg'] = '没有数据'; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取用户某个时间段内的平均值 |
| | | * @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', 'avg' => array('$avg' => '$day_avg')) |
| | | ), |
| | | array( |
| | | '$project' => array('_id' => 0, 'avg' => 1) |
| | | ) |
| | | ) |
| | | ); |
| | | } |
| | | return $result[0]['avg']; |
| | | } |
| | | |
| | | /** |
| | | * 验证时间 |
| | | * @param [type] $start_time [description] |
| | | * @param [type] $end_time [description] |