30 lines
971 B
PHP
30 lines
971 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);
|
|
}
|
|
} |