@pisell/pisellos 2.3.73 → 2.3.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/dist/core/index.d.ts +7 -0
  2. package/dist/core/index.js +111 -71
  3. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  4. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  5. package/dist/model/strategy/strategy-example.js +5 -19
  6. package/dist/modules/Cart/index.js +0 -3
  7. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  8. package/dist/modules/Date/index.js +1 -5
  9. package/dist/modules/Discount/index.js +2 -4
  10. package/dist/modules/OpenData/index.js +0 -2
  11. package/dist/modules/Order/index.d.ts +1 -1
  12. package/dist/modules/Order/index.js +36 -64
  13. package/dist/modules/Payment/index.js +97 -162
  14. package/dist/modules/Quotation/index.d.ts +6 -0
  15. package/dist/modules/Quotation/index.js +75 -19
  16. package/dist/modules/Rules/index.js +1 -4
  17. package/dist/modules/Schedule/index.js +0 -1
  18. package/dist/modules/Schedule/utils.js +0 -1
  19. package/dist/modules/Step/index.js +0 -1
  20. package/dist/plugins/request.d.ts +1 -0
  21. package/dist/plugins/request.js +1 -4
  22. package/dist/plugins/window.js +2 -6
  23. package/dist/server/index.d.ts +8 -2
  24. package/dist/server/index.js +303 -269
  25. package/dist/server/modules/floor-plan/index.d.ts +4 -0
  26. package/dist/server/modules/floor-plan/index.js +240 -98
  27. package/dist/server/modules/menu/index.js +75 -59
  28. package/dist/server/modules/order/index.d.ts +17 -7
  29. package/dist/server/modules/order/index.js +421 -211
  30. package/dist/server/modules/products/index.d.ts +8 -2
  31. package/dist/server/modules/products/index.js +191 -117
  32. package/dist/server/modules/quotation/index.js +29 -38
  33. package/dist/server/modules/resource/index.js +24 -17
  34. package/dist/server/modules/schedule/index.js +27 -35
  35. package/dist/server/utils/product.js +0 -1
  36. package/dist/solution/BaseSales/index.js +38 -41
  37. package/dist/solution/BookingByStep/index.d.ts +1 -1
  38. package/dist/solution/BookingByStep/index.js +7 -59
  39. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  40. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  41. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  42. package/dist/solution/BookingTicket/index.js +0 -2
  43. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  44. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  45. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  46. package/dist/solution/BuyTickets/index.js +9 -12
  47. package/dist/solution/Checkout/index.js +177 -252
  48. package/dist/solution/Checkout/utils/index.js +4 -16
  49. package/dist/solution/RegisterAndLogin/index.js +30 -76
  50. package/dist/solution/ScanOrder/index.js +50 -60
  51. package/dist/solution/ShopDiscount/index.js +2 -7
  52. package/dist/solution/VenueBooking/index.js +45 -55
  53. package/dist/utils/task.js +15 -18
  54. package/dist/utils/watch.js +0 -1
  55. package/lib/apis/picoding.js +2 -0
  56. package/lib/core/index.d.ts +7 -0
  57. package/lib/core/index.js +149 -131
  58. package/lib/effects/index.js +46 -57
  59. package/lib/index.js +82 -49
  60. package/lib/model/index.js +14 -21
  61. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  62. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  63. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  64. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  65. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  66. package/lib/model/strategy/adapter/index.js +100 -64
  67. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  68. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  69. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  70. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  71. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  72. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  73. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  74. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  75. package/lib/model/strategy/adapter/promotion/index.js +1 -0
  76. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  77. package/lib/model/strategy/adapter/type.js +4 -16
  78. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  79. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  80. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  81. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  82. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  83. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  84. package/lib/model/strategy/engine.js +270 -168
  85. package/lib/model/strategy/index.js +49 -34
  86. package/lib/model/strategy/strategy-example.js +243 -239
  87. package/lib/model/strategy/type.js +100 -40
  88. package/lib/modules/Account/index.js +39 -53
  89. package/lib/modules/Account/types.js +20 -33
  90. package/lib/modules/AccountList/index.js +116 -154
  91. package/lib/modules/AccountList/types.js +30 -31
  92. package/lib/modules/AccountList/utils.js +18 -30
  93. package/lib/modules/BaseModule.js +23 -42
  94. package/lib/modules/BookingContext/index.js +158 -136
  95. package/lib/modules/BookingContext/types.js +46 -32
  96. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  97. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  98. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  99. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  100. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  101. package/lib/modules/BookingContext/utils/index.js +124 -41
  102. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  103. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  104. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  105. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  106. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  107. package/lib/modules/BookingContext/utils/resources.js +209 -167
  108. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  109. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  110. package/lib/modules/Cart/index.js +170 -124
  111. package/lib/modules/Cart/types.js +46 -51
  112. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  113. package/lib/modules/Cart/utils/cartDate.js +56 -61
  114. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  115. package/lib/modules/Cart/utils/cartNote.js +27 -32
  116. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  117. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  118. package/lib/modules/Cart/utils/cartResource.js +70 -78
  119. package/lib/modules/Cart/utils/changePrice.js +22 -50
  120. package/lib/modules/Cart/utils/index.js +106 -48
  121. package/lib/modules/Customer/constants.js +13 -34
  122. package/lib/modules/Customer/index.js +235 -172
  123. package/lib/modules/Customer/types.js +38 -35
  124. package/lib/modules/Date/index.js +116 -115
  125. package/lib/modules/Date/types.js +16 -28
  126. package/lib/modules/Date/utils.js +174 -123
  127. package/lib/modules/Discount/index.js +122 -127
  128. package/lib/modules/Discount/types.js +9 -31
  129. package/lib/modules/Guests/index.js +30 -56
  130. package/lib/modules/Guests/types.js +23 -33
  131. package/lib/modules/Holder/index.js +209 -189
  132. package/lib/modules/Holder/types.js +4 -16
  133. package/lib/modules/Holder/utils.js +20 -49
  134. package/lib/modules/OpenData/index.js +70 -76
  135. package/lib/modules/OpenData/types.js +4 -16
  136. package/lib/modules/OpenData/utils.js +44 -78
  137. package/lib/modules/Order/index.d.ts +1 -1
  138. package/lib/modules/Order/index.js +1713 -2118
  139. package/lib/modules/Order/payment-utils.js +77 -120
  140. package/lib/modules/Order/types.js +88 -35
  141. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  142. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  143. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  144. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  145. package/lib/modules/Order/utils.js +814 -647
  146. package/lib/modules/Payment/cash.js +20 -33
  147. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  148. package/lib/modules/Payment/eftpos.js +16 -30
  149. package/lib/modules/Payment/index.js +532 -399
  150. package/lib/modules/Payment/mx51.js +1 -0
  151. package/lib/modules/Payment/types.js +230 -108
  152. package/lib/modules/Payment/utils.js +52 -51
  153. package/lib/modules/Payment/walletpass.js +485 -660
  154. package/lib/modules/Product/index.js +51 -46
  155. package/lib/modules/Product/types.js +4 -16
  156. package/lib/modules/Product/utils.js +32 -33
  157. package/lib/modules/ProductList/index.js +113 -123
  158. package/lib/modules/ProductList/types.js +9 -31
  159. package/lib/modules/Quotation/index.d.ts +6 -0
  160. package/lib/modules/Quotation/index.js +110 -103
  161. package/lib/modules/Quotation/types.js +4 -16
  162. package/lib/modules/Resource/index.js +27 -59
  163. package/lib/modules/Resource/types.js +22 -32
  164. package/lib/modules/Resource/utils.js +30 -38
  165. package/lib/modules/ResourcePlanner/index.js +25 -23
  166. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  167. package/lib/modules/ResourcePlanner/planner.js +589 -770
  168. package/lib/modules/ResourcePlanner/types.js +10 -29
  169. package/lib/modules/Rules/index.js +1218 -959
  170. package/lib/modules/Rules/types.js +17 -40
  171. package/lib/modules/SalesSummary/index.js +85 -90
  172. package/lib/modules/SalesSummary/types.js +4 -16
  173. package/lib/modules/SalesSummary/utils.js +355 -430
  174. package/lib/modules/ScanOrderLogger/index.js +59 -79
  175. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  176. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  177. package/lib/modules/ScanOrderLogger/types.js +4 -16
  178. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  179. package/lib/modules/Schedule/index.js +100 -114
  180. package/lib/modules/Schedule/type.js +4 -16
  181. package/lib/modules/Schedule/types.js +4 -16
  182. package/lib/modules/Schedule/utils.js +433 -291
  183. package/lib/modules/Step/index.js +40 -52
  184. package/lib/modules/Step/tyeps.js +4 -16
  185. package/lib/modules/Summary/index.js +66 -71
  186. package/lib/modules/Summary/types.js +4 -16
  187. package/lib/modules/Summary/utils.js +773 -418
  188. package/lib/modules/SurchargeList/index.js +46 -60
  189. package/lib/modules/SurchargeList/types.js +4 -16
  190. package/lib/modules/index.js +245 -63
  191. package/lib/plugins/app.js +4 -16
  192. package/lib/plugins/index.js +36 -25
  193. package/lib/plugins/request.d.ts +1 -0
  194. package/lib/plugins/request.js +137 -126
  195. package/lib/plugins/shopStore.js +4 -16
  196. package/lib/plugins/user.js +4 -16
  197. package/lib/plugins/window.js +171 -179
  198. package/lib/server/index.d.ts +8 -2
  199. package/lib/server/index.js +3083 -2663
  200. package/lib/server/modules/floor-plan/index.d.ts +4 -0
  201. package/lib/server/modules/floor-plan/index.js +159 -127
  202. package/lib/server/modules/floor-plan/types.js +15 -30
  203. package/lib/server/modules/index.js +106 -68
  204. package/lib/server/modules/menu/index.js +170 -124
  205. package/lib/server/modules/menu/types.js +18 -31
  206. package/lib/server/modules/order/index.d.ts +17 -7
  207. package/lib/server/modules/order/index.js +916 -977
  208. package/lib/server/modules/order/types.js +122 -33
  209. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  210. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  211. package/lib/server/modules/payment/index.js +59 -83
  212. package/lib/server/modules/payment/types.js +4 -16
  213. package/lib/server/modules/products/index.d.ts +8 -2
  214. package/lib/server/modules/products/index.js +656 -471
  215. package/lib/server/modules/products/types.js +44 -34
  216. package/lib/server/modules/quotation/index.js +137 -172
  217. package/lib/server/modules/quotation/types.js +21 -31
  218. package/lib/server/modules/resource/index.js +225 -186
  219. package/lib/server/modules/resource/types.js +42 -33
  220. package/lib/server/modules/schedule/index.js +135 -123
  221. package/lib/server/modules/schedule/types.js +14 -21
  222. package/lib/server/modules/schedule/utils.js +334 -163
  223. package/lib/server/types.js +4 -16
  224. package/lib/server/utils/index.js +25 -23
  225. package/lib/server/utils/product.js +196 -139
  226. package/lib/server/utils/schedule.js +34 -41
  227. package/lib/server/utils/small-ticket.js +479 -456
  228. package/lib/server/utils/time.js +40 -49
  229. package/lib/solution/BaseSales/index.js +1186 -1410
  230. package/lib/solution/BaseSales/types.js +42 -38
  231. package/lib/solution/BaseSales/utils/cartPromotion.js +642 -498
  232. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  233. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  234. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
  235. package/lib/solution/BaseSales/utils.js +158 -143
  236. package/lib/solution/BookingByStep/index.d.ts +1 -1
  237. package/lib/solution/BookingByStep/index.js +1527 -1340
  238. package/lib/solution/BookingByStep/types.js +40 -99
  239. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  240. package/lib/solution/BookingByStep/utils/products.js +42 -52
  241. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  242. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  243. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  244. package/lib/solution/BookingTicket/index.js +607 -522
  245. package/lib/solution/BookingTicket/types.js +99 -77
  246. package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
  247. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  248. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  249. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  250. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  251. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  252. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  253. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  254. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  255. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  256. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  257. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  258. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  259. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  260. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  261. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  262. package/lib/solution/BuyTickets/index.js +67 -70
  263. package/lib/solution/BuyTickets/types.js +22 -38
  264. package/lib/solution/Checkout/index.js +1451 -1158
  265. package/lib/solution/Checkout/types.js +91 -61
  266. package/lib/solution/Checkout/utils/index.js +228 -156
  267. package/lib/solution/PlaceOrder/index.js +55 -0
  268. package/lib/solution/RegisterAndLogin/config.js +493 -460
  269. package/lib/solution/RegisterAndLogin/index.js +633 -630
  270. package/lib/solution/RegisterAndLogin/types.js +189 -76
  271. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  272. package/lib/solution/Sales/index.js +328 -324
  273. package/lib/solution/Sales/types.js +27 -33
  274. package/lib/solution/ScanOrder/index.js +832 -864
  275. package/lib/solution/ScanOrder/types.js +33 -34
  276. package/lib/solution/ScanOrder/utils.js +409 -374
  277. package/lib/solution/ShopDiscount/index.js +226 -232
  278. package/lib/solution/ShopDiscount/types.js +15 -37
  279. package/lib/solution/ShopDiscount/utils.js +300 -172
  280. package/lib/solution/UnifiedBookingSales/index.js +1035 -1201
  281. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  282. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  283. package/lib/solution/VenueBooking/index.js +811 -879
  284. package/lib/solution/VenueBooking/types.js +19 -39
  285. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  286. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  287. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  288. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  289. package/lib/solution/VenueBooking/utils.js +130 -67
  290. package/lib/solution/index.js +124 -41
  291. package/lib/store/createStore.js +32 -29
  292. package/lib/types/index.js +4 -16
  293. package/lib/utils/payment-number.js +26 -46
  294. package/lib/utils/task.js +36 -36
  295. package/lib/utils/watch.js +81 -47
  296. package/package.json +2 -1
