69 lines
2.1 KiB
PHP
69 lines
2.1 KiB
PHP
|
|
<?php
|
|||
|
|
/**
|
|||
|
|
* 系统概览公共控制器
|
|||
|
|
* 提供统一的业务逻辑,供admin和adminghd模块继承使用
|
|||
|
|
*/
|
|||
|
|
namespace app\common\controller;
|
|||
|
|
|
|||
|
|
use app\common\common\BaseController;
|
|||
|
|
use think\Db;
|
|||
|
|
|
|||
|
|
class DashboardBase extends BaseController
|
|||
|
|
{
|
|||
|
|
/**
|
|||
|
|
* 获取统计数据
|
|||
|
|
*/
|
|||
|
|
public function getStatistics()
|
|||
|
|
{
|
|||
|
|
try {
|
|||
|
|
// 获取表名
|
|||
|
|
$userTable = $this->getTableName('user');
|
|||
|
|
$infoTable = $this->getTableName('real_time_info');
|
|||
|
|
$recordTable = $this->getTableName('calculate_record');
|
|||
|
|
|
|||
|
|
// 小程序注册用户数量
|
|||
|
|
$userCount = Db::name($userTable)->count();
|
|||
|
|
|
|||
|
|
// 首页资讯数量
|
|||
|
|
$infoCount = Db::name($infoTable)->count();
|
|||
|
|
|
|||
|
|
// 最近一次计算时间
|
|||
|
|
$lastCalculate = Db::name($recordTable)
|
|||
|
|
->order('create_time desc')
|
|||
|
|
->value('create_time');
|
|||
|
|
|
|||
|
|
// 今日新增用户
|
|||
|
|
$todayUserCount = Db::name($userTable)
|
|||
|
|
->whereTime('create_time', 'today')
|
|||
|
|
->count();
|
|||
|
|
|
|||
|
|
// 总计算次数
|
|||
|
|
$totalCalculateCount = Db::name($recordTable)->count();
|
|||
|
|
|
|||
|
|
return json([
|
|||
|
|
'status' => 1,
|
|||
|
|
'msg' => '获取成功',
|
|||
|
|
'data' => [
|
|||
|
|
'user_count' => $userCount,
|
|||
|
|
'info_count' => $infoCount,
|
|||
|
|
'last_calculate_time' => $lastCalculate ?: '暂无',
|
|||
|
|
'today_user_count' => $todayUserCount,
|
|||
|
|
'total_calculate_count' => $totalCalculateCount
|
|||
|
|
]
|
|||
|
|
]);
|
|||
|
|
} catch (\Exception $e) {
|
|||
|
|
return json([
|
|||
|
|
'status' => 0,
|
|||
|
|
'msg' => '获取失败:' . $e->getMessage(),
|
|||
|
|
'data' => [
|
|||
|
|
'user_count' => 0,
|
|||
|
|
'info_count' => 0,
|
|||
|
|
'last_calculate_time' => '暂无',
|
|||
|
|
'today_user_count' => 0,
|
|||
|
|
'total_calculate_count' => 0
|
|||
|
|
]
|
|||
|
|
]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|