From b9ea4698c9578f60850adca7bae9410c05453123 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Tue, 15 Nov 2022 10:38:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=93=8D=E4=BD=9C=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/OperationLogController.php | 20 ++++++++++++++ app/Http/Resources/OperationLogResource.php | 26 +++++++++++++++++++ app/ModelFilters/OperationLogFilter.php | 16 ++++++++++++ app/Models/OperationLog.php | 3 ++- routes/api.php | 3 +++ 5 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 app/Http/Controllers/OperationLogController.php create mode 100644 app/Http/Resources/OperationLogResource.php create mode 100644 app/ModelFilters/OperationLogFilter.php diff --git a/app/Http/Controllers/OperationLogController.php b/app/Http/Controllers/OperationLogController.php new file mode 100644 index 0000000..d923e7f --- /dev/null +++ b/app/Http/Controllers/OperationLogController.php @@ -0,0 +1,20 @@ +all())->orderBy('created_at', 'desc'); + + $list = $query->paginate(Paginator::resolvePerPage('per_page', 20, 50)); + + return $this->json(OperationLogResource::collection($list)); + } +} diff --git a/app/Http/Resources/OperationLogResource.php b/app/Http/Resources/OperationLogResource.php new file mode 100644 index 0000000..4414bbe --- /dev/null +++ b/app/Http/Resources/OperationLogResource.php @@ -0,0 +1,26 @@ + $this->id, + 'user_name' => $this->user_name, + 'type' => $this->type, + 'message' => $this->message, + 'input_data' => $this->input_data, + 'created_at' => strtotime($this->created_at) ?? 0, //录入时间 + ]; + } +} diff --git a/app/ModelFilters/OperationLogFilter.php b/app/ModelFilters/OperationLogFilter.php new file mode 100644 index 0000000..bcf224c --- /dev/null +++ b/app/ModelFilters/OperationLogFilter.php @@ -0,0 +1,16 @@ +where('type', $type); + } + + public function user($user){ + return $this->where('user_id', $user); + } +} diff --git a/app/Models/OperationLog.php b/app/Models/OperationLog.php index f238d9f..df74a5b 100644 --- a/app/Models/OperationLog.php +++ b/app/Models/OperationLog.php @@ -5,10 +5,11 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use App\Enums\OperationType; +use EloquentFilter\Filterable; class OperationLog extends Model { - use HasFactory; + use HasFactory, Filterable; protected $casts = [ 'type' => OperationType::class, diff --git a/routes/api.php b/routes/api.php index 152bf8c..63d58fd 100644 --- a/routes/api.php +++ b/routes/api.php @@ -59,6 +59,9 @@ Route::group(['middleware' => 'auth:sanctum'], function () { //友情链接 Route::apiResource('friend-links', FriendLinkController::class)->only(['index'])->names('friend_links'); + //操作日志 + Route::apiResource('operation-logs', OperationLogController::class)->only(['index'])->names('operation_logs'); + /**统计 **/ Route::get('crop-yield-quarter-statics', [CropYieldController::class, 'quarterStaticsChart']); //季度统计 Route::get('crop-yield-category-statics', [CropYieldController::class, 'categoryStaticsChart']); //行业统计产值