@@ -43,6 +43,7 @@ import { getOrderPaymentIdentityKeys, isIdentifiedPendingOrderPayment, isPending
43
43
  var INDEXDB_STORE_NAME = 'orders';
44
44
  var ORDER_STORAGE_KEY_FIELD = '__order_storage_key';
45
45
  var ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY = 'server_order_last_full_fetch_at';
46
+ var ORDER_LAST_FULL_FETCH_SHOP_ID_STORAGE_KEY = 'server_order_last_full_fetch_shop_id';
46
47
  var ORDER_SYNC_THROTTLE_MS_STORAGE_KEY = 'order_sync_throttle_ms';
47
48
  var DEFAULT_ORDER_SYNC_THROTTLE_MS = 2000;
48
49
  /** pubsub 回声写入去重窗口:业务 API 刚写入后,跳过同单 SQLite patch */
@@ -115,7 +116,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
115
116
  case 0:
116
117
  changedOrders = _args.length > 0 && _args[0] !== undefined ? _args[0] : [];
117
118
  source = _args.length > 1 ? _args[1] : undefined;
118
- console.log('触发emitOrdersChanged');
119
119
  payload = {
120
120
  list: this.store.list,
121
121
  changedOrders: changedOrders.map(function (order) {
@@ -123,9 +123,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
123
123
  }),
124
124
  source: source
125
125
  };
126
- _context.next = 6;
126
+ _context.next = 5;
127
127
  return this.core.effects.emit(OrderHooks.onOrdersChanged, payload);
128
- case 6:
128
+ case 5:
129
129
  case "end":
130
130
  return _context.stop();
131
131
  }
@@ -308,18 +308,23 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
308
308
  }, {
309
309
  key: "normalizeOrderCollectionsForIngress",
310
310
  value: function normalizeOrderCollectionsForIngress(order, source) {
311
- var sourceOrder = cloneDeep(order);
312
- var sourceOrderRecord = sourceOrder;
311
+ var sourceOrderRecord = order;
312
+ var sourceOrder = sourceOrderRecord;
313
313
  if (Array.isArray(sourceOrderRecord.payments)) {
314
- sourceOrderRecord.payments = sourceOrderRecord.payments.map(function (payment) {
315
- if (!isPendingOrderPayment(payment) || getOrderPaymentIdentityKeys(payment).some(function (key) {
316
- return key.startsWith('unique_payment_number:');
317
- })) {
318
- return payment;
319
- }
320
- return _objectSpread(_objectSpread({}, payment), {}, _defineProperty({}, PENDING_PAYMENT_WITHOUT_UNIQUE_MARKER, true));
314
+ sourceOrder = _objectSpread(_objectSpread({}, sourceOrderRecord), {}, {
315
+ payments: sourceOrderRecord.payments.map(function (payment) {
316
+ if (!isPendingOrderPayment(payment) || getOrderPaymentIdentityKeys(payment).some(function (key) {
317
+ return key.startsWith('unique_payment_number:');
318
+ })) {
319
+ return payment;
320
+ }
321
+ return _objectSpread(_objectSpread({}, payment), {}, _defineProperty({}, PENDING_PAYMENT_WITHOUT_UNIQUE_MARKER, true));
322
+ })
321
323
  });
322
324
  }
325
+
326
+ // normalizeOrderCollections 内部已经 cloneDeep;这里只浅复制被改写的 payments,
327
+ // 既不修改调用方对象,也避免对整笔订单重复深拷贝。
323
328
  var result = normalizeOrderCollections(sourceOrder);
324
329
  var normalizedOrderRecord = result.order;
325
330
  if (Array.isArray(normalizedOrderRecord.payments)) {
@@ -700,26 +705,96 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
700
705
  key: "preload",
701
706
  value: function () {
702
707
  var _preload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
703
- var orders;
708
+ var preloadStartedAt, cachedOrders, sqliteLoadTimings, memoryPrepareStartedAt, memoryOrders, memoryPrepareMs, syncMapStartedAt, syncMapMs, onOrdersLoadedStartedAt, onOrdersLoadedMs, emitOrdersChangedStartedAt, emitOrdersChangedMs, orders;
704
709
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
705
710
  while (1) switch (_context4.prev = _context4.next) {
706
711
  case 0:
707
- _context4.next = 2;
708
- return this.loadOrdersByServer();
709
- case 2:
712
+ preloadStartedAt = Date.now();
713
+ cachedOrders = null;
714
+ if (!this.dbManager) {
715
+ _context4.next = 12;
716
+ break;
717
+ }
718
+ _context4.prev = 3;
719
+ _context4.next = 6;
720
+ return this.loadOrdersFromSQLite({
721
+ throwOnError: true,
722
+ onTiming: function onTiming(timings) {
723
+ sqliteLoadTimings = timings;
724
+ }
725
+ });
726
+ case 6:
727
+ cachedOrders = _context4.sent;
728
+ _context4.next = 12;
729
+ break;
730
+ case 9:
731
+ _context4.prev = 9;
732
+ _context4.t0 = _context4["catch"](3);
733
+ this.logWarning('preload-SQLite读取失败,回退远端全量拉取', {
734
+ error: _context4.t0 instanceof Error ? _context4.t0.message : String(_context4.t0)
735
+ });
736
+ case 12:
737
+ if (!(cachedOrders !== null && this.hasPulledOrdersToday())) {
738
+ _context4.next = 30;
739
+ break;
740
+ }
741
+ memoryPrepareStartedAt = performance.now();
742
+ memoryOrders = this.prepareNormalizedOrdersForMemoryList(cachedOrders);
743
+ memoryPrepareMs = +(performance.now() - memoryPrepareStartedAt).toFixed(2); // loadOrdersFromSQLite 已返回独立且完成集合规范化的新对象;直接进入 store,
744
+ // 不再进行第二轮 normalize 和没有隔离收益的最终 cloneDeep。
745
+ this.store.list = memoryOrders;
746
+ syncMapStartedAt = performance.now();
747
+ this.syncOrdersMap();
748
+ syncMapMs = +(performance.now() - syncMapStartedAt).toFixed(2);
749
+ onOrdersLoadedStartedAt = performance.now();
750
+ _context4.next = 23;
751
+ return this.core.effects.emit(OrderHooks.onOrdersLoaded, this.store.list);
752
+ case 23:
753
+ onOrdersLoadedMs = +(performance.now() - onOrdersLoadedStartedAt).toFixed(2);
754
+ emitOrdersChangedStartedAt = performance.now();
755
+ _context4.next = 27;
756
+ return this.emitOrdersChanged([], 'preload.sqlite');
757
+ case 27:
758
+ emitOrdersChangedMs = +(performance.now() - emitOrdersChangedStartedAt).toFixed(2);
759
+ this.logInfo('预加载完成', {
760
+ trigger: 'preload',
761
+ source: 'SQLite',
762
+ orderCount: this.store.list.length,
763
+ duration: "".concat(Date.now() - preloadStartedAt, "ms"),
764
+ stages: _objectSpread(_objectSpread({}, sqliteLoadTimings || {}), {}, {
765
+ memoryPrepareMs: memoryPrepareMs,
766
+ syncMapMs: syncMapMs,
767
+ onOrdersLoadedMs: onOrdersLoadedMs,
768
+ emitOrdersChangedMs: emitOrdersChangedMs
769
+ })
770
+ });
771
+ return _context4.abrupt("return");
772
+ case 30:
773
+ _context4.next = 32;
774
+ return this.loadOrdersByServer({
775
+ trigger: 'preload'
776
+ });
777
+ case 32:
710
778
  orders = _context4.sent;
711
779
  this.store.list = cloneDeep(orders);
712
780
  this.syncOrdersMap();
713
- _context4.next = 7;
781
+ _context4.next = 37;
714
782
  return this.emitOrdersChanged([], 'preload');
715
- case 7:
716
- _context4.next = 9;
783
+ case 37:
784
+ _context4.next = 39;
717
785
  return this.core.effects.emit(OrderHooks.onOrdersSyncCompleted, null);
718
- case 9:
786
+ case 39:
787
+ this.logInfo('预加载完成', {
788
+ trigger: 'preload',
789
+ source: 'Server',
790
+ orderCount: this.store.list.length,
791
+ duration: "".concat(Date.now() - preloadStartedAt, "ms")
792
+ });
793
+ case 40:
719
794
  case "end":
720
795
  return _context4.stop();
721
796
  }
722
- }, _callee4, this);
797
+ }, _callee4, this, [[3, 9]]);
723
798
  }));
