From b46db13909539a50353ab70845dab4bed392325d Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq.com> Date: Thu, 28 May 2026 17:55:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=B7=BB=E5=8A=A0=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=97=B6=E9=97=B4=E9=AA=8C=E8=AF=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/EventCalendarService.php | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/app/Services/EventCalendarService.php b/app/Services/EventCalendarService.php index 1bd0d8b..692cd98 100644 --- a/app/Services/EventCalendarService.php +++ b/app/Services/EventCalendarService.php @@ -61,8 +61,8 @@ class EventCalendarService extends BaseService $end_time = get_datetime('datetime', strtotime($data['end_time'])); // 活动开始时间不能在已有活动时间内 - $this->validateTime($data['pattern_id'], $start_time); - $this->validateTime($data['pattern_id'], $end_time); + $this->validateTime($start_time); + $this->validateTime($end_time); $model = EventCalendar::query()->create([ 'pattern_id' => $data['pattern_id'], @@ -84,15 +84,13 @@ class EventCalendarService extends BaseService } // 验证时间是否在已有模式下存在 - protected function validateTime($pattern_id, $start_time, $id = 0) + protected function validateTime($start_time, $id = 0) { - $where = [['pattern_id', '=', $pattern_id]]; + $model = EventCalendar::query(); if ($id) { - $where[] = ['id', '<>', $id]; + $model->where('id', '<>', $id); } - $exists = EventCalendar::query()->whereIn('status', [0, 1])->where( - $where - ) + $exists = $model->whereIn('status', [0, 1]) ->where(function ($query) use ($start_time) { $query->whereRaw( "'{$start_time}' BETWEEN start_time AND end_time" @@ -118,14 +116,14 @@ class EventCalendarService extends BaseService if (isset($data['status']) && $data['status'] == 0 && isset($data['start_time']) ) { - $start_time = $data['start_time']; - $this->validateTime($data['pattern_id'], $start_time, $id); + $start_time = get_datetime('datetime', strtotime($data['start_time'])); + $this->validateTime($start_time, $id); } $model = EventCalendar::query()->findOrFail($id); $oldValues = $model->toArray(); $end_time = get_datetime('datetime', strtotime($data['end_time'])); - $this->validateTime($data['pattern_id'], $end_time, $id); + $this->validateTime($end_time, $id); $update = [ 'pattern_id' => $data['pattern_id'],