colly_wyx
2018-05-03 b8a82d561917a4336214225f65f4488d977c5fb1
调整平均值
1 files modified
37 ■■■■ changed files
Yfs/Domain/DataDaily.php 37 ●●●● patch | view | raw | blame | history
Yfs/Domain/DataDaily.php
@@ -8,6 +8,7 @@
        //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();
    }
    /**
@@ -56,38 +57,38 @@
     */
    public function getUserDataAvg($user_id, $start_time, $end_time){
       
         if($start_time == $end_time){
             $result = $this->data_three_hourly_model->get(array('date' => $start_time));
             if($result){
                $sum = 0;
                for($i = 1; $i <= 8; $i++){
                    $sum += $result['time_slot_'.$i];
                }
         // 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;
             }
         //        $result[0]['day_avg'] = $sum/8;
         //     }
         //     else{
         //        $result[0]['day_avg'] = 0;
         //     }
             
         }
         else{
            $result = $this->model->aggregate(
         // }
         // 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;
    }
    /**