diff --git a/app/Endpoint/Api/Http/Controllers/Merchant/SalesValueLogController.php b/app/Endpoint/Api/Http/Controllers/Merchant/SalesValueLogController.php new file mode 100644 index 00000000..ad09948e --- /dev/null +++ b/app/Endpoint/Api/Http/Controllers/Merchant/SalesValueLogController.php @@ -0,0 +1,29 @@ +user() + ->salesValueLogs() + ->latest('id') + ->simplePaginate($perPage); + + return SalesValueLogResource::collection($salesValueLogs); + } +} diff --git a/app/Endpoint/Api/Http/Controllers/Merchant/TeamSalesValueLogController.php b/app/Endpoint/Api/Http/Controllers/Merchant/TeamSalesValueLogController.php new file mode 100644 index 00000000..430aa36b --- /dev/null +++ b/app/Endpoint/Api/Http/Controllers/Merchant/TeamSalesValueLogController.php @@ -0,0 +1,29 @@ +user() + ->teamSalesValueLogs() + ->latest('id') + ->simplePaginate($perPage); + + return SalesValueLogResource::collection($teamSalesValueLogs); + } +} diff --git a/app/Endpoint/Api/Http/Resources/SalesValueLogResource.php b/app/Endpoint/Api/Http/Resources/SalesValueLogResource.php new file mode 100644 index 00000000..eccc8d8d --- /dev/null +++ b/app/Endpoint/Api/Http/Resources/SalesValueLogResource.php @@ -0,0 +1,23 @@ + (string) $this->change_sales_value, + 'remarks' => (string) $this->remarks, + 'created_at' => $this->created_at->toDateTimeString(), + ]; + } +} diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index e7c859c6..ef18a3bf 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -182,5 +182,9 @@ Route::group([ ], ], function () { Route::get('account', [Merchant\UserController::class, 'account']); + // 个人销售值 + Route::get('sales-value-logs', [Merchant\SalesValueLogController::class, 'index']); + // 团队销售值 + Route::get('team-sales-value-logs', [Merchant\TeamSalesValueLogController::class, 'index']); }); }); diff --git a/app/Models/User.php b/app/Models/User.php index 2476c05b..bca574a0 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -236,6 +236,22 @@ class User extends Model implements AuthorizableContract, AuthenticatableContrac return $this->hasMany(QuotaLog::class); } + /** + * 属于此用户的团队销售值(含自己的销售值) + */ + public function teamSalesValueLogs() + { + return $this->hasMany(SalesValueLog::class); + } + + /** + * 属于此用户的团队销售值(含自己的销售值) + */ + public function salesValueLogs() + { + return $this->hasMany(SalesValueLog::class)->where('type', SalesValueLog::TYPE_INDIVIDUAL); + } + /** * 用户的粉丝 *