|
|
|
@ -158,7 +158,7 @@ class EventCalendarService extends BaseService |
|
|
|
DB::beginTransaction(); |
|
|
|
|
|
|
|
$model = EventCalendar::query()->findOrFail($id); |
|
|
|
if ($model['status'] > 0) { |
|
|
|
if ($model['status'] == 1) { |
|
|
|
throw new Exception(__('service.event_calendar.error_status')); |
|
|
|
} |
|
|
|
|
|
|
|
@ -174,7 +174,7 @@ class EventCalendarService extends BaseService |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public function endModel(int $id): bool |
|
|
|
public function endModel(int $id, $user_id): bool |
|
|
|
{ |
|
|
|
try { |
|
|
|
DB::beginTransaction(); |
|
|
|
@ -185,6 +185,7 @@ class EventCalendarService extends BaseService |
|
|
|
} |
|
|
|
$update = [ |
|
|
|
'status' => 2, |
|
|
|
'admin_user_id' => $user_id, |
|
|
|
'updated_at' => get_datetime() |
|
|
|
]; |
|
|
|
$model->update($update); |
|
|
|
@ -209,18 +210,47 @@ class EventCalendarService extends BaseService |
|
|
|
$pattern_id = $data['pattern_id']; |
|
|
|
$end_time = $data['end_time']; |
|
|
|
|
|
|
|
// 将其他模式未结束,在运行中的全部结束 |
|
|
|
$nowWhere = [ |
|
|
|
['status', '=', 1], |
|
|
|
['pattern_id', '<>', $pattern_id] |
|
|
|
]; |
|
|
|
$nowQuery = EventCalendar::query()->where($nowWhere)->first(); |
|
|
|
if ($nowQuery) { |
|
|
|
$model = EventCalendar::query()->findOrFail($nowQuery['id']); |
|
|
|
$nowSave = [ |
|
|
|
'status' => 2, |
|
|
|
'updated_at' => get_datetime(), |
|
|
|
'admin_user_id' => $user_id |
|
|
|
]; |
|
|
|
$oldValues = $model->toArray(); |
|
|
|
// 小于还未到结束时间,自动跳转计划中 |
|
|
|
if ($oldValues['end_time']) { |
|
|
|
if (time() < strtotime($oldValues['end_time'])) { |
|
|
|
$nowSave['status'] = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
$model->update($nowSave); |
|
|
|
$this->logService->logUpdated( |
|
|
|
$model, |
|
|
|
$oldValues, |
|
|
|
'event_calendar.update' |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
$where = [ |
|
|
|
'pattern_id' => $pattern_id, |
|
|
|
'status' => 1 |
|
|
|
['pattern_id', '=', $pattern_id], |
|
|
|
['status', 'in', [0,1]] |
|
|
|
]; |
|
|
|
$query = EventCalendar::query()->where($where)->first(); |
|
|
|
|
|
|
|
$end_time = get_datetime('datetime', strtotime($end_time)); |
|
|
|
$save = [ |
|
|
|
'pattern_id' => $pattern_id, |
|
|
|
'start_time' => get_datetime(), |
|
|
|
'end_time' => get_datetime('datetime', strtotime($end_time)), |
|
|
|
'status' => 1, |
|
|
|
'admin_user_id' => $user_id |
|
|
|
'pattern_id' => $pattern_id, |
|
|
|
'end_time' => $end_time, |
|
|
|
'status' => 1, |
|
|
|
'admin_user_id' => $user_id, |
|
|
|
'is_manual' => 1 |
|
|
|
]; |
|
|
|
|
|
|
|
if ($query) { |
|
|
|
@ -234,6 +264,7 @@ class EventCalendarService extends BaseService |
|
|
|
'event_calendar.update' |
|
|
|
); |
|
|
|
} else { |
|
|
|
$save['start_time'] = get_datetime(); |
|
|
|
$save['created_at'] = get_datetime(); |
|
|
|
$model = EventCalendar::query()->create($save); |
|
|
|
$this->logService->logCreated($model, 'event_calendar.create'); |
|
|
|
@ -255,7 +286,7 @@ class EventCalendarService extends BaseService |
|
|
|
$pattern_id = EventCalendar::query()->where('status', 1)->first(['pattern_id']); |
|
|
|
$columns = ['id as pattern_id', 'name as model_name']; |
|
|
|
if ($pattern_id) { |
|
|
|
$data = ParkingPattern::query()->findOrFail($pattern_id, $columns)->toArray(); |
|
|
|
$data = ParkingPattern::query()->find($pattern_id, $columns)->toArray(); |
|
|
|
} else { |
|
|
|
$data = ParkingPattern::query()->where('is_default', 1)->first($columns); |
|
|
|
} |
|
|
|
|