Example #1
0
File: Counter.php Project: apuc/api
 private function getCountAll($type, $kind, $cacheTime)
 {
     $result = Order::getDb()->cache(function () use($kind) {
         return Order::find(['status' => [Order::DONE, Order::DONE_AND_HIDE]])->where(['kind' => $kind])->sum('members_count');
     }, $cacheTime);
     return $result;
 }
Example #2
0
 public function actionGet()
 {
     //todo поправить костыль
     $done = Order::find(['status' => [Order::DONE, Order::DONE_AND_HIDE]])->count();
     $like = StatisticsMenu::getCount(1);
     $subscriber = StatisticsMenu::getCount(3);
     $repost = StatisticsMenu::getCount(4);
     $wrap = Wrap::getStat();
     $data['stat_done_vk'] = $done + $wrap->done_wrap_vk;
     $data['stat_like_vk'] = $like + $wrap->like_wrap_vk;
     $data['stat_repost_vk'] = $repost + $wrap->repost_wrap_vk;
     $data['stat_subscriber_vk'] = $subscriber + $wrap->subscriber_wrap_vk;
     echo json_encode($data);
 }
Example #3
0
 private function getStatisticsAll()
 {
     $cacheTime = \Yii::$app->params['statsWidgetCacheTime'];
     $statAll = '';
     if (\Yii::$app->cache->exists('statTwitAll')) {
         $statAll = \Yii::$app->cache->get('statTwitAll');
     } else {
         $doneAll = Order::getDb()->cache(function () {
             return Order::find(['status' => [Order::DONE, Order::DONE_AND_HIDE]])->leftJoin('service', 'service.id = order.service_id')->where('service.network = ' . Service::TWITTER)->sum('order.sum');
         }, $cacheTime);
         $retwitAll = $this->getCountAll('retwitAll', Service::RETWIT_TWITTER, $cacheTime);
         $subscriberAll = $this->getCountAll('subscriberAll', Service::SUBSCRIBER_TWITTER, $cacheTime);
         $favoriteAll = $this->getCountAll('favoriteAll', Service::FAVORITE_TWITTER, $cacheTime);
         $sumAll = Order::getDb()->cache(function () {
             return Order::find()->leftJoin('service', 'service.id = order.service_id')->where('service.network = ' . Service::TWITTER)->sum('sum');
         }, $cacheTime);
         $statAll = ['doneAll' => isset($doneAll) ? $doneAll : 0, 'retwitAll' => isset($retwitAll) ? $retwitAll : 0, 'subscriberAll' => isset($subscriberAll) ? $subscriberAll : 0, 'favoriteAll' => isset($favoriteAll) ? $favoriteAll : 0, 'sumAll' => isset($sumAll) ? $sumAll : 0];
         \Yii::$app->cache->set('statTwitAll', $statAll);
     }
     return $statAll;
 }
Example #4
0
 private function getStatisticsAll()
 {
     $cacheTime = \Yii::$app->params['statsWidgetCacheTime'];
     $statAll = '';
     if (\Yii::$app->cache->exists('statInsAll')) {
         $statAll = \Yii::$app->cache->get('statInsAll');
     } else {
         $doneAll = Order::getDb()->cache(function () {
             return Order::find(['status' => [Order::DONE, Order::DONE_AND_HIDE]])->leftJoin('service', 'service.id = order.service_id')->where('service.network = ' . Service::INSTAGRAM)->sum('order.sum');
         }, $cacheTime);
         $likeAll = $this->getCountAll('likeAll', Service::LIKE_INSTAGRAM, $cacheTime);
         $subscriberAll = $this->getCountAll('subscriberAll', Service::SUBSCRIBER_INSTAGRAM, $cacheTime);
         $sumAll = Order::getDb()->cache(function () {
             return Order::find()->leftJoin('service', 'service.id = order.service_id')->where('service.network = ' . Service::INSTAGRAM)->sum('sum');
         }, $cacheTime);
         $statAll = ['doneAll' => isset($doneAll) ? $doneAll : 0, 'likeAll' => isset($likeAll) ? $likeAll : 0, 'subscriberAll' => isset($subscriberAll) ? $subscriberAll : 0, 'sumAll' => isset($sumAll) ? $sumAll : 0];
         \Yii::$app->cache->set('statInsAll', $statAll);
     }
     return $statAll;
 }
Example #5
0
 public static function getCount($kind)
 {
     $result = Order::find(['status' => [Order::DONE, Order::DONE_AND_HIDE]])->where(['>', 'date', mktime(strftime('-1 day', time()))])->andWhere(['kind' => $kind])->sum('members_count');
     return $result;
 }
Example #6
0
 private function getStatisticsAll()
 {
     $cacheTime = 60 * 60 * 24;
     $statAll = '';
     if (\Yii::$app->cache->exists('statVKAll')) {
         $statAll = \Yii::$app->cache->get('statVKAll');
     } else {
         $doneAll = Order::getDb()->cache(function () {
             return Order::find(['status' => [Order::DONE, Order::DONE_AND_HIDE]])->leftJoin('service', 'service.id = order.service_id')->where('service.network = ' . Service::VK)->count();
         }, $cacheTime);
         $likeAll = $this->getCountAll('likeAll', 1, $cacheTime);
         $friendAll = $this->getCountAll('friendAll', 2, $cacheTime);
         $subscriberAll = $this->getCountAll('subscriberAll', 3, $cacheTime);
         $repostAll = $this->getCountAll('repostAll', 4, $cacheTime);
         $commentAll = $this->getCountAll('commentAll', 5, $cacheTime);
         $interviewAll = $this->getCountAll('interviewAll', 6, $cacheTime);
         $sumAll = Order::getDb()->cache(function () {
             return Order::find()->leftJoin('service', 'service.id = order.service_id')->where('service.network = ' . Service::VK)->sum('sum');
         }, $cacheTime);
         $statAll = ['doneAll' => isset($doneAll) ? $doneAll : 0, 'likeAll' => isset($likeAll) ? $likeAll : 0, 'repostAll' => isset($repostAll) ? $repostAll : 0, 'subscriberAll' => isset($subscriberAll) ? $subscriberAll : 0, 'friendAll' => isset($friendAll) ? $friendAll : 0, 'commentAll' => isset($commentAll) ? $commentAll : 0, 'interviewAll' => isset($interviewAll) ? $interviewAll : 0, 'sumAll' => isset($sumAll) ? $sumAll : 0];
         \Yii::$app->cache->set('statVKAll', $statAll);
     }
     return $statAll;
 }