@pisell/pisellos 2.3.67 → 2.3.69
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/model/strategy/adapter/walletPass/evaluator.js +0 -1
- package/dist/model/strategy/adapter/walletPass/utils.js +0 -2
- package/dist/modules/BaseModule.d.ts +1 -0
- package/dist/modules/BaseModule.js +24 -28
- package/dist/modules/Customer/index.d.ts +4 -0
- package/dist/modules/Customer/index.js +91 -59
- package/dist/modules/Customer/types.d.ts +2 -0
- package/dist/modules/Order/index.d.ts +22 -2
- package/dist/modules/Order/index.js +313 -142
- package/dist/modules/Order/types.d.ts +13 -1
- package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +15 -0
- package/dist/modules/Order/utils/orderCollectionIdentity.js +75 -0
- package/dist/modules/Order/utils.js +0 -1
- package/dist/modules/Payment/index.d.ts +4 -0
- package/dist/modules/Payment/index.js +14 -4
- package/dist/modules/Payment/walletpass.js +52 -18
- package/dist/modules/Rules/index.js +46 -31
- package/dist/server/index.js +3 -6
- package/dist/server/modules/order/index.d.ts +1 -0
- package/dist/server/modules/order/index.js +252 -93
- package/dist/server/utils/small-ticket.js +2 -1
- package/dist/solution/BaseSales/index.d.ts +13 -1
- package/dist/solution/BaseSales/index.js +903 -831
- package/dist/solution/BaseSales/utils.js +31 -20
- package/dist/solution/BookingTicket/index.d.ts +7 -1
- package/dist/solution/BookingTicket/index.js +310 -224
- package/dist/solution/ScanOrder/utils.js +31 -20
- package/dist/solution/UnifiedBookingSales/index.d.ts +25 -0
- package/dist/solution/UnifiedBookingSales/index.js +640 -321
- package/dist/solution/UnifiedBookingSales/types.d.ts +7 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.js +0 -1
- package/lib/model/strategy/adapter/walletPass/utils.js +0 -1
- package/lib/modules/BaseModule.d.ts +1 -0
- package/lib/modules/BaseModule.js +24 -37
- package/lib/modules/Customer/index.d.ts +4 -0
- package/lib/modules/Customer/index.js +11 -0
- package/lib/modules/Customer/types.d.ts +2 -0
- package/lib/modules/Order/index.d.ts +22 -2
- package/lib/modules/Order/index.js +212 -54
- package/lib/modules/Order/types.d.ts +13 -1
- package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +15 -0
- package/lib/modules/Order/utils/orderCollectionIdentity.js +70 -0
- package/lib/modules/Order/utils.js +0 -1
- package/lib/modules/Payment/index.d.ts +4 -0
- package/lib/modules/Payment/index.js +7 -0
- package/lib/modules/Payment/walletpass.js +27 -2
- package/lib/modules/Rules/index.js +17 -1
- package/lib/server/index.js +3 -6
- package/lib/server/modules/order/index.d.ts +1 -0
- package/lib/server/modules/order/index.js +66 -2
- package/lib/server/utils/small-ticket.js +1 -1
- package/lib/solution/BaseSales/index.d.ts +13 -1
- package/lib/solution/BaseSales/index.js +61 -18
- package/lib/solution/BaseSales/utils.js +29 -18
- package/lib/solution/BookingTicket/index.d.ts +7 -1
- package/lib/solution/BookingTicket/index.js +65 -14
- package/lib/solution/ScanOrder/utils.js +29 -18
- package/lib/solution/UnifiedBookingSales/index.d.ts +25 -0
- package/lib/solution/UnifiedBookingSales/index.js +188 -0
- package/lib/solution/UnifiedBookingSales/types.d.ts +7 -0
- package/package.json +1 -1
|
@@ -41,6 +41,7 @@ import { getOrderPaymentIdentityKeys, isIdentifiedPendingOrderPayment, isPending
|
|
|
41
41
|
* SQLite 存储名称
|
|
42
42
|
*/
|
|
43
43
|
var INDEXDB_STORE_NAME = 'orders';
|
|
44
|
+
var ORDER_STORAGE_KEY_FIELD = '__order_storage_key';
|
|
44
45
|
var ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY = 'server_order_last_full_fetch_at';
|
|
45
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';
|
|
@@ -2468,7 +2469,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2468
2469
|
value: (function () {
|
|
2469
2470
|
var _mergeOrdersToStore = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(freshOrders, source) {
|
|
2470
2471
|
var _this17 = this;
|
|
2471
|
-
var storeOrderCountBefore, normalizedFreshOrders, incomingProductsHaveStableIdentity, _iterator14, _step14, order, id, rawProducts, _incomingProductsHave, allProductsHaveStableIdentity, orderIdKey, uniqueFreshOrders, uniqueFreshCount, patchedOrders, remoteProductMembershipChanges, forceWriteStorageKeys, mergeActions, existingProductsHaveStableIdentity, updatedList, identityKeyToIndex, index, identityKeys, _iterator15, _step15, key, _iterator16, _step16, fresh, freshIdentityKeys, matchIndex, storageKey, mergeKey, existingOrder, _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, mergedStorageKey, insertIndex, insertCount, updateCount;
|
|
2472
|
+
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;
|
|
2472
2473
|
return _regeneratorRuntime().wrap(function _callee19$(_context19) {
|
|
2473
2474
|
while (1) switch (_context19.prev = _context19.next) {
|
|
2474
2475
|
case 0:
|
|
@@ -2525,6 +2526,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2525
2526
|
patchedOrders = [];
|
|
2526
2527
|
remoteProductMembershipChanges = [];
|
|
2527
2528
|
forceWriteStorageKeys = new Set();
|
|
2529
|
+
storageKeyMigrations = [];
|
|
2528
2530
|
mergeActions = {};
|
|
2529
2531
|
existingProductsHaveStableIdentity = this.store.list.map(function (order) {
|
|
2530
2532
|
return _this17.doProductsHaveStableMembershipIdentity(order.products);
|
|
@@ -2551,11 +2553,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2551
2553
|
}
|
|
2552
2554
|
}
|
|
2553
2555
|
_iterator16 = _createForOfIteratorHelper(uniqueFreshOrders);
|
|
2554
|
-
_context19.prev =
|
|
2556
|
+
_context19.prev = 38;
|
|
2555
2557
|
_iterator16.s();
|
|
2556
|
-
case
|
|
2558
|
+
case 40:
|
|
2557
2559
|
if ((_step16 = _iterator16.n()).done) {
|
|
2558
|
-
_context19.next =
|
|
2560
|
+
_context19.next = 100;
|
|
2559
2561
|
break;
|
|
2560
2562
|
}
|
|
2561
2563
|
fresh = _step16.value;
|
|
@@ -2564,12 +2566,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2564
2566
|
storageKey = this.getOrderStorageKey(fresh);
|
|
2565
2567
|
mergeKey = storageKey || (fresh.order_id !== undefined && fresh.order_id !== null ? this.getIdKey(fresh.order_id) : '');
|
|
2566
2568
|
if (!(matchIndex >= 0)) {
|
|
2567
|
-
_context19.next =
|
|
2569
|
+
_context19.next = 92;
|
|
2568
2570
|
break;
|
|
2569
2571
|
}
|
|
2570
2572
|
existingOrder = updatedList[matchIndex];
|
|
2573
|
+
previousStorageKey = this.getPersistedOrderStorageKey(existingOrder);
|
|
2571
2574
|
if (!(this.isPendingSyncOrder(existingOrder) && this.isRemoteEchoMergeSource(source))) {
|
|
2572
|
-
_context19.next =
|
|
2575
|
+
_context19.next = 52;
|
|
2573
2576
|
break;
|
|
2574
2577
|
}
|
|
2575
2578
|
this.logInfo('mergeOrdersToStore-跳过 pending 订单远端覆盖', {
|
|
@@ -2582,10 +2585,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2582
2585
|
remote_need_sync: (_fresh$need_sync = fresh.need_sync) !== null && _fresh$need_sync !== void 0 ? _fresh$need_sync : null,
|
|
2583
2586
|
reason: 'protect_pending_sync_order_from_remote_echo'
|
|
2584
2587
|
});
|
|
2585
|
-
return _context19.abrupt("continue",
|
|
2586
|
-
case
|
|
2588
|
+
return _context19.abrupt("continue", 98);
|
|
2589
|
+
case 52:
|
|
2587
2590
|
if (!(this.isDraftOrder(existingOrder) && this.shouldProtectDraftOrderFromIncoming(source))) {
|
|
2588
|
-
_context19.next =
|
|
2591
|
+
_context19.next = 55;
|
|
2589
2592
|
break;
|
|
2590
2593
|
}
|
|
2591
2594
|
this.logInfo('mergeOrdersToStore-跳过 draft 订单远端覆盖', {
|
|
@@ -2596,8 +2599,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2596
2599
|
remote_is_draft_order: (_fresh$is_draft_order = fresh.is_draft_order) !== null && _fresh$is_draft_order !== void 0 ? _fresh$is_draft_order : null,
|
|
2597
2600
|
reason: 'protect_draft_order_from_remote_echo'
|
|
2598
2601
|
});
|
|
2599
|
-
return _context19.abrupt("continue",
|
|
2600
|
-
case
|
|
2602
|
+
return _context19.abrupt("continue", 98);
|
|
2603
|
+
case 55:
|
|
2601
2604
|
mergedOrder = this.mergeOrderRecords(existingOrder, fresh);
|
|
2602
2605
|
freshOrderId = fresh.order_id;
|
|
2603
2606
|
incomingProductsAreStable = freshOrderId !== undefined && freshOrderId !== null && incomingProductsHaveStableIdentity.get(this.getIdKey(freshOrderId)) !== false;
|
|
@@ -2609,37 +2612,37 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2609
2612
|
adjustedMatchIndex = matchIndex;
|
|
2610
2613
|
duplicateIndexes = new Set();
|
|
2611
2614
|
_iterator17 = _createForOfIteratorHelper(freshIdentityKeys);
|
|
2612
|
-
_context19.prev =
|
|
2615
|
+
_context19.prev = 64;
|
|
2613
2616
|
_iterator17.s();
|
|
2614
|
-
case
|
|
2617
|
+
case 66:
|
|
2615
2618
|
if ((_step17 = _iterator17.n()).done) {
|
|
2616
|
-
_context19.next =
|
|
2619
|
+
_context19.next = 74;
|
|
2617
2620
|
break;
|
|
2618
2621
|
}
|
|
2619
2622
|
_key2 = _step17.value;
|
|
2620
2623
|
_duplicateIndex = identityKeyToIndex.get(_key2);
|
|
2621
2624
|
if (!(_duplicateIndex === undefined || _duplicateIndex === matchIndex)) {
|
|
2622
|
-
_context19.next =
|
|
2625
|
+
_context19.next = 71;
|
|
2623
2626
|
break;
|
|
2624
2627
|
}
|
|
2625
|
-
return _context19.abrupt("continue",
|
|
2626
|
-
case
|
|
2628
|
+
return _context19.abrupt("continue", 72);
|
|
2629
|
+
case 71:
|
|
2627
2630
|
duplicateIndexes.add(_duplicateIndex);
|
|
2628
|
-
case 70:
|
|
2629
|
-
_context19.next = 64;
|
|
2630
|
-
break;
|
|
2631
2631
|
case 72:
|
|
2632
|
-
_context19.next =
|
|
2632
|
+
_context19.next = 66;
|
|
2633
2633
|
break;
|
|
2634
2634
|
case 74:
|
|
2635
|
-
_context19.
|
|
2636
|
-
|
|
2635
|
+
_context19.next = 79;
|
|
2636
|
+
break;
|
|
2637
|
+
case 76:
|
|
2638
|
+
_context19.prev = 76;
|
|
2639
|
+
_context19.t1 = _context19["catch"](64);
|
|
2637
2640
|
_iterator17.e(_context19.t1);
|
|
2638
|
-
case
|
|
2639
|
-
_context19.prev =
|
|
2641
|
+
case 79:
|
|
2642
|
+
_context19.prev = 79;
|
|
2640
2643
|
_iterator17.f();
|
|
2641
|
-
return _context19.finish(
|
|
2642
|
-
case
|
|
2644
|
+
return _context19.finish(79);
|
|
2645
|
+
case 82:
|
|
2643
2646
|
if (duplicateIndexes.size > 0) {
|
|
2644
2647
|
_iterator18 = _createForOfIteratorHelper(_toConsumableArray(duplicateIndexes).sort(function (left, right) {
|
|
2645
2648
|
return right - left;
|
|
@@ -2673,6 +2676,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2673
2676
|
}
|
|
2674
2677
|
}
|
|
2675
2678
|
}
|
|
2679
|
+
nextStorageKey = this.getOrderStorageKey(mergedOrder);
|
|
2680
|
+
if (previousStorageKey && nextStorageKey && previousStorageKey !== nextStorageKey) {
|
|
2681
|
+
storageKeyMigrations.push({
|
|
2682
|
+
orderId: (_ref5 = (_ref6 = (_mergedOrder$order_id = mergedOrder.order_id) !== null && _mergedOrder$order_id !== void 0 ? _mergedOrder$order_id : existingOrder.order_id) !== null && _ref6 !== void 0 ? _ref6 : fresh.order_id) !== null && _ref5 !== void 0 ? _ref5 : null,
|
|
2683
|
+
from: previousStorageKey,
|
|
2684
|
+
to: nextStorageKey
|
|
2685
|
+
});
|
|
2686
|
+
}
|
|
2676
2687
|
updatedList[adjustedMatchIndex] = mergedOrder;
|
|
2677
2688
|
existingProductsHaveStableIdentity[adjustedMatchIndex] = mergedProductsHaveStableIdentity;
|
|
2678
2689
|
if (membershipChange) {
|
|
@@ -2685,29 +2696,29 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2685
2696
|
this.registerOrderIdentityKeys(identityKeyToIndex, mergedOrder, adjustedMatchIndex);
|
|
2686
2697
|
patchedOrders.push(mergedOrder);
|
|
2687
2698
|
if (mergeKey) mergeActions[mergeKey] = 'update';
|
|
2688
|
-
return _context19.abrupt("continue",
|
|
2689
|
-
case
|
|
2699
|
+
return _context19.abrupt("continue", 98);
|
|
2700
|
+
case 92:
|
|
2690
2701
|
insertIndex = updatedList.length;
|
|
2691
2702
|
updatedList.push(fresh);
|
|
2692
2703
|
existingProductsHaveStableIdentity.push(fresh.order_id !== undefined && fresh.order_id !== null && incomingProductsHaveStableIdentity.get(this.getIdKey(fresh.order_id)) !== false);
|
|
2693
2704
|
this.registerOrderIdentityKeys(identityKeyToIndex, fresh, insertIndex);
|
|
2694
2705
|
patchedOrders.push(fresh);
|
|
2695
2706
|
if (mergeKey) mergeActions[mergeKey] = 'insert';
|
|
2696
|
-
case
|
|
2697
|
-
_context19.next =
|
|
2707
|
+
case 98:
|
|
2708
|
+
_context19.next = 40;
|
|
2698
2709
|
break;
|
|
2699
|
-
case
|
|
2700
|
-
_context19.next =
|
|
2710
|
+
case 100:
|
|
2711
|
+
_context19.next = 105;
|
|
2701
2712
|
break;
|
|
2702
|
-
case
|
|
2703
|
-
_context19.prev =
|
|
2704
|
-
_context19.t2 = _context19["catch"](
|
|
2713
|
+
case 102:
|
|
2714
|
+
_context19.prev = 102;
|
|
2715
|
+
_context19.t2 = _context19["catch"](38);
|
|
2705
2716
|
_iterator16.e(_context19.t2);
|
|
2706
|
-
case
|
|
2707
|
-
_context19.prev =
|
|
2717
|
+
case 105:
|
|
2718
|
+
_context19.prev = 105;
|
|
2708
2719
|
_iterator16.f();
|
|
2709
|
-
return _context19.finish(
|
|
2710
|
-
case
|
|
2720
|
+
return _context19.finish(105);
|
|
2721
|
+
case 108:
|
|
2711
2722
|
insertCount = Object.values(mergeActions).filter(function (v) {
|
|
2712
2723
|
return v === 'insert';
|
|
2713
2724
|
}).length;
|
|
@@ -2723,25 +2734,27 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2723
2734
|
// 仅在自检开关开启时做一次兜底校验。
|
|
2724
2735
|
this.store.list = this.runOrderStoreSelfCheck(updatedList, "".concat(source, ".store"));
|
|
2725
2736
|
this.syncOrdersMap();
|
|
2726
|
-
_context19.next =
|
|
2727
|
-
return this.patchOrdersInSQLite(patchedOrders, source, mergeActions, {
|
|
2728
|
-
|
|
2737
|
+
_context19.next = 115;
|
|
2738
|
+
return this.patchOrdersInSQLite(patchedOrders, source, mergeActions, {
|
|
2739
|
+
storageKeyMigrations: storageKeyMigrations
|
|
2740
|
+
}, forceWriteStorageKeys);
|
|
2741
|
+
case 115:
|
|
2729
2742
|
this.logInfo('mergeOrdersToStore-结束', {
|
|
2730
2743
|
uniqueFreshCount: uniqueFreshCount,
|
|
2731
2744
|
storeOrderCountAfter: this.store.list.length,
|
|
2732
2745
|
insertCount: insertCount,
|
|
2733
2746
|
updateCount: updateCount
|
|
2734
2747
|
});
|
|
2735
|
-
_context19.next =
|
|
2748
|
+
_context19.next = 118;
|
|
2736
2749
|
return this.emitRemoteProductMembershipChanges(remoteProductMembershipChanges);
|
|
2737
|
-
case
|
|
2738
|
-
_context19.next =
|
|
2750
|
+
case 118:
|
|
2751
|
+
_context19.next = 120;
|
|
2739
2752
|
return this.emitOrdersChanged(patchedOrders, source);
|
|
2740
|
-
case
|
|
2753
|
+
case 120:
|
|
2741
2754
|
case "end":
|
|
2742
2755
|
return _context19.stop();
|
|
2743
2756
|
}
|
|
2744
|
-
}, _callee19, this, [[6, 20, 23, 26], [
|
|
2757
|
+
}, _callee19, this, [[6, 20, 23, 26], [38, 102, 105, 108], [64, 76, 79, 82]]);
|
|
2745
2758
|
}));
|
|
2746
2759
|
function mergeOrdersToStore(_x13, _x14) {
|
|
2747
2760
|
return _mergeOrdersToStore.apply(this, arguments);
|
|
@@ -2824,7 +2837,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2824
2837
|
key: "getRemoteProductMembershipChange",
|
|
2825
2838
|
value: function getRemoteProductMembershipChange(existingOrder, mergedOrder, source) {
|
|
2826
2839
|
var _this18 = this,
|
|
2827
|
-
_mergedOrder$
|
|
2840
|
+
_mergedOrder$order_id2;
|
|
2828
2841
|
if (!this.isRemoteProductMembershipChangeSource(source)) return null;
|
|
2829
2842
|
var previousProducts = Array.isArray(existingOrder.products) ? existingOrder.products : [];
|
|
2830
2843
|
var currentProducts = Array.isArray(mergedOrder.products) ? mergedOrder.products : [];
|
|
@@ -2861,7 +2874,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2861
2874
|
if (addedProductKeys.length === 0 && removedProductKeys.length === 0) {
|
|
2862
2875
|
return null;
|
|
2863
2876
|
}
|
|
2864
|
-
var orderId = (_mergedOrder$
|
|
2877
|
+
var orderId = (_mergedOrder$order_id2 = mergedOrder.order_id) !== null && _mergedOrder$order_id2 !== void 0 ? _mergedOrder$order_id2 : existingOrder.order_id;
|
|
2865
2878
|
if (orderId === undefined || orderId === null) return null;
|
|
2866
2879
|
return {
|
|
2867
2880
|
order_id: orderId,
|
|
@@ -3000,6 +3013,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3000
3013
|
}
|
|
3001
3014
|
return '';
|
|
3002
3015
|
}
|
|
3016
|
+
}, {
|
|
3017
|
+
key: "getPersistedOrderStorageKey",
|
|
3018
|
+
value: function getPersistedOrderStorageKey(order) {
|
|
3019
|
+
var persistedStorageKey = order === null || order === void 0 ? void 0 : order[ORDER_STORAGE_KEY_FIELD];
|
|
3020
|
+
if (persistedStorageKey !== undefined && persistedStorageKey !== null && persistedStorageKey !== '') {
|
|
3021
|
+
return String(persistedStorageKey);
|
|
3022
|
+
}
|
|
3023
|
+
return this.getOrderStorageKey(order);
|
|
3024
|
+
}
|
|
3003
3025
|
}, {
|
|
3004
3026
|
key: "getOrderIdentityMatchKeys",
|
|
3005
3027
|
value: function getOrderIdentityMatchKeys(order) {
|
|
@@ -3201,10 +3223,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3201
3223
|
if (_field2 === 'payments') {
|
|
3202
3224
|
var preservedPending = this.getUnmatchedIdentifiedPendingPayments(existingRecord[_field2], incomingRecord[_field2]);
|
|
3203
3225
|
if (preservedPending.length > 0) {
|
|
3204
|
-
var
|
|
3226
|
+
var _ref7, _existing$order_id, _ref8, _existingRecord$exter;
|
|
3205
3227
|
this.logInfo('mergeOrderRecords-保留本地 pending 支付项', {
|
|
3206
|
-
order_id: (
|
|
3207
|
-
external_sale_number: (
|
|
3228
|
+
order_id: (_ref7 = (_existing$order_id = existing.order_id) !== null && _existing$order_id !== void 0 ? _existing$order_id : incoming.order_id) !== null && _ref7 !== void 0 ? _ref7 : null,
|
|
3229
|
+
external_sale_number: (_ref8 = (_existingRecord$exter = existingRecord.external_sale_number) !== null && _existingRecord$exter !== void 0 ? _existingRecord$exter : incomingRecord.external_sale_number) !== null && _ref8 !== void 0 ? _ref8 : null,
|
|
3208
3230
|
preserved_pending_count: preservedPending.length,
|
|
3209
3231
|
preserved_payment_identities: preservedPending.map(function (payment) {
|
|
3210
3232
|
return getOrderPaymentIdentityKeys(payment);
|
|
@@ -3257,14 +3279,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3257
3279
|
} finally {
|
|
3258
3280
|
_iterator28.f();
|
|
3259
3281
|
}
|
|
3260
|
-
return _toConsumableArray(groups.entries()).filter(function (
|
|
3261
|
-
var _ref8 = _slicedToArray(_ref7, 2),
|
|
3262
|
-
group = _ref8[1];
|
|
3263
|
-
return group.length > 1;
|
|
3264
|
-
}).slice(0, 20).map(function (_ref9) {
|
|
3282
|
+
return _toConsumableArray(groups.entries()).filter(function (_ref9) {
|
|
3265
3283
|
var _ref10 = _slicedToArray(_ref9, 2),
|
|
3266
|
-
key = _ref10[0],
|
|
3267
3284
|
group = _ref10[1];
|
|
3285
|
+
return group.length > 1;
|
|
3286
|
+
}).slice(0, 20).map(function (_ref11) {
|
|
3287
|
+
var _ref12 = _slicedToArray(_ref11, 2),
|
|
3288
|
+
key = _ref12[0],
|
|
3289
|
+
group = _ref12[1];
|
|
3268
3290
|
return {
|
|
3269
3291
|
key: key,
|
|
3270
3292
|
count: group.length,
|
|
@@ -3632,11 +3654,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3632
3654
|
var mergeActions,
|
|
3633
3655
|
options,
|
|
3634
3656
|
forceWriteStorageKeys,
|
|
3657
|
+
migrationTargetStorageKeys,
|
|
3635
3658
|
ordersSnapshot,
|
|
3636
3659
|
_this$filterRedundant2,
|
|
3637
3660
|
toWrite,
|
|
3638
3661
|
skipped,
|
|
3639
3662
|
compactedToWrite,
|
|
3663
|
+
writtenStorageKeys,
|
|
3664
|
+
storageKeyMigrations,
|
|
3665
|
+
_iterator32,
|
|
3666
|
+
_step32,
|
|
3667
|
+
migration,
|
|
3640
3668
|
_args23 = arguments;
|
|
3641
3669
|
return _regeneratorRuntime().wrap(function _callee23$(_context23) {
|
|
3642
3670
|
while (1) switch (_context23.prev = _context23.next) {
|
|
@@ -3662,35 +3690,83 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3662
3690
|
case 8:
|
|
3663
3691
|
return _context23.abrupt("return");
|
|
3664
3692
|
case 9:
|
|
3693
|
+
migrationTargetStorageKeys = new Set((options.storageKeyMigrations || []).map(function (migration) {
|
|
3694
|
+
return migration.to;
|
|
3695
|
+
}));
|
|
3665
3696
|
ordersSnapshot = cloneDeep(orders).map(function (order) {
|
|
3666
3697
|
return _this23.normalizeOrderCollectionsForIngress(order, "".concat(source, ".sqliteIngress"));
|
|
3698
|
+
}).map(function (order) {
|
|
3699
|
+
var storageKey = _this23.getOrderStorageKey(order);
|
|
3700
|
+
if (!storageKey || !migrationTargetStorageKeys.has(storageKey)) return order;
|
|
3701
|
+
return _objectSpread(_objectSpread({}, order), {}, _defineProperty({}, ORDER_STORAGE_KEY_FIELD, storageKey));
|
|
3667
3702
|
}).filter(function (order) {
|
|
3668
3703
|
return _this23.getOrderStorageKey(order);
|
|
3669
3704
|
});
|
|
3670
3705
|
if (!(ordersSnapshot.length === 0)) {
|
|
3671
|
-
_context23.next =
|
|
3706
|
+
_context23.next = 13;
|
|
3672
3707
|
break;
|
|
3673
3708
|
}
|
|
3674
3709
|
return _context23.abrupt("return");
|
|
3675
|
-
case
|
|
3710
|
+
case 13:
|
|
3676
3711
|
_this$filterRedundant2 = this.filterRedundantPatchOrders(source, ordersSnapshot, mergeActions, forceWriteStorageKeys), toWrite = _this$filterRedundant2.toWrite, skipped = _this$filterRedundant2.skipped;
|
|
3677
3712
|
if (!(toWrite.length === 0)) {
|
|
3678
|
-
_context23.next =
|
|
3713
|
+
_context23.next = 16;
|
|
3679
3714
|
break;
|
|
3680
3715
|
}
|
|
3681
3716
|
return _context23.abrupt("return");
|
|
3682
|
-
case
|
|
3717
|
+
case 16:
|
|
3683
3718
|
compactedToWrite = this.compactOrderListByIdentity(toWrite, "".concat(source, ".sqlitePatch")).list;
|
|
3684
3719
|
if (!(compactedToWrite.length === 0)) {
|
|
3685
|
-
_context23.next =
|
|
3720
|
+
_context23.next = 19;
|
|
3686
3721
|
break;
|
|
3687
3722
|
}
|
|
3688
3723
|
return _context23.abrupt("return");
|
|
3689
|
-
case
|
|
3690
|
-
|
|
3691
|
-
|
|
3724
|
+
case 19:
|
|
3725
|
+
writtenStorageKeys = new Set(compactedToWrite.map(function (order) {
|
|
3726
|
+
return _this23.getOrderStorageKey(order);
|
|
3727
|
+
}).filter(Boolean));
|
|
3728
|
+
storageKeyMigrations = new Map();
|
|
3729
|
+
_iterator32 = _createForOfIteratorHelper(options.storageKeyMigrations || []);
|
|
3730
|
+
_context23.prev = 22;
|
|
3731
|
+
_iterator32.s();
|
|
3732
|
+
case 24:
|
|
3733
|
+
if ((_step32 = _iterator32.n()).done) {
|
|
3734
|
+
_context23.next = 33;
|
|
3735
|
+
break;
|
|
3736
|
+
}
|
|
3737
|
+
migration = _step32.value;
|
|
3738
|
+
if (writtenStorageKeys.has(migration.to)) {
|
|
3739
|
+
_context23.next = 28;
|
|
3740
|
+
break;
|
|
3741
|
+
}
|
|
3742
|
+
return _context23.abrupt("continue", 31);
|
|
3743
|
+
case 28:
|
|
3744
|
+
if (!writtenStorageKeys.has(migration.from)) {
|
|
3745
|
+
_context23.next = 30;
|
|
3746
|
+
break;
|
|
3747
|
+
}
|
|
3748
|
+
return _context23.abrupt("continue", 31);
|
|
3749
|
+
case 30:
|
|
3750
|
+
storageKeyMigrations.set(migration.from, migration);
|
|
3751
|
+
case 31:
|
|
3752
|
+
_context23.next = 24;
|
|
3753
|
+
break;
|
|
3754
|
+
case 33:
|
|
3755
|
+
_context23.next = 38;
|
|
3756
|
+
break;
|
|
3757
|
+
case 35:
|
|
3758
|
+
_context23.prev = 35;
|
|
3759
|
+
_context23.t0 = _context23["catch"](22);
|
|
3760
|
+
_iterator32.e(_context23.t0);
|
|
3761
|
+
case 38:
|
|
3762
|
+
_context23.prev = 38;
|
|
3763
|
+
_iterator32.f();
|
|
3764
|
+
return _context23.finish(38);
|
|
3765
|
+
case 41:
|
|
3766
|
+
_context23.prev = 41;
|
|
3767
|
+
_context23.next = 44;
|
|
3692
3768
|
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22() {
|
|
3693
|
-
var writeMethod,
|
|
3769
|
+
var writeMethod, _iterator33, _step33, order, _iterator34, _step34, migration, _iterator35, _step35, _orderRecord$ORDER_ST, _order, orderRecord;
|
|
3694
3770
|
return _regeneratorRuntime().wrap(function _callee22$(_context22) {
|
|
3695
3771
|
while (1) switch (_context22.prev = _context22.next) {
|
|
3696
3772
|
case 0:
|
|
@@ -3727,15 +3803,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3727
3803
|
break;
|
|
3728
3804
|
}
|
|
3729
3805
|
writeMethod = 'update';
|
|
3730
|
-
|
|
3806
|
+
_iterator33 = _createForOfIteratorHelper(compactedToWrite);
|
|
3731
3807
|
_context22.prev = 17;
|
|
3732
|
-
|
|
3808
|
+
_iterator33.s();
|
|
3733
3809
|
case 19:
|
|
3734
|
-
if ((
|
|
3810
|
+
if ((_step33 = _iterator33.n()).done) {
|
|
3735
3811
|
_context22.next = 25;
|
|
3736
3812
|
break;
|
|
3737
3813
|
}
|
|
3738
|
-
order =
|
|
3814
|
+
order = _step33.value;
|
|
3739
3815
|
_context22.next = 23;
|
|
3740
3816
|
return _this23.dbManager.update(INDEXDB_STORE_NAME, order);
|
|
3741
3817
|
case 23:
|
|
@@ -3747,10 +3823,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3747
3823
|
case 27:
|
|
3748
3824
|
_context22.prev = 27;
|
|
3749
3825
|
_context22.t0 = _context22["catch"](17);
|
|
3750
|
-
|
|
3826
|
+
_iterator33.e(_context22.t0);
|
|
3751
3827
|
case 30:
|
|
3752
3828
|
_context22.prev = 30;
|
|
3753
|
-
|
|
3829
|
+
_iterator33.f();
|
|
3754
3830
|
return _context22.finish(30);
|
|
3755
3831
|
case 33:
|
|
3756
3832
|
_context22.next = 37;
|
|
@@ -3763,38 +3839,121 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3763
3839
|
throw new Error('订单 SQLite 数据库不支持写入');
|
|
3764
3840
|
case 37:
|
|
3765
3841
|
_this23.recordRecentSqliteWrite(source, compactedToWrite);
|
|
3842
|
+
if (!(writeMethod !== 'none')) {
|
|
3843
|
+
_context22.next = 84;
|
|
3844
|
+
break;
|
|
3845
|
+
}
|
|
3846
|
+
_iterator34 = _createForOfIteratorHelper(storageKeyMigrations.values());
|
|
3847
|
+
_context22.prev = 40;
|
|
3848
|
+
_iterator34.s();
|
|
3849
|
+
case 42:
|
|
3850
|
+
if ((_step34 = _iterator34.n()).done) {
|
|
3851
|
+
_context22.next = 76;
|
|
3852
|
+
break;
|
|
3853
|
+
}
|
|
3854
|
+
migration = _step34.value;
|
|
3855
|
+
_context22.prev = 44;
|
|
3856
|
+
_context22.next = 47;
|
|
3857
|
+
return _this23.dbManager.delete(INDEXDB_STORE_NAME, migration.from);
|
|
3858
|
+
case 47:
|
|
3859
|
+
_this23.recentSqliteWriteByStorageKey.delete(migration.from);
|
|
3860
|
+
_iterator35 = _createForOfIteratorHelper(orders);
|
|
3861
|
+
_context22.prev = 49;
|
|
3862
|
+
_iterator35.s();
|
|
3863
|
+
case 51:
|
|
3864
|
+
if ((_step35 = _iterator35.n()).done) {
|
|
3865
|
+
_context22.next = 61;
|
|
3866
|
+
break;
|
|
3867
|
+
}
|
|
3868
|
+
_order = _step35.value;
|
|
3869
|
+
if (!(_this23.getOrderStorageKey(_order) !== migration.to)) {
|
|
3870
|
+
_context22.next = 55;
|
|
3871
|
+
break;
|
|
3872
|
+
}
|
|
3873
|
+
return _context22.abrupt("continue", 59);
|
|
3874
|
+
case 55:
|
|
3875
|
+
orderRecord = _order;
|
|
3876
|
+
if (!(String((_orderRecord$ORDER_ST = orderRecord[ORDER_STORAGE_KEY_FIELD]) !== null && _orderRecord$ORDER_ST !== void 0 ? _orderRecord$ORDER_ST : '') !== migration.from)) {
|
|
3877
|
+
_context22.next = 58;
|
|
3878
|
+
break;
|
|
3879
|
+
}
|
|
3880
|
+
return _context22.abrupt("continue", 59);
|
|
3881
|
+
case 58:
|
|
3882
|
+
orderRecord[ORDER_STORAGE_KEY_FIELD] = migration.to;
|
|
3883
|
+
case 59:
|
|
3884
|
+
_context22.next = 51;
|
|
3885
|
+
break;
|
|
3886
|
+
case 61:
|
|
3887
|
+
_context22.next = 66;
|
|
3888
|
+
break;
|
|
3889
|
+
case 63:
|
|
3890
|
+
_context22.prev = 63;
|
|
3891
|
+
_context22.t1 = _context22["catch"](49);
|
|
3892
|
+
_iterator35.e(_context22.t1);
|
|
3893
|
+
case 66:
|
|
3894
|
+
_context22.prev = 66;
|
|
3895
|
+
_iterator35.f();
|
|
3896
|
+
return _context22.finish(66);
|
|
3897
|
+
case 69:
|
|
3898
|
+
_context22.next = 74;
|
|
3899
|
+
break;
|
|
3900
|
+
case 71:
|
|
3901
|
+
_context22.prev = 71;
|
|
3902
|
+
_context22.t2 = _context22["catch"](44);
|
|
3903
|
+
_this23.logError('删除订单旧 SQLite storage key 失败', {
|
|
3904
|
+
source: source,
|
|
3905
|
+
order_id: migration.orderId,
|
|
3906
|
+
oldStorageKey: migration.from,
|
|
3907
|
+
newStorageKey: migration.to,
|
|
3908
|
+
error: _context22.t2 instanceof Error ? _context22.t2.message : String(_context22.t2)
|
|
3909
|
+
});
|
|
3910
|
+
case 74:
|
|
3911
|
+
_context22.next = 42;
|
|
3912
|
+
break;
|
|
3913
|
+
case 76:
|
|
3914
|
+
_context22.next = 81;
|
|
3915
|
+
break;
|
|
3916
|
+
case 78:
|
|
3917
|
+
_context22.prev = 78;
|
|
3918
|
+
_context22.t3 = _context22["catch"](40);
|
|
3919
|
+
_iterator34.e(_context22.t3);
|
|
3920
|
+
case 81:
|
|
3921
|
+
_context22.prev = 81;
|
|
3922
|
+
_iterator34.f();
|
|
3923
|
+
return _context22.finish(81);
|
|
3924
|
+
case 84:
|
|
3766
3925
|
_this23.logInfo('patchOrdersInSQLite-完成', {
|
|
3767
3926
|
source: source,
|
|
3768
3927
|
count: compactedToWrite.length,
|
|
3769
3928
|
writeMethod: writeMethod,
|
|
3770
3929
|
dedupedCount: skipped.length
|
|
3771
3930
|
});
|
|
3772
|
-
case
|
|
3931
|
+
case 85:
|
|
3773
3932
|
case "end":
|
|
3774
3933
|
return _context22.stop();
|
|
3775
3934
|
}
|
|
3776
|
-
}, _callee22, null, [[17, 27, 30, 33]]);
|
|
3935
|
+
}, _callee22, null, [[17, 27, 30, 33], [40, 78, 81, 84], [44, 71], [49, 63, 66, 69]]);
|
|
3777
3936
|
})));
|
|
3778
|
-
case
|
|
3779
|
-
_context23.next =
|
|
3937
|
+
case 44:
|
|
3938
|
+
_context23.next = 51;
|
|
3780
3939
|
break;
|
|
3781
|
-
case
|
|
3782
|
-
_context23.prev =
|
|
3783
|
-
_context23.
|
|
3940
|
+
case 46:
|
|
3941
|
+
_context23.prev = 46;
|
|
3942
|
+
_context23.t1 = _context23["catch"](41);
|
|
3784
3943
|
this.logError('增量保存订单到 SQLite 失败', {
|
|
3785
|
-
error: _context23.
|
|
3944
|
+
error: _context23.t1 instanceof Error ? _context23.t1.message : String(_context23.t1),
|
|
3786
3945
|
orderCount: ordersSnapshot.length
|
|
3787
3946
|
});
|
|
3788
3947
|
if (!options.throwOnError) {
|
|
3789
|
-
_context23.next =
|
|
3948
|
+
_context23.next = 51;
|
|
3790
3949
|
break;
|
|
3791
3950
|
}
|
|
3792
|
-
throw _context23.
|
|
3793
|
-
case
|
|
3951
|
+
throw _context23.t1;
|
|
3952
|
+
case 51:
|
|
3794
3953
|
case "end":
|
|
3795
3954
|
return _context23.stop();
|
|
3796
3955
|
}
|
|
3797
|
-
}, _callee23, this, [[
|
|
3956
|
+
}, _callee23, this, [[22, 35, 38, 41], [41, 46]]);
|
|
3798
3957
|
}));
|
|
3799
3958
|
function patchOrdersInSQLite(_x16, _x17) {
|
|
3800
3959
|
return _patchOrdersInSQLite.apply(this, arguments);
|
|
@@ -3980,7 +4139,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3980
4139
|
_context27.prev = 6;
|
|
3981
4140
|
_context27.next = 9;
|
|
3982
4141
|
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26() {
|
|
3983
|
-
var existingOrders, protectedLocalOrders,
|
|
4142
|
+
var existingOrders, protectedLocalOrders, _iterator36, _step36, rawCurrentOrder, currentOrder, protectedIndex, currentNeedsProtection, orderListSnapshot;
|
|
3984
4143
|
return _regeneratorRuntime().wrap(function _callee26$(_context26) {
|
|
3985
4144
|
while (1) switch (_context26.prev = _context26.next) {
|
|
3986
4145
|
case 0:
|
|
@@ -4003,15 +4162,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4003
4162
|
}).filter(function (order) {
|
|
4004
4163
|
return _this25.shouldProtectLocalOrderFromRemoteSnapshot(order);
|
|
4005
4164
|
});
|
|
4006
|
-
|
|
4165
|
+
_iterator36 = _createForOfIteratorHelper(existingOrders || []);
|
|
4007
4166
|
_context26.prev = 10;
|
|
4008
|
-
|
|
4167
|
+
_iterator36.s();
|
|
4009
4168
|
case 12:
|
|
4010
|
-
if ((
|
|
4169
|
+
if ((_step36 = _iterator36.n()).done) {
|
|
4011
4170
|
_context26.next = 23;
|
|
4012
4171
|
break;
|
|
4013
4172
|
}
|
|
4014
|
-
rawCurrentOrder =
|
|
4173
|
+
rawCurrentOrder = _step36.value;
|
|
4015
4174
|
currentOrder = _this25.normalizeOrderCollectionsForIngress(rawCurrentOrder, "".concat(source, ".currentSQLite"));
|
|
4016
4175
|
protectedIndex = _this25.findOrderIndexByIdentity(protectedLocalOrders, currentOrder);
|
|
4017
4176
|
currentNeedsProtection = _this25.shouldProtectLocalOrderFromRemoteSnapshot(currentOrder);
|
|
@@ -4036,10 +4195,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4036
4195
|
case 25:
|
|
4037
4196
|
_context26.prev = 25;
|
|
4038
4197
|
_context26.t1 = _context26["catch"](10);
|
|
4039
|
-
|
|
4198
|
+
_iterator36.e(_context26.t1);
|
|
4040
4199
|
case 28:
|
|
4041
4200
|
_context26.prev = 28;
|
|
4042
|
-
|
|
4201
|
+
_iterator36.f();
|
|
4043
4202
|
return _context26.finish(28);
|
|
4044
4203
|
case 31:
|
|
4045
4204
|
orderListSnapshot = _this25.mergeRemoteSnapshotWithPendingOrders(remoteSnapshot, protectedLocalOrders);
|
|
@@ -619,7 +619,8 @@ function formatBundlePrice(bundle, currencySymbol) {
|
|
|
619
619
|
var _ref33, _ref34, _bundle$bundle_sellin;
|
|
620
620
|
var value = (_ref33 = (_ref34 = (_bundle$bundle_sellin = bundle.bundle_selling_price) !== null && _bundle$bundle_sellin !== void 0 ? _bundle$bundle_sellin : bundle.bundle_sum_price) !== null && _ref34 !== void 0 ? _ref34 : bundle.price) !== null && _ref33 !== void 0 ? _ref33 : 0;
|
|
621
621
|
var amount = new Decimal(toMoneyNumber(value));
|
|
622
|
-
|
|
622
|
+
// 套餐价格协议:只有 markdown 是减价;加价与商品原价都保持正数。
|
|
623
|
+
var isNegative = bundle.price_type === 'markdown';
|
|
623
624
|
if (isNegative) return "-".concat(currencySymbol).concat(amount.abs().toFixed(2));
|
|
624
625
|
return formatMoney(amount, currencySymbol);
|
|
625
626
|
}
|