diff --git a/app/Endpoint/Api/Http/Controllers/Dealer/FansController.php b/app/Endpoint/Api/Http/Controllers/Dealer/FansController.php new file mode 100644 index 00000000..9a3436a4 --- /dev/null +++ b/app/Endpoint/Api/Http/Controllers/Dealer/FansController.php @@ -0,0 +1,35 @@ +json([ + 'fans_num'=>$request->user()->fans()->count(), + 'group_sales_value'=>$request->user()->dealer->team_sales_value, + ]); + } + + public function index(Request $request) + { + $perPage = PaginatorHelper::resolvePerPage('per_page', 20, 50); + $fans = $request->user()->fans() + ->with('userInfo') + ->latest('id') + ->simplePaginate($perPage); + return DealerFansResource::collection($fans); + } +} diff --git a/app/Endpoint/Api/Http/Resources/Dealer/DealerFansResource.php b/app/Endpoint/Api/Http/Resources/Dealer/DealerFansResource.php new file mode 100644 index 00000000..6e12fd89 --- /dev/null +++ b/app/Endpoint/Api/Http/Resources/Dealer/DealerFansResource.php @@ -0,0 +1,25 @@ + $this->phone, + 'nickname' => (string) $this->whenLoaded('userInfo', $this->userInfo->nickname, ''), + 'avatar' => (string) $this->whenLoaded('userInfo', $this->userInfo->avatar, ''), + 'team_sales_value' => (string) $this->whenLoaded('dealer', $this->dealer->team_sales_value, 0), + 'lvl_name' => (string) $this->whenLoaded('dealer', $this->dealer->lvl_text, '未知'), + ]; + } +} diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index 904f1570..e34bd2b1 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -225,6 +225,10 @@ Route::group([ //个人信息 Route::get('me', [Dealer\UserController::class, 'show']); Route::put('pay-info', [Dealer\UserController::class, 'updatePayInfo']); + //业绩统计 + Route::get('fans/statistics', [Dealer\FansController::class, 'statistics']); + Route::get('fans', [Dealer\FansController::class, 'index']); + //我的库存 Route::get('user-products', [Dealer\UserProductController::class, 'index']); Route::get('user-products/{product}', [Dealer\UserProductController::class, 'show']);