|  |  |  | 
|---|
|  |  |  | //DI()->redis = new Redis_Lite(DI()->config->get('app.redis.servers')); | 
|---|
|  |  |  | $this->model = new Model_DataDaily(); | 
|---|
|  |  |  | $this->data_three_hourly_model = new Model_DataThreeHourly(); | 
|---|
|  |  |  | $this->data_hourly_model = new Model_DataHourly(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public function getUserDataAvg($user_id, $start_time, $end_time){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // if($start_time == $end_time){ | 
|---|
|  |  |  | //     $result = $this->model->get(array('date' => $start_time)); | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // else{ | 
|---|
|  |  |  | $result = $this->model->aggregate( | 
|---|
|  |  |  | // if($start_time == $end_time){ | 
|---|
|  |  |  | //     $result = $this->data_hourly_model->get(array('date' => $start_time)); | 
|---|
|  |  |  | //     if($result){ | 
|---|
|  |  |  | //        $sum = 0; | 
|---|
|  |  |  | //        for($i = 1; $i <= 8; $i++){ | 
|---|
|  |  |  | //            $sum += $result['time_slot_'.$i]; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        $result[0]['day_avg'] = $sum/8; | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | //     else{ | 
|---|
|  |  |  | //        $result[0]['day_avg'] = 0; | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // else{ | 
|---|
|  |  |  | $result = $this->data_hourly_model->aggregate( | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | '$match' => array('date' => array('$gte' => $start_time, '$lte' => $end_time), 'user_id' => $user_id) | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | '$group' => array('_id' => '$user_id', 'day_avg' => array('$avg' => '$day_avg')) | 
|---|
|  |  |  | '$group' => array('_id' => '$user_id', 'day_avg' => array('$avg' => '$value')) | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | array( | 
|---|
|  |  |  | '$project' => array('_id' => 0, 'day_avg' => 1) | 
|---|
|  |  |  | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return isset($result[0]['day_avg'])?$result[0]['day_avg']:0; | 
|---|
|  |  |  | return isset($result[0]['day_avg'])?floatval(substr($result[0]['day_avg'], 0, 5)):0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|