| <?php | 
| /** | 
|  * 用户业务类 | 
|  */ | 
| class Domain_Data { | 
|   | 
|     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(); | 
|     } | 
|   | 
|     /** | 
|      * 上传数据并保存入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)); | 
|     //} | 
|   | 
|      | 
|   | 
| } |