From 38d32cf992f9d5aa822bab85281b509a269bf113 Mon Sep 17 00:00:00 2001
From: colly_wyx <wangyixiong_007@163.com>
Date: Thu, 29 Mar 2018 17:20:51 +0800
Subject: [PATCH] 增加平均值及状态
---
Yfs/Api/Data.php | 15 ++++++++++++++-
Yfs/Domain/DataDaily.php | 31 +++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+), 1 deletions(-)
diff --git a/Yfs/Api/Data.php b/Yfs/Api/Data.php
index 36c1ee3..8b0a200 100644
--- a/Yfs/Api/Data.php
+++ b/Yfs/Api/Data.php
@@ -60,8 +60,21 @@
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'] = '������������';
diff --git a/Yfs/Domain/DataDaily.php b/Yfs/Domain/DataDaily.php
index 57cf6f7..6f19bd8 100644
--- a/Yfs/Domain/DataDaily.php
+++ b/Yfs/Domain/DataDaily.php
@@ -38,6 +38,37 @@
}
/**
+ * ������������������������������������������
+ * @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]
--
Gitblit v1.8.0