From 38db78573c93c232c0c877038be0e7adc764d2dc Mon Sep 17 00:00:00 2001 From: vasya Date: Sun, 5 Apr 2026 19:37:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D1=8E=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D0=B8=20=D1=82=D0=B0?= =?UTF-8?q?=D0=B1=D0=BB=D0=B8=D1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Modules/Taxi/App/Models/OfficeAddress.php | 13 +++ Modules/Taxi/App/Models/TaxiMain.php | 104 +++++++++++++++++++++ Modules/Taxi/App/Models/TaxiTimePeriod.php | 14 +++ 3 files changed, 131 insertions(+) create mode 100644 Modules/Taxi/App/Models/OfficeAddress.php create mode 100644 Modules/Taxi/App/Models/TaxiMain.php create mode 100644 Modules/Taxi/App/Models/TaxiTimePeriod.php diff --git a/Modules/Taxi/App/Models/OfficeAddress.php b/Modules/Taxi/App/Models/OfficeAddress.php new file mode 100644 index 0000000..eaa3e33 --- /dev/null +++ b/Modules/Taxi/App/Models/OfficeAddress.php @@ -0,0 +1,13 @@ + 'dgavrilov', + // ]; + + // public function getActivitylogOptions(): LogOptions + // { + // return LogOptions::defaults() + // ->logAll() + // ->logOnlyDirty() + // ->useLogName('Taxi') + // ->logExcept(['created_at', 'updated_at']); + + // } + + public function __construct() + { + parent::__construct(); + //В трейте LogsActivity_custom это свойство отвечает за название приложения, события в котором логируются. Оно записывается в поле activity_log.log_name + $this->logActivity_custom__name = 'Taxi'; + $this->addCustomLogProperties(['custom__test' => 'test']); + } + + //ГАВРИЛОВ. сделай метод не статическим + public static function getFieldsTitle() + { + return [ + 'id' => 'Номер запроса', + 'emp_login' => 'Логин сотрудника', + 'emp_phone' => 'Телефон сотрудника', + 'taxi_date' => 'Дата заказа', + 'taxi_time' => 'Время заказа', + 'taxi_address_from' => 'Адрес откуда', + 'taxi_address_to' => 'Адрес куда', + 'cancel_rqst' => 'Запрос отменен', + ]; + + } + + public function createOrder(TaxiOrderDTO $orderData): string + { + //ГАВРИЛОВ. проверь будет ли возвращаться ошибка без try catch + // try { + + $this->logBusinessEvent(LogBusinessEvents::Create); + $newOrder = $this->create( + [ + 'emp_login' => $orderData->emp_login, + 'taxi_date' => $orderData->taxi_date, + 'emp_phone' => $orderData->emp_phone, + 'taxi_time' => $orderData->taxi_time, + 'taxi_address_from' => $orderData->taxi_address_from, + 'taxi_address_to' => $orderData->taxi_address_to + ] + ); + return $newOrder->id; + // } catch (\Exception $e) { + // return $e->getMessage(); + // } + } + + // /** + // * @return string Метод нужен для переопределения параметра трейта. Простое переопределение вызывает конфликт + // */ + //protected $logActivity_custom__name = 'Taxi'; + // public function getLogName(): string + // { + // return 'Taxi'; + // } + + //protected $logActivity_custom__name; + + // public function getActivitylogOptions(): LogOptions + // { + // //Через метод default() получаем параметры класса логирования по умолчанию. Ниже можем их переопределять в зависимости от специфики работы с моделью + // $logOptions = LogOptions::defaults() + // ->logOnly(['*']); //Устанавиваем список логируемых данных (полей модели), либо, как в этом случае, логируем все поля + // //->logExcept(['created_at', 'updated_at']) //Не логируем поля изменения и создания записи в ЛЮБОМ случае + // //->logOnlyDirty(); //Логируем только те поля, которые были изменены + // $logOptions->logName = 'Taxi'; //Устанавливаем значение для имени приложения + + // return $logOptions; + // } +} diff --git a/Modules/Taxi/App/Models/TaxiTimePeriod.php b/Modules/Taxi/App/Models/TaxiTimePeriod.php new file mode 100644 index 0000000..f0da70f --- /dev/null +++ b/Modules/Taxi/App/Models/TaxiTimePeriod.php @@ -0,0 +1,14 @@ +