colly_wyx
2018-04-28 066fffc3e2d8107df55dd41d4d50dbe5b69886b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?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($param){
        $arr = array();
        if(!empty($param->data)){
          $data = $param->data;        
        }
        else{
          $data = $param->data_1;
        }
 
        $arr['data'] = $data;
        $arr['time'] = $param->time;
        $arr['user_id'] = $param->user_id;
        $arr['create_time'] = date('Y-m-d H:i:s');   
        if($this->data_original_model->add($arr))
            return true;
        else
            return false;
    }
 
 
    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));
    //}
 
    
 
}