Browse Source

活动行事历优化

master
wanghongjun 3 weeks ago
parent
commit
77796c0774
  1. 10
      app/Http/Controllers/Admin/EventCalendarController.php
  2. 7
      app/Models/ParkingPattern.php
  3. 27
      app/Services/EventCalendarService.php
  4. 3
      resources/lang/en/service.php
  5. 3
      resources/lang/en/validation.php
  6. 3
      resources/lang/zh-CN/service.php
  7. 3
      resources/lang/zh-CN/validation.php
  8. 3
      resources/lang/zh-TW/service.php
  9. 3
      resources/lang/zh-TW/validation.php

10
app/Http/Controllers/Admin/EventCalendarController.php

@ -54,7 +54,7 @@ class EventCalendarController extends BaseController
if ($request->has('status')) {
$status = $request->input('status');
if ($status) {
if (is_numeric($status)) {
$query->where('status', $status);
}
}
@ -224,6 +224,14 @@ class EventCalendarController extends BaseController
if ($validator->fails()) {
throw new ValidationException($validator);
}
if (isset($data['start_time']) && isset($data['end_time'])) {
$start_times = strtotime($data['start_time']);
$end_times = strtotime($data['end_time']);
if ($start_times > $end_times) {
throw new CustomException(__('validation.event_calendar.start_end'));
}
}
}

7
app/Models/ParkingPattern.php

@ -36,9 +36,10 @@ class ParkingPattern extends Model
public static function getData()
{
return self::query()->orderBy('created_at', 'desc')->select(
['id', 'name as model_name']
)->get()->toArray();
return self::query()->where('status', 1)->orderBy('created_at', 'desc')
->select(
['id', 'name as model_name']
)->get()->toArray();
}
public static function getId($name)

27
app/Services/EventCalendarService.php

@ -54,10 +54,19 @@ class EventCalendarService extends BaseService
try {
DB::beginTransaction();
if (EventCalendar::query()->whereIn('status', [0, 1])->where(
'pattern_id',
$data['pattern_id']
)
$start_time = get_datetime(
'datetime',
strtotime($data['start_time'])
);
$end_time = get_datetime('datetime', strtotime($data['end_time']));
// 活动开始时间不能在已有活动时间内
$where = [
['pattern_id', '=', $data['pattern_id']],
['start_time', '>=', $start_time],
['end_time', '<=', $start_time]
];
if (EventCalendar::query()->whereIn('status', [0, 1])->where($where)
->exists()
) {
throw new Exception(
@ -65,12 +74,6 @@ class EventCalendarService extends BaseService
);
}
$start_time = get_datetime(
'datetime',
strtotime($data['start_time'])
);
$end_time = get_datetime('datetime', strtotime($data['end_time']));
$model = EventCalendar::query()->create([
'pattern_id' => $data['pattern_id'],
'start_time' => $start_time,
@ -209,6 +212,10 @@ class EventCalendarService extends BaseService
try {
DB::beginTransaction();
$pattern_id = $data['pattern_id'];
$exists = ParkingPatternSpace::getParkingSpaceIds($pattern_id);
if (!$exists) {
throw new Exception('service.event_calendar.not_space');
}
$end_time = $data['end_time'];
// 将其他模式未结束,在运行中的全部结束

3
resources/lang/en/service.php

@ -79,7 +79,8 @@ return [
'disabled' => 'disabled',
'pattern_exists' => 'The current activity mode already exists',
'error_status' => 'The current activity status cannot be deleted',
'error_end' => 'The current activity status cannot be ended'
'error_end' => 'The current activity status cannot be ended',
'not_space' => 'The parking space configuration is incomplete in this mode'
],
'notice' => [
'hint' => 'Prompt message',

3
resources/lang/en/validation.php

@ -110,7 +110,8 @@ return [
'event_calendar' => [
'p_empty' => 'Activity mode cannot be empty',
's_empty' => 'The start time cannot be empty',
'e_empty' => 'The end time cannot be empty'
'e_empty' => 'The end time cannot be empty',
'start_end' => 'The start time cannot be greater than the end time'
],
'notice' => [
'c_empty' => 'Update data cannot be empty',

3
resources/lang/zh-CN/service.php

@ -79,7 +79,8 @@ return [
'disabled' => '已停用',
'pattern_exists' => '当前活动模式已存在',
'error_status' => '当前活动状态不可删除',
'error_end' => '当前活动状态不可结束'
'error_end' => '当前活动状态不可结束',
'not_space' => '此模式下车位配置不完整'
],
'notice' => [
'hint' => '提示信息',

3
resources/lang/zh-CN/validation.php

@ -110,7 +110,8 @@ return [
'event_calendar' => [
'p_empty' => '活动模式不能为空',
's_empty' => '开始时间不能为空',
'e_empty' => '结束时间不能为空'
'e_empty' => '结束时间不能为空',
'start_end' => '开始时间不能大于结束时间'
],
'notice' => [
'c_empty' => '更新数据不能为空',

3
resources/lang/zh-TW/service.php

@ -79,7 +79,8 @@ return [
'disabled' => '已停用',
'pattern_exists' => '當前活動模式已存在',
'error_status' => '當前活動狀態不可删除',
'error_end' => '當前活動狀態不可結束'
'error_end' => '當前活動狀態不可結束',
'not_space' => '此模式下車位配寘不完整'
],
'notice' => [
'hint' => '提示資訊',

3
resources/lang/zh-TW/validation.php

@ -110,7 +110,8 @@ return [
'event_calendar' => [
'p_empty' => '活動模式不能為空',
's_empty' => '開始時間不能為空',
'e_empty' => '結束時間不能為空'
'e_empty' => '結束時間不能為空',
'start_end' => '開始時間不能大於結束時間'
],
'notice' => [
'c_empty' => '更新數據不能為空',

Loading…
Cancel
Save