付款'; /** * @param Model|Authenticatable|HasPermissions|null $user * * @return bool */ protected function authorize($user): bool { return $user->can('dcat.admin.dealer_channel_subsidies.batch_pay'); } // 确认弹窗信息 public function confirm() { return '您确定要支付选中的渠道补贴吗?'; } // 处理请求 public function handle(Request $request) { try { DB::transaction(function () { foreach ($this->getKey() as $id) { $dealerEarning = DealerEarning::lockForUpdate()->channelSubsidy()->withoutPayer()->find($id); if (! $dealerEarning?->isSettled() || ! $dealerEarning?->isPending()) { continue; } (new DealerEarningService())->pay($dealerEarning); } }); } catch (Throwable $e) { return $this->response()->error('操作失败:'.$e->getMessage())->refresh(); } return $this->response()->success('操作成功')->refresh(); } }