<?php
|
/**
|
* 用户业务类
|
*/
|
class Domain_Data {
|
|
public function __construct(){
|
//DI()->redis = new Redis_Lite(DI()->config->get('app.redis.servers'));
|
$this->model = new Model_Data();
|
}
|
|
/**
|
* 上传数据并保存入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));
|
$this->model->add($arr);
|
if(isset($arr['_id']))
|
unset($arr['_id']);
|
}
|
return true;
|
//$a = rand(1,100);
|
//DI()->redis->set_lPush('test', $a, 'master');
|
|
}
|
|
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));
|
}
|
|
|
|
}
|