Exemplo n.º 1
0
 public function actionEngagement()
 {
     $params = $this->getQuery();
     if (empty($params['year'])) {
         throw new BadRequestHttpException(Yii::t('common', 'parameters_missing'));
     }
     $accountId = $this->getAccountId();
     $startDate = $params['year'] . '-01';
     $endDate = $params['year'] . '-12';
     $statsGrowth = StatsMemberGrowthMonthly::getByMonth($accountId, $startDate, $endDate);
     $monthActiveMap = [];
     foreach ($statsGrowth as $growth) {
         $monthActiveMap[$growth->month] = $growth->totalActive;
     }
     $dates = [];
     $data = [];
     $dateTime = strtotime($startDate);
     $endTime = strtotime($endDate);
     while ($dateTime <= $endTime) {
         $date = date('Y-m', $dateTime);
         $dates[] = date('M', $dateTime);
         $data[] = empty($monthActiveMap[$date]) ? 0 : $monthActiveMap[$date];
         $dateTime = strtotime('+1 month', $dateTime);
     }
     return ['date' => $dates, 'data' => $data];
 }