diff --git a/app/Console/Commands/SyncStoreReceiptOrderMatches.php b/app/Console/Commands/SyncStoreReceiptOrderMatches.php index 944d5d0a..004f775f 100644 --- a/app/Console/Commands/SyncStoreReceiptOrderMatches.php +++ b/app/Console/Commands/SyncStoreReceiptOrderMatches.php @@ -606,6 +606,14 @@ class SyncStoreReceiptOrderMatches extends Command $shopKey = self::normalizeShop((string) ($row['shop_name'] ?? '')); $key = $shopKey . '|' . $core; $orderPaid[$key] = ($orderPaid[$key] ?? 0.0) + (float) $row['paid']; + // 订单实付命中同样算「订单侧存在」:部分订单(退款流程 / 拆单 / 商品明细未同步)没有商品明细行, + // 若只按商品明细判断存在性,这些单会被误判「订单表无此单」(实付明明在)。 + // 商品金额数组仍只由商品明细构建:无明细时商品金额保持为空、按口径标「订单无商品金额」。 + $orderSeen[$key] = true; + $coreSeen[$core] = true; + if ($shopKey !== '') { + $coresByCore[$core][$shopKey] = true; + } } foreach ($orderRows as $row) {