webman/app/controller/admin/api/v1/DashboardController.php

85 lines
3.0 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\controller\admin\api\v1;
use app\dao\UserDao;
use support\Request;
use App\Utils\ApiResponse;
use App\model\Admin;
use app\model\User;
use app\model\UserPhone;
use hg\apidoc\annotation as Apidoc;
use app\model\Withdraw;
use App\Utils\API\PaymentNew;
/**
* @Apidoc\Title("首页展示数据")
* @Apidoc\Group("admin")
*/
class DashboardController
{
/**
* @Apidoc\Title("1.0 首页展示数据")
* @Apidoc\Url("admin/api/v1/Dashboard/index")
* @Apidoc\Method("POST")
*/
public function index(Request $request)
{
$res = [];
$res['user_total'] = User::count();
$res['user_phone'] = UserPhone::count();
$res['withdraw'] =withdraw::query()->distinct('user_id')->count('user_id'); // 统计不同的 user_id 个数;
$res['user_phone_onlin'] = UserPhone::where('status', 1)->count();
return ApiResponse::success(200, $res);
}
/**
* @Apidoc\Title("1.0 首页用户注册分析")
* @Apidoc\Url("admin/api/v1/Dashboard/useranalysis")
* @Apidoc\Method("POST")
*/
public function useranalysis(Request $request)
{
$res = [];
$res['user_total'] = User::count();
$res['register'] = User::where('f_id',0)->count();
$res['inviteregistration'] =User::where('f_id','>',0)->count(); // 统计不同的 user_id 个数;
return ApiResponse::success(200, $res);
}
/**
* @Apidoc\Title("1.0 首页用户按照时间展示数据")
* @Apidoc\Url("admin/api/v1/Dashboard/useranalysis_time")
* @Apidoc\Method("POST")
*/
public function useranalysis_time(Request $request)
{
/**
* 登录人数 注册人数 提款人数 默认今天
*/
$res = [];
// 获取今天的开始和结束时间
$data = $request->post();
$startOfDay = $data['start_time']; // 今天的开始时间00:00:00
$endOfDay = $data['end_time']; // 今天的结束时间23:59:59
$login = User::whereBetween('login_time', [ $startOfDay, $endOfDay])->count();
$registration = User::whereBetween('created_at', [ \Carbon\Carbon::createFromTimestamp($startOfDay)->toDateTimeString(), \Carbon\Carbon::createFromTimestamp($endOfDay)->toDateTimeString()])->count();
$withdraw=Withdraw::whereBetween('createtime2', [ \Carbon\Carbon::createFromTimestamp($startOfDay)->toDateTimeString(), \Carbon\Carbon::createFromTimestamp($endOfDay)->toDateTimeString()])->count();;
$res['login']=$login;
$res['registration']=$registration;
$res['withdraw']=$withdraw;
return ApiResponse::success(200, $res);
}
/**
* @Apidoc\Title("1.0 查询第三方支付余额")
* @Apidoc\Url("admin/api/v1/Dashboard/shopGetBalance")
* @Apidoc\Method("POST")
*/
public function shopGetBalance(Request $request)
{
$res = [];
$res['AmountAvailable']=PaymentNew::shopGetBalance();
return ApiResponse::success(200, $res);
}
}