From e4d5467f055ece8cc9dfdc02dd836bcc187034a5 Mon Sep 17 00:00:00 2001
From: colly_wyx <wangyixiong_007@163.com>
Date: Wed, 13 Jun 2018 10:15:57 +0800
Subject: [PATCH] 替换铃音

---
 Yfs/Domain/Data.php |  101 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 66 insertions(+), 35 deletions(-)

diff --git a/Yfs/Domain/Data.php b/Yfs/Domain/Data.php
index 8a447f1..9ed9c3c 100644
--- a/Yfs/Domain/Data.php
+++ b/Yfs/Domain/Data.php
@@ -7,6 +7,10 @@
     public function __construct(){
         //DI()->redis = new Redis_Lite(DI()->config->get('app.redis.servers'));
        $this->model = new Model_Data();
+       $this->hourly_model = new Model_DataHourly();
+       $this->warn_model = new Model_DataWarn();
+       $this->task_model = new Model_Task();
+       $this->data_original_model = new Model_DataOriginal();
     }
 
     /**
@@ -19,11 +23,40 @@
         $arr['lon'] = $data['lon'];
         $arr['lat'] = $data['lat'];
         $arr['address'] = $data['address'];
-        foreach ($data['data'] as $value) { 
-            $arr['value'] = $value['value'];
+        foreach ($data['data'] as $value) {
+
+            $arr['value'] = (float)$value['value'];
             $arr['create_time'] = $value['time'];
-            $arr['date'] = date('Y-m-d', strtotime($value));
-            $this->model->add($arr);
+            $arr['date'] = date('Y-m-d', strtotime($value['time']));
+            if($value['type'] == 0){
+                $this->model->add($arr);
+                if($value['is_warn'] == 1){
+                    $this->warn_model->add($arr);
+                }
+            }
+            elseif($value['type'] == 1){
+
+                $arr['hour'] = (int)date('H', strtotime($value['time']));
+                $hourly = $this->hourly_model->get(array('hour' => $arr['hour'], 'date' => $arr['date'], 'user_id' => $arr['user_id']));
+
+                if($hourly){
+                    $_id = $hourly['_id'];
+                    //������������������
+                    $hourly = $arr;
+                    $this->hourly_model->update($hourly, array('_id' => $_id));
+                }
+                else{
+                    $this->hourly_model->add($arr);
+                }
+                $task_arr = array();
+                $task_date = $this->task_model->get(array('date' => $arr['date'], 'user_id' => $arr['user_id']));
+                if(!$task_date){
+                   $task_arr['date'] = $arr['date'];
+                   $task_arr['user_id'] = $arr['user_id'];
+                   $this->task_model->add($task_arr); 
+                }
+                
+            }
             if(isset($arr['_id']))
                 unset($arr['_id']);
         }
@@ -33,43 +66,41 @@
 
     }
 
+    /**
+     * ������������������������
+     * @return [type] [description]
+     */
+    public function originalUpload($param){
+        $arr = array();
+        if(!empty($param->data)){
+          $data = $param->data;        
+        }
+        else{
+          $data = $param->data_1;
+        }
+
+        $arr['data'] = $data;
+        $arr['time'] = $param->time;
+        $arr['user_id'] = $param->user_id;
+        $arr['create_time'] = date('Y-m-d H:i:s');   
+        if($this->data_original_model->add($arr))
+            return true;
+        else
+            return false;
+    }
+
+
     public function getList(){
         return $this->model->getList();
     }
 
-    /**
-     * ���������������������������������������
-     * @param  [type] $user_id    [description]
-     * @param  [type] $start_time [description]
-     * @param  [type] $end_time   [description]
-     * @return [type]             [description]
-     */
-    public function getUserDataList($user_id, $start_time, $end_time){
-        $result = $this->model->aggregate(
-            array(
-                array(
-                   '$match' => array('create_time' => array('$gte' => $start_time.' 00:00:00', '$lte' => $end_time.' 23:59:59'), 'user_id' => $user_id)
-                ),
-                array(
-                    '$group' => array('_id' => '$date', 'day' => array('$avg' => '$value'))
-                ),
-                array(
-                    '$project' => array('_id' => 0, 'date'=> '$_id', 'day' => 1)
-                )
-            )
-        );
-        
-        print_r($result);
-        die();
-        return $this->model->getList(array('user_id' => $user_id, 'create_time' => array('$gte' => $start_time, '$lte' => $end_time)));
-    }
 
 
-    public function updateTime($data){
-        $id = $data['_id'];
-        unset($data['_id']);
-        return $this->model->update($data, array('_id' => $id));
-    }
+    //public function updateTime($data){
+    //    $id = $data['_id'];
+   //     unset($data['_id']);
+   //     return $this->model->update($data, array('_id' => $id));
+    //}
 
     
 

--
Gitblit v1.8.0