From 6e986f878ae7b82b1291a2d368485c30a2e02e86 Mon Sep 17 00:00:00 2001 From: colly_wyx <wangyixiong_007@163.com> Date: Thu, 26 Apr 2018 14:57:07 +0800 Subject: [PATCH] 新增原始数据上传接口 --- Yfs/Domain/Data.php | 74 ++++++++++++++++++++----------------- 1 files changed, 40 insertions(+), 34 deletions(-) diff --git a/Yfs/Domain/Data.php b/Yfs/Domain/Data.php index 8a447f1..b70b495 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,25 @@ $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){ + $this->hourly_model->add($arr); + $task_arr = array(); + if(!in_arrar($task_arr)){ + $task_arr['date'] = $arr['date']; + $this->task_model->add($arr); + } + + } if(isset($arr['_id'])) unset($arr['_id']); } @@ -33,43 +51,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