Browse Source

创建活动后,立刻运行中

master
wanghongjun 2 weeks ago
parent
commit
8ea0669cb0
  1. 11
      app/Imports/EventCalendarImport.php
  2. 29
      app/Services/EventCalendarService.php

11
app/Imports/EventCalendarImport.php

@ -5,6 +5,7 @@ namespace App\Imports;
use App\Models\EventCalendar; use App\Models\EventCalendar;
use App\Models\ParkingPattern; use App\Models\ParkingPattern;
use App\Services\AdminTranslationService; use App\Services\AdminTranslationService;
use App\Services\EventCalendarService;
use App\Services\OperationLogService; use App\Services\OperationLogService;
use Maatwebsite\Excel\Concerns\ToModel; use Maatwebsite\Excel\Concerns\ToModel;
@ -14,12 +15,14 @@ class EventCalendarImport implements ToModel
protected OperationLogService $logService; protected OperationLogService $logService;
protected int $index = 0; protected int $index = 0;
protected array $error = []; protected array $error = [];
protected EventCalendarService $service;
public function __construct(string $user_id) public function __construct(string $user_id)
{ {
$this->user_id = $user_id; $this->user_id = $user_id;
$this->logService = new OperationLogService(); $this->logService = new OperationLogService();
$this->logService->menuTitle = 'event_calendar'; $this->logService->menuTitle = 'event_calendar';
$this->service = new EventCalendarService($this->logService);
} }
/** /**
@ -121,6 +124,14 @@ class EventCalendarImport implements ToModel
$model = EventCalendar::query()->create($create); $model = EventCalendar::query()->create($create);
$this->logService->logCreated($model, 'event_calendar.import'); $this->logService->logCreated($model, 'event_calendar.import');
$newValue = $model->toArray();
$this->service->nowChangeMode(
$save_start_time,
$save_end_time,
$newValue['id'],
$this->user_id
);
} }
protected function validateDate($datetime) protected function validateDate($datetime)

29
app/Services/EventCalendarService.php

@ -76,6 +76,13 @@ class EventCalendarService extends BaseService
$this->logService->logCreated($model, 'event_calendar.create'); $this->logService->logCreated($model, 'event_calendar.create');
$newValue = $model->toArray();
$this->nowChangeMode(
$start_time,
$end_time,
$newValue['id'],
$user_id
);
DB::commit(); DB::commit();
return $model; return $model;
} catch (Exception $e) { } catch (Exception $e) {
@ -155,6 +162,13 @@ class EventCalendarService extends BaseService
'event_calendar.update' 'event_calendar.update'
); );
$newValue = $model->toArray();
$this->nowChangeMode(
$newValue['start_time'],
$newValue['end_time'],
$newValue['id'],
$newValue['admin_user_id']
);
DB::commit(); DB::commit();
return $model; return $model;
} catch (Exception $e) { } catch (Exception $e) {
@ -216,6 +230,7 @@ class EventCalendarService extends BaseService
} }
} }
// 手动切换模式
public function changeModel($data, $user_id) public function changeModel($data, $user_id)
{ {
try { try {
@ -418,4 +433,18 @@ class EventCalendarService extends BaseService
AdminNoticeService::addChangeModeNotice($pattern_id, $user_id); AdminNoticeService::addChangeModeNotice($pattern_id, $user_id);
} }
} }
// 当前时间在活动时间内,立即运行模式
public function nowChangeMode($start, $end, $id, $user_id)
{
$now_times = time();
$start_times = strtotime($start);
$end_times = strtotime($end);
$exists = EventCalendar::query()->where('status', 1)->exists();
if ($start_times <= $now_times && $end_times >= $now_times
&& !$exists
) {
$this->updateStatus($id, $user_id, 1, true);
}
}
} }

Loading…
Cancel
Save