From 72931ad5110c034b0b197dd1a7ae4d26eeeb7ab2 Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq.com> Date: Wed, 29 Jul 2026 15:56:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=BA=A6=E7=BB=9F=E8=AE=A1=E4=BC=98?= =?UTF-8?q?=E5=8C=965?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/ParkingReservationController.php | 14 +++++++++++--- app/Models/EventCalendar.php | 8 ++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Admin/ParkingReservationController.php b/app/Http/Controllers/Admin/ParkingReservationController.php index 676fec6..dc1e854 100644 --- a/app/Http/Controllers/Admin/ParkingReservationController.php +++ b/app/Http/Controllers/Admin/ParkingReservationController.php @@ -339,14 +339,22 @@ class ParkingReservationController extends BaseController $w = date('w', strtotime($date)); $week_str = __service("reservation.week{$w}"); - $patternId = EventCalendar::getDatePatternId($date); + $patternId = EventCalendar::getDatePatternId( + $date, + $now_date == $date + ); $space_set_name = ''; $member_type_list = []; $space_type_ids = $query->pluck('space_type_id')->toArray(); if ($patternId) { $space_set_name = ParkingPattern::getName($patternId); - $member_type_list = ParkingSpaceType::getData(); - $counts = $space_type_ids ? array_count_values($space_type_ids) : []; + $pattern_space_type_ids + = ParkingPatternSpace::getParkingSpaceTypeIds($patternId); + $member_type_list = ParkingSpaceType::getData( + $pattern_space_type_ids + ); + $counts = $space_type_ids ? array_count_values($space_type_ids) + : []; foreach ($member_type_list as &$item) { $item['count'] = $counts[$item['id']] ?? 0; unset($item['id']); diff --git a/app/Models/EventCalendar.php b/app/Models/EventCalendar.php index 476debc..8eb1972 100644 --- a/app/Models/EventCalendar.php +++ b/app/Models/EventCalendar.php @@ -39,10 +39,14 @@ class EventCalendar extends Model return date('Y-m-d H:i', strtotime($value)); } - public static function getDatePatternId($date) + public static function getDatePatternId($date, $is_now_date) { $date .= date(" H:i:s", time()); - return self::query()->whereIn('status', [0, 1])->where( + $statusArr = [0,1]; + if (!$is_now_date) { + $statusArr[] = 2; + } + return self::query()->whereIn('status', $statusArr)->where( function ($query) use ($date) { $query->whereRaw( "'{$date}' BETWEEN start_time AND end_time"