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(); } /** * 上传数据并保存入redis * @return [type] [description] */ public function upload($data){ $arr = array(); $arr['user_id'] = $data['userid']; $arr['lon'] = $data['lon']; $arr['lat'] = $data['lat']; $arr['address'] = $data['address']; foreach ($data['data'] as $value) { $arr['value'] = (float)$value['value']; $arr['create_time'] = $value['time']; $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 true; //$a = rand(1,100); //DI()->redis->set_lPush('test', $a, 'master'); } /** * 原始数据获取上传 * @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(); } //public function updateTime($data){ // $id = $data['_id']; // unset($data['_id']); // return $this->model->update($data, array('_id' => $id)); //} }