| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- /**
- * 系统消息.
- *
- * @author jim <jim458734573@gmail.com>
- * @date 2020-01-31 10:39:38
- */
- declare(strict_types=1);
- namespace App\Repositories;
- use App\Model\CollectionsModel;
- use Carbon\Carbon;
- use Psr\SimpleCache\CacheInterface;
- use App\Model\Mongo\StatisticsModel;
- class StatisticsRepository
- {
- public function oneDayInfo($date)
- {
- $dua = $inc = $allMoney = $coinsMoney = 0;
- $newDate = Carbon::parse($date)->toDateString();
- $options = [
- 'limit' => 1,
- 'sort' => ['date' => -1],
- ];
- $where = [
- 'date' => [
- '$eq' => $newDate,
- ]
- ];
- $items = make(StatisticsModel::class)->db()
- ->find($where, $options)->toArray();
- if (!empty($items[0])) {
- $dua = $items[0]['all_active']; // 日活
- $inc = $items[0]['all_register']; // 新增
- $allMoney = $items[0]['true_price']; // 所有充值
- $coinsMoney = $this->totalOneDayCoinsMoney($date); // 金币充值
- }
- $result = [
- 'dua' => $dua,
- 'inc' => $inc,
- 'all_money' => $allMoney,
- 'coins_money' => $coinsMoney,
- ];
- return $result;
- }
- /**
- * 统计某一天的金币金额
- */
- public function totalOneDayCoinsMoney($date)
- {
- $dateObj = Carbon::parse($date);
- $startObj = (clone $dateObj)->startOfDay();
- $endObj = (clone $dateObj)->endOfDay();
- $money = CollectionsModel::query()->whereBetween('created_at', [$startObj, $endObj])->where('type', 2)->sum('real_amount');
- return $money;
- }
- }
|