lcly-data-admin/app/Services/OperationLogService.php

30 lines
967 B
PHP

<?php
namespace App\Services;
use Illuminate\Database\Eloquent\Model;
use App\Models\OperationLog;
use App\Enums\OperationType;
class OperationLogService
{
public function inLog(OperationType $type, ? String $message = '',? Model $model = null, ? Array $parms = null){
$user = auth('api')->user();
if(!$message){//如果没传message
$message = (OperationType::types()[$type->value] ?? '') . __("models.".($model ? $model::class : "")). '【'.($model?->name ?? ($model?->id ?? 0)) .'】';
}
$data = [
'user_id' => $user?->id ?? 0,
'user_name' => $user?->name ?? '',
'message' => $message,
'data_type' => $model ? $model::class : '',
'data_id' => $model?->id ?? '',
'type' => $type,
'input_data' => $parms,
'created_at' => now(),
'updated_at' => now(),
];
OperationLog::create($data);
}
}