<?php namespace App\Store\Forms; use App\Jobs\AutoCompleteOrder; use App\Models\StoreOrder; use App\Models\TotalOrder; use Dcat\Admin\Widgets\Form; use Dcat\Admin\Contracts\LazyRenderable; use Dcat\Admin\Traits\LazyWidget; class SendOutGoods extends Form implements LazyRenderable { use LazyWidget; /** * Handle the form request. * * @param array $input * * @return mixed */ public function handle(array $input) { $model = StoreOrder::find($this->payload['id']); if($input['logistics']=='' || $input['logistics_code']=='' ){ return $this->response()->error('确认发货失败')->refresh(); } $model->logistics = $input['logistics'] ??''; $model->logistics_code = $input['logistics_code'] ??''; $model->status = 1; if (!$model->save()) { return $this->response()->error('确认发货失败')->refresh(); } $order = TotalOrder::find($model->order_id); //开启自动完成订单 dispatch(new AutoCompleteOrder($order,(7*24*3600))); return $this->response()->success('确认发货成功')->refresh(); } /** * Build a form here. */ public function form() { $this->text('logistics','物流名称')->required(); $this->text('logistics_code','物流单号')->required(); } /** * The data of the form. * * @return array */ public function default() { // 获取外部传递参数 return []; } }