From 04a8e45992386e71e2fcb4f0672b5a3ae1d0954b Mon Sep 17 00:00:00 2001 From: chen Date: Sat, 26 Sep 2026 14:19:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(order):=20=E5=A2=9E=E5=BC=BA=20Order=20?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=20getExtAttr=20=E5=81=A5=E5=A3=AE=E6=80=A7?= =?UTF-8?q?=E9=98=B2=E6=95=B0=E7=BB=84=E8=A7=A3=E6=9E=90=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/model/shopro/order/Order.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/application/admin/model/shopro/order/Order.php b/application/admin/model/shopro/order/Order.php index 5d1cc22..fc3edd7 100644 --- a/application/admin/model/shopro/order/Order.php +++ b/application/admin/model/shopro/order/Order.php @@ -122,7 +122,11 @@ class Order extends Common public function getExtAttr($value, $data) { - $ext = (isset($data['ext']) && $data['ext']) ? json_decode($data['ext'], true) : []; + $raw = $data['ext'] ?? $value; + $ext = is_array($raw) ? $raw : (json_decode($raw ?? '', true) ?: []); + if (!is_array($ext)) { + $ext = []; + } // 每类活动优惠金额聚合(可能订单购买多个商品,然后同时参与了两种满减,金额累加) $ext['promo_discounts'] = [