2025-02-20 08:39:49 +08:00
|
|
|
|
<?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;
|
2025-02-20 21:04:39 +08:00
|
|
|
|
use App\Utils\API\PaymentNew;
|
2025-02-20 08:39:49 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Apidoc\Title("首页展示数据")
|
|
|
|
|
* @Apidoc\Group("admin")
|
|
|
|
|
*/
|
|
|
|
|
class DashboardController
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @Apidoc\Title("1.0 首页展示数据")
|
|
|
|
|
* @Apidoc\Url("admin/api/v1/Dashboard/index")
|
|
|
|
|
* @Apidoc\Method("POST")
|
|
|
|
|
*/
|
2025-02-20 13:34:14 +08:00
|
|
|
|
public function index(Request $request)
|
2025-02-20 08:39:49 +08:00
|
|
|
|
{
|
|
|
|
|
$res = [];
|
|
|
|
|
$res['user_total'] = User::count();
|
|
|
|
|
$res['user_phone'] = UserPhone::count();
|
2025-02-20 13:34:14 +08:00
|
|
|
|
$res['withdraw'] =withdraw::query()->distinct('user_id')->count('user_id'); // 统计不同的 user_id 个数;
|
2025-02-20 08:39:49 +08:00
|
|
|
|
$res['user_phone_onlin'] = UserPhone::where('status', 1)->count();
|
|
|
|
|
return ApiResponse::success(200, $res);
|
|
|
|
|
}
|
2025-02-20 13:34:14 +08:00
|
|
|
|
/**
|
|
|
|
|
* @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 = [];
|
2025-02-20 21:00:55 +08:00
|
|
|
|
|
|
|
|
|
// 获取今天的开始和结束时间
|
|
|
|
|
$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;
|
2025-02-20 13:34:14 +08:00
|
|
|
|
return ApiResponse::success(200, $res);
|
|
|
|
|
}
|
2025-02-20 21:04:39 +08:00
|
|
|
|
/**
|
|
|
|
|
* @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);
|
|
|
|
|
}
|
2025-02-20 08:39:49 +08:00
|
|
|
|
}
|