false, 'submit' => true]; public function handle(array $input) { try { DB::beginTransaction(); $info = OrderRefund::findOrFail($this->payload['id']); $order = $info->order; $status = !!$input['status']; RefundService::make()->handle($info, $status, $input['reason']); $admin = Admin::user(); $order->options()->create([ 'user_type' => $admin->getMorphClass(), 'user_id' => $admin->id, 'description' => '管理员: ' . $admin->name . ($status ? '同意' : '拒绝了') . ' 了订单的退款申请', 'attribute' => $input, ]); DB::commit(); return $this->response()->success('操作成功')->refresh(); } catch (\Exception $e) { DB::rollBack(); return $this->response()->error($e->getMessage()); } } public function form() { $this->display('refund_reason', __('dcat-admin-order::refund.fields.refund_reason')); $this->display('refund_money', __('dcat-admin-order::refund.fields.refund_money')); $this->display('refund_way', __('dcat-admin-order::refund.fields.refund_way'))->with(function ($v) { return RefundWay::from(intval($v))->label(); }); $this->radio('status', '结果')->options(['1' => '通过', '0' => '不通过']); $this->text('reason', __('dcat-admin-order::refund.fields.refund_reason'))->help('未通过审核的原因'); } public function default() { return [ 'status' => '1', 'refund_money' => $this->payload['refund_money'], 'refund_reason' => $this->payload['refund_reason'], 'refund_way' => $this->payload['refund_way'], ]; } }