@pisell/pisellos 2.2.285 → 2.2.286
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.
- package/dist/modules/Order/index.js +17 -16
- package/dist/modules/Order/types.d.ts +1 -0
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.js +154 -64
- package/dist/server/modules/order/index.d.ts +8 -0
- package/dist/server/modules/order/index.js +251 -215
- package/dist/solution/BaseSales/index.d.ts +3 -0
- package/dist/solution/BaseSales/index.js +127 -82
- package/dist/solution/BookingByStep/index.d.ts +2 -2
- package/dist/solution/BookingTicket/index.d.ts +14 -2
- package/lib/modules/Order/index.js +8 -7
- package/lib/modules/Order/types.d.ts +1 -0
- package/lib/server/index.d.ts +4 -0
- package/lib/server/index.js +83 -2
- package/lib/server/modules/order/index.d.ts +8 -0
- package/lib/server/modules/order/index.js +23 -0
- package/lib/solution/BaseSales/index.d.ts +3 -0
- package/lib/solution/BaseSales/index.js +35 -4
- package/lib/solution/BookingByStep/index.d.ts +2 -2
- package/lib/solution/BookingTicket/index.d.ts +14 -2
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
5
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
6
2
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
7
3
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
4
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
9
5
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
7
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
9
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
10
10
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
11
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
12
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
@@ -90,6 +90,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
90
90
|
_defineProperty(_assertThisInitialized(_this), "orderSQLiteSaveQueue", Promise.resolve());
|
|
91
91
|
/** 按 storageKey 记录最近一次 SQLite 写入来源与时间,用于去重 */
|
|
92
92
|
_defineProperty(_assertThisInitialized(_this), "recentSqliteWriteByStorageKey", new Map());
|
|
93
|
+
/** 最近一次清理过期 SQLite 去重记录的时间,避免每次写入都遍历 Map */
|
|
94
|
+
_defineProperty(_assertThisInitialized(_this), "lastRecentSqliteWriteCleanupAtMs", 0);
|
|
93
95
|
/** 最近一次 SSE 全量拉取完成时间 */
|
|
94
96
|
_defineProperty(_assertThisInitialized(_this), "lastServerFullFetchAtMs", 0);
|
|
95
97
|
return _this;
|
|
@@ -428,6 +430,37 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
428
430
|
return this.normalizeOrderCollectionsForIngress(applyOrderCollectionUidRemaps(reconciled, uidRemaps), 'overwriteExistingOrder.reconciled');
|
|
429
431
|
}
|
|
430
432
|
|
|
433
|
+
/**
|
|
434
|
+
* 惰性清理已经超过去重窗口的 SQLite 写入记录。
|
|
435
|
+
*
|
|
436
|
+
* 清理频率与去重窗口一致,既限制 Map 长期增长,也不会移除仍参与去重的记录。
|
|
437
|
+
*/
|
|
438
|
+
}, {
|
|
439
|
+
key: "cleanupExpiredRecentSqliteWrites",
|
|
440
|
+
value: function cleanupExpiredRecentSqliteWrites(now) {
|
|
441
|
+
var elapsedSinceCleanup = now - this.lastRecentSqliteWriteCleanupAtMs;
|
|
442
|
+
if (this.lastRecentSqliteWriteCleanupAtMs > 0 && elapsedSinceCleanup >= 0 && elapsedSinceCleanup < ORDER_SQLITE_DEDUPE_MS) {
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
445
|
+
var _iterator3 = _createForOfIteratorHelper(this.recentSqliteWriteByStorageKey),
|
|
446
|
+
_step3;
|
|
447
|
+
try {
|
|
448
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
449
|
+
var _step3$value = _slicedToArray(_step3.value, 2),
|
|
450
|
+
storageKey = _step3$value[0],
|
|
451
|
+
recentWrite = _step3$value[1];
|
|
452
|
+
if (now - recentWrite.ts >= ORDER_SQLITE_DEDUPE_MS) {
|
|
453
|
+
this.recentSqliteWriteByStorageKey.delete(storageKey);
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
} catch (err) {
|
|
457
|
+
_iterator3.e(err);
|
|
458
|
+
} finally {
|
|
459
|
+
_iterator3.f();
|
|
460
|
+
}
|
|
461
|
+
this.lastRecentSqliteWriteCleanupAtMs = now;
|
|
462
|
+
}
|
|
463
|
+
|
|
431
464
|
/**
|
|
432
465
|
* 记录订单最近一次 SQLite 写入,供 pubsub 回声去重使用。
|
|
433
466
|
*
|
|
@@ -438,11 +471,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
438
471
|
key: "recordRecentSqliteWrite",
|
|
439
472
|
value: function recordRecentSqliteWrite(source, orders) {
|
|
440
473
|
var now = Date.now();
|
|
441
|
-
|
|
442
|
-
|
|
474
|
+
this.cleanupExpiredRecentSqliteWrites(now);
|
|
475
|
+
var _iterator4 = _createForOfIteratorHelper(orders),
|
|
476
|
+
_step4;
|
|
443
477
|
try {
|
|
444
|
-
for (
|
|
445
|
-
var order =
|
|
478
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
479
|
+
var order = _step4.value;
|
|
446
480
|
var storageKey = this.getOrderStorageKey(order);
|
|
447
481
|
if (!storageKey) continue;
|
|
448
482
|
this.recentSqliteWriteByStorageKey.set(storageKey, {
|
|
@@ -451,9 +485,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
451
485
|
});
|
|
452
486
|
}
|
|
453
487
|
} catch (err) {
|
|
454
|
-
|
|
488
|
+
_iterator4.e(err);
|
|
455
489
|
} finally {
|
|
456
|
-
|
|
490
|
+
_iterator4.f();
|
|
457
491
|
}
|
|
458
492
|
}
|
|
459
493
|
|
|
@@ -477,11 +511,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
477
511
|
var now = Date.now();
|
|
478
512
|
var toWrite = [];
|
|
479
513
|
var skipped = [];
|
|
480
|
-
var
|
|
481
|
-
|
|
514
|
+
var _iterator5 = _createForOfIteratorHelper(orders),
|
|
515
|
+
_step5;
|
|
482
516
|
try {
|
|
483
|
-
for (
|
|
484
|
-
var order =
|
|
517
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
518
|
+
var order = _step5.value;
|
|
485
519
|
var storageKey = this.getOrderStorageKey(order);
|
|
486
520
|
if (!storageKey) {
|
|
487
521
|
toWrite.push(order);
|
|
@@ -516,9 +550,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
516
550
|
toWrite.push(order);
|
|
517
551
|
}
|
|
518
552
|
} catch (err) {
|
|
519
|
-
|
|
553
|
+
_iterator5.e(err);
|
|
520
554
|
} finally {
|
|
521
|
-
|
|
555
|
+
_iterator5.f();
|
|
522
556
|
}
|
|
523
557
|
return {
|
|
524
558
|
toWrite: toWrite,
|
|
@@ -538,11 +572,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
538
572
|
var now = Date.now();
|
|
539
573
|
var toFetch = [];
|
|
540
574
|
var skipped = [];
|
|
541
|
-
var
|
|
542
|
-
|
|
575
|
+
var _iterator6 = _createForOfIteratorHelper(ids),
|
|
576
|
+
_step6;
|
|
543
577
|
try {
|
|
544
|
-
for (
|
|
545
|
-
var id =
|
|
578
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
579
|
+
var id = _step6.value;
|
|
546
580
|
var existing = this.getOrderByOrderId(id);
|
|
547
581
|
if (!existing) {
|
|
548
582
|
toFetch.push(id);
|
|
@@ -561,9 +595,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
561
595
|
toFetch.push(id);
|
|
562
596
|
}
|
|
563
597
|
} catch (err) {
|
|
564
|
-
|
|
598
|
+
_iterator6.e(err);
|
|
565
599
|
} finally {
|
|
566
|
-
|
|
600
|
+
_iterator6.f();
|
|
567
601
|
}
|
|
568
602
|
return {
|
|
569
603
|
toFetch: toFetch,
|
|
@@ -1439,8 +1473,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1439
1473
|
var options,
|
|
1440
1474
|
pendingMap,
|
|
1441
1475
|
memoryPendingMap,
|
|
1442
|
-
|
|
1443
|
-
|
|
1476
|
+
_iterator7,
|
|
1477
|
+
_step7,
|
|
1444
1478
|
order,
|
|
1445
1479
|
normalizedOrder,
|
|
1446
1480
|
pendingOrder,
|
|
@@ -1449,12 +1483,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1449
1483
|
updatedList,
|
|
1450
1484
|
identityKeyToIndex,
|
|
1451
1485
|
index,
|
|
1452
|
-
_iterator7,
|
|
1453
|
-
_step7,
|
|
1454
|
-
key,
|
|
1455
1486
|
_iterator8,
|
|
1456
1487
|
_step8,
|
|
1457
|
-
|
|
1488
|
+
key,
|
|
1489
|
+
_iterator9,
|
|
1490
|
+
_step9,
|
|
1491
|
+
_step9$value,
|
|
1458
1492
|
_storageKey,
|
|
1459
1493
|
_pendingOrder,
|
|
1460
1494
|
matchIndex,
|
|
@@ -1479,15 +1513,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1479
1513
|
case 4:
|
|
1480
1514
|
pendingMap = new Map();
|
|
1481
1515
|
memoryPendingMap = new Map();
|
|
1482
|
-
|
|
1516
|
+
_iterator7 = _createForOfIteratorHelper(pendingOrders);
|
|
1483
1517
|
_context13.prev = 7;
|
|
1484
|
-
|
|
1518
|
+
_iterator7.s();
|
|
1485
1519
|
case 9:
|
|
1486
|
-
if ((
|
|
1520
|
+
if ((_step7 = _iterator7.n()).done) {
|
|
1487
1521
|
_context13.next = 20;
|
|
1488
1522
|
break;
|
|
1489
1523
|
}
|
|
1490
|
-
order =
|
|
1524
|
+
order = _step7.value;
|
|
1491
1525
|
normalizedOrder = this.normalizeOrderCollectionsForIngress(order, 'upsertPendingSyncOrders.incoming');
|
|
1492
1526
|
pendingOrder = _objectSpread(_objectSpread({}, normalizedOrder), {}, {
|
|
1493
1527
|
need_sync: 1,
|
|
@@ -1511,10 +1545,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1511
1545
|
case 22:
|
|
1512
1546
|
_context13.prev = 22;
|
|
1513
1547
|
_context13.t0 = _context13["catch"](7);
|
|
1514
|
-
|
|
1548
|
+
_iterator7.e(_context13.t0);
|
|
1515
1549
|
case 25:
|
|
1516
1550
|
_context13.prev = 25;
|
|
1517
|
-
|
|
1551
|
+
_iterator7.f();
|
|
1518
1552
|
return _context13.finish(25);
|
|
1519
1553
|
case 28:
|
|
1520
1554
|
if (!(pendingMap.size === 0)) {
|
|
@@ -1536,28 +1570,28 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1536
1570
|
// 从 O(n) 线性扫描降为 O(1),整体复杂度由 O(n^2) 降为 O(n + m)。
|
|
1537
1571
|
identityKeyToIndex = new Map();
|
|
1538
1572
|
for (index = 0; index < updatedList.length; index += 1) {
|
|
1539
|
-
|
|
1573
|
+
_iterator8 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(updatedList[index]));
|
|
1540
1574
|
try {
|
|
1541
|
-
for (
|
|
1542
|
-
key =
|
|
1575
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
1576
|
+
key = _step8.value;
|
|
1543
1577
|
// 同一 key 命中多张时保留最靠前的下标,与原 findIndex「取首个匹配」一致
|
|
1544
1578
|
if (!identityKeyToIndex.has(key)) identityKeyToIndex.set(key, index);
|
|
1545
1579
|
}
|
|
1546
1580
|
} catch (err) {
|
|
1547
|
-
|
|
1581
|
+
_iterator8.e(err);
|
|
1548
1582
|
} finally {
|
|
1549
|
-
|
|
1583
|
+
_iterator8.f();
|
|
1550
1584
|
}
|
|
1551
1585
|
}
|
|
1552
|
-
|
|
1586
|
+
_iterator9 = _createForOfIteratorHelper(memoryPendingMap.entries());
|
|
1553
1587
|
_context13.prev = 37;
|
|
1554
|
-
|
|
1588
|
+
_iterator9.s();
|
|
1555
1589
|
case 39:
|
|
1556
|
-
if ((
|
|
1590
|
+
if ((_step9 = _iterator9.n()).done) {
|
|
1557
1591
|
_context13.next = 58;
|
|
1558
1592
|
break;
|
|
1559
1593
|
}
|
|
1560
|
-
|
|
1594
|
+
_step9$value = _slicedToArray(_step9.value, 2), _storageKey = _step9$value[0], _pendingOrder = _step9$value[1];
|
|
1561
1595
|
matchIndex = this.lookupOrderIndexByIdentityKeys(identityKeyToIndex, this.getOrderIdentityMatchKeys(_pendingOrder));
|
|
1562
1596
|
if (!(matchIndex >= 0)) {
|
|
1563
1597
|
_context13.next = 52;
|
|
@@ -1592,10 +1626,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1592
1626
|
case 60:
|
|
1593
1627
|
_context13.prev = 60;
|
|
1594
1628
|
_context13.t1 = _context13["catch"](37);
|
|
1595
|
-
|
|
1629
|
+
_iterator9.e(_context13.t1);
|
|
1596
1630
|
case 63:
|
|
1597
1631
|
_context13.prev = 63;
|
|
1598
|
-
|
|
1632
|
+
_iterator9.f();
|
|
1599
1633
|
return _context13.finish(63);
|
|
1600
1634
|
case 66:
|
|
1601
1635
|
patchedOrders = _toConsumableArray(pendingMap.values()); // 增量索引已保证 store 去重不变量,无需再对全表做 O(n^2) 压缩;仅自检开关开启时兜底。
|
|
@@ -1642,7 +1676,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1642
1676
|
value: (function () {
|
|
1643
1677
|
var _upsertLocalDraftOrders = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14(draftOrders) {
|
|
1644
1678
|
var _this10 = this;
|
|
1645
|
-
var draftMap, memoryDraftMap,
|
|
1679
|
+
var draftMap, memoryDraftMap, _iterator10, _step10, order, draftOrder, storageKey, memoryDraftOrder, mergeActions, updatedList, identityKeyToIndex, index, _iterator11, _step11, key, _iterator12, _step12, _step12$value, _storageKey2, _draftOrder, matchIndex, existingOrder, reconciledDraftOrder, mergedOrder, nextOrder, insertIndex, patchedOrders, previousList, removedLegacyMemoryDraft;
|
|
1646
1680
|
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
1647
1681
|
while (1) switch (_context14.prev = _context14.next) {
|
|
1648
1682
|
case 0:
|
|
@@ -1655,15 +1689,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1655
1689
|
case 3:
|
|
1656
1690
|
draftMap = new Map();
|
|
1657
1691
|
memoryDraftMap = new Map();
|
|
1658
|
-
|
|
1692
|
+
_iterator10 = _createForOfIteratorHelper(draftOrders);
|
|
1659
1693
|
_context14.prev = 6;
|
|
1660
|
-
|
|
1694
|
+
_iterator10.s();
|
|
1661
1695
|
case 8:
|
|
1662
|
-
if ((
|
|
1696
|
+
if ((_step10 = _iterator10.n()).done) {
|
|
1663
1697
|
_context14.next = 19;
|
|
1664
1698
|
break;
|
|
1665
1699
|
}
|
|
1666
|
-
order =
|
|
1700
|
+
order = _step10.value;
|
|
1667
1701
|
draftOrder = _objectSpread(_objectSpread({}, order), {}, {
|
|
1668
1702
|
need_sync: 0,
|
|
1669
1703
|
is_draft_order: 1
|
|
@@ -1689,10 +1723,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1689
1723
|
case 21:
|
|
1690
1724
|
_context14.prev = 21;
|
|
1691
1725
|
_context14.t0 = _context14["catch"](6);
|
|
1692
|
-
|
|
1726
|
+
_iterator10.e(_context14.t0);
|
|
1693
1727
|
case 24:
|
|
1694
1728
|
_context14.prev = 24;
|
|
1695
|
-
|
|
1729
|
+
_iterator10.f();
|
|
1696
1730
|
return _context14.finish(24);
|
|
1697
1731
|
case 27:
|
|
1698
1732
|
if (!(draftMap.size === 0)) {
|
|
@@ -1715,27 +1749,27 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1715
1749
|
});
|
|
1716
1750
|
identityKeyToIndex = new Map();
|
|
1717
1751
|
for (index = 0; index < updatedList.length; index += 1) {
|
|
1718
|
-
|
|
1752
|
+
_iterator11 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(updatedList[index]));
|
|
1719
1753
|
try {
|
|
1720
|
-
for (
|
|
1721
|
-
key =
|
|
1754
|
+
for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
|
|
1755
|
+
key = _step11.value;
|
|
1722
1756
|
if (!identityKeyToIndex.has(key)) identityKeyToIndex.set(key, index);
|
|
1723
1757
|
}
|
|
1724
1758
|
} catch (err) {
|
|
1725
|
-
|
|
1759
|
+
_iterator11.e(err);
|
|
1726
1760
|
} finally {
|
|
1727
|
-
|
|
1761
|
+
_iterator11.f();
|
|
1728
1762
|
}
|
|
1729
1763
|
}
|
|
1730
|
-
|
|
1764
|
+
_iterator12 = _createForOfIteratorHelper(memoryDraftMap.entries());
|
|
1731
1765
|
_context14.prev = 36;
|
|
1732
|
-
|
|
1766
|
+
_iterator12.s();
|
|
1733
1767
|
case 38:
|
|
1734
|
-
if ((
|
|
1768
|
+
if ((_step12 = _iterator12.n()).done) {
|
|
1735
1769
|
_context14.next = 57;
|
|
1736
1770
|
break;
|
|
1737
1771
|
}
|
|
1738
|
-
|
|
1772
|
+
_step12$value = _slicedToArray(_step12.value, 2), _storageKey2 = _step12$value[0], _draftOrder = _step12$value[1];
|
|
1739
1773
|
matchIndex = this.lookupOrderIndexByIdentityKeys(identityKeyToIndex, this.getOrderIdentityMatchKeys(_draftOrder));
|
|
1740
1774
|
if (!(matchIndex >= 0)) {
|
|
1741
1775
|
_context14.next = 51;
|
|
@@ -1768,10 +1802,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1768
1802
|
case 59:
|
|
1769
1803
|
_context14.prev = 59;
|
|
1770
1804
|
_context14.t1 = _context14["catch"](36);
|
|
1771
|
-
|
|
1805
|
+
_iterator12.e(_context14.t1);
|
|
1772
1806
|
case 62:
|
|
1773
1807
|
_context14.prev = 62;
|
|
1774
|
-
|
|
1808
|
+
_iterator12.f();
|
|
1775
1809
|
return _context14.finish(62);
|
|
1776
1810
|
case 65:
|
|
1777
1811
|
patchedOrders = _toConsumableArray(draftMap.values());
|
|
@@ -1883,6 +1917,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1883
1917
|
}
|
|
1884
1918
|
this.isProcessingSyncBatch = false;
|
|
1885
1919
|
this.pendingSyncMessages = [];
|
|
1920
|
+
this.recentSqliteWriteByStorageKey.clear();
|
|
1921
|
+
this.lastRecentSqliteWriteCleanupAtMs = 0;
|
|
1886
1922
|
if ((_this$orderDataSource = this.orderDataSource) !== null && _this$orderDataSource !== void 0 && _this$orderDataSource.destroy) this.orderDataSource.destroy();
|
|
1887
1923
|
_get(_getPrototypeOf(OrderModule.prototype), "destroy", this).call(this);
|
|
1888
1924
|
}
|
|
@@ -1894,19 +1930,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1894
1930
|
return _this11.shouldKeepOrderInMemory(order);
|
|
1895
1931
|
});
|
|
1896
1932
|
this.store.map.clear();
|
|
1897
|
-
var
|
|
1898
|
-
|
|
1933
|
+
var _iterator13 = _createForOfIteratorHelper(this.store.list),
|
|
1934
|
+
_step13;
|
|
1899
1935
|
try {
|
|
1900
|
-
for (
|
|
1901
|
-
var order =
|
|
1936
|
+
for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
|
|
1937
|
+
var order = _step13.value;
|
|
1902
1938
|
var primaryIdentity = this.getOrderMapKey(order);
|
|
1903
1939
|
if (!primaryIdentity) continue;
|
|
1904
1940
|
this.store.map.set(primaryIdentity, order);
|
|
1905
1941
|
}
|
|
1906
1942
|
} catch (err) {
|
|
1907
|
-
|
|
1943
|
+
_iterator13.e(err);
|
|
1908
1944
|
} finally {
|
|
1909
|
-
|
|
1945
|
+
_iterator13.f();
|
|
1910
1946
|
}
|
|
1911
1947
|
}
|
|
1912
1948
|
}, {
|
|
@@ -1987,17 +2023,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1987
2023
|
key: "getOrderIdentityKeys",
|
|
1988
2024
|
value: function getOrderIdentityKeys(order) {
|
|
1989
2025
|
var keys = [];
|
|
1990
|
-
var
|
|
1991
|
-
|
|
2026
|
+
var _iterator14 = _createForOfIteratorHelper(this.getOrderIdentityEntries(order)),
|
|
2027
|
+
_step14;
|
|
1992
2028
|
try {
|
|
1993
|
-
for (
|
|
1994
|
-
var entry =
|
|
2029
|
+
for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
|
|
2030
|
+
var entry = _step14.value;
|
|
1995
2031
|
if (!keys.includes(entry.key)) keys.push(entry.key);
|
|
1996
2032
|
}
|
|
1997
2033
|
} catch (err) {
|
|
1998
|
-
|
|
2034
|
+
_iterator14.e(err);
|
|
1999
2035
|
} finally {
|
|
2000
|
-
|
|
2036
|
+
_iterator14.f();
|
|
2001
2037
|
}
|
|
2002
2038
|
return keys;
|
|
2003
2039
|
}
|
|
@@ -2325,7 +2361,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2325
2361
|
value: (function () {
|
|
2326
2362
|
var _mergeOrdersToStore = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(freshOrders, source) {
|
|
2327
2363
|
var _this16 = this;
|
|
2328
|
-
var storeOrderCountBefore, normalizedFreshOrders, incomingProductsHaveStableIdentity,
|
|
2364
|
+
var storeOrderCountBefore, normalizedFreshOrders, incomingProductsHaveStableIdentity, _iterator15, _step15, order, id, rawProducts, _incomingProductsHave, allProductsHaveStableIdentity, orderIdKey, uniqueFreshOrders, uniqueFreshCount, patchedOrders, remoteProductMembershipChanges, forceWriteStorageKeys, storageKeyMigrations, mergeActions, existingProductsHaveStableIdentity, updatedList, identityKeyToIndex, index, identityKeys, _iterator16, _step16, key, _iterator17, _step17, 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, _iterator18, _step18, _key2, _duplicateIndex, _iterator19, _step19, duplicateIndex, _index, _iterator20, _step20, _key, nextStorageKey, _ref5, _ref6, _mergedOrder$order_id, mergedStorageKey, insertIndex, insertCount, updateCount;
|
|
2329
2365
|
return _regeneratorRuntime().wrap(function _callee19$(_context19) {
|
|
2330
2366
|
while (1) switch (_context19.prev = _context19.next) {
|
|
2331
2367
|
case 0:
|
|
@@ -2338,15 +2374,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2338
2374
|
this.logDuplicateOrders("".concat(source, ".beforeMerge"), this.store.list);
|
|
2339
2375
|
normalizedFreshOrders = [];
|
|
2340
2376
|
incomingProductsHaveStableIdentity = new Map();
|
|
2341
|
-
|
|
2377
|
+
_iterator15 = _createForOfIteratorHelper(freshOrders);
|
|
2342
2378
|
_context19.prev = 6;
|
|
2343
|
-
|
|
2379
|
+
_iterator15.s();
|
|
2344
2380
|
case 8:
|
|
2345
|
-
if ((
|
|
2381
|
+
if ((_step15 = _iterator15.n()).done) {
|
|
2346
2382
|
_context19.next = 18;
|
|
2347
2383
|
break;
|
|
2348
2384
|
}
|
|
2349
|
-
order =
|
|
2385
|
+
order = _step15.value;
|
|
2350
2386
|
id = order === null || order === void 0 ? void 0 : order.order_id;
|
|
2351
2387
|
if (!(id === undefined || id === null)) {
|
|
2352
2388
|
_context19.next = 13;
|
|
@@ -2370,10 +2406,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2370
2406
|
case 20:
|
|
2371
2407
|
_context19.prev = 20;
|
|
2372
2408
|
_context19.t0 = _context19["catch"](6);
|
|
2373
|
-
|
|
2409
|
+
_iterator15.e(_context19.t0);
|
|
2374
2410
|
case 23:
|
|
2375
2411
|
_context19.prev = 23;
|
|
2376
|
-
|
|
2412
|
+
_iterator15.f();
|
|
2377
2413
|
return _context19.finish(23);
|
|
2378
2414
|
case 26:
|
|
2379
2415
|
// 先对本批新单做去重(批内规模 m 很小),保证每条 fresh 身份唯一
|
|
@@ -2395,28 +2431,28 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2395
2431
|
identityKeyToIndex = new Map();
|
|
2396
2432
|
for (index = 0; index < updatedList.length; index += 1) {
|
|
2397
2433
|
identityKeys = this.getOrderIdentityMatchKeys(updatedList[index]);
|
|
2398
|
-
|
|
2434
|
+
_iterator16 = _createForOfIteratorHelper(identityKeys);
|
|
2399
2435
|
try {
|
|
2400
|
-
for (
|
|
2401
|
-
key =
|
|
2436
|
+
for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
|
|
2437
|
+
key = _step16.value;
|
|
2402
2438
|
// 同一 key 命中多张时保留最靠前的下标,与原 findIndex「取首个匹配」一致
|
|
2403
2439
|
if (!identityKeyToIndex.has(key)) identityKeyToIndex.set(key, index);
|
|
2404
2440
|
}
|
|
2405
2441
|
} catch (err) {
|
|
2406
|
-
|
|
2442
|
+
_iterator16.e(err);
|
|
2407
2443
|
} finally {
|
|
2408
|
-
|
|
2444
|
+
_iterator16.f();
|
|
2409
2445
|
}
|
|
2410
2446
|
}
|
|
2411
|
-
|
|
2447
|
+
_iterator17 = _createForOfIteratorHelper(uniqueFreshOrders);
|
|
2412
2448
|
_context19.prev = 38;
|
|
2413
|
-
|
|
2449
|
+
_iterator17.s();
|
|
2414
2450
|
case 40:
|
|
2415
|
-
if ((
|
|
2451
|
+
if ((_step17 = _iterator17.n()).done) {
|
|
2416
2452
|
_context19.next = 100;
|
|
2417
2453
|
break;
|
|
2418
2454
|
}
|
|
2419
|
-
fresh =
|
|
2455
|
+
fresh = _step17.value;
|
|
2420
2456
|
freshIdentityKeys = this.getOrderIdentityMatchKeys(fresh);
|
|
2421
2457
|
matchIndex = this.lookupOrderIndexByIdentityKeys(identityKeyToIndex, freshIdentityKeys);
|
|
2422
2458
|
storageKey = this.getOrderStorageKey(fresh);
|
|
@@ -2467,15 +2503,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2467
2503
|
mergedProductsHaveStableIdentity = existingProductsHaveStableIdentity[matchIndex] !== false && incomingProductsAreStable;
|
|
2468
2504
|
adjustedMatchIndex = matchIndex;
|
|
2469
2505
|
duplicateIndexes = new Set();
|
|
2470
|
-
|
|
2506
|
+
_iterator18 = _createForOfIteratorHelper(freshIdentityKeys);
|
|
2471
2507
|
_context19.prev = 64;
|
|
2472
|
-
|
|
2508
|
+
_iterator18.s();
|
|
2473
2509
|
case 66:
|
|
2474
|
-
if ((
|
|
2510
|
+
if ((_step18 = _iterator18.n()).done) {
|
|
2475
2511
|
_context19.next = 74;
|
|
2476
2512
|
break;
|
|
2477
2513
|
}
|
|
2478
|
-
_key2 =
|
|
2514
|
+
_key2 = _step18.value;
|
|
2479
2515
|
_duplicateIndex = identityKeyToIndex.get(_key2);
|
|
2480
2516
|
if (!(_duplicateIndex === undefined || _duplicateIndex === matchIndex)) {
|
|
2481
2517
|
_context19.next = 71;
|
|
@@ -2493,19 +2529,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2493
2529
|
case 76:
|
|
2494
2530
|
_context19.prev = 76;
|
|
2495
2531
|
_context19.t1 = _context19["catch"](64);
|
|
2496
|
-
|
|
2532
|
+
_iterator18.e(_context19.t1);
|
|
2497
2533
|
case 79:
|
|
2498
2534
|
_context19.prev = 79;
|
|
2499
|
-
|
|
2535
|
+
_iterator18.f();
|
|
2500
2536
|
return _context19.finish(79);
|
|
2501
2537
|
case 82:
|
|
2502
2538
|
if (duplicateIndexes.size > 0) {
|
|
2503
|
-
|
|
2539
|
+
_iterator19 = _createForOfIteratorHelper(_toConsumableArray(duplicateIndexes).sort(function (left, right) {
|
|
2504
2540
|
return right - left;
|
|
2505
2541
|
}));
|
|
2506
2542
|
try {
|
|
2507
|
-
for (
|
|
2508
|
-
duplicateIndex =
|
|
2543
|
+
for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
|
|
2544
|
+
duplicateIndex = _step19.value;
|
|
2509
2545
|
mergedOrder = this.mergeOrderRecords(mergedOrder, updatedList[duplicateIndex]);
|
|
2510
2546
|
mergedProductsHaveStableIdentity = mergedProductsHaveStableIdentity && existingProductsHaveStableIdentity[duplicateIndex] !== false;
|
|
2511
2547
|
updatedList.splice(duplicateIndex, 1);
|
|
@@ -2513,22 +2549,22 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2513
2549
|
if (duplicateIndex < adjustedMatchIndex) adjustedMatchIndex -= 1;
|
|
2514
2550
|
}
|
|
2515
2551
|
} catch (err) {
|
|
2516
|
-
|
|
2552
|
+
_iterator19.e(err);
|
|
2517
2553
|
} finally {
|
|
2518
|
-
|
|
2554
|
+
_iterator19.f();
|
|
2519
2555
|
}
|
|
2520
2556
|
identityKeyToIndex.clear();
|
|
2521
2557
|
for (_index = 0; _index < updatedList.length; _index += 1) {
|
|
2522
|
-
|
|
2558
|
+
_iterator20 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(updatedList[_index]));
|
|
2523
2559
|
try {
|
|
2524
|
-
for (
|
|
2525
|
-
_key =
|
|
2560
|
+
for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
|
|
2561
|
+
_key = _step20.value;
|
|
2526
2562
|
if (!identityKeyToIndex.has(_key)) identityKeyToIndex.set(_key, _index);
|
|
2527
2563
|
}
|
|
2528
2564
|
} catch (err) {
|
|
2529
|
-
|
|
2565
|
+
_iterator20.e(err);
|
|
2530
2566
|
} finally {
|
|
2531
|
-
|
|
2567
|
+
_iterator20.f();
|
|
2532
2568
|
}
|
|
2533
2569
|
}
|
|
2534
2570
|
}
|
|
@@ -2569,10 +2605,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2569
2605
|
case 102:
|
|
2570
2606
|
_context19.prev = 102;
|
|
2571
2607
|
_context19.t2 = _context19["catch"](38);
|
|
2572
|
-
|
|
2608
|
+
_iterator17.e(_context19.t2);
|
|
2573
2609
|
case 105:
|
|
2574
2610
|
_context19.prev = 105;
|
|
2575
|
-
|
|
2611
|
+
_iterator17.f();
|
|
2576
2612
|
return _context19.finish(105);
|
|
2577
2613
|
case 108:
|
|
2578
2614
|
insertCount = Object.values(mergeActions).filter(function (v) {
|
|
@@ -2629,19 +2665,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2629
2665
|
key: "lookupOrderIndexByIdentityKeys",
|
|
2630
2666
|
value: function lookupOrderIndexByIdentityKeys(identityKeyToIndex, identityKeys) {
|
|
2631
2667
|
var matchIndex = -1;
|
|
2632
|
-
var
|
|
2633
|
-
|
|
2668
|
+
var _iterator21 = _createForOfIteratorHelper(identityKeys),
|
|
2669
|
+
_step21;
|
|
2634
2670
|
try {
|
|
2635
|
-
for (
|
|
2636
|
-
var key =
|
|
2671
|
+
for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
|
|
2672
|
+
var key = _step21.value;
|
|
2637
2673
|
var index = identityKeyToIndex.get(key);
|
|
2638
2674
|
if (index === undefined) continue;
|
|
2639
2675
|
if (matchIndex < 0 || index < matchIndex) matchIndex = index;
|
|
2640
2676
|
}
|
|
2641
2677
|
} catch (err) {
|
|
2642
|
-
|
|
2678
|
+
_iterator21.e(err);
|
|
2643
2679
|
} finally {
|
|
2644
|
-
|
|
2680
|
+
_iterator21.f();
|
|
2645
2681
|
}
|
|
2646
2682
|
return matchIndex;
|
|
2647
2683
|
}
|
|
@@ -2701,11 +2737,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2701
2737
|
return index;
|
|
2702
2738
|
}));
|
|
2703
2739
|
var removedProductKeys = [];
|
|
2704
|
-
var
|
|
2705
|
-
|
|
2740
|
+
var _iterator22 = _createForOfIteratorHelper(previousProducts),
|
|
2741
|
+
_step22;
|
|
2706
2742
|
try {
|
|
2707
2743
|
var _loop2 = function _loop2() {
|
|
2708
|
-
var previousProduct =
|
|
2744
|
+
var previousProduct = _step22.value;
|
|
2709
2745
|
var matchedIndex = currentProducts.findIndex(function (currentProduct, index) {
|
|
2710
2746
|
return unmatchedCurrentIndexes.has(index) && _this17.isSameProductMembershipItem(previousProduct, currentProduct);
|
|
2711
2747
|
});
|
|
@@ -2716,13 +2752,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2716
2752
|
var productKey = _this17.getProductMembershipKey(previousProduct);
|
|
2717
2753
|
if (productKey) removedProductKeys.push(productKey);
|
|
2718
2754
|
};
|
|
2719
|
-
for (
|
|
2755
|
+
for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
|
|
2720
2756
|
if (_loop2()) continue;
|
|
2721
2757
|
}
|
|
2722
2758
|
} catch (err) {
|
|
2723
|
-
|
|
2759
|
+
_iterator22.e(err);
|
|
2724
2760
|
} finally {
|
|
2725
|
-
|
|
2761
|
+
_iterator22.f();
|
|
2726
2762
|
}
|
|
2727
2763
|
var addedProductKeys = _toConsumableArray(unmatchedCurrentIndexes).map(function (index) {
|
|
2728
2764
|
return _this17.getProductMembershipKey(currentProducts[index]);
|
|
@@ -2753,17 +2789,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2753
2789
|
key: "registerOrderIdentityKeys",
|
|
2754
2790
|
value: function registerOrderIdentityKeys(identityKeyToIndex, order, index) {
|
|
2755
2791
|
var identityKeys = this.getOrderIdentityMatchKeys(order);
|
|
2756
|
-
var
|
|
2757
|
-
|
|
2792
|
+
var _iterator23 = _createForOfIteratorHelper(identityKeys),
|
|
2793
|
+
_step23;
|
|
2758
2794
|
try {
|
|
2759
|
-
for (
|
|
2760
|
-
var key =
|
|
2795
|
+
for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
|
|
2796
|
+
var key = _step23.value;
|
|
2761
2797
|
identityKeyToIndex.set(key, index);
|
|
2762
2798
|
}
|
|
2763
2799
|
} catch (err) {
|
|
2764
|
-
|
|
2800
|
+
_iterator23.e(err);
|
|
2765
2801
|
} finally {
|
|
2766
|
-
|
|
2802
|
+
_iterator23.f();
|
|
2767
2803
|
}
|
|
2768
2804
|
}
|
|
2769
2805
|
|
|
@@ -2818,17 +2854,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2818
2854
|
key: "uniqueOrderIds",
|
|
2819
2855
|
value: function uniqueOrderIds(ids) {
|
|
2820
2856
|
var idMap = new Map();
|
|
2821
|
-
var
|
|
2822
|
-
|
|
2857
|
+
var _iterator24 = _createForOfIteratorHelper(ids),
|
|
2858
|
+
_step24;
|
|
2823
2859
|
try {
|
|
2824
|
-
for (
|
|
2825
|
-
var id =
|
|
2860
|
+
for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
|
|
2861
|
+
var id = _step24.value;
|
|
2826
2862
|
idMap.set(this.getIdKey(id), id);
|
|
2827
2863
|
}
|
|
2828
2864
|
} catch (err) {
|
|
2829
|
-
|
|
2865
|
+
_iterator24.e(err);
|
|
2830
2866
|
} finally {
|
|
2831
|
-
|
|
2867
|
+
_iterator24.f();
|
|
2832
2868
|
}
|
|
2833
2869
|
return _toConsumableArray(idMap.values());
|
|
2834
2870
|
}
|
|
@@ -2949,58 +2985,58 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2949
2985
|
if (secondaryList.length === 0) return preferredList;
|
|
2950
2986
|
if (preferredList.length === 0) return secondaryList;
|
|
2951
2987
|
var seenKeys = new Set();
|
|
2952
|
-
var
|
|
2953
|
-
|
|
2988
|
+
var _iterator25 = _createForOfIteratorHelper(preferredList),
|
|
2989
|
+
_step25;
|
|
2954
2990
|
try {
|
|
2955
|
-
for (
|
|
2956
|
-
var item =
|
|
2991
|
+
for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
|
|
2992
|
+
var item = _step25.value;
|
|
2957
2993
|
var keys = this.getProductIdentityKeys(item);
|
|
2958
|
-
var
|
|
2959
|
-
|
|
2994
|
+
var _iterator27 = _createForOfIteratorHelper(keys),
|
|
2995
|
+
_step27;
|
|
2960
2996
|
try {
|
|
2961
|
-
for (
|
|
2962
|
-
var key =
|
|
2997
|
+
for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
|
|
2998
|
+
var key = _step27.value;
|
|
2963
2999
|
seenKeys.add(key);
|
|
2964
3000
|
}
|
|
2965
3001
|
} catch (err) {
|
|
2966
|
-
|
|
3002
|
+
_iterator27.e(err);
|
|
2967
3003
|
} finally {
|
|
2968
|
-
|
|
3004
|
+
_iterator27.f();
|
|
2969
3005
|
}
|
|
2970
3006
|
}
|
|
2971
3007
|
} catch (err) {
|
|
2972
|
-
|
|
3008
|
+
_iterator25.e(err);
|
|
2973
3009
|
} finally {
|
|
2974
|
-
|
|
3010
|
+
_iterator25.f();
|
|
2975
3011
|
}
|
|
2976
3012
|
var result = _toConsumableArray(preferredList);
|
|
2977
|
-
var
|
|
2978
|
-
|
|
3013
|
+
var _iterator26 = _createForOfIteratorHelper(secondaryList),
|
|
3014
|
+
_step26;
|
|
2979
3015
|
try {
|
|
2980
|
-
for (
|
|
2981
|
-
var _item =
|
|
3016
|
+
for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
|
|
3017
|
+
var _item = _step26.value;
|
|
2982
3018
|
var _keys = this.getProductIdentityKeys(_item);
|
|
2983
3019
|
if (_keys.length === 0 || _keys.some(function (key) {
|
|
2984
3020
|
return seenKeys.has(key);
|
|
2985
3021
|
})) continue;
|
|
2986
|
-
var
|
|
2987
|
-
|
|
3022
|
+
var _iterator28 = _createForOfIteratorHelper(_keys),
|
|
3023
|
+
_step28;
|
|
2988
3024
|
try {
|
|
2989
|
-
for (
|
|
2990
|
-
var _key3 =
|
|
3025
|
+
for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
|
|
3026
|
+
var _key3 = _step28.value;
|
|
2991
3027
|
seenKeys.add(_key3);
|
|
2992
3028
|
}
|
|
2993
3029
|
} catch (err) {
|
|
2994
|
-
|
|
3030
|
+
_iterator28.e(err);
|
|
2995
3031
|
} finally {
|
|
2996
|
-
|
|
3032
|
+
_iterator28.f();
|
|
2997
3033
|
}
|
|
2998
3034
|
result.push(cloneDeep(_item));
|
|
2999
3035
|
}
|
|
3000
3036
|
} catch (err) {
|
|
3001
|
-
|
|
3037
|
+
_iterator26.e(err);
|
|
3002
3038
|
} finally {
|
|
3003
|
-
|
|
3039
|
+
_iterator26.f();
|
|
3004
3040
|
}
|
|
3005
3041
|
return result;
|
|
3006
3042
|
}
|
|
@@ -3110,30 +3146,30 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3110
3146
|
key: "summarizeDuplicateOrders",
|
|
3111
3147
|
value: function summarizeDuplicateOrders(orders) {
|
|
3112
3148
|
var groups = new Map();
|
|
3113
|
-
var
|
|
3114
|
-
|
|
3149
|
+
var _iterator29 = _createForOfIteratorHelper(orders),
|
|
3150
|
+
_step29;
|
|
3115
3151
|
try {
|
|
3116
|
-
for (
|
|
3117
|
-
var order =
|
|
3118
|
-
var
|
|
3119
|
-
|
|
3152
|
+
for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {
|
|
3153
|
+
var order = _step29.value;
|
|
3154
|
+
var _iterator30 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(order)),
|
|
3155
|
+
_step30;
|
|
3120
3156
|
try {
|
|
3121
|
-
for (
|
|
3122
|
-
var key =
|
|
3157
|
+
for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {
|
|
3158
|
+
var key = _step30.value;
|
|
3123
3159
|
var group = groups.get(key) || [];
|
|
3124
3160
|
group.push(order);
|
|
3125
3161
|
groups.set(key, group);
|
|
3126
3162
|
}
|
|
3127
3163
|
} catch (err) {
|
|
3128
|
-
|
|
3164
|
+
_iterator30.e(err);
|
|
3129
3165
|
} finally {
|
|
3130
|
-
|
|
3166
|
+
_iterator30.f();
|
|
3131
3167
|
}
|
|
3132
3168
|
}
|
|
3133
3169
|
} catch (err) {
|
|
3134
|
-
|
|
3170
|
+
_iterator29.e(err);
|
|
3135
3171
|
} finally {
|
|
3136
|
-
|
|
3172
|
+
_iterator29.f();
|
|
3137
3173
|
}
|
|
3138
3174
|
return _toConsumableArray(groups.entries()).filter(function (_ref9) {
|
|
3139
3175
|
var _ref10 = _slicedToArray(_ref9, 2),
|
|
@@ -3176,11 +3212,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3176
3212
|
value: function compactOrderListByIdentity(orders, source) {
|
|
3177
3213
|
var list = [];
|
|
3178
3214
|
var removedCount = 0;
|
|
3179
|
-
var
|
|
3180
|
-
|
|
3215
|
+
var _iterator31 = _createForOfIteratorHelper(orders),
|
|
3216
|
+
_step31;
|
|
3181
3217
|
try {
|
|
3182
|
-
for (
|
|
3183
|
-
var order =
|
|
3218
|
+
for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {
|
|
3219
|
+
var order = _step31.value;
|
|
3184
3220
|
var normalizedOrder = this.normalizeOrderCollectionsForIngress(order, "".concat(source, ".order"));
|
|
3185
3221
|
var matchIndex = this.findOrderIndexByIdentity(list, normalizedOrder);
|
|
3186
3222
|
if (matchIndex < 0) {
|
|
@@ -3191,9 +3227,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3191
3227
|
removedCount += 1;
|
|
3192
3228
|
}
|
|
3193
3229
|
} catch (err) {
|
|
3194
|
-
|
|
3230
|
+
_iterator31.e(err);
|
|
3195
3231
|
} finally {
|
|
3196
|
-
|
|
3232
|
+
_iterator31.f();
|
|
3197
3233
|
}
|
|
3198
3234
|
if (removedCount > 0) {
|
|
3199
3235
|
this.logWarning('订单列表重复项已压缩', {
|
|
@@ -3373,11 +3409,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3373
3409
|
var merged = remoteOrders.map(function (order) {
|
|
3374
3410
|
return _this21.normalizeRemoteSyncedOrder(order);
|
|
3375
3411
|
});
|
|
3376
|
-
var
|
|
3377
|
-
|
|
3412
|
+
var _iterator32 = _createForOfIteratorHelper(existingOrders),
|
|
3413
|
+
_step32;
|
|
3378
3414
|
try {
|
|
3379
|
-
for (
|
|
3380
|
-
var rawOrder =
|
|
3415
|
+
for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {
|
|
3416
|
+
var rawOrder = _step32.value;
|
|
3381
3417
|
var order = this.normalizeOrderCollectionsForIngress(rawOrder, 'mergeRemoteSnapshotWithPendingOrders.existingSQLite');
|
|
3382
3418
|
if (!this.shouldProtectLocalOrderFromRemoteSnapshot(order)) continue;
|
|
3383
3419
|
var matchIndex = this.findOrderIndexByIdentity(merged, order);
|
|
@@ -3393,9 +3429,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3393
3429
|
merged.push(order);
|
|
3394
3430
|
}
|
|
3395
3431
|
} catch (err) {
|
|
3396
|
-
|
|
3432
|
+
_iterator32.e(err);
|
|
3397
3433
|
} finally {
|
|
3398
|
-
|
|
3434
|
+
_iterator32.f();
|
|
3399
3435
|
}
|
|
3400
3436
|
return this.compactOrderListByIdentity(merged, 'mergeRemoteSnapshotWithPendingOrders').list;
|
|
3401
3437
|
}
|
|
@@ -3457,8 +3493,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3457
3493
|
compactedToWrite,
|
|
3458
3494
|
writtenStorageKeys,
|
|
3459
3495
|
storageKeyMigrations,
|
|
3460
|
-
|
|
3461
|
-
|
|
3496
|
+
_iterator33,
|
|
3497
|
+
_step33,
|
|
3462
3498
|
migration,
|
|
3463
3499
|
_args23 = arguments;
|
|
3464
3500
|
return _regeneratorRuntime().wrap(function _callee23$(_context23) {
|
|
@@ -3521,15 +3557,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3521
3557
|
return _this22.getOrderStorageKey(order);
|
|
3522
3558
|
}).filter(Boolean));
|
|
3523
3559
|
storageKeyMigrations = new Map();
|
|
3524
|
-
|
|
3560
|
+
_iterator33 = _createForOfIteratorHelper(options.storageKeyMigrations || []);
|
|
3525
3561
|
_context23.prev = 22;
|
|
3526
|
-
|
|
3562
|
+
_iterator33.s();
|
|
3527
3563
|
case 24:
|
|
3528
|
-
if ((
|
|
3564
|
+
if ((_step33 = _iterator33.n()).done) {
|
|
3529
3565
|
_context23.next = 33;
|
|
3530
3566
|
break;
|
|
3531
3567
|
}
|
|
3532
|
-
migration =
|
|
3568
|
+
migration = _step33.value;
|
|
3533
3569
|
if (writtenStorageKeys.has(migration.to)) {
|
|
3534
3570
|
_context23.next = 28;
|
|
3535
3571
|
break;
|
|
@@ -3552,16 +3588,16 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3552
3588
|
case 35:
|
|
3553
3589
|
_context23.prev = 35;
|
|
3554
3590
|
_context23.t0 = _context23["catch"](22);
|
|
3555
|
-
|
|
3591
|
+
_iterator33.e(_context23.t0);
|
|
3556
3592
|
case 38:
|
|
3557
3593
|
_context23.prev = 38;
|
|
3558
|
-
|
|
3594
|
+
_iterator33.f();
|
|
3559
3595
|
return _context23.finish(38);
|
|
3560
3596
|
case 41:
|
|
3561
3597
|
_context23.prev = 41;
|
|
3562
3598
|
_context23.next = 44;
|
|
3563
3599
|
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22() {
|
|
3564
|
-
var writeMethod,
|
|
3600
|
+
var writeMethod, _iterator34, _step34, order, _iterator35, _step35, migration, _iterator36, _step36, _orderRecord$ORDER_ST, _order, orderRecord;
|
|
3565
3601
|
return _regeneratorRuntime().wrap(function _callee22$(_context22) {
|
|
3566
3602
|
while (1) switch (_context22.prev = _context22.next) {
|
|
3567
3603
|
case 0:
|
|
@@ -3598,15 +3634,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3598
3634
|
break;
|
|
3599
3635
|
}
|
|
3600
3636
|
writeMethod = 'update';
|
|
3601
|
-
|
|
3637
|
+
_iterator34 = _createForOfIteratorHelper(compactedToWrite);
|
|
3602
3638
|
_context22.prev = 17;
|
|
3603
|
-
|
|
3639
|
+
_iterator34.s();
|
|
3604
3640
|
case 19:
|
|
3605
|
-
if ((
|
|
3641
|
+
if ((_step34 = _iterator34.n()).done) {
|
|
3606
3642
|
_context22.next = 25;
|
|
3607
3643
|
break;
|
|
3608
3644
|
}
|
|
3609
|
-
order =
|
|
3645
|
+
order = _step34.value;
|
|
3610
3646
|
_context22.next = 23;
|
|
3611
3647
|
return _this22.dbManager.update(INDEXDB_STORE_NAME, order);
|
|
3612
3648
|
case 23:
|
|
@@ -3618,10 +3654,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3618
3654
|
case 27:
|
|
3619
3655
|
_context22.prev = 27;
|
|
3620
3656
|
_context22.t0 = _context22["catch"](17);
|
|
3621
|
-
|
|
3657
|
+
_iterator34.e(_context22.t0);
|
|
3622
3658
|
case 30:
|
|
3623
3659
|
_context22.prev = 30;
|
|
3624
|
-
|
|
3660
|
+
_iterator34.f();
|
|
3625
3661
|
return _context22.finish(30);
|
|
3626
3662
|
case 33:
|
|
3627
3663
|
_context22.next = 37;
|
|
@@ -3638,29 +3674,29 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3638
3674
|
_context22.next = 84;
|
|
3639
3675
|
break;
|
|
3640
3676
|
}
|
|
3641
|
-
|
|
3677
|
+
_iterator35 = _createForOfIteratorHelper(storageKeyMigrations.values());
|
|
3642
3678
|
_context22.prev = 40;
|
|
3643
|
-
|
|
3679
|
+
_iterator35.s();
|
|
3644
3680
|
case 42:
|
|
3645
|
-
if ((
|
|
3681
|
+
if ((_step35 = _iterator35.n()).done) {
|
|
3646
3682
|
_context22.next = 76;
|
|
3647
3683
|
break;
|
|
3648
3684
|
}
|
|
3649
|
-
migration =
|
|
3685
|
+
migration = _step35.value;
|
|
3650
3686
|
_context22.prev = 44;
|
|
3651
3687
|
_context22.next = 47;
|
|
3652
3688
|
return _this22.dbManager.delete(INDEXDB_STORE_NAME, migration.from);
|
|
3653
3689
|
case 47:
|
|
3654
3690
|
_this22.recentSqliteWriteByStorageKey.delete(migration.from);
|
|
3655
|
-
|
|
3691
|
+
_iterator36 = _createForOfIteratorHelper(orders);
|
|
3656
3692
|
_context22.prev = 49;
|
|
3657
|
-
|
|
3693
|
+
_iterator36.s();
|
|
3658
3694
|
case 51:
|
|
3659
|
-
if ((
|
|
3695
|
+
if ((_step36 = _iterator36.n()).done) {
|
|
3660
3696
|
_context22.next = 61;
|
|
3661
3697
|
break;
|
|
3662
3698
|
}
|
|
3663
|
-
_order =
|
|
3699
|
+
_order = _step36.value;
|
|
3664
3700
|
if (!(_this22.getOrderStorageKey(_order) !== migration.to)) {
|
|
3665
3701
|
_context22.next = 55;
|
|
3666
3702
|
break;
|
|
@@ -3684,10 +3720,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3684
3720
|
case 63:
|
|
3685
3721
|
_context22.prev = 63;
|
|
3686
3722
|
_context22.t1 = _context22["catch"](49);
|
|
3687
|
-
|
|
3723
|
+
_iterator36.e(_context22.t1);
|
|
3688
3724
|
case 66:
|
|
3689
3725
|
_context22.prev = 66;
|
|
3690
|
-
|
|
3726
|
+
_iterator36.f();
|
|
3691
3727
|
return _context22.finish(66);
|
|
3692
3728
|
case 69:
|
|
3693
3729
|
_context22.next = 74;
|
|
@@ -3711,10 +3747,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3711
3747
|
case 78:
|
|
3712
3748
|
_context22.prev = 78;
|
|
3713
3749
|
_context22.t3 = _context22["catch"](40);
|
|
3714
|
-
|
|
3750
|
+
_iterator35.e(_context22.t3);
|
|
3715
3751
|
case 81:
|
|
3716
3752
|
_context22.prev = 81;
|
|
3717
|
-
|
|
3753
|
+
_iterator35.f();
|
|
3718
3754
|
return _context22.finish(81);
|
|
3719
3755
|
case 84:
|
|
3720
3756
|
_this22.logInfo('patchOrdersInSQLite-完成', {
|
|
@@ -3929,7 +3965,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3929
3965
|
_context27.prev = 5;
|
|
3930
3966
|
_context27.next = 8;
|
|
3931
3967
|
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26() {
|
|
3932
|
-
var existingOrders, protectedLocalOrders,
|
|
3968
|
+
var existingOrders, protectedLocalOrders, _iterator37, _step37, rawCurrentOrder, currentOrder, protectedIndex, currentNeedsProtection, orderListSnapshot;
|
|
3933
3969
|
return _regeneratorRuntime().wrap(function _callee26$(_context26) {
|
|
3934
3970
|
while (1) switch (_context26.prev = _context26.next) {
|
|
3935
3971
|
case 0:
|
|
@@ -3952,15 +3988,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3952
3988
|
}).filter(function (order) {
|
|
3953
3989
|
return _this24.shouldProtectLocalOrderFromRemoteSnapshot(order);
|
|
3954
3990
|
});
|
|
3955
|
-
|
|
3991
|
+
_iterator37 = _createForOfIteratorHelper(existingOrders || []);
|
|
3956
3992
|
_context26.prev = 10;
|
|
3957
|
-
|
|
3993
|
+
_iterator37.s();
|
|
3958
3994
|
case 12:
|
|
3959
|
-
if ((
|
|
3995
|
+
if ((_step37 = _iterator37.n()).done) {
|
|
3960
3996
|
_context26.next = 23;
|
|
3961
3997
|
break;
|
|
3962
3998
|
}
|
|
3963
|
-
rawCurrentOrder =
|
|
3999
|
+
rawCurrentOrder = _step37.value;
|
|
3964
4000
|
currentOrder = _this24.normalizeOrderCollectionsForIngress(rawCurrentOrder, "".concat(source, ".currentSQLite"));
|
|
3965
4001
|
protectedIndex = _this24.findOrderIndexByIdentity(protectedLocalOrders, currentOrder);
|
|
3966
4002
|
currentNeedsProtection = _this24.shouldProtectLocalOrderFromRemoteSnapshot(currentOrder);
|
|
@@ -3985,10 +4021,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3985
4021
|
case 25:
|
|
3986
4022
|
_context26.prev = 25;
|
|
3987
4023
|
_context26.t1 = _context26["catch"](10);
|
|
3988
|
-
|
|
4024
|
+
_iterator37.e(_context26.t1);
|
|
3989
4025
|
case 28:
|
|
3990
4026
|
_context26.prev = 28;
|
|
3991
|
-
|
|
4027
|
+
_iterator37.f();
|
|
3992
4028
|
return _context26.finish(28);
|
|
3993
4029
|
case 31:
|
|
3994
4030
|
orderListSnapshot = _this24.mergeRemoteSnapshotWithPendingOrders(remoteSnapshot, protectedLocalOrders);
|