public function actionIndex() { $params = $this->getQuery(); if (empty($params['startDate']) || empty($params['endDate']) || empty($params['campaignId'])) { throw new InvalidParameterException('missing params'); } $params['startDate'] = new MongoDate(TimeUtil::ms2sTime($params['startDate'])); $params['endDate'] = new MongoDate(TimeUtil::ms2sTime($params['endDate']) + 3600 * 24); $accountId = $this->getAccountId(); $data = []; if (!empty($params['type'])) { if (!is_array($params['type'])) { $types = [$params['type']]; } else { $types = $params['type']; } } else { $types = self::$types; } //to suport to get all campaign data if (MongoId::isValid($params['campaignId'])) { $params['campaignId'] = new MongoId($params['campaignId']); $data = PromotionCodeAnalysis::getAnalysisData($types, $accountId, $params); } else { $data = StatsPromotionCodeAnalysis::getAnalysisData($types, $accountId, $params); } return $data; }