public function actionIndex($accountId) { if (empty($accountId)) { echo 'accountId is invaild' . PHP_EOL; exit; } $where['accountId'] = new \MongoId($accountId); // delete member info Member::getCollection()->remove($where); //delete MemberLogs MemberLogs::getCollection()->remove($where); //delete scoreHistory ScoreHistory::getCollection()->remove($where); //delete CampaignLog CampaignLog::getCollection()->remove($where); //delete GoodsExchangeLog GoodsExchangeLog::getCollection()->remove($where); //delete MemberStatistics MemberStatistics::getCollection()->remove($where); //delete ReMemberCampaign ReMemberCampaign::getCollection()->remove($where); //delete StatsCampaignProductCodeQuarterly StatsCampaignProductCodeQuarterly::getCollection()->remove($where); //delete StatsMemberCampaignLogDaily StatsMemberCampaignLogDaily::getCollection()->remove($where); //delete StatsMemberDaily StatsMemberDaily::getCollection()->remove($where); //delete StatsMemberGrowthMonthly StatsMemberGrowthMonthly::getCollection()->remove($where); //delete StatsMemberGrowthQuarterly StatsMemberGrowthQuarterly::getCollection()->remove($where); //delete StatsMemberMonthly StatsMemberMonthly::getCollection()->remove($where); //delete StatsMemberPropAvgTradeQuarterly StatsMemberPropAvgTradeQuarterly::getCollection()->remove($where); //delete StatsMemberPropMonthly StatsMemberPropMonthly::getCollection()->remove($where); //delete StatsMemberPropQuaterly StatsMemberPropQuaterly::getCollection()->remove($where); //delete StatsMemberPropTradeCodeAvgQuarterly StatsMemberPropTradeCodeAvgQuarterly::getCollection()->remove($where); //delete StatsMemberPropTradeCodeQuarterly StatsMemberPropTradeCodeQuarterly::getCollection()->remove($where); //delete StatsMemberPropTradeQuarterly StatsMemberPropTradeQuarterly::getCollection()->remove($where); //delete PromotionCodeAnalysis PromotionCodeAnalysis::getCollection()->remove($where); //delete order Order::getCollection()->remove($where); //delete stats member order StatsMemberOrder::getCollection()->remove($where); //delete stats order StatsOrder::getCollection()->remove($where); //delete MembershipDiscount MembershipDiscount::getCollection()->remove($where); //delete couponLog CouponLog::getCollection()->remove($where); echo 'delete data successful.' . PHP_EOL; }
public function perform() { $args = $this->args; $date = empty($args['date']) ? '' : $args['date']; $datetime = TimeUtil::getDatetime($date); $accountId = $args['accountId']; return ModelStatsCampaignProductCodeQuarterly::generateByYearAndQuarter($accountId, $datetime); }
public function actionProduct() { $params = $this->getQuery(); if (empty($params['year']) || empty($params['quarter'])) { throw new BadRequestHttpException(Yii::t('common', 'parameters_missing')); } $accountId = $this->getAccountId(); $raw = StatsCampaignProductCodeQuarterly::getByYearAndQuarter($params['year'], $params['quarter'], $accountId); $products = []; $data = []; foreach ($raw as $item) { $products[] = $item['productName']; $data[] = $item['total']; } return ['products' => $products, 'data' => $data]; }
public static function generateStatsCampaignProductCodeQuarterlyData($condition) { $campaignLogDailys = StatsMemberCampaignLogDaily::getCollection()->aggregate([['$match' => $condition], ['$group' => ['_id' => ['productId' => '$productId'], 'total' => ['$sum' => 1]]]]); if (!empty($campaignLogDailys)) { $productIds = StatsMemberCampaignLogDaily::distinct('productId', $condition); $products = Product::findAll(['_id' => ['$in' => $productIds]]); $productNames = []; foreach ($products as $product) { $productNames[(string) $product->_id] = $product->name; } foreach ($campaignLogDailys as $campaignLogDaily) { $productId = $campaignLogDaily['_id']['productId']; $rows[] = ['productId' => $productId, 'productName' => isset($productNames[(string) $productId]) ? $productNames[(string) $productId] : '', 'total' => $campaignLogDaily['total'], 'year' => $condition['year'], 'quarter' => $condition['quarter'], 'accountId' => $condition['accountId']]; } StatsCampaignProductCodeQuarterly::batchInsert($rows); } }