平台统计

main
fengxinyhyl 11 months ago
parent 7ec28298de
commit 22fb498980
  1. 4
      app/common/dao/user/UserAssetsDao.php
  2. 4
      app/common/dao/user/UserAssetsLogDao.php
  3. 5
      app/common/repositories/user/UserAssetsLogRepository.php
  4. 9
      app/common/repositories/user/UserAssetsRepository.php
  5. 114
      app/controller/admin/Common.php
  6. 2
      public/system.html
  7. 3
      route/admin/system.php

@ -42,4 +42,8 @@ class UserAssetsDao extends BaseDao
public function getTotalHuitong(){
return UserAssets::sum('huitong');
}
public function getSum($field){
return UserAssets::sum($field);
}
}

@ -57,5 +57,9 @@ class UserAssetsLogDao extends BaseDao
return UserAssetsLog::where('order_id', $orderId)->update(array('status' => $status));
}
public function getSum($where){
return UserAssetsLog::where($where)->sum('count');
}
}

@ -764,4 +764,9 @@ class UserAssetsLogRepository extends BaseRepository
}
return compact('count', 'list');
}
public function getSum($where){
return $this->dao->getSum($where);
}
}

@ -361,4 +361,13 @@ class UserAssetsRepository extends BaseRepository
$assets = $this->assets($uid);
$this->dao->update($uid, array('consume' => $assets['consume'] + $consume));
}
public function getSum($field){
return $this->dao->getSum($field);
}
public function getWhereCount($where){
return $this->dao->getWhereCount($where);
}
}

