| | |
| | | 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(); |
| | | } |
| | | |
| | | /** |
| | |
| | | $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'])); |
| | | if(!$task_date){ |
| | | $task_arr['date'] = $arr['date']; |
| | | $this->task_model->add($task_arr); |
| | | } |
| | | |
| | | } |
| | | if(isset($arr['_id'])) |
| | | unset($arr['_id']); |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 原始数据获取上传 |
| | | * @return [type] [description] |
| | | */ |
| | | public function originalUpload($data){ |
| | | $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)); |
| | | //} |
| | | |
| | | |
| | | |