From af9053ffe053e67838b50a3cd2ad910f779ca77e Mon Sep 17 00:00:00 2001 From: colly_wyx <wangyixiong_007@163.com> Date: Thu, 26 Apr 2018 16:56:54 +0800 Subject: [PATCH] 修正BUG --- Yfs/Domain/Data.php | 89 +++++++++++++++++++++++++++----------------- 1 files changed, 55 insertions(+), 34 deletions(-) diff --git a/Yfs/Domain/Data.php b/Yfs/Domain/Data.php index 8a447f1..f018173 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) { + foreach ($data['data'] as $value) { + $arr['value'] = $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'] = 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'])); + print_r($task_date); + if(!$task_date){ + $task_arr['date'] = $arr['date']; + $this->task_model->add($task_arr); + } + + } if(isset($arr['_id'])) unset($arr['_id']); } @@ -33,43 +66,31 @@ } + /** + * ������������������������ + * @return [type] [description] + */ + public function originalUpload(){ + $arr = array(); + $arr['data'] = $data['data']; + $arr['time'] = $data['time']; + $arr['create_time'] = date('Y-m-d H:i:s'); + $this->data_original_model->add($arr); + return true; + } + + 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