From 62d6bc507aec5c330bc698e81ad90cc2a130dd93 Mon Sep 17 00:00:00 2001
From: colly_wyx <wangyixiong_007@163.com>
Date: Tue, 17 Apr 2018 15:24:20 +0800
Subject: [PATCH] 更新接口
---
application/library/Service/Daily.php | 48 ----------------
application/models/DataThreeHourly.php | 7 ++
application/library/Service/DataThreeHourly.php | 66 ++++++++++++++++++++++
application/modules/Public/controllers/Data.php | 23 +++++++
4 files changed, 95 insertions(+), 49 deletions(-)
diff --git a/application/library/Service/Daily.php b/application/library/Service/Daily.php
index 5717e37..d4c8a38 100644
--- a/application/library/Service/Daily.php
+++ b/application/library/Service/Daily.php
@@ -31,54 +31,6 @@
$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);
diff --git a/application/library/Service/DataThreeHourly.php b/application/library/Service/DataThreeHourly.php
new file mode 100644
index 0000000..ad81827
--- /dev/null
+++ b/application/library/Service/DataThreeHourly.php
@@ -0,0 +1,66 @@
+<?php
+
+class Service_Data_Three_Hourly extends System_Service_Base{
+
+ public function __construct(){
+ $this->data_three_hourly_model = new DataThreeHourlyModel();
+ }
+
+ public function isSummary($day, $time_level){
+ $result = $this->data_three_hourly_model->get(array('day' => $day, 'time_level' => $time_level));
+ if($result){
+ return true;
+ }
+ else{
+ return false;
+ }
+ }
+
+ public function summary($day, $time_level){
+ if($time_level > 0 && $time_level <= 8){
+ $hourly_model = new DataHourlyModel();
+ $hour = ($time_level - 1)*3;
+ $start_hour = $hour.':00:00';
+ $end_hour = ($hour + 2).':00:00';
+ if($hour < 10 ){
+ $start_hour = '0'.$start_hour;
+ }
+ if($hour + 2 < 10){
+ $end_hour = '0'.$end_hour;
+ }
+
+ $hourly_datas = $hourly_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'] = $time_level;
+ $param['create_time'] = date('Y-m-d');
+ $this->data_three_hourly_model->add($param);
+ unset($param);
+ }
+ }
+ }
+ else{
+ return false;
+ }
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/application/models/DataThreeHourly.php b/application/models/DataThreeHourly.php
new file mode 100644
index 0000000..57585bd
--- /dev/null
+++ b/application/models/DataThreeHourly.php
@@ -0,0 +1,7 @@
+<?php
+
+class DataThreeHourlyModel extends System_Model_Base{
+
+ public $table = "data_three_hourly";
+
+}
\ No newline at end of file
diff --git a/application/modules/Public/controllers/Data.php b/application/modules/Public/controllers/Data.php
index 2d2ab5b..e2bc821 100644
--- a/application/modules/Public/controllers/Data.php
+++ b/application/modules/Public/controllers/Data.php
@@ -32,6 +32,27 @@
die();
}
- }
+
+ public function ThreeHourlyAction(){
+ $data_three_hourly_service = new Service_DataThreeHourly();
+ $day = $this->get('day', date('Y-m-d'));
+ echo $day;
+ if(!$data_three_hourly_service->isSummary($day)){
+ if($data_three_hourly_service->summary($day)){
+ echo "������������";
+ }
+ else{
+ echo "������������";
+ }
+ }
+ else{
+ echo '������������������������������';
+ }
+
+ die();
+
+ }
+
+
\ No newline at end of file
--
Gitblit v1.8.0