diff --git a/src/Resource/V2/Order.php b/src/Resource/V2/Order.php index 7b96bab..8f22c92 100644 --- a/src/Resource/V2/Order.php +++ b/src/Resource/V2/Order.php @@ -2,9 +2,9 @@ namespace Singularity\HDK\Pay\Resource\V2; -use App\Model\ServiceProvider; -use Carbon\Carbon; use Hyperf\Resource\Json\JsonResource; +use Money\Currency; +use Money\Money; use Singularity\HDK\Pay\Enum\OrderStatus; use stdClass; @@ -48,6 +48,9 @@ class Order extends JsonResource */ public function toArray(): array { + if (empty($this->resource['order_no'])) { + return $this->parseClassicOrder(); + } return [ 'order_no' => $this->order_no, 'state' => $this->state, @@ -65,6 +68,25 @@ class Order extends JsonResource ]; } + private function parseClassicOrder(): array + { + return [ + 'order_no' => $this->orderNo, + 'state' => $this->state, + 'transaction_id' => $this->transactionId, + 'uid' => $this->uid, + 'method' => $this->payment, + 'description' => $this->goodsName, + 'total_amount' => new Money($this->amount['amount'], new Currency($this->amount['currency'])), + 'currency' => $this->amount['currency'], + 'items' => [], + 'external' => [], + 'remark' => $this->remark, + 'notification' => $this->notification ?? [], + 'more_details' => [], + ]; + } + public function __get($key) { return $this->resource->{$key} ?? $this->resource[$key];