добавляю все изменения проекта на текущий момент

This commit is contained in:
vasya
2026-02-27 18:49:27 +03:00
parent e927910fda
commit 9c35f4e35e
303 changed files with 79434 additions and 2558 deletions
+104
View File
@@ -0,0 +1,104 @@
<?php
namespace Modules\Taxi\App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Modules\Taxi\Database\factories\TaxiMainFactory;
//use Spatie\Activitylog\Traits\LogsActivity;
// use Spatie\Activitylog\LogOptions;
use App\Traits\LogsActivity_custom;
use Modules\Taxi\App\DTO\TaxiOrderDTO;
use App\Enums\LogBusinessEvents;
class TaxiMain extends Model
{
//use LogsActivity;
use LogsActivity_custom;
protected $table = 'taxi_main';
protected $guarded = [];
// protected $activityCustomProperties = [
// 'emp_login' => '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;
// }
}