@ -21,6 +21,8 @@ use app\common\repositories\system\config\ConfigRepository;
use app\common\repositories\system\config\ConfigValueRepository;
use app\common\repositories\system\merchant\MerchantCategoryRepository;
use app\common\repositories\system\merchant\MerchantRepository;
use app\common\repositories\user\UserAssetsLogRepository;
use app\common\repositories\user\UserAssetsRepository;
use app\common\repositories\user\UserRepository;
use app\common\repositories\user\UserVisitRepository;
use crmeb\basic\BaseController;
@ -57,6 +59,118 @@ class Common extends BaseController
return app('json')->success($res);
}
public function allData(){
$ret = array(
'huitong' => array( // 惠通宝
'total' => 0,// 总数
'available' => 0,// 可用
'frozen' => 0,// 冻结
'burned' => 0,// 燃烧
'total_yesterday' => 0,// 昨日总数
'burned_yesterday' => 0,// 昨日燃烧
),
'welfare' => array( // 福利积分
'total' => 0,// 总数
'available' => 0,// 可用
'frozen' => 0,// 冻结
'total_yesterday' => 0,// 昨日总数
'platform' => 0,// 平台福利积分总数
),
'consume' => array( // 消费积分
'total' => 0,// 总数
'available' => 0,// 可用
'frozen' => 0,// 冻结
'total_yesterday' => 0,// 昨日总数
),
'contribution' => array( // 贡献值
'total' => 0,// 总数
'available' => 0,// 可用
'frozen' => 0,// 冻结
'total_yesterday' => 0,// 昨日总数
),
'share_point' => array( // 分红点
'total' => 0,// 分红点总数
'user_total' => 0,// 分红点用户数
'user_yesterday' => 0,// 昨日新增用户数
'total_yesterday' => 0,// 作日新增分红点数
),
);
/**
* @var UserAssetsRepository $assetsRepository
*/
$assetsRepository = app()->make(UserAssetsRepository::class);
/**
* @var UserAssetsLogRepository $assetsLogRepository
*/
$assetsLogRepository = app()->make(UserAssetsLogRepository::class);
// 惠通宝
$huitongWhere = array();
$huitongWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_HUITONG);
$huitongWhere[] = array('type', 'in', [UserAssetsLogRepository::CHANGE_TYPE_ORDER, UserAssetsLogRepository::CHANGE_TYPE_CULTIVATE, UserAssetsLogRepository::CHANGE_TYPE_SPREAD_GET]);
$huitongBurnedWhere = array();
$huitongBurnedWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_HUITONG);
$huitongBurnedWhere[] = array('type', '=', UserAssetsLogRepository::CHANGE_TYPE_HUITONG);
$timeWhere = array();
$timeWhere[] = array('create_time', '>=', date('Y-m-d', strtotime('-1 day')));
$timeWhere[] = array('create_time', '<', date('Y-m-d'));
$ret['huitong'] = array(
'total' => $assetsLogRepository->getSum($huitongWhere),
'available' => $assetsRepository->getSum('huitong'),
'frozen' => $assetsRepository->getSum('huitong_frozen'),
'burned' => abs($assetsLogRepository->getSum($huitongBurnedWhere)),
'total_yesterday' => $assetsLogRepository->getSum(array_merge($huitongWhere, $timeWhere)),
'burned_yesterday' => $assetsLogRepository->getSum(array_merge($huitongBurnedWhere, $timeWhere)),
);
// 福利积分
$welfareWhere = array();
$welfareWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_WELFARE);
$welfareWhere[] = array('type', 'in', [UserAssetsLogRepository::CHANGE_TYPE_ORDER, UserAssetsLogRepository::CHANGE_TYPE_CULTIVATE, UserAssetsLogRepository::CHANGE_TYPE_SPREAD_GET, UserAssetsLogRepository::CHANGE_TYPE_AGENT]);
$ret['welfare'] = array(
'total' => $assetsLogRepository->getSum($welfareWhere),
'available' => $assetsRepository->getSum('welfare'),
'frozen' => $assetsRepository->getSum('welfare_frozen'),
'total_yesterday' => $assetsLogRepository->getSum(array_merge($welfareWhere, $timeWhere)),
'platform' => $assetsLogRepository->getSum(array('asset_type' => UserAssetsLogRepository::ASSET_TYPE_WELFARE, 'uid' => 0, 'mer_id' => 0)),
);
// 消费积分
$consumeWhere = array();
$consumeWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_CONSUME);
$ret['consume'] = array(
'total' => $assetsLogRepository->getSum($consumeWhere),
'available' => $assetsRepository->getSum('consume'),
'frozen' => $assetsRepository->getSum('consume_frozen'),
'total_yesterday' => $assetsLogRepository->getSum(array_merge($consumeWhere, $timeWhere)),
);
// 贡献值
$contributionWhere = array();
$contributionWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_CONTRIBUTION);
$ret['contribution'] = array(
'total' => $assetsLogRepository->getSum($contributionWhere),
'available' => $assetsRepository->getSum('contribution'),
'frozen' => $assetsRepository->getSum('contribution_frozen'),
'total_yesterday' => $assetsLogRepository->getSum(array_merge($contributionWhere, $timeWhere)),
);
// 分红点
$sharePointWhere = array();
$sharePointWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_SHARE_POINT);
$sharePointWhere[] = array('type', '=', UserAssetsLogRepository::CHANGE_TYPE_SHARE_EXCHANGE);
$ret['share_point'] = array(
'total' => $assetsRepository->getSum('share_point'),
'user_total' => $assetsRepository->getWhereCount([array('share_point', '>', 0)]),
'user_yesterday' => $assetsRepository->getWhereCount([array('share_point', '>', 0), array('share_point_time', '>=', strtotime(date('Y-m-d'))-86400), array('share_point_time', '<', strtotime(date('Y-m-d')))]),
'total_yesterday' => $assetsLogRepository->getSum(array_merge($sharePointWhere, $timeWhere)),
);
return app('json')->success($ret);
}
/**
* TODO 上传视频key
* @return \think\response\Json

File diff suppressed because one or more lines are too long

@ -59,6 +59,9 @@ Route::group(function () {
Route::get('user_data', '/userData')->name('systemStatisticsUserData')->option([
'_alias' => '用户数据',
]);
Route::get('all_data', '/allData')->name('systemStatisticsAllData')->option([
'_alias' => '平台数据',
]);
})->prefix('admin.Common')->option([
'_path' => '/dashboard',
'_auth' => true,

Loading…
Cancel
Save