diff --git a/shopxo/app/plugins/vr_ticket/admin/Admin.php b/shopxo/app/plugins/vr_ticket/admin/Admin.php index 6c17a5a..16b3b77 100644 --- a/shopxo/app/plugins/vr_ticket/admin/Admin.php +++ b/shopxo/app/plugins/vr_ticket/admin/Admin.php @@ -441,7 +441,7 @@ class Admin extends Common $ticket_code = input('ticket_code', '', null, 'trim'); // M-05: verifier_id 从 session 获取,禁止客户端伪造 - $admin_user_id = session('admin_user_info.id'); + $admin_user_id = session('admin_login_info.id'); $verifier = \think\facade\Db::name('vr_verifiers') ->where('user_id', $admin_user_id) ->where('status', 1) @@ -1087,6 +1087,36 @@ class Admin extends Common ]); } + /** + * 获取核销统计数据(JSON API) + * URL: /plugins/vr_ticket/admin/TicketStats + */ + public function TicketStats() + { + if (empty(session('admin_login_info.id'))) { + return json_encode(['code' => -1, 'msg' => '无权限']); + } + + $today_start = strtotime('today'); + $total = \think\facade\Db::name('vr_tickets')->count(); + $verified = \think\facade\Db::name('vr_tickets')->where('verify_status', 1)->count(); + $pending = \think\facade\Db::name('vr_tickets')->where('verify_status', 0)->count(); + $today = \think\facade\Db::name('vr_tickets') + ->where('verify_status', 1) + ->where('verify_time', '>=', $today_start) + ->count(); + + return json_encode([ + 'code' => 0, + 'data' => [ + 'total' => $total, + 'verified' => $verified, + 'pending' => $pending, + 'today' => $today, + ] + ]); + } + // ============================================================ // 辅助方法 // ============================================================