支付'; /** * 按钮样式定义,默认 btn btn-white waves-effect * * @var string */ protected $style = 'btn btn-sm btn-danger'; /** * 权限判断,如不需要可以删除此方法 * * @param Model|Authenticatable|HasPermissions|null $user * * @return bool */ protected function authorize($user): bool { return $user->can('dcat.admin.orders.pay'); } /** * 处理请求,如果不需要接口处理,请直接删除这个方法 * * @param Request $request * * @return Response */ public function handle(Request $request) { // 获取主键 $key = $this->getKey(); $orderService = new OrderService(); $order = Order::where('status', Order::STATUS_PENDING)->findOrFail($key); try { DB::beginTransaction(); $orderService->adminPay($order); DB::commit(); } catch (Throwable $th) { DB::rollBack(); report($th); return $this->response()->error('操作失败:'.$th->getMessage()); } return $this->response() ->success(__('admin.update_succeeded')) ->refresh(); } public function html() { return parent::html().'  '; } /** * 确认弹窗信息,如不需要可以删除此方法 * * @return string|array|void */ public function confirm() { return ['是否改变订单支付状态?', '该操作不可逆,确认后将修改为支付状态。']; } }