$this->id, 'refund_no' => $this->refund_no, 'order_no' => $this->order->order_no, 'state' => [ 'state' => $this->state, 'text' => $this->status_text, 'remark' => $this->state_text, ], 'refund_total' => $this->refund_total, 'actual_total' => $this->actual_total, 'order' => [ 'order_id' => $this->order->id, 'order_no' => $this->order->order_no, 'paid_at' => $this->order->paid_at ? $this->order->paid_at->toDateTimeString() : '', 'deliver_at' => $this->order->express->deliver_at ? $this->order->express->deliver_at->toDateTimeString() : '', 'receive_at' => $this->order->express->receive_at ? $this->order->express->receive_at->toDateTimeString() : '', ], 'items' => RefundItemsResource::collection($this->items), 'can' => collect($this->transitions())->map(function ($item) { return $item->getName(); }), 'log' => new RefundLogResource($this->logs()->oldest()->first()), 'created_at' => $this->created_at->toDateTimeString(), 'updated_at' => $this->updated_at->toDateTimeString(), ]; } }