From e9f87865ff0c0f33735f1a576b3b36346124f224 Mon Sep 17 00:00:00 2001 From: "iVampireSP.com" Date: Tue, 28 Feb 2023 20:40:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E6=8E=A8=E4=BB=8B=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/AffiliateController.php | 39 +++++++++++ .../Controllers/Web/AffiliateController.php | 2 - app/Models/Affiliate/Affiliates.php | 2 +- .../admin/users/affiliates/index.blade.php | 70 +++++++++++++++++++ resources/views/admin/users/edit.blade.php | 1 + routes/admin.php | 2 + 6 files changed, 113 insertions(+), 3 deletions(-) create mode 100644 app/Http/Controllers/Admin/AffiliateController.php create mode 100644 resources/views/admin/users/affiliates/index.blade.php diff --git a/app/Http/Controllers/Admin/AffiliateController.php b/app/Http/Controllers/Admin/AffiliateController.php new file mode 100644 index 0000000..3e68fa9 --- /dev/null +++ b/app/Http/Controllers/Admin/AffiliateController.php @@ -0,0 +1,39 @@ +affiliate; + + // 检测用户是否激活了推介计划 + if (! $affiliate) { + return redirect()->back()->with('error', '用户未激活推介计划。'); + } + + $affiliateUsers = $user->affiliateUsers()->paginate(10); + + return view('admin.users.affiliates.index', compact('affiliateUsers', 'affiliate', 'user')); + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(User $user, Affiliates $affiliate): RedirectResponse + { + $affiliate->delete(); + + return redirect()->route('admin.users.edit', $user)->with('success', '成功离开推介计划。'); + } +} diff --git a/app/Http/Controllers/Web/AffiliateController.php b/app/Http/Controllers/Web/AffiliateController.php index ef4a34c..52bc0c8 100644 --- a/app/Http/Controllers/Web/AffiliateController.php +++ b/app/Http/Controllers/Web/AffiliateController.php @@ -4,8 +4,6 @@ use App\Http\Controllers\Controller; use App\Models\Affiliate\Affiliates; -use App\Models\Affiliate\AffiliateUser; -use App\Models\User; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Cache; diff --git a/app/Models/Affiliate/Affiliates.php b/app/Models/Affiliate/Affiliates.php index b5c157d..25c3dd5 100644 --- a/app/Models/Affiliate/Affiliates.php +++ b/app/Models/Affiliate/Affiliates.php @@ -33,7 +33,7 @@ public static function booted() }); static::deleting(function (self $affiliate) { - $affiliate->users()->delete(); + AffiliateUser::where('affiliate_id', $affiliate->id)->delete(); $affiliate->user->update(['affiliate_id' => null]); }); } diff --git a/resources/views/admin/users/affiliates/index.blade.php b/resources/views/admin/users/affiliates/index.blade.php new file mode 100644 index 0000000..8edc900 --- /dev/null +++ b/resources/views/admin/users/affiliates/index.blade.php @@ -0,0 +1,70 @@ +@extends('layouts.admin') + +@section('title', '推介计划') + +@section('content') + @php($url = \Illuminate\Support\Facades\URL::route('affiliates.show', $affiliate->uuid)) + +

用户推介计划

+ +

+ 访问量:{{ $affiliate->visits }} +

+

+ 盈利:{{ $affiliate->revenue }} 元 +

+ +

推介 URL: {{ $url }}

+ + @php($count = $affiliateUsers->count()) + @if ($count) +

用户列表

+ + + + + + + + + + + + + @foreach($affiliateUsers as $affiliateUser) + + + + + + + + + + + @endforeach + +
ID用户名邮箱盈利实人状态注册时间
{{ $affiliateUser->id }}{{ $affiliateUser->user->name }}{{ $affiliateUser->email }}{{ $affiliateUser->revenue }} 元 + @if ($affiliateUser->real_name_verified_at) + 完成 + @else + 未完成 + @endif + {{ $affiliateUser->created_at }}
+ {{ $affiliateUsers->links() }} + @endif + +

佣金计算方式

+

佣金 = 下属用户充值总额 / ({{config('settings.billing.commission_referral')}} * 100)

+ +

清除此用户的推介

+
+ @csrf + @method('DELETE') + 关联的推介数据也会被删除,但是不会扣除收益。 +
+ +
+ +@endsection diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php index b4802d3..ddb3f47 100644 --- a/resources/views/admin/users/edit.blade.php +++ b/resources/views/admin/users/edit.blade.php @@ -12,6 +12,7 @@ 作为 {{ $user->name }} 登录 有关此用户的交易记录 + 推介计划 @if ($user->banned_at)

已被封禁,原因: {{ $user->banned_reason }}

diff --git a/routes/admin.php b/routes/admin.php index 43e2c71..a30b156 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -1,6 +1,7 @@ except('show'); Route::resource('users', UserController::class); +Route::resource('users.affiliates', AffiliateController::class)->only(['index', 'destroy']); Route::resource('modules', ModuleController::class);