From 1b5152d0e85174b55089a97bc40400a5648b9443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Thu, 2 Dec 2021 17:44:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=B5=8F=E8=A7=88=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Product/ProductViewLogController.php | 31 +++++++++++++++++++ .../Http/Resources/ProductViewLogResource.php | 24 ++++++++++++++ app/Endpoint/Api/routes.php | 5 +++ 3 files changed, 60 insertions(+) create mode 100644 app/Endpoint/Api/Http/Controllers/Product/ProductViewLogController.php create mode 100644 app/Endpoint/Api/Http/Resources/ProductViewLogResource.php diff --git a/app/Endpoint/Api/Http/Controllers/Product/ProductViewLogController.php b/app/Endpoint/Api/Http/Controllers/Product/ProductViewLogController.php new file mode 100644 index 00000000..dc77c319 --- /dev/null +++ b/app/Endpoint/Api/Http/Controllers/Product/ProductViewLogController.php @@ -0,0 +1,31 @@ +user(); + + $logs = ProductViewLog::with(['sku']) + ->where('user_id', $user->id) + ->whereHas('sku') + ->latest('updated_at') + ->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); + + return ProductViewLogResource::collection($logs); + } +} diff --git a/app/Endpoint/Api/Http/Resources/ProductViewLogResource.php b/app/Endpoint/Api/Http/Resources/ProductViewLogResource.php new file mode 100644 index 00000000..02d520ff --- /dev/null +++ b/app/Endpoint/Api/Http/Resources/ProductViewLogResource.php @@ -0,0 +1,24 @@ + $this->id, + 'sku' => ProductSkuSimpleResource::make($this->whenLoaded('sku')), + 'view_date' => $this->view_date->toDateString(), + ]; + } +} diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index 2ad4c44d..d19dcbfe 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -7,6 +7,7 @@ use App\Endpoint\Api\Http\Controllers\LogoutController; use App\Endpoint\Api\Http\Controllers\Product\HotController; use App\Endpoint\Api\Http\Controllers\Product\ProductCategoryController; use App\Endpoint\Api\Http\Controllers\Product\ProductSkuController; +use App\Endpoint\Api\Http\Controllers\Product\ProductViewLogController; use App\Endpoint\Api\Http\Controllers\RegisterController; use App\Endpoint\Api\Http\Controllers\SmsCodeController; use Illuminate\Support\Facades\Route; @@ -37,5 +38,9 @@ Route::group([ Route::get('products', [ProductSkuController::class, 'index']); // 查看商品 Route::get('products/{product}', [ProductSkuController::class, 'show']); + + Route::middleware(['auth:api'])->group(function () { + Route::get('product-view-logs', [ProductViewLogController::class, 'index']); + }); }); });