724
799
  function preload() {
725
800
  return _preload.apply(this, arguments);
@@ -1052,18 +1127,32 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1052
1127
  var _loadOrdersByServer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
1053
1128
  var _this5 = this,
1054
1129
  _this$store;
1055
- var orderList, protectedOrdersBeforeRemoteFetch, data, mergedOrders, memoryOrders;
1130
+ var options,
1131
+ orderList,
1132
+ hasFetchedRemoteSnapshot,
1133
+ trigger,
1134
+ protectedOrdersBeforeRemoteFetch,
1135
+ data,
1136
+ _yield$this$replaceOr,
1137
+ mergedOrders,
1138
+ isRemoteSnapshotPersisted,
1139
+ memoryOrders,
1140
+ _args8 = arguments;
1056
1141
  return _regeneratorRuntime().wrap(function _callee8$(_context8) {
1057
1142
  while (1) switch (_context8.prev = _context8.next) {
1058
1143
  case 0:
1144
+ options = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {};
1059
1145
  orderList = [];
1060
- _context8.next = 3;
1146
+ hasFetchedRemoteSnapshot = false;
1147
+ trigger = options.trigger || 'unknown';
1148
+ _context8.next = 6;
1061
1149
  return this.loadOrdersFromSQLite();
1062
- case 3:
1150
+ case 6:
1063
1151
  protectedOrdersBeforeRemoteFetch = _context8.sent.filter(function (order) {
1064
1152
  return _this5.shouldProtectLocalOrderFromRemoteSnapshot(order);
1065
1153
  });
1066
1154
  this.logInfo('loadOrdersByServer-开始', {
1155
+ trigger: trigger,
1067
1156
  hasOrderDataSource: !!this.orderDataSource,
1068
1157
  query: ((_this$store = this.store) === null || _this$store === void 0 ? void 0 : _this$store.createdAtQuery) || null,
1069
1158
  protectedLocalOrderCount: protectedOrdersBeforeRemoteFetch.length,
@@ -1072,51 +1161,61 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1072
1161
  }, 0)
1073
1162
  });
1074
1163
  if (!this.orderDataSource) {
1075
- _context8.next = 20;
1164
+ _context8.next = 23;
1076
1165
  break;
1077
1166
  }
1078
- _context8.prev = 6;
1079
- _context8.next = 9;
1167
+ _context8.prev = 9;
1168
+ _context8.next = 12;
1080
1169
  return this.orderDataSource.run({
1081
1170
  sse: {
1082
1171
  query: this.store.createdAtQuery
1083
1172
  }
1084
1173
  });
1085
- case 9:
1174
+ case 12:
1086
1175
  data = _context8.sent;
1087
1176
  orderList = data || [];
1088
1177
  this.logInfo('loadOrdersByServer-SSE拉取成功', {
1178
+ trigger: trigger,
1089
1179
  count: orderList.length
1090
1180
  });
1091
- this.markOrderPulledAtNow();
1181
+ hasFetchedRemoteSnapshot = true;
1092
1182
  this.lastServerFullFetchAtMs = Date.now();
1093
- _context8.next = 20;
1183
+ _context8.next = 23;
1094
1184
  break;
1095
- case 16:
1096
- _context8.prev = 16;
1097
- _context8.t0 = _context8["catch"](6);
1185
+ case 19:
1186
+ _context8.prev = 19;
1187
+ _context8.t0 = _context8["catch"](9);
1098
1188
  this.logInfo('loadOrdersByServer-SSE拉取失败,保持当前内存订单');
1099
1189
  return _context8.abrupt("return", this.store.list);
1100
- case 20:
1101
- _context8.next = 22;
1190
+ case 23:
1191
+ if (hasFetchedRemoteSnapshot) {
1192
+ this.clearOrderSnapshotMarker();
1193
+ }
1194
+ _context8.next = 26;
1102
1195
  return this.replaceOrdersSnapshotInSQLite(orderList, 'loadOrdersByServer', protectedOrdersBeforeRemoteFetch);
1103
- case 22:
1104
- mergedOrders = _context8.sent;
1196
+ case 26:
1197
+ _yield$this$replaceOr = _context8.sent;
1198
+ mergedOrders = _yield$this$replaceOr.orders;
1199
+ isRemoteSnapshotPersisted = _yield$this$replaceOr.persisted;
1200
+ if (hasFetchedRemoteSnapshot && isRemoteSnapshotPersisted) {
1201
+ this.markOrderPulledAtNow();
1202
+ }
1105
1203
  memoryOrders = this.normalizeOrdersForMemoryList(mergedOrders, 'loadOrdersByServer.memory');
1106
1204
  this.logInfo('loadOrdersByServer-结束', {
1205
+ trigger: trigger,
1107
1206
  count: memoryOrders.length,
1108
1207
  persistedCount: mergedOrders.length,
1109
1208
  sqliteOnlyDraftCount: mergedOrders.length - memoryOrders.length
1110
1209
  });
1111
- _context8.next = 27;
1210
+ _context8.next = 34;
1112
1211
  return this.core.effects.emit(OrderHooks.onOrdersLoaded, memoryOrders);
1113
- case 27:
1212
+ case 34:
1114
1213
  return _context8.abrupt("return", memoryOrders);
1115
- case 28:
1214
+ case 35:
1116
1215
  case "end":
1117
1216
  return _context8.stop();
1118
1217
  }
1119
- }, _callee8, this, [[6, 16]]);
1218
+ }, _callee8, this, [[9, 19]]);
1120
1219
  }));
1121
1220
  function loadOrdersByServer() {
1122
1221
  return _loadOrdersByServer.apply(this, arguments);
@@ -1132,53 +1231,76 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1132
1231
  key: "silentRefresh",
1133
1232
  value: (function () {
1134
1233
  var _silentRefresh = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
1135
- var startTime, elapsedSinceFullFetch, orders, errorMessage;
1234
+ var options,
1235
+ startTime,
1236
+ trigger,
1237
+ elapsedSinceFullFetch,
1238
+ orders,
1239
+ errorMessage,
1240
+ _args9 = arguments;
1136
1241
  return _regeneratorRuntime().wrap(function _callee9$(_context9) {
1137
1242
  while (1) switch (_context9.prev = _context9.next) {
1138
1243
  case 0:
1244
+ options = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : {};
1139
1245
  startTime = Date.now();
1246
+ trigger = options.trigger || 'background';
1140
1247
  elapsedSinceFullFetch = Date.now() - this.lastServerFullFetchAtMs;
1141
1248
  if (!(this.lastServerFullFetchAtMs > 0 && elapsedSinceFullFetch < ORDER_SILENT_REFRESH_MIN_INTERVAL_MS)) {
1142
- _context9.next = 4;
1249
+ _context9.next = 7;
1143
1250
  break;
1144
1251
  }
1252
+ this.logInfo('silentRefresh 跳过全量 SSE', {
1253
+ trigger: trigger,
1254
+ reason: 'within_min_interval',
1255
+ minIntervalMs: ORDER_SILENT_REFRESH_MIN_INTERVAL_MS,
1256
+ elapsedSinceFullFetchMs: elapsedSinceFullFetch,
1257
+ orderCount: this.store.list.length
1258
+ });
1145
1259
  return _context9.abrupt("return", this.store.list);
1146
- case 4:
1147
- this.logInfo('silentRefresh 开始');
1148
- _context9.prev = 5;
1260
+ case 7:
1261
+ this.logInfo('silentRefresh 开始', {
1262
+ trigger: trigger,
1263
+ elapsedSinceFullFetchMs: elapsedSinceFullFetch,
1264
+ orderCount: this.store.list.length
1265
+ });
1266
+ _context9.prev = 8;
1149
1267
  // 刷新前,需要更新当前营业日边界(store.createdAtQuery)
1150
1268
  this.updateCreateStore();
1151
- _context9.next = 9;
1152
- return this.loadOrdersByServer();
1153
- case 9:
1269
+ _context9.next = 12;
1270
+ return this.loadOrdersByServer({
1271
+ trigger: trigger
1272
+ });
1273
+ case 12:
1154
1274
  orders = _context9.sent;
1155
1275
  this.store.list = cloneDeep(orders);
1156
1276
  this.syncOrdersMap();
1157
- _context9.next = 14;
1277
+ _context9.next = 17;
1158
1278
  return this.emitOrdersChanged([], 'silentRefresh');
1159
- case 14:
1160
- _context9.next = 16;
1279
+ case 17:
1280
+ _context9.next = 19;
1161
1281
  return this.core.effects.emit(OrderHooks.onOrdersSyncCompleted, null);
1162
- case 16:
1282
+ case 19:
1163
1283
  this.logInfo('silentRefresh 完成', {
1284
+ trigger: trigger,
1164
1285
  orderCount: orders.length,
1165
1286
  duration: "".concat(Date.now() - startTime, "ms")
1166
1287
  });
1167
1288
  return _context9.abrupt("return", this.store.list);
1168
- case 20:
1169
- _context9.prev = 20;
1170
- _context9.t0 = _context9["catch"](5);
1289
+ case 23:
1290
+ _context9.prev = 23;
1291
+ _context9.t0 = _context9["catch"](8);
1171
1292
  errorMessage = _context9.t0 instanceof Error ? _context9.t0.message : String(_context9.t0);
1172
1293
  this.logError('silentRefresh 失败', {
1294
+ trigger: trigger,
1173
1295
  duration: "".concat(Date.now() - startTime, "ms"),
1174
1296
  error: errorMessage
1175
1297
  });
1176
1298
  return _context9.abrupt("return", this.store.list);
1177
- case 25:
1299
+ case 28:
1178
1300
  case "end":
1179
1301
  return _context9.stop();
1180
1302
  }
1181
- }, _callee9, this, [[5, 20]]);
1303
+ }, _callee9, this, [[8, 23]]);
1182
1304
  }));
1183
1305
  function silentRefresh() {
1184
1306
  return _silentRefresh.apply(this, arguments);
@@ -1190,6 +1312,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1190
1312
  value: function normalizeOrderForMemoryList(order) {
1191
1313
  var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'normalizeOrderForMemoryList';
1192
1314
  var normalizedOrder = this.normalizeOrderCollectionsForIngress(order, source);
1315
+ return this.prepareNormalizedOrderForMemoryList(normalizedOrder);
1316
+ }
1317
+
1318
+ /**
1319
+ * 将已经完成集合规范化的订单转换为内存身份,不重复扫描 products/bookings/payments。
1320
+ */
1321
+ }, {
1322
+ key: "prepareNormalizedOrderForMemoryList",
1323
+ value: function prepareNormalizedOrderForMemoryList(normalizedOrder) {
1193
1324
  var externalSaleNumber = normalizedOrder === null || normalizedOrder === void 0 ? void 0 : normalizedOrder.external_sale_number;
1194
1325
  if (this.isDraftOrder(normalizedOrder) && !this.hasRealOrderId(normalizedOrder)) {
1195
1326
  return normalizedOrder;
@@ -1205,15 +1336,25 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1205
1336
  });
1206
1337
  }
