From 2fcd925831047540098d203c4c6aba73ae8b0255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Sun, 24 Apr 2022 10:10:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=9B=B6=E6=8F=90=E7=8E=B0=E6=97=B6,?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=9C=80=E8=BF=91=E7=9A=84=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E8=80=85=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/DealerController.php | 3 ++ .../DealerWalletToBankLogController.php | 9 +++++- .../Controllers/Dealer/WalletController.php | 1 + app/Models/Dealer.php | 18 +++++++++++ app/Models/DealerWalletToBankLog.php | 6 ++++ ...id_to_dealer_wallet_to_bank_logs_table.php | 32 +++++++++++++++++++ .../lang/zh_CN/dealer-wallet-to-bank-log.php | 1 + 7 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 database/migrations/2022_04_22_172136_add_manager_id_to_dealer_wallet_to_bank_logs_table.php diff --git a/app/Admin/Controllers/DealerController.php b/app/Admin/Controllers/DealerController.php index 8499a29a..eaaff19a 100644 --- a/app/Admin/Controllers/DealerController.php +++ b/app/Admin/Controllers/DealerController.php @@ -118,6 +118,9 @@ class DealerController extends AdminController $column->row(Show::make($id, $builder, function (Show $show) { // $show->field('id'); $show->field('user.phone'); + $show->field('userInfo.nickname')->as(function () { + return $this->userInfo->nickname; + }); $show->field('lvl')->as(function () { return $this->lvl->text(); }); diff --git a/app/Admin/Controllers/DealerWalletToBankLogController.php b/app/Admin/Controllers/DealerWalletToBankLogController.php index 9be4f41f..f037f506 100644 --- a/app/Admin/Controllers/DealerWalletToBankLogController.php +++ b/app/Admin/Controllers/DealerWalletToBankLogController.php @@ -26,7 +26,7 @@ class DealerWalletToBankLogController extends AdminController */ protected function grid() { - $builder = DealerWalletToBankLog::with(['user']); + $builder = DealerWalletToBankLog::with(['user', 'managerUserInfo']); return Grid::make($builder, function (Grid $grid) { $grid->tools(function (Grid\Tools $tools) { $tools->append(new DealerWalletWithdraw()); @@ -37,6 +37,13 @@ class DealerWalletToBankLogController extends AdminController $grid->column('rate')->append('%'); $grid->column('service_amount')->prepend('¥'); $grid->column('account_amount')->prepend('¥'); + $grid->column('manager_id')->display(function () { + if ($this->managerUserInfo) { + $href = admin_route('dealers.show', ['dealer_user' => $this->manager_id]); + + return "{$this->managerUserInfo->nickname}"; + } + }); $grid->column('status')->display(function ($v) { $text = $v->text(); $background = $v->color(); diff --git a/app/Endpoint/Api/Http/Controllers/Dealer/WalletController.php b/app/Endpoint/Api/Http/Controllers/Dealer/WalletController.php index 2652b765..d6949cea 100644 --- a/app/Endpoint/Api/Http/Controllers/Dealer/WalletController.php +++ b/app/Endpoint/Api/Http/Controllers/Dealer/WalletController.php @@ -90,6 +90,7 @@ class WalletController extends Controller 'rate' => $rate, 'service_amount' => bcdiv($serviceAmount, 100, 2), 'account_amount' => bcdiv($amount - $serviceAmount, 100, 2), + 'manager_id' => $user->dealer->firstManager()?->user_id, ]); //减去用户可提金额 diff --git a/app/Models/Dealer.php b/app/Models/Dealer.php index 8ab571d1..612e3753 100644 --- a/app/Models/Dealer.php +++ b/app/Models/Dealer.php @@ -136,6 +136,24 @@ class Dealer extends Model })->all(); } + /** + * 获取经销商最近的管理者 + * + * @return static|null + */ + public function firstManager(): ?static + { + if (empty($pids = $this->userInfo->parent_ids)) { + return null; + } + + $manager = UserInfo::whereHas('dealer', function ($builder) { + $builder->where('is_manager', true); + })->whereIn('user_id', $pids)->latest('depth')->first(); + + return $manager?->dealer; + } + /** * 获取直属金牌经销商数量 * diff --git a/app/Models/DealerWalletToBankLog.php b/app/Models/DealerWalletToBankLog.php index 52132eed..e05e5581 100644 --- a/app/Models/DealerWalletToBankLog.php +++ b/app/Models/DealerWalletToBankLog.php @@ -43,6 +43,7 @@ class DealerWalletToBankLog extends Model 'pay_way', 'pay_at', 'failed_reason', + 'manager_id', ]; /** @@ -59,6 +60,11 @@ class DealerWalletToBankLog extends Model return $this->belongsTo(Dealer::class, 'user_id', 'user_id'); } + public function managerUserInfo() + { + return $this->belongsTo(UserInfo::class, 'manager_id', 'user_id'); + } + /** * 待打款状态 * diff --git a/database/migrations/2022_04_22_172136_add_manager_id_to_dealer_wallet_to_bank_logs_table.php b/database/migrations/2022_04_22_172136_add_manager_id_to_dealer_wallet_to_bank_logs_table.php new file mode 100644 index 00000000..eb58c117 --- /dev/null +++ b/database/migrations/2022_04_22_172136_add_manager_id_to_dealer_wallet_to_bank_logs_table.php @@ -0,0 +1,32 @@ +unsignedBigInteger('manager_id')->nullable()->comment('管理者UID'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('dealer_wallet_to_bank_logs', function (Blueprint $table) { + $table->dropColumn(['manager_id']); + }); + } +} diff --git a/resources/lang/zh_CN/dealer-wallet-to-bank-log.php b/resources/lang/zh_CN/dealer-wallet-to-bank-log.php index 2b959ddc..5eb8caac 100644 --- a/resources/lang/zh_CN/dealer-wallet-to-bank-log.php +++ b/resources/lang/zh_CN/dealer-wallet-to-bank-log.php @@ -19,6 +19,7 @@ return [ 'remarks' => '备注', 'failed_reason' => '失败原因', 'pay_way' => '支付方式', + 'manager_id' => '管理者', ], 'options' => [ ],