<?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'] = $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));
|
//}
|
|
|
|
}
|