1207
1338
  }, {
1208
- key: "normalizeOrdersForMemoryList",
1209
- value: function normalizeOrdersForMemoryList(orders, source) {
1339
+ key: "prepareNormalizedOrdersForMemoryList",
1340
+ value: function prepareNormalizedOrdersForMemoryList(orders) {
1210
1341
  var _this6 = this;
1211
1342
  return orders.map(function (order) {
1212
- return _this6.normalizeOrderForMemoryList(order, source);
1343
+ return _this6.prepareNormalizedOrderForMemoryList(order);
1213
1344
  }).filter(function (order) {
1214
1345
  return _this6.shouldKeepOrderInMemory(order);
1215
1346
  });
1216
1347
  }
1348
+ }, {
1349
+ key: "normalizeOrdersForMemoryList",
1350
+ value: function normalizeOrdersForMemoryList(orders, source) {
1351
+ var _this7 = this;
1352
+ return orders.map(function (order) {
1353
+ return _this7.normalizeOrderForMemoryList(order, source);
1354
+ }).filter(function (order) {
1355
+ return _this7.shouldKeepOrderInMemory(order);
1356
+ });
1357
+ }
1217
1358
  }, {
1218
1359
  key: "hasRealOrderId",
1219
1360
  value: function hasRealOrderId(order) {
@@ -1246,7 +1387,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1246
1387
  key: "overwriteExistingOrder",
1247
1388
  value: (function () {
1248
1389
  var _overwriteExistingOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(fresh) {
1249
- var _this7 = this;
1390
+ var _this8 = this;
1250
1391
  var orderId, key, normalizedFresh, existingOrder, reconciledFresh;
1251
1392
  return _regeneratorRuntime().wrap(function _callee10$(_context10) {
1252
1393
  while (1) switch (_context10.prev = _context10.next) {
@@ -1283,9 +1424,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1283
1424
  this.store.list = this.store.list.map(function (order) {
1284
1425
  var id = order === null || order === void 0 ? void 0 : order.order_id;
1285
1426
  if (id === undefined || id === null) {
1286
- return _this7.normalizeOrderForMemoryList(order, 'overwriteExistingOrder.existingMemory');
1427
+ return _this8.normalizeOrderForMemoryList(order, 'overwriteExistingOrder.existingMemory');
1287
1428
  }
1288
- return _this7.getIdKey(id) === key ? reconciledFresh : _this7.normalizeOrderForMemoryList(order, 'overwriteExistingOrder.existingMemory');
1429
+ return _this8.getIdKey(id) === key ? reconciledFresh : _this8.normalizeOrderForMemoryList(order, 'overwriteExistingOrder.existingMemory');
1289
1430
  });
1290
1431
  this.syncOrdersMap();
1291
1432
  _context10.next = 16;
@@ -1357,7 +1498,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1357
1498
  key: "markOrderSyncedByExternalSaleNumber",
1358
1499
  value: function () {
1359
1500
  var _markOrderSyncedByExternalSaleNumber = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(params) {
1360
- var _this8 = this,
1501
+ var _this9 = this,
1361
1502
  _existing$external_sa,
1362
1503
  _nextOrder$order_id;
1363
1504
  var externalSaleNumber, key, targetIndex, existing, nextOrder, storageKey;
@@ -1378,7 +1519,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1378
1519
  targetIndex = this.store.list.findIndex(function (order) {
1379
1520
  var value = order === null || order === void 0 ? void 0 : order.external_sale_number;
1380
1521
  if (value === undefined || value === null || value === '') return false;
1381
- return _this8.getIdKey(value) === key;
1522
+ return _this9.getIdKey(value) === key;
1382
1523
  });
1383
1524
  if (!(targetIndex < 0)) {
1384
1525
  _context12.next = 9;
@@ -1436,7 +1577,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1436
1577
  key: "upsertPendingSyncOrders",
1437
1578
  value: (function () {
1438
1579
  var _upsertPendingSyncOrders = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(pendingOrders) {
1439
- var _this9 = this;
1580
+ var _this10 = this;
1440
1581
  var options,
1441
1582
  pendingMap,
1442
1583
  memoryPendingMap,
@@ -1532,7 +1673,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1532
1673
  });
1533
1674
  mergeActions = {};
1534
1675
  updatedList = this.store.list.map(function (order) {
1535
- return _this9.normalizeOrderForMemoryList(order, 'upsertPendingSyncOrders.existingMemory');
1676
+ return _this10.normalizeOrderForMemoryList(order, 'upsertPendingSyncOrders.existingMemory');
1536
1677
  }); // 与 mergeOrdersToStore 一致:基于身份键(field:value)建立索引,把「查找已存在订单」
1537
1678
  // 从 O(n) 线性扫描降为 O(1),整体复杂度由 O(n^2) 降为 O(n + m)。
1538
1679
  identityKeyToIndex = new Map();
@@ -1642,7 +1783,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1642
1783
  key: "upsertLocalDraftOrders",
1643
1784
  value: (function () {
1644
1785
  var _upsertLocalDraftOrders = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14(draftOrders) {
1645
- var _this10 = this;
1786
+ var _this11 = this;
1646
1787
  var draftMap, memoryDraftMap, _iterator9, _step9, order, draftOrder, storageKey, memoryDraftOrder, mergeActions, updatedList, identityKeyToIndex, index, _iterator10, _step10, key, _iterator11, _step11, _step11$value, _storageKey2, _draftOrder, matchIndex, existingOrder, reconciledDraftOrder, mergedOrder, nextOrder, insertIndex, patchedOrders, previousList, removedLegacyMemoryDraft;
1647
1788
  return _regeneratorRuntime().wrap(function _callee14$(_context14) {
1648
1789
  while (1) switch (_context14.prev = _context14.next) {
@@ -1712,7 +1853,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1712
1853
  });
1713
1854
  mergeActions = {};
1714
1855
  updatedList = this.store.list.filter(function (order) {
1715
- return _this10.shouldKeepOrderInMemory(order);
1856
+ return _this11.shouldKeepOrderInMemory(order);
1716
1857
  });
1717
1858
  identityKeyToIndex = new Map();
1718
1859
  for (index = 0; index < updatedList.length; index += 1) {
@@ -1799,7 +1940,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1799
1940
  storeOrderCountAfter: this.store.list.length
1800
1941
  });
1801
1942
  removedLegacyMemoryDraft = previousList.some(function (order) {
1802
- return !_this10.shouldKeepOrderInMemory(order);
1943
+ return !_this11.shouldKeepOrderInMemory(order);
1803
1944
  });
1804
1945
  if (!(memoryDraftMap.size > 0 || removedLegacyMemoryDraft)) {
1805
1946
  _context14.next = 84;
@@ -1807,7 +1948,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1807
1948
  }
1808
1949
  _context14.next = 84;
1809
1950
  return this.emitOrdersChanged(patchedOrders.filter(function (order) {
1810
- return _this10.shouldKeepOrderInMemory(order);
1951
+ return _this11.shouldKeepOrderInMemory(order);
1811
1952
  }), 'upsertLocalDraftOrders');
1812
1953
  case 84:
1813
1954
  case "end":
@@ -1890,9 +2031,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1890
2031
  }, {
1891
2032
  key: "syncOrdersMap",
1892
2033
  value: function syncOrdersMap() {
1893
- var _this11 = this;
2034
+ var _this12 = this;
1894
2035
  this.store.list = this.store.list.filter(function (order) {
1895
- return _this11.shouldKeepOrderInMemory(order);
2036
+ return _this12.shouldKeepOrderInMemory(order);
1896
2037
  });
1897
2038
  this.store.map.clear();
1898
2039
  var _iterator12 = _createForOfIteratorHelper(this.store.list),
@@ -1948,7 +2089,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1948
2089
  }, {
1949
2090
  key: "getOrderIdentityEntries",
1950
2091
  value: function getOrderIdentityEntries(order) {
1951
- var _this12 = this;
2092
+ var _this13 = this;
1952
2093
  if (!order) return [];
1953
2094
  var record = order;
1954
2095
  var candidates = [{
@@ -1967,8 +2108,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1967
2108
  var entries = [];
1968
2109
  var _loop = function _loop() {
1969
2110
  var candidate = _candidates[_i2];
1970
- if (_this12.isBlankIdentityValue(candidate.value)) return 0; // continue
1971
- var key = _this12.getIdKey(candidate.value);
2111
+ if (_this13.isBlankIdentityValue(candidate.value)) return 0; // continue
2112
+ var key = _this13.getIdKey(candidate.value);
1972
2113
  if (entries.some(function (entry) {
1973
2114
  return entry.field === candidate.field && entry.key === key;
1974
2115
  })) return 0; // continue
@@ -2035,30 +2176,29 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2035
2176
  }, {
2036
2177
  key: "setupOrderSync",
2037
2178
  value: function setupOrderSync() {
2038
- var _this13 = this;
2179
+ var _this14 = this;
2039
2180
  if (!this.orderDataSource) return;
2040
2181
  this.orderDataSource.run({
2041
2182
  pubsub: {
2042
2183
  callback: function callback(res) {
2043
2184
  var _message$id, _message$order_id, _message$type;
2044
- console.log('orderDataSource', res);
2045
2185
  var pubsubReceivedAt = Date.now();
2046
- var message = _this13.normalizeOrderSyncMessage(res);
2186
+ var message = _this14.normalizeOrderSyncMessage(res);
2047
2187
  if (!message) return;
2048
2188
  message._pubsubReceivedAt = pubsubReceivedAt;
2049
- _this13.pendingSyncMessages.push(message);
2050
- var throttleMs = _this13.getOrderSyncThrottleMs();
2051
- var routeInfo = _this13.resolveSyncMessageRoute(message);
2052
- _this13.logInfo('orderSync-收到消息并入队', {
2189
+ _this14.pendingSyncMessages.push(message);
2190
+ var throttleMs = _this14.getOrderSyncThrottleMs();
2191
+ var routeInfo = _this14.resolveSyncMessageRoute(message);
2192
+ _this14.logInfo('orderSync-收到消息并入队', {
2053
2193
  id: (_message$id = message.id) !== null && _message$id !== void 0 ? _message$id : null,
2054
2194
  order_id: (_message$order_id = message.order_id) !== null && _message$order_id !== void 0 ? _message$order_id : null,
2055
2195
  type: (_message$type = message.type) !== null && _message$type !== void 0 ? _message$type : null,
2056
- pendingCount: _this13.pendingSyncMessages.length,
2196
+ pendingCount: _this14.pendingSyncMessages.length,
2057
2197
  throttleMs: throttleMs,
2058
2198
  pubsubReceivedAt: new Date(pubsubReceivedAt).toISOString(),
2059
2199
  fullMessage: JSON.stringify(message)
2060
2200
  });
2061
- _this13.scheduleOrderSyncThrottle();
2201
+ _this14.scheduleOrderSyncThrottle();
2062
2202
  }
2063
2203
  }
2064
2204
  }).catch(function () {
@@ -2075,7 +2215,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2075
2215
  }, {
2076
2216
  key: "scheduleOrderSyncThrottle",
2077
2217
  value: function scheduleOrderSyncThrottle() {
2078
- var _this14 = this;
2218
+ var _this15 = this;
2079
2219
  if (this.isProcessingSyncBatch) return;
2080
2220
  if (this.isIdlePhase) {
2081
2221
  this.isIdlePhase = false;
@@ -2086,8 +2226,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2086
2226
  if (this.syncTimer) return;
2087
2227
  var throttleMs = this.getOrderSyncThrottleMs();
2088
2228
  this.syncTimer = setTimeout(function () {
2089
- _this14.syncTimer = undefined;
2090
- void _this14.flushOrderSyncMessagesByThrottle();
2229
+ _this15.syncTimer = undefined;
2230
+ void _this15.flushOrderSyncMessagesByThrottle();
2091
2231
  }, throttleMs);
2092
2232
  }
2093
2233
 
@@ -2155,7 +2295,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2155
2295
  key: "processOrderSyncMessages",
2156
2296
  value: (function () {
2157
2297
  var _processOrderSyncMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17() {
2158
- var _this15 = this;
2298
+ var _this16 = this;
2159
2299
  var messages, batchProcessStartAt, earliestReceivedAt, upsertOrders, refreshIds, uniqueRefreshIds, upsertList, _this$filterRedundant, toFetch, skipped, freshOrders, batchProcessEndAt;
2160
2300
  return _regeneratorRuntime().wrap(function _callee17$(_context17) {
2161
2301
  while (1) switch (_context17.prev = _context17.next) {
@@ -2182,13 +2322,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2182
2322
  upsertOrders = new Map();
2183
2323
  refreshIds = [];
2184
2324
  messages.forEach(function (msg, msgIndex) {
2185
- var routeInfo = _this15.resolveSyncMessageRoute(msg);
2325
+ var routeInfo = _this16.resolveSyncMessageRoute(msg);
2186
2326
  var hasBatchIds = routeInfo.hasBatchIds;
2187
2327
  var singleId = routeInfo.singleId;
2188
2328
  var hasSingleId = routeInfo.hasSingleId;
2189
- var normalizedBody = _this15.normalizeOrderSyncPayload(msg.body || msg.data);
2329
+ var normalizedBody = _this16.normalizeOrderSyncPayload(msg.body || msg.data);
2190
2330
  if (routeInfo.route === 'bodyUpsert' && normalizedBody) {
2191
- upsertOrders.set(_this15.getIdKey(normalizedBody.order_id), normalizedBody);
2331
+ upsertOrders.set(_this16.getIdKey(normalizedBody.order_id), normalizedBody);
2192
2332
  return;
2193
2333
  }
2194
2334
  if (hasBatchIds) refreshIds.push.apply(refreshIds, _toConsumableArray(routeInfo.batchIds));else if (routeInfo.route === 'httpRefresh.singleId' && singleId !== null) refreshIds.push(singleId);else if (routeInfo.route === 'httpRefresh.relationIds') refreshIds.push.apply(refreshIds, _toConsumableArray(routeInfo.batchIds));
@@ -2326,7 +2466,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2326
2466
  key: "mergeOrdersToStore",
2327
2467
  value: (function () {
2328
2468
  var _mergeOrdersToStore = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(freshOrders, source) {
2329
- var _this16 = this;
2469
+ var _this17 = this;
2330
2470
  var storeOrderCountBefore, normalizedFreshOrders, incomingProductsHaveStableIdentity, _iterator14, _step14, order, id, rawProducts, _incomingProductsHave, allProductsHaveStableIdentity, orderIdKey, uniqueFreshOrders, uniqueFreshCount, patchedOrders, remoteProductMembershipChanges, forceWriteStorageKeys, storageKeyMigrations, mergeActions, existingProductsHaveStableIdentity, updatedList, identityKeyToIndex, index, identityKeys, _iterator15, _step15, key, _iterator16, _step16, fresh, freshIdentityKeys, matchIndex, storageKey, mergeKey, existingOrder, previousStorageKey, _ref, _existingOrder$order_, _ref2, _external_sale_number2, _existingOrder$paymen, _fresh$payment_status, _existingOrder$need_s, _fresh$need_sync, _ref3, _existingOrder$order_2, _ref4, _external_sale_number3, _existingOrder$is_dra, _fresh$is_draft_order, mergedOrder, freshOrderId, incomingProductsAreStable, membershipChange, mergedProductsHaveStableIdentity, adjustedMatchIndex, duplicateIndexes, _iterator17, _step17, _key2, _duplicateIndex, _iterator18, _step18, duplicateIndex, _index, _iterator19, _step19, _key, nextStorageKey, _ref5, _ref6, _mergedOrder$order_id, mergedStorageKey, insertIndex, insertCount, updateCount;
2331
2471
  return _regeneratorRuntime().wrap(function _callee19$(_context19) {
2332
2472
  while (1) switch (_context19.prev = _context19.next) {
@@ -2387,10 +2527,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2387
2527
  storageKeyMigrations = [];
2388
2528
  mergeActions = {};
2389
2529
  existingProductsHaveStableIdentity = this.store.list.map(function (order) {
2390
- return _this16.doProductsHaveStableMembershipIdentity(order.products);
2530
+ return _this17.doProductsHaveStableMembershipIdentity(order.products);
2391
2531
  });
2392
2532
  updatedList = this.store.list.map(function (order) {
2393
- return _this16.normalizeOrderForMemoryList(order, "".concat(source, ".existingMemory"));
2533
+ return _this17.normalizeOrderForMemoryList(order, "".concat(source, ".existingMemory"));
2394
2534
  }); // 基于身份键(field:value)建立索引,把「查找已存在订单」从 O(n) 线性扫描降为 O(1),
2395
2535
  // 整体合并复杂度由 O(n^2) 降为 O(n + m)。索引语义与 doOrdersShareIdentity 完全一致:
2396
2536
  // 任一身份字段(order_id/external_sale_number/order_number/shop_order_number)同值即同一单。
@@ -2694,7 +2834,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2694
2834
  }, {
2695
2835
  key: "getRemoteProductMembershipChange",
2696
2836
  value: function getRemoteProductMembershipChange(existingOrder, mergedOrder, source) {
2697
- var _this17 = this,
2837
+ var _this18 = this,
2698
2838
  _mergedOrder$order_id2;
2699
2839
  if (!this.isRemoteProductMembershipChangeSource(source)) return null;
2700
2840
  var previousProducts = Array.isArray(existingOrder.products) ? existingOrder.products : [];
@@ -2709,13 +2849,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2709
2849
  var _loop2 = function _loop2() {
2710
2850
  var previousProduct = _step21.value;
2711
2851
  var matchedIndex = currentProducts.findIndex(function (currentProduct, index) {
2712
- return unmatchedCurrentIndexes.has(index) && _this17.isSameProductMembershipItem(previousProduct, currentProduct);
2852
+ return unmatchedCurrentIndexes.has(index) && _this18.isSameProductMembershipItem(previousProduct, currentProduct);
2713
2853
  });
2714
2854
  if (matchedIndex >= 0) {
2715
2855
  unmatchedCurrentIndexes.delete(matchedIndex);
2716
2856
  return 1; // continue
2717
2857
  }
2718
- var productKey = _this17.getProductMembershipKey(previousProduct);
2858
+ var productKey = _this18.getProductMembershipKey(previousProduct);
2719
2859
  if (productKey) removedProductKeys.push(productKey);
2720
2860
  };
2721
2861
  for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
@@ -2727,7 +2867,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2727
2867
  _iterator21.f();
2728
2868
  }
2729
2869
  var addedProductKeys = _toConsumableArray(unmatchedCurrentIndexes).map(function (index) {
2730
- return _this17.getProductMembershipKey(currentProducts[index]);
2870
+ return _this18.getProductMembershipKey(currentProducts[index]);
2731
2871
  }).filter(Boolean);
2732
2872
  if (addedProductKeys.length === 0 && removedProductKeys.length === 0) {
2733
2873
  return null;
@@ -2842,12 +2982,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2842
2982
  }, {
2843
2983
  key: "isOrderLookupMatch",
2844
2984
  value: function isOrderLookupMatch(order, lookupKey) {
2845
- var _this18 = this;
2985
+ var _this19 = this;
2846
2986
  if (!order || !lookupKey) return false;
2847
2987
  var candidates = [order.order_id, order.external_sale_number, order.order_number, order.shop_order_number, order.shop_full_order_number];
2848
2988
  return candidates.some(function (value) {
2849
2989
  if (value === undefined || value === null || value === '') return false;
2850
- return _this18.getIdKey(value) === lookupKey;
2990
+ return _this19.getIdKey(value) === lookupKey;
2851
2991
  });
2852
2992
  }
2853
2993
 
@@ -2899,10 +3039,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2899
3039
  }, {
2900
3040
  key: "findOrderIndexByIdentity",
2901
3041
  value: function findOrderIndexByIdentity(orders, target) {
2902
- var _this19 = this;
3042
+ var _this20 = this;
2903
3043
  if (this.getOrderIdentityMatchKeys(target).length === 0) return -1;
2904
3044
  return orders.findIndex(function (order) {
2905
- return _this19.doOrdersShareIdentity(order, target);
3045
+ return _this20.doOrdersShareIdentity(order, target);
2906
3046
  });
2907
3047
  }
2908
3048
  }, {
@@ -3214,25 +3354,32 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3214
3354
  }
3215
3355
 
3216
3356
  /**
3217
- * 当前订单拉取窗口:
3218
- * - 优先使用 createdAtQuery.sales_time_between(已按营业日边界初始化)
3219
- * - 无法解析时退化为自然日窗口
3357
+ * 当前订单缓存可复用窗口。
3358
+ * start_time 模式使用精确的营业日起止时间;配置缺失或异常时退化为自然日。
3220
3359
  */
3221
3360
  }, {
3222
- key: "getCurrentPullWindow",
3223
- value: function getCurrentPullWindow() {
3224
- var _this$store2;
3361
+ key: "getCurrentOrderCacheWindow",
3362
+ value: function getCurrentOrderCacheWindow() {
3225
3363
  var now = dayjs();
3226
- var range = (_this$store2 = this.store) === null || _this$store2 === void 0 || (_this$store2 = _this$store2.createdAtQuery) === null || _this$store2 === void 0 ? void 0 : _this$store2.sales_time_between;
3227
- if (Array.isArray(range) && range.length >= 2) {
3228
- var _startAt = dayjs(range[0]);
3229
- var endExclusiveAt = dayjs(range[1]);
3230
- if (_startAt.isValid() && endExclusiveAt.isValid() && endExclusiveAt.isAfter(_startAt)) {
3231
- return {
3232
- startAt: _startAt,
3233
- endExclusiveAt: endExclusiveAt
3234
- };
3364
+ try {
3365
+ var _coreData$core;
3366
+ var appPlugin = this.core.getPlugin('app');
3367
+ var app = appPlugin === null || appPlugin === void 0 ? void 0 : appPlugin.getApp();
3368
+ var coreData = app === null || app === void 0 ? void 0 : app.data.store.getStore().getDataByModel('core');
3369
+ var boundary = coreData === null || coreData === void 0 || (_coreData$core = coreData.core) === null || _coreData$core === void 0 ? void 0 : _coreData$core.operating_day_boundary;
3370
+ if ((boundary === null || boundary === void 0 ? void 0 : boundary.type) === 'start_time') {
3371
+ var boundaryTime = String(boundary.time || '').trim();
3372
+ var todayBoundary = dayjs("".concat(now.format('YYYY-MM-DD'), " ").concat(boundaryTime));
3373
+ if (todayBoundary.isValid()) {
3374
+ var _startAt = now.isBefore(todayBoundary) ? todayBoundary.subtract(1, 'day') : todayBoundary;
3375
+ return {
3376
+ startAt: _startAt,
3377
+ endExclusiveAt: _startAt.add(1, 'day')
3378
+ };
3379
+ }
3235
3380
  }
3381
+ } catch (_unused6) {
3382
+ // 读取营业日配置失败时按自然日兜底,不影响启动。
3236
3383
  }
3237
3384
  var startAt = now.startOf('day');
3238
3385
  return {
@@ -3245,20 +3392,47 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3245
3392
  value: function hasPulledOrdersToday() {
3246
3393
  var lastFullFetchAt = this.getStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY);
3247
3394
  if (!lastFullFetchAt) return false;
3395
+ var currentShopId = this.getCurrentShopId();
3396
+ var lastFullFetchShopId = this.getStorageItem(ORDER_LAST_FULL_FETCH_SHOP_ID_STORAGE_KEY);
3397
+ if (!currentShopId || !lastFullFetchShopId || currentShopId !== lastFullFetchShopId) {
3398
+ return false;
3399
+ }
3248
3400
  var parsed = dayjs(lastFullFetchAt);
3249
3401
  if (!parsed.isValid()) return false;
3250
-
3251
- // 按当前拉取窗口判断,而不是自然日判断。
3252
- // 这样在营业日跨日边界(start_time)场景下也能正确判定是否需要重新拉取。
3253
- var _this$getCurrentPullW = this.getCurrentPullWindow(),
3254
- startAt = _this$getCurrentPullW.startAt,
3255
- endExclusiveAt = _this$getCurrentPullW.endExclusiveAt;
3402
+ var _this$getCurrentOrder = this.getCurrentOrderCacheWindow(),
3403
+ startAt = _this$getCurrentOrder.startAt,
3404
+ endExclusiveAt = _this$getCurrentOrder.endExclusiveAt;
3256
3405
  return (parsed.isAfter(startAt) || parsed.isSame(startAt)) && parsed.isBefore(endExclusiveAt);
3257
3406
  }
3258
3407
  }, {
3259
3408
  key: "markOrderPulledAtNow",
3260
3409
  value: function markOrderPulledAtNow() {
3410
+ var currentShopId = this.getCurrentShopId();
3411
+ if (!currentShopId) return;
3261
3412
  this.setStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY, dayjs().format('YYYY-MM-DD HH:mm:ss'));
3413
+ this.setStorageItem(ORDER_LAST_FULL_FETCH_SHOP_ID_STORAGE_KEY, currentShopId);
3414
+ }
3415
+ }, {
3416
+ key: "clearOrderSnapshotMarker",
3417
+ value: function clearOrderSnapshotMarker() {
3418
+ this.setStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY, '');
3419
+ this.setStorageItem(ORDER_LAST_FULL_FETCH_SHOP_ID_STORAGE_KEY, '');
3420
+ }
3421
+ }, {
3422
+ key: "getCurrentShopId",
3423
+ value: function getCurrentShopId() {
3424
+ try {
3425
+ var _coreData$core2;
3426
+ var appPlugin = this.core.getPlugin('app');
3427
+ var app = appPlugin === null || appPlugin === void 0 ? void 0 : appPlugin.getApp();
3428
+ if (!app) return null;
3429
+ var coreData = app.data.store.getStore().getDataByModel('core');
3430
+ var shopId = coreData === null || coreData === void 0 || (_coreData$core2 = coreData.core) === null || _coreData$core2 === void 0 ? void 0 : _coreData$core2.id;
3431
+ if (shopId === undefined || shopId === null || shopId === '') return null;
3432
+ return String(shopId);
3433
+ } catch (_unused7) {
3434
+ return null;
3435
+ }
3262
3436
  }
3263
3437
  }, {
3264
3438
  key: "getStorageItem",
@@ -3269,7 +3443,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3269
3443
  if (typeof globalThis !== 'undefined' && globalThis !== null && globalThis !== void 0 && globalThis.localStorage) {
3270
3444
  return globalThis.localStorage.getItem(key);
3271
3445
  }
3272
- } catch (_unused6) {
3446
+ } catch (_unused8) {
3273
3447
  // 忽略存储异常,避免影响主流程
3274
3448
  }
3275
3449
  return null;
@@ -3286,7 +3460,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3286
3460
  if (typeof globalThis !== 'undefined' && globalThis !== null && globalThis !== void 0 && globalThis.localStorage) {
3287
3461
  globalThis.localStorage.setItem(key, value);
3288
3462
  }
3289
- } catch (_unused7) {
3463
+ } catch (_unused9) {
3290
3464
  // 忽略存储异常,避免影响主流程
3291
3465
  }
3292
3466
  }
@@ -3294,34 +3468,61 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3294
3468
  key: "loadOrdersFromSQLite",
3295
3469
  value: function () {
3296
3470
  var _loadOrdersFromSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20() {
3297
- var _this20 = this;
3298
- var orders;
3471
+ var _this21 = this;
3472
+ var options,
3473
+ _options$onTiming,
3474
+ loadStartedAt,
3475
+ rawReadStartedAt,
3476
+ orders,
3477
+ sqliteRawReadMs,
3478
+ normalizeStartedAt,
3479
+ normalizedOrders,
3480
+ sqliteNormalizeMs,
3481
+ _args20 = arguments;
3299
3482
  return _regeneratorRuntime().wrap(function _callee20$(_context20) {
3300
3483
  while (1) switch (_context20.prev = _context20.next) {
3301
3484
  case 0:
3485
+ options = _args20.length > 0 && _args20[0] !== undefined ? _args20[0] : {};
3302
3486
  if (this.dbManager) {
3303
- _context20.next = 2;
3487
+ _context20.next = 3;
3304
3488
  break;
3305
3489
  }
3306
3490
  return _context20.abrupt("return", []);
3307
- case 2:
3308
- _context20.prev = 2;
3309
- _context20.next = 5;
3491
+ case 3:
3492
+ _context20.prev = 3;
3493
+ loadStartedAt = performance.now();
3494
+ rawReadStartedAt = performance.now();
3495
+ _context20.next = 8;
3310
3496
  return this.dbManager.getAll(INDEXDB_STORE_NAME);
3311
- case 5:
3497
+ case 8:
3312
3498
  orders = _context20.sent;
3313
- return _context20.abrupt("return", (orders || []).map(function (order) {
3314
- return _this20.normalizeOrderCollectionsForIngress(order, 'loadOrdersFromSQLite');
3315
- }));
3316
- case 9:
3317
- _context20.prev = 9;
3318
- _context20.t0 = _context20["catch"](2);
3499
+ sqliteRawReadMs = +(performance.now() - rawReadStartedAt).toFixed(2);
3500
+ normalizeStartedAt = performance.now();
3501
+ normalizedOrders = (orders || []).map(function (order) {
3502
+ return _this21.normalizeOrderCollectionsForIngress(order, 'loadOrdersFromSQLite');
3503
+ });
3504
+ sqliteNormalizeMs = +(performance.now() - normalizeStartedAt).toFixed(2);
3505
+ (_options$onTiming = options.onTiming) === null || _options$onTiming === void 0 || _options$onTiming.call(options, {
3506
+ sqliteRawReadMs: sqliteRawReadMs,
3507
+ sqliteNormalizeMs: sqliteNormalizeMs,
3508
+ sqliteLoadTotalMs: +(performance.now() - loadStartedAt).toFixed(2)
3509
+ });
3510
+ return _context20.abrupt("return", normalizedOrders);
3511
+ case 17:
3512
+ _context20.prev = 17;
3513
+ _context20.t0 = _context20["catch"](3);
3514
+ if (!options.throwOnError) {
3515
+ _context20.next = 21;
3516
+ break;
3517
+ }
3518
+ throw _context20.t0;
3519
+ case 21:
3319
3520
  return _context20.abrupt("return", []);
3320
- case 12:
3521
+ case 22:
3321
3522
  case "end":
3322
3523
  return _context20.stop();
3323
3524
  }
3324
- }, _callee20, this, [[2, 9]]);
3525
+ }, _callee20, this, [[3, 17]]);
3325
3526
  }));
3326
3527
  function loadOrdersFromSQLite() {
3327
3528
  return _loadOrdersFromSQLite.apply(this, arguments);
@@ -3371,9 +3572,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3371
3572
  }, {
3372
3573
  key: "mergeRemoteSnapshotWithPendingOrders",
3373
3574
  value: function mergeRemoteSnapshotWithPendingOrders(remoteOrders, existingOrders) {
3374
- var _this21 = this;
3575
+ var _this22 = this;
3375
3576
  var merged = remoteOrders.map(function (order) {
3376
- return _this21.normalizeRemoteSyncedOrder(order);
3577
+ return _this22.normalizeRemoteSyncedOrder(order);
3377
3578
  });
3378
3579
  var _iterator31 = _createForOfIteratorHelper(existingOrders),
3379
3580
  _step31;
@@ -3447,7 +3648,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3447
3648
  key: "patchOrdersInSQLite",
3448
3649
  value: (function () {
3449
3650
  var _patchOrdersInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23(orders, source) {
3450
- var _this22 = this;
3651
+ var _this23 = this;
3451
3652
  var mergeActions,
3452
3653
  options,
3453
3654
  forceWriteStorageKeys,
@@ -3491,13 +3692,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3491
3692
  return migration.to;
3492
3693
  }));
3493
3694
  ordersSnapshot = cloneDeep(orders).map(function (order) {
3494
- return _this22.normalizeOrderCollectionsForIngress(order, "".concat(source, ".sqliteIngress"));
3695
+ return _this23.normalizeOrderCollectionsForIngress(order, "".concat(source, ".sqliteIngress"));
3495
3696
  }).map(function (order) {
3496
- var storageKey = _this22.getOrderStorageKey(order);
3697
+ var storageKey = _this23.getOrderStorageKey(order);
3497
3698
  if (!storageKey || !migrationTargetStorageKeys.has(storageKey)) return order;
3498
3699
  return _objectSpread(_objectSpread({}, order), {}, _defineProperty({}, ORDER_STORAGE_KEY_FIELD, storageKey));
3499
3700
  }).filter(function (order) {
3500
- return _this22.getOrderStorageKey(order);
3701
+ return _this23.getOrderStorageKey(order);
3501
3702
  });
3502
3703
  if (!(ordersSnapshot.length === 0)) {
3503
3704
  _context23.next = 13;
@@ -3520,7 +3721,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3520
3721
  return _context23.abrupt("return");
3521
3722
  case 19:
3522
3723
  writtenStorageKeys = new Set(compactedToWrite.map(function (order) {
3523
- return _this22.getOrderStorageKey(order);
3724
+ return _this23.getOrderStorageKey(order);
3524
3725
  }).filter(Boolean));
3525
3726
  storageKeyMigrations = new Map();
3526
3727
  _iterator32 = _createForOfIteratorHelper(options.storageKeyMigrations || []);
@@ -3568,34 +3769,34 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3568
3769
  while (1) switch (_context22.prev = _context22.next) {
3569
3770
  case 0:
3570
3771
  writeMethod = 'none';
3571
- _this22.logInfo('patchOrdersInSQLite-开始', {
3772
+ _this23.logInfo('patchOrdersInSQLite-开始', {
3572
3773
  source: source,
3573
3774
  count: compactedToWrite.length,
3574
3775
  dedupedCount: skipped.length
3575
3776
  });
3576
- if (!(typeof _this22.dbManager.bulkUpdate === 'function')) {
3777
+ if (!(typeof _this23.dbManager.bulkUpdate === 'function')) {
3577
3778
  _context22.next = 8;
3578
3779
  break;
3579
3780
  }
3580
3781
  writeMethod = 'bulkUpdate';
3581
3782
  _context22.next = 6;
3582
- return _this22.dbManager.bulkUpdate(INDEXDB_STORE_NAME, compactedToWrite);
3783
+ return _this23.dbManager.bulkUpdate(INDEXDB_STORE_NAME, compactedToWrite);
3583
3784
  case 6:
3584
3785
  _context22.next = 37;
3585
3786
  break;
3586
3787
  case 8:
3587
- if (!(typeof _this22.dbManager.bulkAdd === 'function')) {
3788
+ if (!(typeof _this23.dbManager.bulkAdd === 'function')) {
3588
3789
  _context22.next = 14;
3589
3790
  break;
3590
3791
  }
3591
3792
  writeMethod = 'bulkAdd';
3592
3793
  _context22.next = 12;
3593
- return _this22.dbManager.bulkAdd(INDEXDB_STORE_NAME, compactedToWrite);
3794
+ return _this23.dbManager.bulkAdd(INDEXDB_STORE_NAME, compactedToWrite);
3594
3795
  case 12:
3595
3796
  _context22.next = 37;
3596
3797
  break;
3597
3798
  case 14:
3598
- if (!(typeof _this22.dbManager.update === 'function')) {
3799
+ if (!(typeof _this23.dbManager.update === 'function')) {
3599
3800
  _context22.next = 35;
3600
3801
  break;
3601
3802
  }
@@ -3610,7 +3811,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3610
3811
  }
3611
3812
  order = _step33.value;
3612
3813
  _context22.next = 23;
3613
- return _this22.dbManager.update(INDEXDB_STORE_NAME, order);
3814
+ return _this23.dbManager.update(INDEXDB_STORE_NAME, order);
3614
3815
  case 23:
3615
3816
  _context22.next = 19;
3616
3817
  break;
@@ -3635,7 +3836,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3635
3836
  }
3636
3837
  throw new Error('订单 SQLite 数据库不支持写入');
3637
3838
  case 37:
3638
- _this22.recordRecentSqliteWrite(source, compactedToWrite);
3839
+ _this23.recordRecentSqliteWrite(source, compactedToWrite);
3639
3840
  if (!(writeMethod !== 'none')) {
3640
3841
  _context22.next = 84;
3641
3842
  break;
@@ -3651,9 +3852,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3651
3852
  migration = _step34.value;
3652
3853
  _context22.prev = 44;
3653
3854
  _context22.next = 47;
3654
- return _this22.dbManager.delete(INDEXDB_STORE_NAME, migration.from);
3855
+ return _this23.dbManager.delete(INDEXDB_STORE_NAME, migration.from);
3655
3856
  case 47:
3656
- _this22.recentSqliteWriteByStorageKey.delete(migration.from);
3857
+ _this23.recentSqliteWriteByStorageKey.delete(migration.from);
3657
3858
  _iterator35 = _createForOfIteratorHelper(orders);
3658
3859
  _context22.prev = 49;
3659
3860
  _iterator35.s();
@@ -3663,7 +3864,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3663
3864
  break;
3664
3865
  }
3665
3866
  _order = _step35.value;
3666
- if (!(_this22.getOrderStorageKey(_order) !== migration.to)) {
3867
+ if (!(_this23.getOrderStorageKey(_order) !== migration.to)) {
3667
3868
  _context22.next = 55;
3668
3869
  break;
3669
3870
  }
@@ -3697,7 +3898,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3697
3898
  case 71:
3698
3899
  _context22.prev = 71;
3699
3900
  _context22.t2 = _context22["catch"](44);
3700
- _this22.logError('删除订单旧 SQLite storage key 失败', {
3901
+ _this23.logError('删除订单旧 SQLite storage key 失败', {
3701
3902
  source: source,
3702
3903
  order_id: migration.orderId,
3703
3904
  oldStorageKey: migration.from,
@@ -3719,7 +3920,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3719
3920
  _iterator34.f();
3720
3921
  return _context22.finish(81);
3721
3922
  case 84:
3722
- _this22.logInfo('patchOrdersInSQLite-完成', {
3923
+ _this23.logInfo('patchOrdersInSQLite-完成', {
3723
3924
  source: source,
3724
3925
  count: compactedToWrite.length,
3725
3926
  writeMethod: writeMethod,
@@ -3768,7 +3969,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3768
3969
  key: "updateOrderInSQLite",
3769
3970
  value: (function () {
3770
3971
  var _updateOrderInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee25(order, source) {
3771
- var _this23 = this;
3972
+ var _this24 = this;
3772
3973
  var options,
3773
3974
  orderSnapshot,
3774
3975
  _orderSnapshot$order_3,
@@ -3811,40 +4012,40 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3811
4012
  while (1) switch (_context24.prev = _context24.next) {
3812
4013
  case 0:
3813
4014
  writeMethod = 'none';
3814
- _this23.logInfo('updateOrderInSQLite-开始', {
4015
+ _this24.logInfo('updateOrderInSQLite-开始', {
3815
4016
  source: source,
3816
4017
  orderId: (_orderSnapshot$order_ = orderSnapshot.order_id) !== null && _orderSnapshot$order_ !== void 0 ? _orderSnapshot$order_ : null,
3817
- storageKey: _this23.getOrderStorageKey(orderSnapshot)
4018
+ storageKey: _this24.getOrderStorageKey(orderSnapshot)
3818
4019
  });
3819
- if (!(typeof _this23.dbManager.update === 'function')) {
4020
+ if (!(typeof _this24.dbManager.update === 'function')) {
3820
4021
  _context24.next = 8;
3821
4022
  break;
3822
4023
  }
3823
4024
  writeMethod = 'update';
3824
4025
  _context24.next = 6;
3825
- return _this23.dbManager.update(INDEXDB_STORE_NAME, orderSnapshot);
4026
+ return _this24.dbManager.update(INDEXDB_STORE_NAME, orderSnapshot);
3826
4027
  case 6:
3827
4028
  _context24.next = 22;
3828
4029
  break;
3829
4030
  case 8:
3830
- if (!(typeof _this23.dbManager.bulkUpdate === 'function')) {
4031
+ if (!(typeof _this24.dbManager.bulkUpdate === 'function')) {
3831
4032
  _context24.next = 14;
3832
4033
  break;
3833
4034
  }
3834
4035
  writeMethod = 'bulkUpdate';
3835
4036
  _context24.next = 12;
3836
- return _this23.dbManager.bulkUpdate(INDEXDB_STORE_NAME, [orderSnapshot]);
4037
+ return _this24.dbManager.bulkUpdate(INDEXDB_STORE_NAME, [orderSnapshot]);
3837
4038
  case 12:
3838
4039
  _context24.next = 22;
3839
4040
  break;
3840
4041
  case 14:
3841
- if (!(typeof _this23.dbManager.bulkAdd === 'function')) {
4042
+ if (!(typeof _this24.dbManager.bulkAdd === 'function')) {
3842
4043
  _context24.next = 20;
3843
4044
  break;
3844
4045
  }
3845
4046
  writeMethod = 'bulkAdd';
3846
4047
  _context24.next = 18;
3847
- return _this23.dbManager.bulkAdd(INDEXDB_STORE_NAME, [orderSnapshot]);
4048
+ return _this24.dbManager.bulkAdd(INDEXDB_STORE_NAME, [orderSnapshot]);
3848
4049
  case 18:
3849
4050
  _context24.next = 22;
3850
4051
  break;
@@ -3855,8 +4056,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3855
4056
  }
3856
4057
  throw new Error('订单 SQLite 数据库不支持写入');
3857
4058
  case 22:
3858
- _this23.recordRecentSqliteWrite(source, [orderSnapshot]);
3859
- _this23.logInfo('updateOrderInSQLite-完成', {
4059
+ _this24.recordRecentSqliteWrite(source, [orderSnapshot]);
4060
+ _this24.logInfo('updateOrderInSQLite-完成', {
3860
4061
  source: source,
3861
4062
  orderId: (_orderSnapshot$order_2 = orderSnapshot.order_id) !== null && _orderSnapshot$order_2 !== void 0 ? _orderSnapshot$order_2 : null,
3862
4063
  writeMethod: writeMethod
@@ -3898,17 +4099,18 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3898
4099
  * 用于 SSE 全量拉取与营业日窗口裁剪。
3899
4100
  *
3900
4101
  * @example
3901
- * await this.replaceOrdersSnapshotInSQLite(orderList)
4102
+ * const { orders, persisted } = await this.replaceOrdersSnapshotInSQLite(orderList, 'refresh')
3902
4103
  */
3903
4104
  )
3904
4105
  }, {
3905
4106
  key: "replaceOrdersSnapshotInSQLite",
3906
4107
  value: (function () {
3907
4108
  var _replaceOrdersSnapshotInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27(orderList, source) {
3908
- var _this24 = this;
4109
+ var _this25 = this;
3909
4110
  var protectedOrdersBeforeRemoteFetch,
3910
4111
  remoteSnapshot,
3911
4112
  mergedSnapshot,
4113
+ persisted,
3912
4114
  _args27 = arguments;
3913
4115
  return _regeneratorRuntime().wrap(function _callee27$(_context27) {
3914
4116
  while (1) switch (_context27.prev = _context27.next) {
@@ -3918,29 +4120,33 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3918
4120
  _context27.next = 3;
3919
4121
  break;
3920
4122
  }
3921
- return _context27.abrupt("return", this.compactOrderListByIdentity(orderList.map(function (order) {
3922
- return _this24.normalizeRemoteSyncedOrder(order);
3923
- }), "".concat(source, ".snapshotNoDb")).list);
4123
+ return _context27.abrupt("return", {
4124
+ orders: this.compactOrderListByIdentity(orderList.map(function (order) {
4125
+ return _this25.normalizeRemoteSyncedOrder(order);
4126
+ }), "".concat(source, ".snapshotNoDb")).list,
4127
+ persisted: false
4128
+ });
3924
4129
  case 3:
3925
4130
  remoteSnapshot = cloneDeep(orderList).map(function (order) {
3926
- return _this24.normalizeOrderCollectionsForIngress(order, "".concat(source, ".remoteIngress"));
4131
+ return _this25.normalizeOrderCollectionsForIngress(order, "".concat(source, ".remoteIngress"));
3927
4132
  });
3928
4133
  mergedSnapshot = this.compactOrderListByIdentity(remoteSnapshot.map(function (order) {
3929
- return _this24.normalizeRemoteSyncedOrder(order);
4134
+ return _this25.normalizeRemoteSyncedOrder(order);
3930
4135
  }), "".concat(source, ".remoteSnapshot")).list;
3931
- _context27.prev = 5;
3932
- _context27.next = 8;
4136
+ persisted = false;
4137
+ _context27.prev = 6;
4138
+ _context27.next = 9;
3933
4139
  return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26() {
3934
4140
  var existingOrders, protectedLocalOrders, _iterator36, _step36, rawCurrentOrder, currentOrder, protectedIndex, currentNeedsProtection, orderListSnapshot;
3935
4141
  return _regeneratorRuntime().wrap(function _callee26$(_context26) {
3936
4142
  while (1) switch (_context26.prev = _context26.next) {
3937
4143
  case 0:
3938
- if (!(typeof _this24.dbManager.getAll === 'function')) {
4144
+ if (!(typeof _this25.dbManager.getAll === 'function')) {
3939
4145
  _context26.next = 6;
3940
4146
  break;
3941
4147
  }
3942
4148
  _context26.next = 3;
3943
- return _this24.dbManager.getAll(INDEXDB_STORE_NAME);
4149
+ return _this25.dbManager.getAll(INDEXDB_STORE_NAME);
3944
4150
  case 3:
3945
4151
  _context26.t0 = _context26.sent;
3946
4152
  _context26.next = 7;
@@ -3950,9 +4156,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3950
4156
  case 7:
3951
4157
  existingOrders = _context26.t0;
3952
4158
  protectedLocalOrders = protectedOrdersBeforeRemoteFetch.map(function (order) {
3953
- return _this24.normalizeOrderCollectionsForIngress(order, "".concat(source, ".protectedBeforeRemoteFetch"));
4159
+ return _this25.normalizeOrderCollectionsForIngress(order, "".concat(source, ".protectedBeforeRemoteFetch"));
3954
4160
  }).filter(function (order) {
3955
- return _this24.shouldProtectLocalOrderFromRemoteSnapshot(order);
4161
+ return _this25.shouldProtectLocalOrderFromRemoteSnapshot(order);
3956
4162
  });
3957
4163
  _iterator36 = _createForOfIteratorHelper(existingOrders || []);
3958
4164
  _context26.prev = 10;
@@ -3963,9 +4169,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3963
4169
  break;
3964
4170
  }
3965
4171
  rawCurrentOrder = _step36.value;
3966
- currentOrder = _this24.normalizeOrderCollectionsForIngress(rawCurrentOrder, "".concat(source, ".currentSQLite"));
3967
- protectedIndex = _this24.findOrderIndexByIdentity(protectedLocalOrders, currentOrder);
3968
- currentNeedsProtection = _this24.shouldProtectLocalOrderFromRemoteSnapshot(currentOrder);
4172
+ currentOrder = _this25.normalizeOrderCollectionsForIngress(rawCurrentOrder, "".concat(source, ".currentSQLite"));
4173
+ protectedIndex = _this25.findOrderIndexByIdentity(protectedLocalOrders, currentOrder);
4174
+ currentNeedsProtection = _this25.shouldProtectLocalOrderFromRemoteSnapshot(currentOrder);
3969
4175
  if (!(protectedIndex >= 0)) {
3970
4176
  _context26.next = 20;
3971
4177
  break;
@@ -3993,9 +4199,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3993
4199
  _iterator36.f();
3994
4200
  return _context26.finish(28);
3995
4201
  case 31:
3996
- orderListSnapshot = _this24.mergeRemoteSnapshotWithPendingOrders(remoteSnapshot, protectedLocalOrders);
3997
- mergedSnapshot = _this24.compactOrderListByIdentity(orderListSnapshot, "".concat(source, ".sqliteSnapshot")).list;
3998
- _this24.logInfo('replaceOrdersSnapshotInSQLite-开始', {
4202
+ orderListSnapshot = _this25.mergeRemoteSnapshotWithPendingOrders(remoteSnapshot, protectedLocalOrders);
4203
+ mergedSnapshot = _this25.compactOrderListByIdentity(orderListSnapshot, "".concat(source, ".sqliteSnapshot")).list;
4204
+ _this25.logInfo('replaceOrdersSnapshotInSQLite-开始', {
3999
4205
  source: source,
4000
4206
  count: mergedSnapshot.length,
4001
4207
  remoteCount: remoteSnapshot.length,
@@ -4003,10 +4209,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4003
4209
  protectedLocalOrderCount: protectedLocalOrders.length,
4004
4210
  preservedLocalUnsyncedCount: mergedSnapshot.length - remoteSnapshot.length,
4005
4211
  protectedPendingPaymentCount: protectedLocalOrders.reduce(function (count, order) {
4006
- return count + _this24.getIdentifiedPendingPayments(order).length;
4212
+ return count + _this25.getIdentifiedPendingPayments(order).length;
4007
4213
  }, 0),
4008
4214
  protectedPendingPaymentIdentities: protectedLocalOrders.flatMap(function (order) {
4009
- return _this24.getIdentifiedPendingPayments(order).map(function (payment) {
4215
+ return _this25.getIdentifiedPendingPayments(order).map(function (payment) {
4010
4216
  var _order$order_id5, _external_sale_number5;
4011
4217
  return {
4012
4218
  order_id: (_order$order_id5 = order.order_id) !== null && _order$order_id5 !== void 0 ? _order$order_id5 : null,
@@ -4017,9 +4223,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4017
4223
  })
4018
4224
  });
4019
4225
  _context26.next = 36;
4020
- return _this24.dbManager.clear(INDEXDB_STORE_NAME);
4226
+ return _this25.dbManager.clear(INDEXDB_STORE_NAME);
4021
4227
  case 36:
4022
- _this24.logInfo('replaceOrdersSnapshotInSQLite-clear完成', {
4228
+ _this25.logInfo('replaceOrdersSnapshotInSQLite-clear完成', {
4023
4229
  count: mergedSnapshot.length
4024
4230
  });
4025
4231
  if (!(mergedSnapshot.length === 0)) {
@@ -4029,10 +4235,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4029
4235
  return _context26.abrupt("return");
4030
4236
  case 39:
4031
4237
  _context26.next = 41;
4032
- return _this24.dbManager.bulkAdd(INDEXDB_STORE_NAME, mergedSnapshot);
4238
+ return _this25.dbManager.bulkAdd(INDEXDB_STORE_NAME, mergedSnapshot);
4033
4239
  case 41:
4034
- _this24.recordRecentSqliteWrite(source, mergedSnapshot);
4035
- _this24.logInfo('replaceOrdersSnapshotInSQLite-bulkAdd完成', {
4240
+ _this25.recordRecentSqliteWrite(source, mergedSnapshot);
4241
+ _this25.logInfo('replaceOrdersSnapshotInSQLite-bulkAdd完成', {
4036
4242
  source: source,
4037
4243
  count: mergedSnapshot.length
4038
4244
  });
@@ -4042,23 +4248,27 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4042
4248
  }
4043
4249
  }, _callee26, null, [[10, 25, 28, 31]]);
4044
4250
  })));
4045
- case 8:
4046
- _context27.next = 13;
4251
+ case 9:
4252
+ persisted = true;
4253
+ _context27.next = 15;
4047
4254
  break;
4048
- case 10:
4049
- _context27.prev = 10;
4050
- _context27.t0 = _context27["catch"](5);
4255
+ case 12:
4256
+ _context27.prev = 12;
4257
+ _context27.t0 = _context27["catch"](6);
4051
4258
  this.logError('全量保存订单到 SQLite 失败', {
4052
4259
  error: _context27.t0 instanceof Error ? _context27.t0.message : String(_context27.t0),
4053
4260
  orderList: remoteSnapshot.length
4054
4261
  });
4055
- case 13:
4056
- return _context27.abrupt("return", mergedSnapshot);
4057
- case 14:
4262
+ case 15:
4263
+ return _context27.abrupt("return", {
4264
+ orders: mergedSnapshot,
4265
+ persisted: persisted
4266
+ });
4267
+ case 16:
4058
4268
  case "end":
4059
4269
  return _context27.stop();
4060
4270
  }
4061
- }, _callee27, this, [[5, 10]]);
4271
+ }, _callee27, this, [[6, 12]]);
4062
4272
  }));
4063
4273
  function replaceOrdersSnapshotInSQLite(_x20, _x21) {
4064
4274
  return _replaceOrdersSnapshotInSQLite.apply(this, arguments);
@@ -4076,7 +4286,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4076
4286
  key: "clear",
4077
4287
  value: (function () {
4078
4288
  var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee29() {
4079
- var _this25 = this;
4289
+ var _this26 = this;
4080
4290
  return _regeneratorRuntime().wrap(function _callee29$(_context29) {
4081
4291
  while (1) switch (_context29.prev = _context29.next) {
4082
4292
  case 0:
@@ -4092,7 +4302,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4092
4302
  while (1) switch (_context28.prev = _context28.next) {
4093
4303
  case 0:
4094
4304
  _context28.next = 2;
4095
- return _this25.dbManager.clear(INDEXDB_STORE_NAME);
4305
+ return _this26.dbManager.clear(INDEXDB_STORE_NAME);
4096
4306
  case 2:
4097
4307
  case "end":
4098
4308
  return _context28.stop();
@@ -4100,7 +4310,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4100
4310
  }, _callee28);
4101
4311
  })));
4102
4312
  case 5:
4103
- this.setStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY, '');
4313
+ this.clearOrderSnapshotMarker();
4104
4314
  this.emitOrdersChanged([], 'clear');
4105
4315
  case 7:
4106
4316
  case "end":