打款'; /** * 按钮样式定义,默认 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.after_sales.finance'); } /** * 处理请求,如果不需要接口处理,请直接删除这个方法 * * @param Request $request * * @return Response */ public function handle(Request $request) { // 获取主键 $key = $this->getKey(); $afterSaleService = new AfterSaleService(); try { DB::beginTransaction(); $afterSale = AfterSale::where('state', AfterSale::STATE_FINANCE)->findOrFail($key); $afterSaleService->finance($afterSale); 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 ['是否确认打款?', '该操作不可逆,打款后退款金额将原路退还。']; } }