@pisell/pisellos 2.2.314 → 2.2.316
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/index.d.ts +2 -0
- package/dist/index.js +3 -1
- package/dist/model/strategy/adapter/itemRule/adapter.d.ts +3 -1
- package/dist/model/strategy/adapter/itemRule/adapter.js +74 -7
- package/dist/model/strategy/adapter/itemRule/evaluator.d.ts +3 -1
- package/dist/model/strategy/adapter/itemRule/evaluator.js +13 -0
- package/dist/model/strategy/adapter/itemRule/type.d.ts +40 -1
- package/dist/model/strategy/adapter/itemRule/type.js +10 -0
- package/dist/model/strategy/adapter/promotion/evaluator.js +89 -104
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +3 -1
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +28 -4
- package/dist/modules/BookingContext/utils/productExtend.d.ts +7 -0
- package/dist/modules/BookingContext/utils/productExtend.js +62 -18
- package/dist/modules/BookingContext/utils/resources.js +1 -1
- package/dist/modules/BusinessAvailability/index.d.ts +30 -0
- package/dist/modules/BusinessAvailability/index.js +204 -0
- package/dist/modules/Cart/index.js +4 -3
- package/dist/modules/Cart/types.d.ts +2 -0
- package/dist/modules/Cart/utils/cartProduct.d.ts +3 -1
- package/dist/modules/Cart/utils/cartProduct.js +59 -32
- package/dist/modules/FulfillmentTiming/index.d.ts +11 -0
- package/dist/modules/FulfillmentTiming/index.js +407 -0
- package/dist/modules/FulfillmentTiming/types.d.ts +67 -0
- package/dist/modules/FulfillmentTiming/types.js +1 -0
- package/dist/modules/Holder/utils.d.ts +2 -0
- package/dist/modules/Holder/utils.js +32 -2
- package/dist/modules/OpenData/contactInfo.d.ts +20 -0
- package/dist/modules/OpenData/contactInfo.js +70 -0
- package/dist/modules/OpenData/index.d.ts +1 -0
- package/dist/modules/OpenData/index.js +1 -0
- package/dist/modules/OpenData/types.d.ts +23 -0
- package/dist/modules/Order/holderRelations.d.ts +14 -0
- package/dist/modules/Order/holderRelations.js +154 -0
- package/dist/modules/Order/index.d.ts +16 -4
- package/dist/modules/Order/index.js +926 -511
- package/dist/modules/Order/localEftposState.d.ts +13 -0
- package/dist/modules/Order/localEftposState.js +39 -0
- package/dist/modules/Order/pickupTiming.d.ts +46 -0
- package/dist/modules/Order/pickupTiming.js +53 -0
- package/dist/modules/Order/types.d.ts +49 -3
- package/dist/modules/Order/types.js +2 -0
- package/dist/modules/Order/utils/discountProductLineIdentity.d.ts +1 -1
- package/dist/modules/Order/utils/discountProductLineIdentity.js +142 -7
- package/dist/modules/Order/utils/orderCollectionIdentity.js +24 -10
- package/dist/modules/Order/utils.d.ts +2 -1
- package/dist/modules/Order/utils.js +61 -17
- package/dist/modules/Payment/index.js +9 -10
- package/dist/modules/Product/types.d.ts +11 -0
- package/dist/modules/ProductList/index.js +1 -1
- package/dist/modules/ResourcePlanner/planner.d.ts +2 -0
- package/dist/modules/ResourcePlanner/planner.js +332 -23
- package/dist/modules/ResourcePlanner/types.d.ts +29 -0
- package/dist/modules/Rules/index.js +62 -61
- package/dist/modules/Schedule/index.d.ts +8 -0
- package/dist/modules/Schedule/index.js +141 -39
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.js +1 -0
- package/dist/plugins/request.d.ts +7 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +1557 -1322
- package/dist/server/modules/form/index.d.ts +19 -0
- package/dist/server/modules/form/index.js +205 -0
- package/dist/server/modules/form/types.d.ts +13 -0
- package/dist/server/modules/form/types.js +3 -0
- package/dist/server/modules/index.d.ts +3 -0
- package/dist/server/modules/index.js +4 -0
- package/dist/server/modules/order/index.d.ts +19 -0
- package/dist/server/modules/order/index.js +1071 -774
- package/dist/server/modules/order/types.d.ts +4 -0
- package/dist/server/modules/products/index.d.ts +28 -7
- package/dist/server/modules/products/index.js +1297 -770
- package/dist/server/modules/products/replication.d.ts +8 -0
- package/dist/server/modules/products/replication.js +69 -0
- package/dist/server/modules/products/types.d.ts +12 -1
- package/dist/server/modules/products/types.js +4 -0
- package/dist/server/test.json +1 -1
- package/dist/server/utils/small-ticket.d.ts +1 -85
- package/dist/server/utils/small-ticket.js +2 -2542
- package/dist/shared/payment/loadPaymentMethods.d.ts +9 -0
- package/dist/shared/payment/loadPaymentMethods.js +66 -0
- package/dist/shared/receipt/customerInvoiceLanguages.d.ts +8 -0
- package/dist/shared/receipt/customerInvoiceLanguages.js +60 -0
- package/dist/shared/receipt/loadCustomerInvoiceLayout.d.ts +27 -0
- package/dist/shared/receipt/loadCustomerInvoiceLayout.js +184 -0
- package/dist/shared/receipt/small-ticket.d.ts +96 -0
- package/dist/shared/receipt/small-ticket.js +2763 -0
- package/dist/shared/receipt/templateVisibility.d.ts +26 -0
- package/dist/shared/receipt/templateVisibility.js +68 -0
- package/dist/shared/sales/loadSalesOrderSnapshot.d.ts +9 -0
- package/dist/shared/sales/loadSalesOrderSnapshot.js +21 -0
- package/dist/solution/BaseSales/fulfillmentItemRules.d.ts +27 -0
- package/dist/solution/BaseSales/fulfillmentItemRules.js +750 -0
- package/dist/solution/BaseSales/index.d.ts +43 -16
- package/dist/solution/BaseSales/index.js +2028 -1247
- package/dist/solution/BaseSales/pickupTiming.d.ts +47 -0
- package/dist/solution/BaseSales/pickupTiming.js +616 -0
- package/dist/solution/BaseSales/types.d.ts +12 -0
- package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +3 -1
- package/dist/solution/BaseSales/utils/parseSalesResponse.js +10 -3
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +14 -4
- package/dist/solution/BookingByStep/index.d.ts +4 -2
- package/dist/solution/BookingByStep/index.js +8 -3
- package/dist/solution/BookingTicket/index.d.ts +23 -3
- package/dist/solution/BookingTicket/index.js +867 -507
- package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +0 -1
- package/dist/solution/BookingTicket/utils/addProductDecision.js +1 -1
- package/dist/solution/BookingTicket/utils/cartView.js +3 -1
- package/dist/solution/OrderInvoicePreview/index.d.ts +66 -0
- package/dist/solution/OrderInvoicePreview/index.js +340 -0
- package/dist/solution/RegisterAndLogin/config.js +54 -11
- package/dist/solution/RegisterAndLogin/index.d.ts +2 -0
- package/dist/solution/RegisterAndLogin/index.js +1 -1
- package/dist/solution/RegisterAndLogin/utils.d.ts +12 -4
- package/dist/solution/RegisterAndLogin/utils.js +36 -16
- package/dist/solution/ScanOrder/index.js +65 -31
- package/dist/solution/ScanOrder/types.d.ts +3 -0
- package/dist/solution/UnifiedBookingSales/businessAvailability.d.ts +27 -0
- package/dist/solution/UnifiedBookingSales/businessAvailability.js +292 -0
- package/dist/solution/UnifiedBookingSales/index.d.ts +36 -4
- package/dist/solution/UnifiedBookingSales/index.js +1715 -906
- package/dist/solution/UnifiedBookingSales/types.d.ts +16 -2
- package/dist/solution/VenueBooking/index.d.ts +15 -2
- package/dist/solution/VenueBooking/index.js +1062 -785
- package/dist/solution/VenueBooking/types.d.ts +2 -1
- package/dist/solution/VenueBooking/types.js +1 -0
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +1 -0
- package/dist/solution/VenueBooking/utils/dateSummary.js +7 -4
- package/dist/solution/VenueBooking/utils/smartPricing.d.ts +71 -0
- package/dist/solution/VenueBooking/utils/smartPricing.js +273 -0
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +1 -0
- package/dist/solution/VenueBooking/utils/timeSlot.js +6 -3
- package/dist/solution/index.d.ts +1 -0
- package/dist/solution/index.js +2 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +21 -1
- package/lib/model/strategy/adapter/itemRule/adapter.d.ts +3 -1
- package/lib/model/strategy/adapter/itemRule/adapter.js +54 -4
- package/lib/model/strategy/adapter/itemRule/evaluator.d.ts +3 -1
- package/lib/model/strategy/adapter/itemRule/evaluator.js +9 -0
- package/lib/model/strategy/adapter/itemRule/type.d.ts +40 -1
- package/lib/model/strategy/adapter/itemRule/type.js +10 -0
- package/lib/model/strategy/adapter/promotion/evaluator.js +9 -14
- package/lib/model/strategy/adapter/promotion/index.js +46 -1
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +3 -1
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +17 -1
- package/lib/modules/BookingContext/utils/productExtend.d.ts +7 -0
- package/lib/modules/BookingContext/utils/productExtend.js +45 -2
- package/lib/modules/BookingContext/utils/resources.js +1 -1
- package/lib/modules/BusinessAvailability/index.d.ts +30 -0
- package/lib/modules/BusinessAvailability/index.js +146 -0
- package/lib/modules/Cart/index.js +4 -2
- package/lib/modules/Cart/types.d.ts +2 -0
- package/lib/modules/Cart/utils/cartProduct.d.ts +3 -1
- package/lib/modules/Cart/utils/cartProduct.js +39 -20
- package/lib/modules/FulfillmentTiming/index.d.ts +11 -0
- package/lib/modules/FulfillmentTiming/index.js +359 -0
- package/lib/modules/FulfillmentTiming/types.d.ts +67 -0
- package/lib/modules/FulfillmentTiming/types.js +5 -0
- package/lib/modules/Holder/utils.d.ts +2 -0
- package/lib/modules/Holder/utils.js +27 -1
- package/lib/modules/OpenData/contactInfo.d.ts +20 -0
- package/lib/modules/OpenData/contactInfo.js +56 -0
- package/lib/modules/OpenData/index.d.ts +1 -0
- package/lib/modules/OpenData/index.js +12 -0
- package/lib/modules/OpenData/types.d.ts +23 -0
- package/lib/modules/Order/holderRelations.d.ts +14 -0
- package/lib/modules/Order/holderRelations.js +98 -0
- package/lib/modules/Order/index.d.ts +16 -4
- package/lib/modules/Order/index.js +284 -50
- package/lib/modules/Order/localEftposState.d.ts +13 -0
- package/lib/modules/Order/localEftposState.js +44 -0
- package/lib/modules/Order/pickupTiming.d.ts +46 -0
- package/lib/modules/Order/pickupTiming.js +61 -0
- package/lib/modules/Order/types.d.ts +49 -3
- package/lib/modules/Order/types.js +1 -0
- package/lib/modules/Order/utils/discountProductLineIdentity.d.ts +1 -1
- package/lib/modules/Order/utils/discountProductLineIdentity.js +51 -2
- package/lib/modules/Order/utils/orderCollectionIdentity.js +5 -0
- package/lib/modules/Order/utils.d.ts +2 -1
- package/lib/modules/Order/utils.js +49 -11
- package/lib/modules/Payment/index.js +3 -4
- package/lib/modules/Product/types.d.ts +11 -0
- package/lib/modules/ProductList/index.js +1 -1
- package/lib/modules/ResourcePlanner/planner.d.ts +2 -0
- package/lib/modules/ResourcePlanner/planner.js +252 -8
- package/lib/modules/ResourcePlanner/types.d.ts +29 -0
- package/lib/modules/Rules/index.js +2 -1
- package/lib/modules/Schedule/index.d.ts +8 -0
- package/lib/modules/Schedule/index.js +68 -12
- package/lib/modules/index.d.ts +1 -0
- package/lib/modules/index.js +11 -0
- package/lib/plugins/request.d.ts +7 -0
- package/lib/server/index.d.ts +1 -0
- package/lib/server/index.js +166 -39
- package/lib/server/modules/form/index.d.ts +19 -0
- package/lib/server/modules/form/index.js +73 -0
- package/lib/server/modules/form/types.d.ts +13 -0
- package/lib/server/modules/form/types.js +9 -0
- package/lib/server/modules/index.d.ts +3 -0
- package/lib/server/modules/index.js +15 -1
- package/lib/server/modules/order/index.d.ts +19 -0
- package/lib/server/modules/order/index.js +160 -7
- package/lib/server/modules/order/types.d.ts +4 -0
- package/lib/server/modules/products/index.d.ts +28 -7
- package/lib/server/modules/products/index.js +226 -63
- package/lib/server/modules/products/replication.d.ts +8 -0
- package/lib/server/modules/products/replication.js +30 -0
- package/lib/server/modules/products/types.d.ts +12 -1
- package/lib/server/modules/products/types.js +3 -0
- package/lib/server/test.json +1 -1
- package/lib/server/utils/small-ticket.d.ts +1 -85
- package/lib/server/utils/small-ticket.js +9 -2305
- package/lib/shared/payment/loadPaymentMethods.d.ts +9 -0
- package/lib/shared/payment/loadPaymentMethods.js +40 -0
- package/lib/shared/receipt/customerInvoiceLanguages.d.ts +8 -0
- package/lib/shared/receipt/customerInvoiceLanguages.js +58 -0
- package/lib/shared/receipt/loadCustomerInvoiceLayout.d.ts +27 -0
- package/lib/shared/receipt/loadCustomerInvoiceLayout.js +124 -0
- package/lib/shared/receipt/small-ticket.d.ts +96 -0
- package/lib/shared/receipt/small-ticket.js +2555 -0
- package/lib/shared/receipt/templateVisibility.d.ts +26 -0
- package/lib/shared/receipt/templateVisibility.js +67 -0
- package/lib/shared/sales/loadSalesOrderSnapshot.d.ts +9 -0
- package/lib/shared/sales/loadSalesOrderSnapshot.js +22 -0
- package/lib/solution/BaseSales/fulfillmentItemRules.d.ts +27 -0
- package/lib/solution/BaseSales/fulfillmentItemRules.js +259 -0
- package/lib/solution/BaseSales/index.d.ts +43 -16
- package/lib/solution/BaseSales/index.js +401 -33
- package/lib/solution/BaseSales/pickupTiming.d.ts +47 -0
- package/lib/solution/BaseSales/pickupTiming.js +290 -0
- package/lib/solution/BaseSales/types.d.ts +12 -0
- package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +3 -1
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +7 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +16 -8
- package/lib/solution/BookingByStep/index.d.ts +4 -2
- package/lib/solution/BookingByStep/index.js +7 -3
- package/lib/solution/BookingTicket/index.d.ts +23 -3
- package/lib/solution/BookingTicket/index.js +197 -9
- package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +0 -1
- package/lib/solution/BookingTicket/utils/addProductDecision.js +1 -1
- package/lib/solution/BookingTicket/utils/cartView.js +3 -1
- package/lib/solution/OrderInvoicePreview/index.d.ts +66 -0
- package/lib/solution/OrderInvoicePreview/index.js +246 -0
- package/lib/solution/RegisterAndLogin/config.js +57 -11
- package/lib/solution/RegisterAndLogin/index.d.ts +2 -0
- package/lib/solution/RegisterAndLogin/index.js +9 -1
- package/lib/solution/RegisterAndLogin/utils.d.ts +12 -4
- package/lib/solution/RegisterAndLogin/utils.js +24 -17
- package/lib/solution/ScanOrder/index.js +59 -20
- package/lib/solution/ScanOrder/types.d.ts +3 -0
- package/lib/solution/UnifiedBookingSales/businessAvailability.d.ts +27 -0
- package/lib/solution/UnifiedBookingSales/businessAvailability.js +138 -0
- package/lib/solution/UnifiedBookingSales/index.d.ts +36 -4
- package/lib/solution/UnifiedBookingSales/index.js +562 -75
- package/lib/solution/UnifiedBookingSales/types.d.ts +16 -2
- package/lib/solution/VenueBooking/index.d.ts +15 -2
- package/lib/solution/VenueBooking/index.js +243 -96
- package/lib/solution/VenueBooking/types.d.ts +2 -1
- package/lib/solution/VenueBooking/types.js +1 -0
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +1 -0
- package/lib/solution/VenueBooking/utils/dateSummary.js +7 -4
- package/lib/solution/VenueBooking/utils/smartPricing.d.ts +71 -0
- package/lib/solution/VenueBooking/utils/smartPricing.js +224 -0
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +1 -0
- package/lib/solution/VenueBooking/utils/timeSlot.js +5 -2
- package/lib/solution/index.d.ts +1 -0
- package/lib/solution/index.js +11 -0
- package/package.json +1 -1
|
@@ -30,11 +30,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
30
30
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
31
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
32
32
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
33
|
+
import { loadSalesOrderSnapshot } from "../../shared/sales/loadSalesOrderSnapshot";
|
|
34
|
+
import { PAYMENT_REFRESH_MESSAGE, requiresLocalPaymentRefresh, stripLocalEftposState } from "./localEftposState";
|
|
33
35
|
import { BaseModule } from "../BaseModule";
|
|
34
36
|
import { OrderHooks } from "./types";
|
|
35
|
-
import { composeLinePrice, generateDuration, getAllDiscountList, mergeRelationForms, ensureCartItemOriginHolder, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeOrderMetaList, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList, resolveEffectivePerUnitDiscount, ensureProductSku, getProductSkuOptions, normalizeProductSkuOptions, sumOptionUnitPrice, clearTempOrderHolderAssignments, getOrderProductLineUid, indexOrderProductsByUid, calculateOrderProductsDeposit, collectPointCardSnapshotCodeCandidates, mergePointCardSnapshotCodes as _mergePointCardSnapshotCodes, buildVirtualCurrencySnapshotFromList, mergeOrderProductDisplayFields, resolveIsFormSubject, isMarkdownBundle } from "./utils";
|
|
37
|
+
import { composeLinePrice, generateDuration, getAllDiscountList, mergeRelationForms, ensureCartItemOriginHolder, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeOrderMetaList, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList, resolveEffectivePerUnitDiscount, ensureProductSku, getProductSkuOptions, normalizeProductSkuOptions, sumOptionUnitPrice, clearTempOrderHolderAssignments, hasAssignedHolderId, getOrderProductLineUid, indexOrderProductsByUid, calculateOrderProductsDeposit, collectPointCardSnapshotCodeCandidates, mergePointCardSnapshotCodes as _mergePointCardSnapshotCodes, buildVirtualCurrencySnapshotFromList, mergeOrderProductDisplayFields, resolveIsFormSubject, isMarkdownBundle } from "./utils";
|
|
36
38
|
import { isNormalProduct } from "../Product/utils";
|
|
39
|
+
import { ensureHolderRelationUuids, getProductHolderRelations, hasProductBooking, removeProductHolderRelations, replaceProductHolderRelations, restoreLegacyHolderRelations } from "./holderRelations";
|
|
37
40
|
import { getWeighedProductPriceFingerprint, resolveWeighedSourcePrice, withOriginalBundleOptionPrices } from "./utils/weighedProduct";
|
|
41
|
+
import { buildPickupTimingBooking, isFulfillmentTimingBooking } from "./pickupTiming";
|
|
38
42
|
import dayjs from 'dayjs';
|
|
39
43
|
import { getDiscountLifecycleReason } from "../Discount/availability";
|
|
40
44
|
import { stripOsPrivatePayloadFields } from "../../utils/os-private-payload";
|
|
@@ -53,7 +57,7 @@ import { RulesModule } from "../Rules";
|
|
|
53
57
|
import { isEntitlementPass, isFullCoveragePass } from "../Discount/entitlementPass";
|
|
54
58
|
import { UnavailableReason } from "../Rules/types";
|
|
55
59
|
import Decimal from 'decimal.js';
|
|
56
|
-
import { cloneDeep } from 'lodash-es';
|
|
60
|
+
import { cloneDeep, isEqual } from 'lodash-es';
|
|
57
61
|
function normalizeDiscountListSignature(discountList) {
|
|
58
62
|
return (discountList || []).map(function (item) {
|
|
59
63
|
var _item$type, _item$discount_id, _item$order_discount_;
|
|
@@ -520,6 +524,36 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
520
524
|
this.otherParams = otherParams;
|
|
521
525
|
}
|
|
522
526
|
|
|
527
|
+
/** Internal intent boundary shared with asynchronous scanner/detail flows. */
|
|
528
|
+
}, {
|
|
529
|
+
key: "createCartIntentCommitGuard",
|
|
530
|
+
value: function createCartIntentCommitGuard(action) {
|
|
531
|
+
var _this$orderHooks,
|
|
532
|
+
_this$orderHooks2,
|
|
533
|
+
_this2 = this;
|
|
534
|
+
var tempOrder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.store.tempOrder;
|
|
535
|
+
var hook = (_this$orderHooks = this.orderHooks) === null || _this$orderHooks === void 0 ? void 0 : _this$orderHooks.beforeCartIntentCommit;
|
|
536
|
+
if (!hook) return function () {};
|
|
537
|
+
var getScope = (_this$orderHooks2 = this.orderHooks) === null || _this$orderHooks2 === void 0 ? void 0 : _this$orderHooks2.getCartIntentScope;
|
|
538
|
+
var scope = getScope === null || getScope === void 0 ? void 0 : getScope();
|
|
539
|
+
var otherParams = this.otherParams;
|
|
540
|
+
var committed = false;
|
|
541
|
+
return function () {
|
|
542
|
+
var _this2$orderHooks, _this2$orderHooks2;
|
|
543
|
+
if (_this2.store.tempOrder !== tempOrder || _this2.otherParams !== otherParams || ((_this2$orderHooks = _this2.orderHooks) === null || _this2$orderHooks === void 0 ? void 0 : _this2$orderHooks.beforeCartIntentCommit) !== hook || ((_this2$orderHooks2 = _this2.orderHooks) === null || _this2$orderHooks2 === void 0 ? void 0 : _this2$orderHooks2.getCartIntentScope) !== getScope || (getScope === null || getScope === void 0 ? void 0 : getScope()) !== scope) {
|
|
544
|
+
throw new Error('[Order] Cart intent belongs to a previous order or business');
|
|
545
|
+
}
|
|
546
|
+
// Derived gifts, discounts and persistence belong to the accepted intent,
|
|
547
|
+
// but an asynchronous continuation must never target a different cart.
|
|
548
|
+
if (committed) return;
|
|
549
|
+
hook({
|
|
550
|
+
action: action,
|
|
551
|
+
tempOrder: tempOrder
|
|
552
|
+
});
|
|
553
|
+
committed = true;
|
|
554
|
+
};
|
|
555
|
+
}
|
|
556
|
+
|
|
523
557
|
/** PC/H5 属于在线店铺;其它或缺失平台统一沿用 POS 行为。 */
|
|
524
558
|
}, {
|
|
525
559
|
key: "isOnlineStorePlatform",
|
|
@@ -611,10 +645,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
611
645
|
}, {
|
|
612
646
|
key: "createDefaultRulesHooks",
|
|
613
647
|
value: function createDefaultRulesHooks() {
|
|
614
|
-
var
|
|
648
|
+
var _this3 = this;
|
|
615
649
|
return createDefaultOrderRulesHooks(function () {
|
|
616
|
-
var
|
|
617
|
-
return ((
|
|
650
|
+
var _this3$store$tempOrde;
|
|
651
|
+
return ((_this3$store$tempOrde = _this3.store.tempOrder) === null || _this3$store$tempOrde === void 0 ? void 0 : _this3$store$tempOrde.bookings) || [];
|
|
652
|
+
}, function () {
|
|
653
|
+
var _this3$store$tempOrde2;
|
|
654
|
+
return (_this3$store$tempOrde2 = _this3.store.tempOrder) === null || _this3$store$tempOrde2 === void 0 ? void 0 : _this3$store$tempOrde2.holder_relations;
|
|
618
655
|
});
|
|
619
656
|
}
|
|
620
657
|
|
|
@@ -637,7 +674,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
637
674
|
var _loadDiscountConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params) {
|
|
638
675
|
var _this$store$tempOrder,
|
|
639
676
|
_this$store$discount,
|
|
640
|
-
|
|
677
|
+
_this4 = this,
|
|
641
678
|
_this$store$tempOrder2;
|
|
642
679
|
var orderId, requestEpoch, requestOrderIdentityKey, prepareConfigResult, isCurrentRequest, discountList, _this$store$discount2, _this$store$discount3, _this$store$discount4, currentDiscountList, currentCommittedDiscounts, currentScanDiscounts, currentScanDiscountById, committedDiscountById, mergedCommittedDiscountIds, refreshedScanDiscountIds, runtimeDiscountIds, runtimeDiscounts, retainedCommittedDiscounts, retainedScanDiscounts, mergedDiscountList;
|
|
643
680
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
@@ -665,8 +702,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
665
702
|
case 5:
|
|
666
703
|
prepareConfigResult = _context3.sent;
|
|
667
704
|
isCurrentRequest = function isCurrentRequest() {
|
|
668
|
-
var
|
|
669
|
-
return requestEpoch ===
|
|
705
|
+
var _this4$store$tempOrde, _this4$store$tempOrde2;
|
|
706
|
+
return requestEpoch === _this4.customerWalletPrepareConfigEpoch && _this4.getDiscountConfigOrderIdentityKey(_this4.store.tempOrder) === requestOrderIdentityKey && String((_this4$store$tempOrde = (_this4$store$tempOrde2 = _this4.store.tempOrder) === null || _this4$store$tempOrde2 === void 0 ? void 0 : _this4$store$tempOrde2.customer_id) !== null && _this4$store$tempOrde !== void 0 ? _this4$store$tempOrde : '') === String(params.customerId);
|
|
670
707
|
};
|
|
671
708
|
if (isCurrentRequest()) {
|
|
672
709
|
_context3.next = 9;
|
|
@@ -898,12 +935,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
898
935
|
value: function () {
|
|
899
936
|
var _scanCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(code, customerId) {
|
|
900
937
|
var _this$store$discount11, _tempOrder$holder, _this$store$summary;
|
|
901
|
-
var resultDiscountWithReason, resultDiscountList, unavailableReasonKey, rulesModule, withScanList, currentSelected, tempOrder, holders, _ref16, isAvailable, newDiscountList, evaluatedDiscountList, unavailableReason, scannedIds, evaluatedScannedDiscounts, shouldRetainForLater, normalizedNewDiscountList, resolvedDiscountList, _this$store$discount12, _this$store$discount13, retainedDiscounts;
|
|
938
|
+
var beforeCommit, resultDiscountWithReason, resultDiscountList, unavailableReasonKey, rulesModule, withScanList, currentSelected, tempOrder, holders, _ref16, isAvailable, newDiscountList, evaluatedDiscountList, unavailableReason, scannedIds, evaluatedScannedDiscounts, shouldRetainForLater, normalizedNewDiscountList, resolvedDiscountList, _this$store$discount12, _this$store$discount13, retainedDiscounts;
|
|
902
939
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
903
940
|
while (1) switch (_context6.prev = _context6.next) {
|
|
904
941
|
case 0:
|
|
942
|
+
beforeCommit = this.createCartIntentCommitGuard('scan_promotion');
|
|
905
943
|
if (!this.isActiveVirtualSettlementOrder(this.store.tempOrder)) {
|
|
906
|
-
_context6.next =
|
|
944
|
+
_context6.next = 3;
|
|
907
945
|
break;
|
|
908
946
|
}
|
|
909
947
|
return _context6.abrupt("return", {
|
|
@@ -914,27 +952,27 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
914
952
|
scannedDiscountList: [],
|
|
915
953
|
unavailableReason: UnavailableReason.ProductNotApplicable
|
|
916
954
|
});
|
|
917
|
-
case
|
|
918
|
-
_context6.next =
|
|
955
|
+
case 3:
|
|
956
|
+
_context6.next = 5;
|
|
919
957
|
return (_this$store$discount11 = this.store.discount) === null || _this$store$discount11 === void 0 ? void 0 : _this$store$discount11.batchSearch(code, {
|
|
920
958
|
customerId: customerId
|
|
921
959
|
});
|
|
922
|
-
case
|
|
960
|
+
case 5:
|
|
923
961
|
_context6.t0 = _context6.sent;
|
|
924
962
|
if (_context6.t0) {
|
|
925
|
-
_context6.next =
|
|
963
|
+
_context6.next = 8;
|
|
926
964
|
break;
|
|
927
965
|
}
|
|
928
966
|
_context6.t0 = {
|
|
929
967
|
discountList: [],
|
|
930
968
|
unavailableReasonKey: null
|
|
931
969
|
};
|
|
932
|
-
case
|
|
970
|
+
case 8:
|
|
933
971
|
resultDiscountWithReason = _context6.t0;
|
|
934
972
|
resultDiscountList = resultDiscountWithReason.discountList, unavailableReasonKey = resultDiscountWithReason.unavailableReasonKey;
|
|
935
973
|
rulesModule = this.store.rules;
|
|
936
974
|
if (rulesModule) {
|
|
937
|
-
_context6.next =
|
|
975
|
+
_context6.next = 13;
|
|
938
976
|
break;
|
|
939
977
|
}
|
|
940
978
|
return _context6.abrupt("return", {
|
|
@@ -945,9 +983,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
945
983
|
scannedDiscountList: resultDiscountList,
|
|
946
984
|
unavailableReason: UnavailableReason.Unknown
|
|
947
985
|
});
|
|
948
|
-
case
|
|
986
|
+
case 13:
|
|
949
987
|
if (resultDiscountList.length) {
|
|
950
|
-
_context6.next =
|
|
988
|
+
_context6.next = 15;
|
|
951
989
|
break;
|
|
952
990
|
}
|
|
953
991
|
return _context6.abrupt("return", {
|
|
@@ -958,7 +996,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
958
996
|
scannedDiscountList: resultDiscountList,
|
|
959
997
|
unavailableReasonKey: unavailableReasonKey
|
|
960
998
|
});
|
|
961
|
-
case
|
|
999
|
+
case 15:
|
|
962
1000
|
withScanList = resultDiscountList.map(function (item) {
|
|
963
1001
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
964
1002
|
isScan: true
|
|
@@ -972,12 +1010,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
972
1010
|
return m.id === n.id;
|
|
973
1011
|
});
|
|
974
1012
|
}))) {
|
|
975
|
-
_context6.next =
|
|
1013
|
+
_context6.next = 22;
|
|
976
1014
|
break;
|
|
977
1015
|
}
|
|
978
|
-
|
|
1016
|
+
beforeCommit();
|
|
1017
|
+
_context6.next = 21;
|
|
979
1018
|
return this.syncScannedDiscountsToOriginalDiscountList(this.getDiscountList());
|
|
980
|
-
case
|
|
1019
|
+
case 21:
|
|
981
1020
|
return _context6.abrupt("return", {
|
|
982
1021
|
type: 'clientCalc',
|
|
983
1022
|
isAvailable: true,
|
|
@@ -985,7 +1024,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
985
1024
|
discountList: this.getDiscountList(),
|
|
986
1025
|
scannedDiscountList: resultDiscountList
|
|
987
1026
|
});
|
|
988
|
-
case
|
|
1027
|
+
case 22:
|
|
989
1028
|
tempOrder = this.store.tempOrder;
|
|
990
1029
|
holders = (tempOrder === null || tempOrder === void 0 || (_tempOrder$holder = tempOrder.holder) === null || _tempOrder$holder === void 0 ? void 0 : _tempOrder$holder.form_record) || [];
|
|
991
1030
|
_ref16 = rulesModule.isDiscountListAvailable({
|
|
@@ -1011,12 +1050,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1011
1050
|
normalizedNewDiscountList = newDiscountList ? markScannedDiscounts(newDiscountList, withScanList) : undefined;
|
|
1012
1051
|
resolvedDiscountList = normalizedNewDiscountList || this.getDiscountList();
|
|
1013
1052
|
if (!(isAvailable && normalizedNewDiscountList)) {
|
|
1014
|
-
_context6.next =
|
|
1053
|
+
_context6.next = 40;
|
|
1015
1054
|
break;
|
|
1016
1055
|
}
|
|
1017
|
-
|
|
1056
|
+
beforeCommit();
|
|
1057
|
+
_context6.next = 34;
|
|
1018
1058
|
return (_this$store$discount12 = this.store.discount) === null || _this$store$discount12 === void 0 ? void 0 : _this$store$discount12.setDiscountList(normalizedNewDiscountList);
|
|
1019
|
-
case
|
|
1059
|
+
case 34:
|
|
1020
1060
|
// 实际写回商品时沿用扫码试算的优先级,避免旧商品行的选卡覆盖本次扫码。
|
|
1021
1061
|
this.applyDiscount({
|
|
1022
1062
|
preferredEntitlementPassIds: withScanList.filter(function (discount) {
|
|
@@ -1025,17 +1065,18 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1025
1065
|
return discount.id;
|
|
1026
1066
|
})
|
|
1027
1067
|
});
|
|
1028
|
-
_context6.next =
|
|
1068
|
+
_context6.next = 37;
|
|
1029
1069
|
return this.syncScannedDiscountsToOriginalDiscountList(this.getDiscountList());
|
|
1030
|
-
case
|
|
1070
|
+
case 37:
|
|
1031
1071
|
resolvedDiscountList = this.getDiscountList();
|
|
1032
|
-
_context6.next =
|
|
1072
|
+
_context6.next = 49;
|
|
1033
1073
|
break;
|
|
1034
|
-
case
|
|
1074
|
+
case 40:
|
|
1035
1075
|
if (!shouldRetainForLater) {
|
|
1036
|
-
_context6.next =
|
|
1076
|
+
_context6.next = 49;
|
|
1037
1077
|
break;
|
|
1038
1078
|
}
|
|
1079
|
+
beforeCommit();
|
|
1039
1080
|
// 只合并本次识别的卡券;不把试算产生的其他选券状态写回订单。
|
|
1040
1081
|
retainedDiscounts = new Map(this.getDiscountList().map(function (discount) {
|
|
1041
1082
|
return [String(discount.id), discount];
|
|
@@ -1050,14 +1091,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1050
1091
|
savedAmount: 0
|
|
1051
1092
|
}));
|
|
1052
1093
|
});
|
|
1053
|
-
_context6.next =
|
|
1094
|
+
_context6.next = 46;
|
|
1054
1095
|
return (_this$store$discount13 = this.store.discount) === null || _this$store$discount13 === void 0 ? void 0 : _this$store$discount13.setDiscountList(_toConsumableArray(retainedDiscounts.values()));
|
|
1055
|
-
case
|
|
1056
|
-
_context6.next =
|
|
1096
|
+
case 46:
|
|
1097
|
+
_context6.next = 48;
|
|
1057
1098
|
return this.syncScannedDiscountsToOriginalDiscountList(this.getDiscountList());
|
|
1058
|
-
case
|
|
1099
|
+
case 48:
|
|
1059
1100
|
resolvedDiscountList = this.getDiscountList();
|
|
1060
|
-
case
|
|
1101
|
+
case 49:
|
|
1061
1102
|
return _context6.abrupt("return", {
|
|
1062
1103
|
type: 'clientCalc',
|
|
1063
1104
|
isAvailable: isAvailable || false,
|
|
@@ -1066,7 +1107,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1066
1107
|
scannedDiscountList: evaluatedScannedDiscounts,
|
|
1067
1108
|
unavailableReason: unavailableReason
|
|
1068
1109
|
});
|
|
1069
|
-
case
|
|
1110
|
+
case 50:
|
|
1070
1111
|
case "end":
|
|
1071
1112
|
return _context6.stop();
|
|
1072
1113
|
}
|
|
@@ -1082,7 +1123,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1082
1123
|
value: function applyDiscount(options) {
|
|
1083
1124
|
var _this$store$discount16,
|
|
1084
1125
|
_this$store$summary2,
|
|
1085
|
-
|
|
1126
|
+
_this5 = this;
|
|
1086
1127
|
var tempOrder = this.store.tempOrder;
|
|
1087
1128
|
// 任意 products CRUD 后都应当重算 discount 状态;即使 products 为空,
|
|
1088
1129
|
// 也需要让 Rules.calcDiscount 把 DiscountModule 的 isSelected / isAvailable /
|
|
@@ -1131,7 +1172,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1131
1172
|
discount_list: normalizeOrderProductDiscountList(syncManualProductDiscountProductNum(mergedProduct.discount_list, mergedProduct.num))
|
|
1132
1173
|
});
|
|
1133
1174
|
}));
|
|
1134
|
-
ensureUniqueProductLineUids(tempOrder);
|
|
1175
|
+
ensureUniqueProductLineUids(tempOrder, discountList);
|
|
1135
1176
|
consolidateDiscountFreeProductLines(tempOrder);
|
|
1136
1177
|
}
|
|
1137
1178
|
if (result !== null && result !== void 0 && result.discountList) {
|
|
@@ -1140,7 +1181,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1140
1181
|
(_this$store$discount17 = this.store.discount) === null || _this$store$discount17 === void 0 || _this$store$discount17.setDiscountList(result.discountList);
|
|
1141
1182
|
}
|
|
1142
1183
|
this.hasActiveCustomerBoundDiscount = (tempOrder.products || []).some(function (product) {
|
|
1143
|
-
return
|
|
1184
|
+
return _this5.productHasCustomerBoundDiscount(product);
|
|
1144
1185
|
});
|
|
1145
1186
|
}
|
|
1146
1187
|
|
|
@@ -1200,49 +1241,55 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1200
1241
|
}, {
|
|
1201
1242
|
key: "evaluatePromotion",
|
|
1202
1243
|
value: (function () {
|
|
1203
|
-
var _evaluatePromotion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
1244
|
+
var _evaluatePromotion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(options) {
|
|
1204
1245
|
var _this$promotionEvalua,
|
|
1205
1246
|
_this$promotionEvalua2,
|
|
1206
|
-
|
|
1207
|
-
var tempOrder, strategyConfigs, result, removeSet, _iterator3, _step3, reduce, _iterator6, _step6, _loop2, _iterator4, _step4, _loop, payload;
|
|
1247
|
+
_this6 = this;
|
|
1248
|
+
var tempOrder, strategyConfigs, result, removeSet, _iterator3, _step3, reduce, _iterator6, _step6, _loop2, _iterator4, _step4, _loop, _ret, payload;
|
|
1208
1249
|
return _regeneratorRuntime().wrap(function _callee7$(_context9) {
|
|
1209
1250
|
while (1) switch (_context9.prev = _context9.next) {
|
|
1210
1251
|
case 0:
|
|
1211
|
-
if (!(
|
|
1252
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !options.isCurrentOrder())) {
|
|
1212
1253
|
_context9.next = 2;
|
|
1213
1254
|
break;
|
|
1214
1255
|
}
|
|
1215
1256
|
return _context9.abrupt("return", null);
|
|
1216
1257
|
case 2:
|
|
1217
|
-
if (this.
|
|
1258
|
+
if (!(this.isApplyingPromotion || this.isEmittingPromotionApplied)) {
|
|
1218
1259
|
_context9.next = 4;
|
|
1219
1260
|
break;
|
|
1220
1261
|
}
|
|
1221
1262
|
return _context9.abrupt("return", null);
|
|
1222
1263
|
case 4:
|
|
1264
|
+
if (this.promotionEvaluator) {
|
|
1265
|
+
_context9.next = 6;
|
|
1266
|
+
break;
|
|
1267
|
+
}
|
|
1268
|
+
return _context9.abrupt("return", null);
|
|
1269
|
+
case 6:
|
|
1223
1270
|
tempOrder = this.store.tempOrder;
|
|
1224
1271
|
if (tempOrder) {
|
|
1225
|
-
_context9.next =
|
|
1272
|
+
_context9.next = 9;
|
|
1226
1273
|
break;
|
|
1227
1274
|
}
|
|
1228
1275
|
return _context9.abrupt("return", null);
|
|
1229
|
-
case
|
|
1276
|
+
case 9:
|
|
1230
1277
|
if (!this.isActiveVirtualSettlementOrder(tempOrder)) {
|
|
1231
|
-
_context9.next =
|
|
1278
|
+
_context9.next = 12;
|
|
1232
1279
|
break;
|
|
1233
1280
|
}
|
|
1234
1281
|
tempOrder.products = normalizeVirtualSettlementProducts(tempOrder.products);
|
|
1235
1282
|
return _context9.abrupt("return", null);
|
|
1236
|
-
case
|
|
1283
|
+
case 12:
|
|
1237
1284
|
strategyConfigs = (_this$promotionEvalua = (_this$promotionEvalua2 = this.promotionEvaluator).getStrategyConfigs) === null || _this$promotionEvalua === void 0 ? void 0 : _this$promotionEvalua.call(_this$promotionEvalua2);
|
|
1238
1285
|
if (!(Array.isArray(strategyConfigs) && strategyConfigs.length === 0)) {
|
|
1239
|
-
_context9.next =
|
|
1286
|
+
_context9.next = 15;
|
|
1240
1287
|
break;
|
|
1241
1288
|
}
|
|
1242
1289
|
return _context9.abrupt("return", null);
|
|
1243
|
-
case
|
|
1290
|
+
case 15:
|
|
1244
1291
|
this.isApplyingPromotion = true;
|
|
1245
|
-
_context9.prev =
|
|
1292
|
+
_context9.prev = 16;
|
|
1246
1293
|
result = processCartPromotion(tempOrder.products, this.promotionEvaluator); // step 1: toRemove —— 直接过滤
|
|
1247
1294
|
if (result.giftActions.toRemove.length > 0) {
|
|
1248
1295
|
removeSet = new Set(result.giftActions.toRemove.map(String));
|
|
@@ -1254,16 +1301,16 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1254
1301
|
|
|
1255
1302
|
// step 2: toReduce —— 调整数量
|
|
1256
1303
|
_iterator3 = _createForOfIteratorHelper(result.giftActions.toReduce);
|
|
1257
|
-
_context9.prev =
|
|
1304
|
+
_context9.prev = 20;
|
|
1258
1305
|
_iterator3.s();
|
|
1259
|
-
case
|
|
1306
|
+
case 22:
|
|
1260
1307
|
if ((_step3 = _iterator3.n()).done) {
|
|
1261
|
-
_context9.next =
|
|
1308
|
+
_context9.next = 42;
|
|
1262
1309
|
break;
|
|
1263
1310
|
}
|
|
1264
1311
|
reduce = _step3.value;
|
|
1265
1312
|
_iterator6 = _createForOfIteratorHelper(reduce.items);
|
|
1266
|
-
_context9.prev =
|
|
1313
|
+
_context9.prev = 25;
|
|
1267
1314
|
_loop2 = /*#__PURE__*/_regeneratorRuntime().mark(function _loop2() {
|
|
1268
1315
|
var item, product;
|
|
1269
1316
|
return _regeneratorRuntime().wrap(function _loop2$(_context8) {
|
|
@@ -1283,47 +1330,47 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1283
1330
|
}, _loop2);
|
|
1284
1331
|
});
|
|
1285
1332
|
_iterator6.s();
|
|
1286
|
-
case
|
|
1333
|
+
case 28:
|
|
1287
1334
|
if ((_step6 = _iterator6.n()).done) {
|
|
1288
|
-
_context9.next =
|
|
1335
|
+
_context9.next = 32;
|
|
1289
1336
|
break;
|
|
1290
1337
|
}
|
|
1291
|
-
return _context9.delegateYield(_loop2(), "t0",
|
|
1292
|
-
case 28:
|
|
1293
|
-
_context9.next = 26;
|
|
1294
|
-
break;
|
|
1338
|
+
return _context9.delegateYield(_loop2(), "t0", 30);
|
|
1295
1339
|
case 30:
|
|
1296
|
-
_context9.next =
|
|
1340
|
+
_context9.next = 28;
|
|
1297
1341
|
break;
|
|
1298
1342
|
case 32:
|
|
1299
|
-
_context9.
|
|
1300
|
-
|
|
1343
|
+
_context9.next = 37;
|
|
1344
|
+
break;
|
|
1345
|
+
case 34:
|
|
1346
|
+
_context9.prev = 34;
|
|
1347
|
+
_context9.t1 = _context9["catch"](25);
|
|
1301
1348
|
_iterator6.e(_context9.t1);
|
|
1302
|
-
case
|
|
1303
|
-
_context9.prev =
|
|
1349
|
+
case 37:
|
|
1350
|
+
_context9.prev = 37;
|
|
1304
1351
|
_iterator6.f();
|
|
1305
|
-
return _context9.finish(
|
|
1306
|
-
case 38:
|
|
1307
|
-
_context9.next = 20;
|
|
1308
|
-
break;
|
|
1352
|
+
return _context9.finish(37);
|
|
1309
1353
|
case 40:
|
|
1310
|
-
_context9.next =
|
|
1354
|
+
_context9.next = 22;
|
|
1311
1355
|
break;
|
|
1312
1356
|
case 42:
|
|
1313
|
-
_context9.
|
|
1314
|
-
|
|
1357
|
+
_context9.next = 47;
|
|
1358
|
+
break;
|
|
1359
|
+
case 44:
|
|
1360
|
+
_context9.prev = 44;
|
|
1361
|
+
_context9.t2 = _context9["catch"](20);
|
|
1315
1362
|
_iterator3.e(_context9.t2);
|
|
1316
|
-
case
|
|
1317
|
-
_context9.prev =
|
|
1363
|
+
case 47:
|
|
1364
|
+
_context9.prev = 47;
|
|
1318
1365
|
_iterator3.f();
|
|
1319
|
-
return _context9.finish(
|
|
1320
|
-
case
|
|
1366
|
+
return _context9.finish(47);
|
|
1367
|
+
case 50:
|
|
1321
1368
|
if (!(result.giftActions.toAdd.length > 0)) {
|
|
1322
|
-
_context9.next =
|
|
1369
|
+
_context9.next = 76;
|
|
1323
1370
|
break;
|
|
1324
1371
|
}
|
|
1325
1372
|
if (this.giftSelectResolver) {
|
|
1326
|
-
_context9.next =
|
|
1373
|
+
_context9.next = 55;
|
|
1327
1374
|
break;
|
|
1328
1375
|
}
|
|
1329
1376
|
if (result.giftActions.toAdd.some(function (g) {
|
|
@@ -1334,13 +1381,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1334
1381
|
} else {
|
|
1335
1382
|
console.warn('[OrderModule] giftSelectResolver not set, skip applying single-option gifts', result.giftActions.toAdd);
|
|
1336
1383
|
}
|
|
1337
|
-
_context9.next =
|
|
1384
|
+
_context9.next = 76;
|
|
1338
1385
|
break;
|
|
1339
|
-
case
|
|
1386
|
+
case 55:
|
|
1340
1387
|
_iterator4 = _createForOfIteratorHelper(result.giftActions.toAdd);
|
|
1341
|
-
_context9.prev =
|
|
1388
|
+
_context9.prev = 56;
|
|
1342
1389
|
_loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() {
|
|
1343
|
-
var addAction, _sameStrategy$metadat, sameStrategy, giftResult, giftProducts, giftBookings, _iterator5, _step5, _step5$value, index, gp, booking, linked;
|
|
1390
|
+
var addAction, _sameStrategy$metadat, sameStrategy, giftMutationBaseline, giftResult, giftProducts, giftBookings, _iterator5, _step5, _step5$value, index, gp, booking, linked;
|
|
1344
1391
|
return _regeneratorRuntime().wrap(function _loop$(_context7) {
|
|
1345
1392
|
while (1) switch (_context7.prev = _context7.next) {
|
|
1346
1393
|
case 0:
|
|
@@ -1358,111 +1405,166 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1358
1405
|
break;
|
|
1359
1406
|
}
|
|
1360
1407
|
sameStrategy.num = (Number(sameStrategy.num) || 0) + (addAction.giftCount || 1);
|
|
1361
|
-
return _context7.abrupt("return",
|
|
1408
|
+
return _context7.abrupt("return", 0);
|
|
1362
1409
|
case 6:
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1410
|
+
giftMutationBaseline = options !== null && options !== void 0 && options.isCurrentOrder ? cloneDeep({
|
|
1411
|
+
products: tempOrder.products,
|
|
1412
|
+
bookings: tempOrder.bookings
|
|
1413
|
+
}) : null;
|
|
1414
|
+
_context7.prev = 7;
|
|
1415
|
+
_context7.next = 10;
|
|
1416
|
+
return _this6.giftSelectResolver({
|
|
1366
1417
|
strategyId: addAction.strategyId,
|
|
1367
1418
|
strategyName: addAction.strategyName,
|
|
1368
1419
|
giftCount: addAction.giftCount,
|
|
1369
1420
|
giftOptions: addAction.giftOptions,
|
|
1370
1421
|
sourceProductIds: addAction.sourceProductIds
|
|
1371
1422
|
});
|
|
1372
|
-
case
|
|
1423
|
+
case 10:
|
|
1373
1424
|
giftResult = _context7.sent;
|
|
1425
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !options.isCurrentOrder())) {
|
|
1426
|
+
_context7.next = 13;
|
|
1427
|
+
break;
|
|
1428
|
+
}
|
|
1429
|
+
return _context7.abrupt("return", {
|
|
1430
|
+
v: null
|
|
1431
|
+
});
|
|
1432
|
+
case 13:
|
|
1433
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !isEqual({
|
|
1434
|
+
products: tempOrder.products,
|
|
1435
|
+
bookings: tempOrder.bookings
|
|
1436
|
+
}, giftMutationBaseline))) {
|
|
1437
|
+
_context7.next = 15;
|
|
1438
|
+
break;
|
|
1439
|
+
}
|
|
1440
|
+
return _context7.abrupt("return", {
|
|
1441
|
+
v: null
|
|
1442
|
+
});
|
|
1443
|
+
case 15:
|
|
1374
1444
|
giftProducts = Array.isArray(giftResult) ? giftResult : giftResult === null || giftResult === void 0 ? void 0 : giftResult.products;
|
|
1375
1445
|
giftBookings = Array.isArray(giftResult) ? [] : (giftResult === null || giftResult === void 0 ? void 0 : giftResult.bookings) || [];
|
|
1376
1446
|
if (!(Array.isArray(giftProducts) && giftProducts.length > 0)) {
|
|
1377
|
-
_context7.next =
|
|
1447
|
+
_context7.next = 42;
|
|
1378
1448
|
break;
|
|
1379
1449
|
}
|
|
1380
1450
|
_iterator5 = _createForOfIteratorHelper(giftProducts.entries());
|
|
1381
|
-
_context7.prev =
|
|
1451
|
+
_context7.prev = 19;
|
|
1382
1452
|
_iterator5.s();
|
|
1383
|
-
case
|
|
1453
|
+
case 21:
|
|
1384
1454
|
if ((_step5 = _iterator5.n()).done) {
|
|
1385
|
-
_context7.next =
|
|
1455
|
+
_context7.next = 34;
|
|
1386
1456
|
break;
|
|
1387
1457
|
}
|
|
1388
1458
|
_step5$value = _slicedToArray(_step5.value, 2), index = _step5$value[0], gp = _step5$value[1];
|
|
1389
1459
|
if (gp) {
|
|
1390
|
-
_context7.next =
|
|
1460
|
+
_context7.next = 25;
|
|
1391
1461
|
break;
|
|
1392
1462
|
}
|
|
1393
|
-
return _context7.abrupt("continue",
|
|
1394
|
-
case
|
|
1463
|
+
return _context7.abrupt("continue", 32);
|
|
1464
|
+
case 25:
|
|
1395
1465
|
booking = giftBookings[index];
|
|
1396
1466
|
if (!booking) {
|
|
1397
|
-
_context7.next =
|
|
1467
|
+
_context7.next = 31;
|
|
1398
1468
|
break;
|
|
1399
1469
|
}
|
|
1400
|
-
linked =
|
|
1470
|
+
linked = _this6.createLinkedProductAndBooking({
|
|
1401
1471
|
product: gp,
|
|
1402
1472
|
booking: booking
|
|
1403
1473
|
});
|
|
1404
1474
|
result.products.push(linked.product);
|
|
1405
1475
|
tempOrder.bookings = [].concat(_toConsumableArray(tempOrder.bookings || []), [linked.booking]);
|
|
1406
|
-
return _context7.abrupt("continue",
|
|
1407
|
-
case
|
|
1476
|
+
return _context7.abrupt("continue", 32);
|
|
1477
|
+
case 31:
|
|
1408
1478
|
// normalize 略过:调用方应保证返回完整 OrderProduct。
|
|
1409
1479
|
result.products.push(gp);
|
|
1410
|
-
case
|
|
1411
|
-
_context7.next =
|
|
1412
|
-
break;
|
|
1413
|
-
case 29:
|
|
1414
|
-
_context7.next = 34;
|
|
1480
|
+
case 32:
|
|
1481
|
+
_context7.next = 21;
|
|
1415
1482
|
break;
|
|
1416
|
-
case 31:
|
|
1417
|
-
_context7.prev = 31;
|
|
1418
|
-
_context7.t0 = _context7["catch"](14);
|
|
1419
|
-
_iterator5.e(_context7.t0);
|
|
1420
1483
|
case 34:
|
|
1421
|
-
_context7.
|
|
1422
|
-
_iterator5.f();
|
|
1423
|
-
return _context7.finish(34);
|
|
1424
|
-
case 37:
|
|
1425
|
-
_context7.next = 42;
|
|
1484
|
+
_context7.next = 39;
|
|
1426
1485
|
break;
|
|
1486
|
+
case 36:
|
|
1487
|
+
_context7.prev = 36;
|
|
1488
|
+
_context7.t0 = _context7["catch"](19);
|
|
1489
|
+
_iterator5.e(_context7.t0);
|
|
1427
1490
|
case 39:
|
|
1428
1491
|
_context7.prev = 39;
|
|
1429
|
-
|
|
1492
|
+
_iterator5.f();
|
|
1493
|
+
return _context7.finish(39);
|
|
1494
|
+
case 42:
|
|
1495
|
+
_context7.next = 51;
|
|
1496
|
+
break;
|
|
1497
|
+
case 44:
|
|
1498
|
+
_context7.prev = 44;
|
|
1499
|
+
_context7.t1 = _context7["catch"](7);
|
|
1500
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !options.isCurrentOrder())) {
|
|
1501
|
+
_context7.next = 48;
|
|
1502
|
+
break;
|
|
1503
|
+
}
|
|
1504
|
+
return _context7.abrupt("return", {
|
|
1505
|
+
v: null
|
|
1506
|
+
});
|
|
1507
|
+
case 48:
|
|
1508
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !isEqual({
|
|
1509
|
+
products: tempOrder.products,
|
|
1510
|
+
bookings: tempOrder.bookings
|
|
1511
|
+
}, giftMutationBaseline))) {
|
|
1512
|
+
_context7.next = 50;
|
|
1513
|
+
break;
|
|
1514
|
+
}
|
|
1515
|
+
return _context7.abrupt("return", {
|
|
1516
|
+
v: null
|
|
1517
|
+
});
|
|
1518
|
+
case 50:
|
|
1430
1519
|
// 用户取消 / 选择失败 → 视为放弃本次新增
|
|
1431
1520
|
console.warn('[OrderModule] giftSelectResolver rejected, skip add gift', addAction.strategyId, _context7.t1);
|
|
1432
|
-
case
|
|
1521
|
+
case 51:
|
|
1433
1522
|
case "end":
|
|
1434
1523
|
return _context7.stop();
|
|
1435
1524
|
}
|
|
1436
|
-
}, _loop, null, [[
|
|
1525
|
+
}, _loop, null, [[7, 44], [19, 36, 39, 42]]);
|
|
1437
1526
|
});
|
|
1438
1527
|
_iterator4.s();
|
|
1439
|
-
case
|
|
1528
|
+
case 59:
|
|
1440
1529
|
if ((_step4 = _iterator4.n()).done) {
|
|
1441
|
-
_context9.next =
|
|
1530
|
+
_context9.next = 68;
|
|
1442
1531
|
break;
|
|
1443
1532
|
}
|
|
1444
|
-
return _context9.delegateYield(_loop(), "t3",
|
|
1445
|
-
case
|
|
1446
|
-
|
|
1447
|
-
|
|
1533
|
+
return _context9.delegateYield(_loop(), "t3", 61);
|
|
1534
|
+
case 61:
|
|
1535
|
+
_ret = _context9.t3;
|
|
1536
|
+
if (!(_ret === 0)) {
|
|
1537
|
+
_context9.next = 64;
|
|
1448
1538
|
break;
|
|
1449
1539
|
}
|
|
1450
|
-
return _context9.abrupt("continue",
|
|
1451
|
-
case
|
|
1452
|
-
|
|
1540
|
+
return _context9.abrupt("continue", 66);
|
|
1541
|
+
case 64:
|
|
1542
|
+
if (!_ret) {
|
|
1543
|
+
_context9.next = 66;
|
|
1544
|
+
break;
|
|
1545
|
+
}
|
|
1546
|
+
return _context9.abrupt("return", _ret.v);
|
|
1547
|
+
case 66:
|
|
1548
|
+
_context9.next = 59;
|
|
1453
1549
|
break;
|
|
1454
|
-
case
|
|
1455
|
-
_context9.next =
|
|
1550
|
+
case 68:
|
|
1551
|
+
_context9.next = 73;
|
|
1456
1552
|
break;
|
|
1457
|
-
case
|
|
1458
|
-
_context9.prev =
|
|
1459
|
-
_context9.t4 = _context9["catch"](
|
|
1553
|
+
case 70:
|
|
1554
|
+
_context9.prev = 70;
|
|
1555
|
+
_context9.t4 = _context9["catch"](56);
|
|
1460
1556
|
_iterator4.e(_context9.t4);
|
|
1461
|
-
case
|
|
1462
|
-
_context9.prev =
|
|
1557
|
+
case 73:
|
|
1558
|
+
_context9.prev = 73;
|
|
1463
1559
|
_iterator4.f();
|
|
1464
|
-
return _context9.finish(
|
|
1465
|
-
case
|
|
1560
|
+
return _context9.finish(73);
|
|
1561
|
+
case 76:
|
|
1562
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !options.isCurrentOrder())) {
|
|
1563
|
+
_context9.next = 78;
|
|
1564
|
+
break;
|
|
1565
|
+
}
|
|
1566
|
+
return _context9.abrupt("return", null);
|
|
1567
|
+
case 78:
|
|
1466
1568
|
tempOrder.products = result.products;
|
|
1467
1569
|
this.lastUnfulfilledPromotions = result.unfulfilledPromotions;
|
|
1468
1570
|
this.lastGiftActions = result.giftActions;
|
|
@@ -1480,22 +1582,22 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1480
1582
|
products: tempOrder.products
|
|
1481
1583
|
};
|
|
1482
1584
|
return _context9.abrupt("return", payload);
|
|
1483
|
-
case
|
|
1484
|
-
_context9.prev =
|
|
1485
|
-
_context9.t5 = _context9["catch"](
|
|
1585
|
+
case 85:
|
|
1586
|
+
_context9.prev = 85;
|
|
1587
|
+
_context9.t5 = _context9["catch"](16);
|
|
1486
1588
|
console.error('[OrderModule] applyPromotion failed', _context9.t5);
|
|
1487
1589
|
return _context9.abrupt("return", null);
|
|
1488
|
-
case
|
|
1489
|
-
_context9.prev =
|
|
1590
|
+
case 89:
|
|
1591
|
+
_context9.prev = 89;
|
|
1490
1592
|
this.isApplyingPromotion = false;
|
|
1491
|
-
return _context9.finish(
|
|
1492
|
-
case
|
|
1593
|
+
return _context9.finish(89);
|
|
1594
|
+
case 92:
|
|
1493
1595
|
case "end":
|
|
1494
1596
|
return _context9.stop();
|
|
1495
1597
|
}
|
|
1496
|
-
}, _callee7, this, [[
|
|
1598
|
+
}, _callee7, this, [[16, 85, 89, 92], [20, 44, 47, 50], [25, 34, 37, 40], [56, 70, 73, 76]]);
|
|
1497
1599
|
}));
|
|
1498
|
-
function evaluatePromotion() {
|
|
1600
|
+
function evaluatePromotion(_x8) {
|
|
1499
1601
|
return _evaluatePromotion.apply(this, arguments);
|
|
1500
1602
|
}
|
|
1501
1603
|
return evaluatePromotion;
|
|
@@ -1612,7 +1714,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1612
1714
|
}, {
|
|
1613
1715
|
key: "persistTempOrder",
|
|
1614
1716
|
value: function persistTempOrder() {
|
|
1615
|
-
if (!this.
|
|
1717
|
+
if (!this.store.tempOrder) return;
|
|
1718
|
+
ensureHolderRelationUuids(this.store.tempOrder);
|
|
1719
|
+
if (!this.sessionStoragePersistEnabled) return;
|
|
1616
1720
|
this.checkSaveCache({
|
|
1617
1721
|
cacheId: this.cacheId,
|
|
1618
1722
|
fatherModule: this.fatherModule,
|
|
@@ -1727,12 +1831,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1727
1831
|
}, {
|
|
1728
1832
|
key: "rememberPointCardSnapshotCodeCandidates",
|
|
1729
1833
|
value: function rememberPointCardSnapshotCodeCandidates(value) {
|
|
1730
|
-
var
|
|
1834
|
+
var _this7 = this;
|
|
1731
1835
|
collectPointCardSnapshotCodeCandidates(value).forEach(function (_ref18) {
|
|
1732
1836
|
var id = _ref18.id,
|
|
1733
1837
|
code = _ref18.code;
|
|
1734
|
-
if (!
|
|
1735
|
-
|
|
1838
|
+
if (!_this7.pointCardSnapshotCodeCandidates.has(id)) {
|
|
1839
|
+
_this7.pointCardSnapshotCodeCandidates.set(id, code);
|
|
1736
1840
|
}
|
|
1737
1841
|
});
|
|
1738
1842
|
}
|
|
@@ -1913,7 +2017,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1913
2017
|
}
|
|
1914
2018
|
}, _callee10, this);
|
|
1915
2019
|
}));
|
|
1916
|
-
function hydrateTempOrderFromLocalRecord(
|
|
2020
|
+
function hydrateTempOrderFromLocalRecord(_x9) {
|
|
1917
2021
|
return _hydrateTempOrderFromLocalRecord.apply(this, arguments);
|
|
1918
2022
|
}
|
|
1919
2023
|
return hydrateTempOrderFromLocalRecord;
|
|
@@ -1939,23 +2043,23 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1939
2043
|
}, {
|
|
1940
2044
|
key: "calculatePaymentTotal",
|
|
1941
2045
|
value: function calculatePaymentTotal(payments) {
|
|
1942
|
-
var
|
|
2046
|
+
var _this8 = this;
|
|
1943
2047
|
return mapPaymentItemsToOrderPayments(payments, {
|
|
1944
2048
|
includeVoided: false
|
|
1945
2049
|
}).reduce(function (sum, payment) {
|
|
1946
2050
|
if (!isPaidPaymentRecord(payment)) return sum;
|
|
1947
|
-
return sum.plus(
|
|
2051
|
+
return sum.plus(_this8.calculatePaymentEffectiveAmount(payment));
|
|
1948
2052
|
}, new Decimal(0));
|
|
1949
2053
|
}
|
|
1950
2054
|
}, {
|
|
1951
2055
|
key: "calculateOrderPaidPaymentTotal",
|
|
1952
2056
|
value: function calculateOrderPaidPaymentTotal(payments) {
|
|
1953
|
-
var
|
|
2057
|
+
var _this9 = this;
|
|
1954
2058
|
return mapPaymentItemsToOrderPayments(payments, {
|
|
1955
2059
|
includeVoided: false
|
|
1956
2060
|
}).reduce(function (sum, payment) {
|
|
1957
2061
|
if (!isPaidPaymentRecord(payment)) return sum;
|
|
1958
|
-
return sum.plus(
|
|
2062
|
+
return sum.plus(_this9.calculatePaymentGapAmount(payment));
|
|
1959
2063
|
}, new Decimal(0));
|
|
1960
2064
|
}
|
|
1961
2065
|
}, {
|
|
@@ -2091,13 +2195,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2091
2195
|
}, {
|
|
2092
2196
|
key: "calculateDepositPaidAmount",
|
|
2093
2197
|
value: function calculateDepositPaidAmount(payments) {
|
|
2094
|
-
var
|
|
2198
|
+
var _this10 = this;
|
|
2095
2199
|
return (payments || []).reduce(function (sum, payment) {
|
|
2096
2200
|
var paymentRecord = payment;
|
|
2097
2201
|
if (!isPaidPaymentRecord(paymentRecord)) return sum;
|
|
2098
2202
|
var isDepositPayment = paymentRecord.type === 'deposit' || paymentRecord.order_payment_type === 'deposit';
|
|
2099
2203
|
if (!isDepositPayment) return sum;
|
|
2100
|
-
return sum.plus(
|
|
2204
|
+
return sum.plus(_this10.calculatePaymentGapAmount(paymentRecord));
|
|
2101
2205
|
}, new Decimal(0));
|
|
2102
2206
|
}
|
|
2103
2207
|
}, {
|
|
@@ -2134,17 +2238,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2134
2238
|
}, {
|
|
2135
2239
|
key: "getPaymentNumberDevicePrefixSync",
|
|
2136
2240
|
value: function getPaymentNumberDevicePrefixSync() {
|
|
2137
|
-
var
|
|
2241
|
+
var _this11 = this;
|
|
2138
2242
|
return resolvePaymentNumberDevicePrefixFromDeviceId(function (key) {
|
|
2139
|
-
return
|
|
2243
|
+
return _this11.getPaymentNumberAppData(key);
|
|
2140
2244
|
});
|
|
2141
2245
|
}
|
|
2142
2246
|
}, {
|
|
2143
2247
|
key: "getPaymentNumberDevicePrefixAsync",
|
|
2144
2248
|
value: function getPaymentNumberDevicePrefixAsync() {
|
|
2145
|
-
var
|
|
2249
|
+
var _this12 = this;
|
|
2146
2250
|
return resolvePaymentNumberDevicePrefix(function (key) {
|
|
2147
|
-
return
|
|
2251
|
+
return _this12.getPaymentNumberAppData(key);
|
|
2148
2252
|
});
|
|
2149
2253
|
}
|
|
2150
2254
|
}, {
|
|
@@ -2274,16 +2378,16 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2274
2378
|
}, {
|
|
2275
2379
|
key: "calculatePaidPaymentSummary",
|
|
2276
2380
|
value: function calculatePaidPaymentSummary(payments) {
|
|
2277
|
-
var
|
|
2381
|
+
var _this13 = this;
|
|
2278
2382
|
return (payments || []).reduce(function (summary, payment) {
|
|
2279
2383
|
var paymentRecord = payment;
|
|
2280
2384
|
if (!isPaidPaymentRecord(paymentRecord)) return summary;
|
|
2281
2385
|
return {
|
|
2282
2386
|
customerPaidAmount: summary.customerPaidAmount.plus(paymentRecord.amount || 0),
|
|
2283
|
-
orderPaidAmount: summary.orderPaidAmount.plus(
|
|
2284
|
-
gapPaidAmount: summary.gapPaidAmount.plus(
|
|
2285
|
-
payServiceChargeAmount: summary.payServiceChargeAmount.plus(
|
|
2286
|
-
roundingAmount: summary.roundingAmount.plus(
|
|
2387
|
+
orderPaidAmount: summary.orderPaidAmount.plus(_this13.calculatePaymentOrderAmount(paymentRecord)),
|
|
2388
|
+
gapPaidAmount: summary.gapPaidAmount.plus(_this13.calculatePaymentGapAmount(paymentRecord)),
|
|
2389
|
+
payServiceChargeAmount: summary.payServiceChargeAmount.plus(_this13.calculatePaymentServiceFee(paymentRecord)),
|
|
2390
|
+
roundingAmount: summary.roundingAmount.plus(_this13.calculatePaymentRoundingAmount(paymentRecord))
|
|
2287
2391
|
};
|
|
2288
2392
|
}, {
|
|
2289
2393
|
customerPaidAmount: new Decimal(0),
|
|
@@ -2490,15 +2594,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2490
2594
|
}, {
|
|
2491
2595
|
key: "normalizeFingerprintValue",
|
|
2492
2596
|
value: function normalizeFingerprintValue(value) {
|
|
2493
|
-
var
|
|
2597
|
+
var _this14 = this;
|
|
2494
2598
|
if (Array.isArray(value)) {
|
|
2495
2599
|
return value.map(function (item) {
|
|
2496
|
-
return
|
|
2600
|
+
return _this14.normalizeFingerprintValue(item);
|
|
2497
2601
|
});
|
|
2498
2602
|
}
|
|
2499
2603
|
if (!value || _typeof(value) !== 'object') return value !== null && value !== void 0 ? value : '';
|
|
2500
2604
|
return Object.keys(value).sort().reduce(function (result, key) {
|
|
2501
|
-
result[key] =
|
|
2605
|
+
result[key] = _this14.normalizeFingerprintValue(value[key]);
|
|
2502
2606
|
return result;
|
|
2503
2607
|
}, {});
|
|
2504
2608
|
}
|
|
@@ -2513,7 +2617,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2513
2617
|
_sku$barcode,
|
|
2514
2618
|
_ref26,
|
|
2515
2619
|
_sku$variant_id,
|
|
2516
|
-
|
|
2620
|
+
_this15 = this;
|
|
2517
2621
|
var sku = (product === null || product === void 0 ? void 0 : product.product_sku) || {};
|
|
2518
2622
|
var metadata = (product === null || product === void 0 ? void 0 : product.metadata) || {};
|
|
2519
2623
|
var discountTypes = ((product === null || product === void 0 ? void 0 : product.discount_list) || []).map(function (discount) {
|
|
@@ -2532,12 +2636,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2532
2636
|
selling_price: this.normalizeFingerprintMoney(product === null || product === void 0 ? void 0 : product.selling_price),
|
|
2533
2637
|
original_price: this.normalizeFingerprintMoney(product === null || product === void 0 ? void 0 : product.original_price),
|
|
2534
2638
|
payment_price: this.normalizeFingerprintMoney((_product$payment_pric = product === null || product === void 0 ? void 0 : product.payment_price) !== null && _product$payment_pric !== void 0 ? _product$payment_pric : product === null || product === void 0 ? void 0 : product.selling_price),
|
|
2535
|
-
metadata: {
|
|
2639
|
+
metadata: _objectSpread({
|
|
2536
2640
|
source_product_price: this.normalizeFingerprintMoney(metadata.source_product_price),
|
|
2537
2641
|
main_product_selling_price: this.normalizeFingerprintMoney(metadata.main_product_selling_price),
|
|
2538
2642
|
main_product_original_price: this.normalizeFingerprintMoney(metadata.main_product_original_price),
|
|
2539
2643
|
product_discount_difference: this.normalizeFingerprintMoney(metadata.product_discount_difference)
|
|
2540
|
-
},
|
|
2644
|
+
}, !hasProductBooking(product) ? {
|
|
2645
|
+
holder_relations: this.normalizeFingerprintValue(getProductHolderRelations(this.store.tempOrder || {}, product))
|
|
2646
|
+
} : {}),
|
|
2541
2647
|
product_sku: this.normalizeFingerprintValue({
|
|
2542
2648
|
code: (_sku$code = sku.code) !== null && _sku$code !== void 0 ? _sku$code : '',
|
|
2543
2649
|
barcode: (_sku$barcode = sku.barcode) !== null && _sku$barcode !== void 0 ? _sku$barcode : '',
|
|
@@ -2550,7 +2656,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2550
2656
|
option_group_id: (_option$option_group_ = option === null || option === void 0 ? void 0 : option.option_group_id) !== null && _option$option_group_ !== void 0 ? _option$option_group_ : null,
|
|
2551
2657
|
option_group_item_id: (_ref28 = (_option$option_group_2 = option === null || option === void 0 ? void 0 : option.option_group_item_id) !== null && _option$option_group_2 !== void 0 ? _option$option_group_2 : option === null || option === void 0 ? void 0 : option.id) !== null && _ref28 !== void 0 ? _ref28 : null,
|
|
2552
2658
|
num: Number((_option$num = option === null || option === void 0 ? void 0 : option.num) !== null && _option$num !== void 0 ? _option$num : 1) || 1,
|
|
2553
|
-
add_price:
|
|
2659
|
+
add_price: _this15.normalizeFingerprintMoney((_option$add_price = option === null || option === void 0 ? void 0 : option.add_price) !== null && _option$add_price !== void 0 ? _option$add_price : option === null || option === void 0 ? void 0 : option.price)
|
|
2554
2660
|
};
|
|
2555
2661
|
})
|
|
2556
2662
|
}),
|
|
@@ -2560,8 +2666,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2560
2666
|
bundle_product_id: (_ref29 = (_ref30 = (_bundle$bundle_produc = bundle === null || bundle === void 0 ? void 0 : bundle.bundle_product_id) !== null && _bundle$bundle_produc !== void 0 ? _bundle$bundle_produc : bundle === null || bundle === void 0 ? void 0 : bundle._bundle_product_id) !== null && _ref30 !== void 0 ? _ref30 : bundle === null || bundle === void 0 ? void 0 : bundle.product_id) !== null && _ref29 !== void 0 ? _ref29 : null,
|
|
2561
2667
|
bundle_variant_id: (_ref31 = (_bundle$bundle_varian = bundle === null || bundle === void 0 ? void 0 : bundle.bundle_variant_id) !== null && _bundle$bundle_varian !== void 0 ? _bundle$bundle_varian : bundle === null || bundle === void 0 ? void 0 : bundle.product_variant_id) !== null && _ref31 !== void 0 ? _ref31 : 0,
|
|
2562
2668
|
num: getSafeProductNum((_bundle$num = bundle === null || bundle === void 0 ? void 0 : bundle.num) !== null && _bundle$num !== void 0 ? _bundle$num : bundle === null || bundle === void 0 ? void 0 : bundle.quantity),
|
|
2563
|
-
price:
|
|
2564
|
-
bundle_selling_price:
|
|
2669
|
+
price: _this15.normalizeFingerprintMoney(bundle === null || bundle === void 0 ? void 0 : bundle.price),
|
|
2670
|
+
bundle_selling_price: _this15.normalizeFingerprintMoney(bundle === null || bundle === void 0 ? void 0 : bundle.bundle_selling_price),
|
|
2565
2671
|
price_type: (_bundle$price_type = bundle === null || bundle === void 0 ? void 0 : bundle.price_type) !== null && _bundle$price_type !== void 0 ? _bundle$price_type : '',
|
|
2566
2672
|
price_type_ext: (_bundle$price_type_ex = bundle === null || bundle === void 0 ? void 0 : bundle.price_type_ext) !== null && _bundle$price_type_ex !== void 0 ? _bundle$price_type_ex : ''
|
|
2567
2673
|
};
|
|
@@ -2571,7 +2677,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2571
2677
|
return {
|
|
2572
2678
|
type: (_ref32 = (_discount$type2 = discount === null || discount === void 0 ? void 0 : discount.type) !== null && _discount$type2 !== void 0 ? _discount$type2 : discount === null || discount === void 0 ? void 0 : discount.tag) !== null && _ref32 !== void 0 ? _ref32 : '',
|
|
2573
2679
|
discount_id: (_ref33 = (_ref34 = (_discount$discount_id = discount === null || discount === void 0 ? void 0 : discount.discount_id) !== null && _discount$discount_id !== void 0 ? _discount$discount_id : discount === null || discount === void 0 ? void 0 : discount.order_discount_id) !== null && _ref34 !== void 0 ? _ref34 : discount === null || discount === void 0 || (_discount$discount = discount.discount) === null || _discount$discount === void 0 ? void 0 : _discount$discount.resource_id) !== null && _ref33 !== void 0 ? _ref33 : null,
|
|
2574
|
-
amount:
|
|
2680
|
+
amount: _this15.normalizeFingerprintMoney(discount === null || discount === void 0 ? void 0 : discount.amount)
|
|
2575
2681
|
};
|
|
2576
2682
|
}))
|
|
2577
2683
|
};
|
|
@@ -2579,9 +2685,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2579
2685
|
}, {
|
|
2580
2686
|
key: "buildOrderProductsFingerprint",
|
|
2581
2687
|
value: function buildOrderProductsFingerprint(products) {
|
|
2582
|
-
var
|
|
2688
|
+
var _this16 = this;
|
|
2583
2689
|
var items = (products || []).map(function (product) {
|
|
2584
|
-
return
|
|
2690
|
+
return _this16.buildProductFingerprintItem(product);
|
|
2585
2691
|
});
|
|
2586
2692
|
items.sort(function (left, right) {
|
|
2587
2693
|
return JSON.stringify(left).localeCompare(JSON.stringify(right));
|
|
@@ -2603,7 +2709,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2603
2709
|
_sku$barcode2,
|
|
2604
2710
|
_ref36,
|
|
2605
2711
|
_sku$variant_id2,
|
|
2606
|
-
|
|
2712
|
+
_this17 = this;
|
|
2713
|
+
var order = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.store.tempOrder || {};
|
|
2607
2714
|
var sku = (product === null || product === void 0 ? void 0 : product.product_sku) || {};
|
|
2608
2715
|
var metadata = (product === null || product === void 0 ? void 0 : product.metadata) || {};
|
|
2609
2716
|
var discountTypes = ((product === null || product === void 0 ? void 0 : product.discount_list) || []).map(function (discount) {
|
|
@@ -2619,12 +2726,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2619
2726
|
product_variant_id: (_product$product_vari2 = product === null || product === void 0 ? void 0 : product.product_variant_id) !== null && _product$product_vari2 !== void 0 ? _product$product_vari2 : null,
|
|
2620
2727
|
extension_type: extensionType,
|
|
2621
2728
|
num: getSafeProductNum((_product$num2 = product === null || product === void 0 ? void 0 : product.num) !== null && _product$num2 !== void 0 ? _product$num2 : product === null || product === void 0 ? void 0 : product.product_quantity),
|
|
2622
|
-
metadata: {
|
|
2729
|
+
metadata: _objectSpread({
|
|
2623
2730
|
unique_identification_number: (_ref35 = (_metadata$unique_iden = metadata.unique_identification_number) !== null && _metadata$unique_iden !== void 0 ? _metadata$unique_iden : product === null || product === void 0 ? void 0 : product.unique_identification_number) !== null && _ref35 !== void 0 ? _ref35 : '',
|
|
2624
2731
|
price_override: (_metadata$price_overr = metadata.price_override) !== null && _metadata$price_overr !== void 0 ? _metadata$price_overr : '',
|
|
2625
2732
|
is_manual_discount: (_metadata$is_manual_d = metadata.is_manual_discount) !== null && _metadata$is_manual_d !== void 0 ? _metadata$is_manual_d : '',
|
|
2626
2733
|
product_discount_reason: (_metadata$product_dis = metadata.product_discount_reason) !== null && _metadata$product_dis !== void 0 ? _metadata$product_dis : ''
|
|
2627
|
-
},
|
|
2734
|
+
}, !hasProductBooking(product) ? {
|
|
2735
|
+
holder_relations: this.normalizeFingerprintValue(getProductHolderRelations(order, product))
|
|
2736
|
+
} : {}),
|
|
2628
2737
|
product_sku: this.normalizeFingerprintValue({
|
|
2629
2738
|
code: (_sku$code2 = sku.code) !== null && _sku$code2 !== void 0 ? _sku$code2 : '',
|
|
2630
2739
|
barcode: (_sku$barcode2 = sku.barcode) !== null && _sku$barcode2 !== void 0 ? _sku$barcode2 : '',
|
|
@@ -2637,7 +2746,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2637
2746
|
option_group_id: (_option$option_group_3 = option === null || option === void 0 ? void 0 : option.option_group_id) !== null && _option$option_group_3 !== void 0 ? _option$option_group_3 : null,
|
|
2638
2747
|
option_group_item_id: (_ref38 = (_option$option_group_4 = option === null || option === void 0 ? void 0 : option.option_group_item_id) !== null && _option$option_group_4 !== void 0 ? _option$option_group_4 : option === null || option === void 0 ? void 0 : option.id) !== null && _ref38 !== void 0 ? _ref38 : null,
|
|
2639
2748
|
num: Number((_option$num2 = option === null || option === void 0 ? void 0 : option.num) !== null && _option$num2 !== void 0 ? _option$num2 : 1) || 1,
|
|
2640
|
-
add_price:
|
|
2749
|
+
add_price: _this17.normalizeFingerprintMoney((_option$add_price2 = option === null || option === void 0 ? void 0 : option.add_price) !== null && _option$add_price2 !== void 0 ? _option$add_price2 : option === null || option === void 0 ? void 0 : option.price)
|
|
2641
2750
|
};
|
|
2642
2751
|
})
|
|
2643
2752
|
}),
|
|
@@ -2651,14 +2760,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2651
2760
|
num: getSafeProductNum((_bundle$num2 = bundle === null || bundle === void 0 ? void 0 : bundle.num) !== null && _bundle$num2 !== void 0 ? _bundle$num2 : bundle === null || bundle === void 0 ? void 0 : bundle.quantity),
|
|
2652
2761
|
price_type: (_bundle$price_type2 = bundle === null || bundle === void 0 ? void 0 : bundle.price_type) !== null && _bundle$price_type2 !== void 0 ? _bundle$price_type2 : '',
|
|
2653
2762
|
price_type_ext: (_bundle$price_type_ex2 = bundle === null || bundle === void 0 ? void 0 : bundle.price_type_ext) !== null && _bundle$price_type_ex2 !== void 0 ? _bundle$price_type_ex2 : '',
|
|
2654
|
-
option:
|
|
2763
|
+
option: _this17.normalizeFingerprintValue(((bundle === null || bundle === void 0 ? void 0 : bundle.option) || []).map(function (option) {
|
|
2655
2764
|
var _ref44, _option$id3, _option$option_group_5, _ref45, _option$option_group_6, _option$num3, _option$add_price3;
|
|
2656
2765
|
return {
|
|
2657
2766
|
id: (_ref44 = (_option$id3 = option === null || option === void 0 ? void 0 : option.id) !== null && _option$id3 !== void 0 ? _option$id3 : option === null || option === void 0 ? void 0 : option.option_group_item_id) !== null && _ref44 !== void 0 ? _ref44 : null,
|
|
2658
2767
|
option_group_id: (_option$option_group_5 = option === null || option === void 0 ? void 0 : option.option_group_id) !== null && _option$option_group_5 !== void 0 ? _option$option_group_5 : null,
|
|
2659
2768
|
option_group_item_id: (_ref45 = (_option$option_group_6 = option === null || option === void 0 ? void 0 : option.option_group_item_id) !== null && _option$option_group_6 !== void 0 ? _option$option_group_6 : option === null || option === void 0 ? void 0 : option.id) !== null && _ref45 !== void 0 ? _ref45 : null,
|
|
2660
2769
|
num: Number((_option$num3 = option === null || option === void 0 ? void 0 : option.num) !== null && _option$num3 !== void 0 ? _option$num3 : 1) || 1,
|
|
2661
|
-
add_price:
|
|
2770
|
+
add_price: _this17.normalizeFingerprintMoney((_option$add_price3 = option === null || option === void 0 ? void 0 : option.add_price) !== null && _option$add_price3 !== void 0 ? _option$add_price3 : option === null || option === void 0 ? void 0 : option.price)
|
|
2662
2771
|
};
|
|
2663
2772
|
}))
|
|
2664
2773
|
};
|
|
@@ -2668,7 +2777,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2668
2777
|
return {
|
|
2669
2778
|
type: (_ref46 = (_discount$type4 = discount === null || discount === void 0 ? void 0 : discount.type) !== null && _discount$type4 !== void 0 ? _discount$type4 : discount === null || discount === void 0 ? void 0 : discount.tag) !== null && _ref46 !== void 0 ? _ref46 : '',
|
|
2670
2779
|
discount_id: (_ref47 = (_ref48 = (_discount$discount_id2 = discount === null || discount === void 0 ? void 0 : discount.discount_id) !== null && _discount$discount_id2 !== void 0 ? _discount$discount_id2 : discount === null || discount === void 0 ? void 0 : discount.order_discount_id) !== null && _ref48 !== void 0 ? _ref48 : discount === null || discount === void 0 || (_discount$discount2 = discount.discount) === null || _discount$discount2 === void 0 ? void 0 : _discount$discount2.resource_id) !== null && _ref47 !== void 0 ? _ref47 : null,
|
|
2671
|
-
amount:
|
|
2780
|
+
amount: _this17.normalizeFingerprintMoney(discount === null || discount === void 0 ? void 0 : discount.amount)
|
|
2672
2781
|
};
|
|
2673
2782
|
}))
|
|
2674
2783
|
};
|
|
@@ -2676,9 +2785,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2676
2785
|
}, {
|
|
2677
2786
|
key: "buildOrderProductsStructuralFingerprint",
|
|
2678
2787
|
value: function buildOrderProductsStructuralFingerprint(products) {
|
|
2679
|
-
var
|
|
2788
|
+
var _this18 = this;
|
|
2789
|
+
var order = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.store.tempOrder || {};
|
|
2680
2790
|
var items = (products || []).map(function (product) {
|
|
2681
|
-
return
|
|
2791
|
+
return _this18.buildProductStructuralFingerprintItem(product, order);
|
|
2682
2792
|
});
|
|
2683
2793
|
items.sort(function (left, right) {
|
|
2684
2794
|
return JSON.stringify(left).localeCompare(JSON.stringify(right));
|
|
@@ -2764,7 +2874,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2764
2874
|
var manualDepositOverride = this.getManualDepositOverride(tempOrder);
|
|
2765
2875
|
if (currentFingerprint !== snapshot.productFingerprint) {
|
|
2766
2876
|
var currentStructuralFingerprint = this.buildOrderProductsStructuralFingerprint(tempOrder.products);
|
|
2767
|
-
var snapshotStructuralFingerprint = this.buildOrderProductsStructuralFingerprint(Array.isArray(snapshot.products) ? snapshot.products : []);
|
|
2877
|
+
var snapshotStructuralFingerprint = this.buildOrderProductsStructuralFingerprint(Array.isArray(snapshot.products) ? snapshot.products : [], snapshot);
|
|
2768
2878
|
if (currentStructuralFingerprint !== snapshotStructuralFingerprint) return null;
|
|
2769
2879
|
}
|
|
2770
2880
|
var summary = _objectSpread(_objectSpread({}, createEmptySummary()), cloneDeep(snapshot.summary || {}));
|
|
@@ -2986,7 +3096,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2986
3096
|
}
|
|
2987
3097
|
}, _callee11, this);
|
|
2988
3098
|
}));
|
|
2989
|
-
function replaceTempOrder(
|
|
3099
|
+
function replaceTempOrder(_x10, _x11) {
|
|
2990
3100
|
return _replaceTempOrder.apply(this, arguments);
|
|
2991
3101
|
}
|
|
2992
3102
|
return replaceTempOrder;
|
|
@@ -3122,17 +3232,26 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3122
3232
|
}, {
|
|
3123
3233
|
key: "sanitizeOrderProductForTempOrder",
|
|
3124
3234
|
value: function sanitizeOrderProductForTempOrder(product) {
|
|
3235
|
+
var _product$_extend;
|
|
3236
|
+
var deferHolderCleanup = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
3125
3237
|
if (product.metadata && _typeof(product.metadata) === 'object') {
|
|
3126
3238
|
delete product.metadata.origin;
|
|
3239
|
+
if (!deferHolderCleanup && !hasProductBooking(product)) {
|
|
3240
|
+
delete product.metadata.holder;
|
|
3241
|
+
delete product.metadata.holder_id;
|
|
3242
|
+
}
|
|
3243
|
+
}
|
|
3244
|
+
if (((_product$_extend = product._extend) === null || _product$_extend === void 0 ? void 0 : _product$_extend.holder_relations) !== undefined) {
|
|
3245
|
+
delete product._extend.holder_relations;
|
|
3127
3246
|
}
|
|
3128
3247
|
return product;
|
|
3129
3248
|
}
|
|
3130
3249
|
}, {
|
|
3131
3250
|
key: "sanitizeTempOrderProducts",
|
|
3132
3251
|
value: function sanitizeTempOrderProducts(tempOrder) {
|
|
3133
|
-
var
|
|
3252
|
+
var _this19 = this;
|
|
3134
3253
|
tempOrder.products = (tempOrder.products || []).map(function (product) {
|
|
3135
|
-
return
|
|
3254
|
+
return _this19.sanitizeOrderProductForTempOrder(_this19.normalizeVirtualSettlementProductIfEnabled(product));
|
|
3136
3255
|
});
|
|
3137
3256
|
this.syncTempOrderSettlementState(tempOrder);
|
|
3138
3257
|
ensureUniqueProductLineUids(tempOrder);
|
|
@@ -3252,7 +3371,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3252
3371
|
}, {
|
|
3253
3372
|
key: "syncLinkedBookingHoldersToProducts",
|
|
3254
3373
|
value: function syncLinkedBookingHoldersToProducts(tempOrder) {
|
|
3255
|
-
var
|
|
3374
|
+
var _this20 = this;
|
|
3256
3375
|
var bookings = tempOrder.bookings || [];
|
|
3257
3376
|
var products = tempOrder.products || [];
|
|
3258
3377
|
if (!bookings.length || !products.length) return;
|
|
@@ -3261,6 +3380,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3261
3380
|
bookings.forEach(function (booking) {
|
|
3262
3381
|
var _booking$metadata2, _booking$metadata3;
|
|
3263
3382
|
if (!booking || _typeof(booking) !== 'object') return;
|
|
3383
|
+
if (isFulfillmentTimingBooking(booking)) return;
|
|
3264
3384
|
var productUid = booking.product_uid || ((_booking$metadata2 = booking.metadata) === null || _booking$metadata2 === void 0 ? void 0 : _booking$metadata2.product_uid);
|
|
3265
3385
|
if (productUid !== undefined && productUid !== null && String(productUid) !== '') {
|
|
3266
3386
|
bookingByProductUid.set(String(productUid), booking);
|
|
@@ -3277,7 +3397,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3277
3397
|
var bookingUid = product.booking_uid || ((_product$metadata4 = product.metadata) === null || _product$metadata4 === void 0 ? void 0 : _product$metadata4.booking_uid);
|
|
3278
3398
|
var linkedBooking = (productUid !== undefined && productUid !== null && String(productUid) !== '' ? bookingByProductUid.get(String(productUid)) : undefined) || (bookingUid !== undefined && bookingUid !== null && String(bookingUid) !== '' ? bookingByBookingUid.get(String(bookingUid)) : undefined);
|
|
3279
3399
|
if (linkedBooking) {
|
|
3280
|
-
|
|
3400
|
+
_this20.setProductHolderFromBooking(product, linkedBooking);
|
|
3281
3401
|
}
|
|
3282
3402
|
});
|
|
3283
3403
|
}
|
|
@@ -3325,6 +3445,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3325
3445
|
try {
|
|
3326
3446
|
for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
|
|
3327
3447
|
var booking = _step18.value;
|
|
3448
|
+
if (isFulfillmentTimingBooking(booking)) continue;
|
|
3328
3449
|
var holder = booking !== null && booking !== void 0 && booking.holder && _typeof(booking.holder) === 'object' ? booking.holder : null;
|
|
3329
3450
|
if (!baseHolder && holder) {
|
|
3330
3451
|
baseHolder = holder;
|
|
@@ -3383,7 +3504,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3383
3504
|
}, {
|
|
3384
3505
|
key: "syncTempOrderHolderFromBookings",
|
|
3385
3506
|
value: function syncTempOrderHolderFromBookings(tempOrder) {
|
|
3386
|
-
var bookings = tempOrder.bookings || []
|
|
3507
|
+
var bookings = (tempOrder.bookings || []).filter(function (booking) {
|
|
3508
|
+
return !isFulfillmentTimingBooking(booking);
|
|
3509
|
+
});
|
|
3387
3510
|
var hasHolderSource = bookings.some(function (booking) {
|
|
3388
3511
|
var _booking$metadata4;
|
|
3389
3512
|
return (booking === null || booking === void 0 ? void 0 : booking.holder) !== undefined || (booking === null || booking === void 0 || (_booking$metadata4 = booking.metadata) === null || _booking$metadata4 === void 0 ? void 0 : _booking$metadata4.holder_id) !== undefined;
|
|
@@ -3405,9 +3528,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3405
3528
|
}, {
|
|
3406
3529
|
key: "findBookingIndexByUniqueIdentificationNumber",
|
|
3407
3530
|
value: function findBookingIndexByUniqueIdentificationNumber(tempOrder, uniqueIdentificationNumber) {
|
|
3408
|
-
var
|
|
3531
|
+
var _this21 = this;
|
|
3409
3532
|
return (tempOrder.bookings || []).findIndex(function (booking) {
|
|
3410
|
-
return
|
|
3533
|
+
return _this21.getBookingUniqueIdentificationNumber(booking) === uniqueIdentificationNumber;
|
|
3411
3534
|
});
|
|
3412
3535
|
}
|
|
3413
3536
|
}, {
|
|
@@ -3415,12 +3538,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3415
3538
|
value: function removeLinkedBookingsForProduct(tempOrder, product) {
|
|
3416
3539
|
var _product$metadata5,
|
|
3417
3540
|
_product$metadata6,
|
|
3418
|
-
|
|
3541
|
+
_this22 = this;
|
|
3419
3542
|
var productUid = (product === null || product === void 0 || (_product$metadata5 = product.metadata) === null || _product$metadata5 === void 0 ? void 0 : _product$metadata5.unique_identification_number) || (product === null || product === void 0 ? void 0 : product.unique_identification_number);
|
|
3420
3543
|
var bookingUid = (product === null || product === void 0 ? void 0 : product.booking_uid) || (product === null || product === void 0 || (_product$metadata6 = product.metadata) === null || _product$metadata6 === void 0 ? void 0 : _product$metadata6.booking_uid);
|
|
3421
3544
|
if (!productUid && !bookingUid) return;
|
|
3422
3545
|
tempOrder.bookings = (tempOrder.bookings || []).filter(function (booking) {
|
|
3423
|
-
|
|
3546
|
+
if (isFulfillmentTimingBooking(booking)) return true;
|
|
3547
|
+
var currentBookingUid = _this22.getBookingUniqueIdentificationNumber(booking);
|
|
3424
3548
|
if (bookingUid && currentBookingUid === String(bookingUid)) return false;
|
|
3425
3549
|
if (productUid && String((booking === null || booking === void 0 ? void 0 : booking.product_uid) || '') === String(productUid)) return false;
|
|
3426
3550
|
return true;
|
|
@@ -3468,30 +3592,36 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3468
3592
|
value: function () {
|
|
3469
3593
|
var _recalculateSummary = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(options) {
|
|
3470
3594
|
var _this$otherParams3, _ref53, _salesSummaryResult$e;
|
|
3471
|
-
var tempOrder, originalSnapshot, hasShopDiscountChanged, shouldReuseOriginalSnapshot, snapshotSummary, shouldFullRecalculateFromSnapshot, summaryProducts, salesSummary, existedSummary, totalRefundAmount, paidPaymentSummary, emptyBaseSummary, emptySummaryBase, emptySummaryWithDeposit, emptySummary, salesSummaryResult, roundingAmount, payServiceChargeAmount, hasSalesSummaryAmount, expectAmount, amountPaymentPatch, normalizedExpectAmountPatch, summaryForGap, summary;
|
|
3595
|
+
var tempOrder, originalSnapshot, hasShopDiscountChanged, shouldReuseOriginalSnapshot, snapshotSummary, shouldFullRecalculateFromSnapshot, summaryProducts, salesSummary, existedSummary, totalRefundAmount, paidPaymentSummary, emptyBaseSummary, emptySummaryBase, emptySummaryWithDeposit, emptySummary, summaryMutationBaseline, salesSummaryResult, roundingAmount, payServiceChargeAmount, hasSalesSummaryAmount, expectAmount, amountPaymentPatch, normalizedExpectAmountPatch, summaryForGap, summary;
|
|
3472
3596
|
return _regeneratorRuntime().wrap(function _callee13$(_context15) {
|
|
3473
3597
|
while (1) switch (_context15.prev = _context15.next) {
|
|
3474
3598
|
case 0:
|
|
3599
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !options.isCurrentOrder())) {
|
|
3600
|
+
_context15.next = 2;
|
|
3601
|
+
break;
|
|
3602
|
+
}
|
|
3603
|
+
return _context15.abrupt("return", null);
|
|
3604
|
+
case 2:
|
|
3475
3605
|
tempOrder = options !== null && options !== void 0 && options.createIfMissing ? this.ensureTempOrder() : this.store.tempOrder;
|
|
3476
3606
|
if (tempOrder) {
|
|
3477
|
-
_context15.next =
|
|
3607
|
+
_context15.next = 5;
|
|
3478
3608
|
break;
|
|
3479
3609
|
}
|
|
3480
3610
|
return _context15.abrupt("return", null);
|
|
3481
|
-
case
|
|
3611
|
+
case 5:
|
|
3482
3612
|
this.sanitizeTempOrderProducts(tempOrder);
|
|
3483
3613
|
originalSnapshot = this.getOriginalSalesSnapshot(tempOrder);
|
|
3484
3614
|
hasShopDiscountChanged = originalSnapshot ? this.hasShopDiscountChangedFromSnapshot(tempOrder, originalSnapshot) : false;
|
|
3485
3615
|
shouldReuseOriginalSnapshot = originalSnapshot && !hasShopDiscountChanged;
|
|
3486
3616
|
snapshotSummary = shouldReuseOriginalSnapshot ? this.restoreOriginalSnapshotIfProductsUnchanged(tempOrder, originalSnapshot) : null;
|
|
3487
3617
|
if (!snapshotSummary) {
|
|
3488
|
-
_context15.next =
|
|
3618
|
+
_context15.next = 12;
|
|
3489
3619
|
break;
|
|
3490
3620
|
}
|
|
3491
3621
|
return _context15.abrupt("return", snapshotSummary);
|
|
3492
|
-
case
|
|
3622
|
+
case 12:
|
|
3493
3623
|
shouldFullRecalculateFromSnapshot = Boolean(originalSnapshot);
|
|
3494
|
-
summaryProducts = shouldFullRecalculateFromSnapshot ? cloneDeep(tempOrder.products || []) : tempOrder.products;
|
|
3624
|
+
summaryProducts = shouldFullRecalculateFromSnapshot || options !== null && options !== void 0 && options.isCurrentOrder ? cloneDeep(tempOrder.products || []) : tempOrder.products;
|
|
3495
3625
|
if (shouldFullRecalculateFromSnapshot) {
|
|
3496
3626
|
this.clearPersistedAmountFieldsForFullRecalc(summaryProducts || []);
|
|
3497
3627
|
}
|
|
@@ -3500,7 +3630,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3500
3630
|
totalRefundAmount = existedSummary.total_refund_amount || '0.00';
|
|
3501
3631
|
paidPaymentSummary = this.calculatePaidPaymentSummary(tempOrder.payments || []);
|
|
3502
3632
|
if (salesSummary) {
|
|
3503
|
-
_context15.next =
|
|
3633
|
+
_context15.next = 28;
|
|
3504
3634
|
break;
|
|
3505
3635
|
}
|
|
3506
3636
|
emptyBaseSummary = _objectSpread(_objectSpread(_objectSpread({}, createEmptySummary()), existedSummary), {}, {
|
|
@@ -3527,8 +3657,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3527
3657
|
summary: emptySummary
|
|
3528
3658
|
});
|
|
3529
3659
|
return _context15.abrupt("return", this.store.summary);
|
|
3530
|
-
case
|
|
3531
|
-
|
|
3660
|
+
case 28:
|
|
3661
|
+
summaryMutationBaseline = options !== null && options !== void 0 && options.isCurrentOrder ? cloneDeep({
|
|
3662
|
+
tempOrder: tempOrder,
|
|
3663
|
+
summary: this.store.summary
|
|
3664
|
+
}) : null;
|
|
3665
|
+
_context15.next = 31;
|
|
3532
3666
|
return salesSummary.getSummary(_objectSpread({
|
|
3533
3667
|
products: summaryProducts,
|
|
3534
3668
|
isPriceIncludeTax: tempOrder.is_price_include_tax,
|
|
@@ -3537,9 +3671,24 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3537
3671
|
}, (_this$otherParams3 = this.otherParams) !== null && _this$otherParams3 !== void 0 && _this$otherParams3.channel ? {
|
|
3538
3672
|
channel: this.otherParams.channel
|
|
3539
3673
|
} : {}));
|
|
3540
|
-
case
|
|
3674
|
+
case 31:
|
|
3541
3675
|
salesSummaryResult = _context15.sent;
|
|
3542
|
-
if (
|
|
3676
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !options.isCurrentOrder())) {
|
|
3677
|
+
_context15.next = 34;
|
|
3678
|
+
break;
|
|
3679
|
+
}
|
|
3680
|
+
return _context15.abrupt("return", null);
|
|
3681
|
+
case 34:
|
|
3682
|
+
if (!(options !== null && options !== void 0 && options.isCurrentOrder && !isEqual({
|
|
3683
|
+
tempOrder: tempOrder,
|
|
3684
|
+
summary: this.store.summary
|
|
3685
|
+
}, summaryMutationBaseline))) {
|
|
3686
|
+
_context15.next = 36;
|
|
3687
|
+
break;
|
|
3688
|
+
}
|
|
3689
|
+
return _context15.abrupt("return", null);
|
|
3690
|
+
case 36:
|
|
3691
|
+
if (shouldFullRecalculateFromSnapshot || options !== null && options !== void 0 && options.isCurrentOrder) {
|
|
3543
3692
|
tempOrder.products = summaryProducts;
|
|
3544
3693
|
}
|
|
3545
3694
|
this.syncSummaryProductMetadata(tempOrder.products || []);
|
|
@@ -3584,13 +3733,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3584
3733
|
summary: summary
|
|
3585
3734
|
});
|
|
3586
3735
|
return _context15.abrupt("return", this.store.summary);
|
|
3587
|
-
case
|
|
3736
|
+
case 53:
|
|
3588
3737
|
case "end":
|
|
3589
3738
|
return _context15.stop();
|
|
3590
3739
|
}
|
|
3591
3740
|
}, _callee13, this);
|
|
3592
3741
|
}));
|
|
3593
|
-
function recalculateSummary(
|
|
3742
|
+
function recalculateSummary(_x12) {
|
|
3594
3743
|
return _recalculateSummary.apply(this, arguments);
|
|
3595
3744
|
}
|
|
3596
3745
|
return recalculateSummary;
|
|
@@ -3661,7 +3810,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3661
3810
|
}
|
|
3662
3811
|
}, _callee15, this);
|
|
3663
3812
|
}));
|
|
3664
|
-
function syncTempOrderNoteToRemote(
|
|
3813
|
+
function syncTempOrderNoteToRemote(_x13, _x14) {
|
|
3665
3814
|
return _syncTempOrderNoteToRemote.apply(this, arguments);
|
|
3666
3815
|
}
|
|
3667
3816
|
return syncTempOrderNoteToRemote;
|
|
@@ -3722,7 +3871,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3722
3871
|
}, {
|
|
3723
3872
|
key: "removeSalesNotesForMissingProductLines",
|
|
3724
3873
|
value: function removeSalesNotesForMissingProductLines(tempOrder) {
|
|
3725
|
-
var
|
|
3874
|
+
var _this23 = this;
|
|
3726
3875
|
var state = this.ensureSalesNotesRuntimeState(tempOrder);
|
|
3727
3876
|
if (!state.loaded || !Array.isArray(tempOrder.notes) || tempOrder.notes.length === 0) {
|
|
3728
3877
|
return;
|
|
@@ -3734,7 +3883,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3734
3883
|
return typeof uid === 'string' && uid.length > 0;
|
|
3735
3884
|
}));
|
|
3736
3885
|
var nextNotes = tempOrder.notes.filter(function (note) {
|
|
3737
|
-
var primary =
|
|
3886
|
+
var primary = _this23.getSalesNotePrimaryRelation(note);
|
|
3738
3887
|
if (!primary || primary.target_type !== 'order_detail') return true;
|
|
3739
3888
|
return remainingProductUids.has(primary.target_uuid);
|
|
3740
3889
|
});
|
|
@@ -3746,7 +3895,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3746
3895
|
key: "setSalesNoteOnTempOrder",
|
|
3747
3896
|
value: function setSalesNoteOnTempOrder(tempOrder, input) {
|
|
3748
3897
|
var _input$target,
|
|
3749
|
-
|
|
3898
|
+
_this24 = this,
|
|
3750
3899
|
_tempOrder$shop_order;
|
|
3751
3900
|
this.ensureSalesNotesLoadedForMutation(tempOrder);
|
|
3752
3901
|
var note_type = String(input.note_type || '').trim();
|
|
@@ -3770,7 +3919,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3770
3919
|
var notes = tempOrder.notes || [];
|
|
3771
3920
|
// 当前 allergy policy 固定同一商品行只保留一条;业务调用方不参与去重规则。
|
|
3772
3921
|
var existingIndex = policy.uniquePerPrimaryTarget ? notes.findIndex(function (note) {
|
|
3773
|
-
var primary =
|
|
3922
|
+
var primary = _this24.getSalesNotePrimaryRelation(note);
|
|
3774
3923
|
return note.note_type === note_type && (primary === null || primary === void 0 ? void 0 : primary.target_type) === 'order_detail' && primary.target_uuid === target_uuid;
|
|
3775
3924
|
}) : -1;
|
|
3776
3925
|
var existing = existingIndex >= 0 ? notes[existingIndex] : null;
|
|
@@ -3877,7 +4026,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3877
4026
|
}
|
|
3878
4027
|
}, _callee16, this);
|
|
3879
4028
|
}));
|
|
3880
|
-
function setSalesNote(
|
|
4029
|
+
function setSalesNote(_x15) {
|
|
3881
4030
|
return _setSalesNote.apply(this, arguments);
|
|
3882
4031
|
}
|
|
3883
4032
|
return setSalesNote;
|
|
@@ -3913,7 +4062,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3913
4062
|
}
|
|
3914
4063
|
}, _callee17, this);
|
|
3915
4064
|
}));
|
|
3916
|
-
function removeSalesNote(
|
|
4065
|
+
function removeSalesNote(_x16) {
|
|
3917
4066
|
return _removeSalesNote.apply(this, arguments);
|
|
3918
4067
|
}
|
|
3919
4068
|
return removeSalesNote;
|
|
@@ -4007,10 +4156,47 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4007
4156
|
}, {
|
|
4008
4157
|
key: "updateTempOrderServiceType",
|
|
4009
4158
|
value: function updateTempOrderServiceType(serviceType) {
|
|
4159
|
+
if (serviceType !== 'pick_up') {
|
|
4160
|
+
var tempOrder = this.ensureTempOrder();
|
|
4161
|
+
tempOrder.bookings = (tempOrder.bookings || []).filter(function (booking) {
|
|
4162
|
+
return !isFulfillmentTimingBooking(booking);
|
|
4163
|
+
});
|
|
4164
|
+
}
|
|
4010
4165
|
return this.updateTempOrderShopServiceData({
|
|
4011
4166
|
service_type: serviceType
|
|
4012
4167
|
});
|
|
4013
4168
|
}
|
|
4169
|
+
}, {
|
|
4170
|
+
key: "getPickupTimingBooking",
|
|
4171
|
+
value: function getPickupTimingBooking() {
|
|
4172
|
+
var _this$store$tempOrder7;
|
|
4173
|
+
return (((_this$store$tempOrder7 = this.store.tempOrder) === null || _this$store$tempOrder7 === void 0 ? void 0 : _this$store$tempOrder7.bookings) || []).find(isFulfillmentTimingBooking) || null;
|
|
4174
|
+
}
|
|
4175
|
+
}, {
|
|
4176
|
+
key: "setPickupTimingBooking",
|
|
4177
|
+
value: function setPickupTimingBooking(input) {
|
|
4178
|
+
var tempOrder = this.ensureTempOrder();
|
|
4179
|
+
var bookings = tempOrder.bookings || [];
|
|
4180
|
+
var firstIndex = bookings.findIndex(isFulfillmentTimingBooking);
|
|
4181
|
+
var nextBooking = buildPickupTimingBooking(input, bookings[firstIndex]);
|
|
4182
|
+
// Keep the first row's identity and position; repair duplicate marked rows only.
|
|
4183
|
+
tempOrder.bookings = firstIndex === -1 ? [].concat(_toConsumableArray(bookings), [nextBooking]) : bookings.flatMap(function (booking, index) {
|
|
4184
|
+
return index === firstIndex ? [nextBooking] : isFulfillmentTimingBooking(booking) ? [] : [booking];
|
|
4185
|
+
});
|
|
4186
|
+
this.notifyTempOrderChanged();
|
|
4187
|
+
return nextBooking;
|
|
4188
|
+
}
|
|
4189
|
+
}, {
|
|
4190
|
+
key: "clearPickupTimingBooking",
|
|
4191
|
+
value: function clearPickupTimingBooking() {
|
|
4192
|
+
var _tempOrder$bookings;
|
|
4193
|
+
var tempOrder = this.store.tempOrder;
|
|
4194
|
+
if (!(tempOrder !== null && tempOrder !== void 0 && (_tempOrder$bookings = tempOrder.bookings) !== null && _tempOrder$bookings !== void 0 && _tempOrder$bookings.some(isFulfillmentTimingBooking))) return;
|
|
4195
|
+
tempOrder.bookings = tempOrder.bookings.filter(function (booking) {
|
|
4196
|
+
return !isFulfillmentTimingBooking(booking);
|
|
4197
|
+
});
|
|
4198
|
+
this.notifyTempOrderChanged();
|
|
4199
|
+
}
|
|
4014
4200
|
}, {
|
|
4015
4201
|
key: "updateTempOrderContactsInfo",
|
|
4016
4202
|
value: function updateTempOrderContactsInfo(contactsInfo) {
|
|
@@ -4052,15 +4238,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4052
4238
|
}, {
|
|
4053
4239
|
key: "productHasCustomerBoundDiscount",
|
|
4054
4240
|
value: function productHasCustomerBoundDiscount(product) {
|
|
4055
|
-
var
|
|
4241
|
+
var _this25 = this;
|
|
4056
4242
|
if (((product === null || product === void 0 ? void 0 : product.discount_list) || []).some(function (discount) {
|
|
4057
|
-
return
|
|
4243
|
+
return _this25.isCustomerBoundDiscount(discount);
|
|
4058
4244
|
})) {
|
|
4059
4245
|
return true;
|
|
4060
4246
|
}
|
|
4061
4247
|
return ((product === null || product === void 0 ? void 0 : product.product_bundle) || []).some(function (bundle) {
|
|
4062
4248
|
return ((bundle === null || bundle === void 0 ? void 0 : bundle.discount_list) || []).some(function (discount) {
|
|
4063
|
-
return
|
|
4249
|
+
return _this25.isCustomerBoundDiscount(discount);
|
|
4064
4250
|
});
|
|
4065
4251
|
});
|
|
4066
4252
|
}
|
|
@@ -4069,18 +4255,18 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4069
4255
|
value: function shouldSkipDiscountCalculation(tempOrder) {
|
|
4070
4256
|
var _this$store$discount20,
|
|
4071
4257
|
_this$store$discount21,
|
|
4072
|
-
|
|
4258
|
+
_this26 = this;
|
|
4073
4259
|
if (this.hasActiveCustomerBoundDiscount) return false;
|
|
4074
4260
|
var discountList = ((_this$store$discount20 = this.store.discount) === null || _this$store$discount20 === void 0 || (_this$store$discount21 = _this$store$discount20.getDiscountList) === null || _this$store$discount21 === void 0 ? void 0 : _this$store$discount21.call(_this$store$discount20)) || [];
|
|
4075
4261
|
if (discountList.length > 0) return false;
|
|
4076
4262
|
return !(tempOrder.products || []).some(function (product) {
|
|
4077
|
-
return
|
|
4263
|
+
return _this26.productHasCustomerBoundDiscount(product);
|
|
4078
4264
|
});
|
|
4079
4265
|
}
|
|
4080
4266
|
}, {
|
|
4081
4267
|
key: "clearCustomerBoundDiscounts",
|
|
4082
4268
|
value: function clearCustomerBoundDiscounts(tempOrder) {
|
|
4083
|
-
var
|
|
4269
|
+
var _this27 = this,
|
|
4084
4270
|
_discountModule$getDi,
|
|
4085
4271
|
_discountModule$getOr,
|
|
4086
4272
|
_discountModule$setDi,
|
|
@@ -4089,7 +4275,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4089
4275
|
var filterDiscountList = function filterDiscountList(discountList) {
|
|
4090
4276
|
if (!Array.isArray(discountList)) return [];
|
|
4091
4277
|
return discountList.filter(function (discount) {
|
|
4092
|
-
var shouldRemove =
|
|
4278
|
+
var shouldRemove = _this27.isCustomerBoundDiscount(discount);
|
|
4093
4279
|
if (shouldRemove) didRemoveCustomerBoundDiscount = true;
|
|
4094
4280
|
return !shouldRemove;
|
|
4095
4281
|
});
|
|
@@ -4116,12 +4302,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4116
4302
|
var currentDiscounts = ((_discountModule$getDi = discountModule.getDiscountList) === null || _discountModule$getDi === void 0 ? void 0 : _discountModule$getDi.call(discountModule)) || [];
|
|
4117
4303
|
var currentOriginalDiscounts = ((_discountModule$getOr = discountModule.getOriginalDiscountList) === null || _discountModule$getOr === void 0 ? void 0 : _discountModule$getOr.call(discountModule)) || [];
|
|
4118
4304
|
var nextDiscounts = currentDiscounts.filter(function (discount) {
|
|
4119
|
-
if (
|
|
4120
|
-
return !
|
|
4305
|
+
if (_this27.shouldKeepCustomerBoundDiscountAfterCustomerChange(discount)) return true;
|
|
4306
|
+
return !_this27.isCustomerBoundDiscount(discount);
|
|
4121
4307
|
});
|
|
4122
4308
|
var nextOriginalDiscounts = currentOriginalDiscounts.filter(function (discount) {
|
|
4123
|
-
if (
|
|
4124
|
-
return !
|
|
4309
|
+
if (_this27.shouldKeepCustomerBoundDiscountAfterCustomerChange(discount)) return true;
|
|
4310
|
+
return !_this27.isCustomerBoundDiscount(discount);
|
|
4125
4311
|
});
|
|
4126
4312
|
void ((_discountModule$setDi = discountModule.setDiscountList) === null || _discountModule$setDi === void 0 ? void 0 : _discountModule$setDi.call(discountModule, nextDiscounts));
|
|
4127
4313
|
void ((_discountModule$setOr = discountModule.setOriginalDiscountList) === null || _discountModule$setOr === void 0 ? void 0 : _discountModule$setOr.call(discountModule, nextOriginalDiscounts));
|
|
@@ -4157,6 +4343,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4157
4343
|
var nextCustomerId = (_tempOrder$customer_i4 = tempOrder.customer_id) !== null && _tempOrder$customer_i4 !== void 0 ? _tempOrder$customer_i4 : null;
|
|
4158
4344
|
if (String(previousCustomerId !== null && previousCustomerId !== void 0 ? previousCustomerId : '') !== String(nextCustomerId !== null && nextCustomerId !== void 0 ? nextCustomerId : '')) {
|
|
4159
4345
|
this.clearCustomerWalletState(tempOrder);
|
|
4346
|
+
removeProductHolderRelations(tempOrder, tempOrder.products.filter(function (product) {
|
|
4347
|
+
return !hasProductBooking(product);
|
|
4348
|
+
}));
|
|
4160
4349
|
}
|
|
4161
4350
|
this.persistTempOrder();
|
|
4162
4351
|
return {
|
|
@@ -4224,8 +4413,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4224
4413
|
}, {
|
|
4225
4414
|
key: "getOrderCustomerSnapshot",
|
|
4226
4415
|
value: function getOrderCustomerSnapshot() {
|
|
4227
|
-
var _this$store$
|
|
4228
|
-
var snapshot = (_this$store$
|
|
4416
|
+
var _this$store$tempOrder8;
|
|
4417
|
+
var snapshot = (_this$store$tempOrder8 = this.store.tempOrder) === null || _this$store$tempOrder8 === void 0 || (_this$store$tempOrder8 = _this$store$tempOrder8._extend) === null || _this$store$tempOrder8 === void 0 ? void 0 : _this$store$tempOrder8.customerSnapshot;
|
|
4229
4418
|
return snapshot ? cloneDeep(snapshot) : null;
|
|
4230
4419
|
}
|
|
4231
4420
|
}, {
|
|
@@ -4285,10 +4474,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4285
4474
|
}, {
|
|
4286
4475
|
key: "setOrderPayments",
|
|
4287
4476
|
value: function setOrderPayments(payments) {
|
|
4288
|
-
var
|
|
4477
|
+
var _this28 = this;
|
|
4289
4478
|
var tempOrder = this.ensureTempOrder();
|
|
4290
4479
|
tempOrder.payments = mapPaymentItemsToOrderPayments((payments || []).map(function (payment) {
|
|
4291
|
-
return
|
|
4480
|
+
return _this28.normalizePaymentSource(payment, {
|
|
4292
4481
|
defaultPaid: false
|
|
4293
4482
|
});
|
|
4294
4483
|
}));
|
|
@@ -4335,7 +4524,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4335
4524
|
}
|
|
4336
4525
|
}, _callee19, this);
|
|
4337
4526
|
}));
|
|
4338
|
-
function addOrderPaymentAsync(
|
|
4527
|
+
function addOrderPaymentAsync(_x17) {
|
|
4339
4528
|
return _addOrderPaymentAsync.apply(this, arguments);
|
|
4340
4529
|
}
|
|
4341
4530
|
return addOrderPaymentAsync;
|
|
@@ -4343,7 +4532,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4343
4532
|
}, {
|
|
4344
4533
|
key: "addOrderPaymentWithDevicePrefix",
|
|
4345
4534
|
value: function addOrderPaymentWithDevicePrefix(payment, devicePrefix) {
|
|
4346
|
-
var
|
|
4535
|
+
var _this29 = this;
|
|
4347
4536
|
this.logInfo('addOrderPayment', {
|
|
4348
4537
|
payment: payment
|
|
4349
4538
|
});
|
|
@@ -4361,7 +4550,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4361
4550
|
void this.recalculateSummary({
|
|
4362
4551
|
createIfMissing: true
|
|
4363
4552
|
}).catch(function (error) {
|
|
4364
|
-
|
|
4553
|
+
_this29.logError('recalculate summary after addOrderPayment failed', {
|
|
4365
4554
|
error: error instanceof Error ? error.message : String(error)
|
|
4366
4555
|
});
|
|
4367
4556
|
});
|
|
@@ -4381,6 +4570,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4381
4570
|
identity,
|
|
4382
4571
|
matchMode,
|
|
4383
4572
|
matchedPayment,
|
|
4573
|
+
_this$logger,
|
|
4574
|
+
_this$logger$addLog,
|
|
4384
4575
|
updatedPayment,
|
|
4385
4576
|
summary,
|
|
4386
4577
|
payments,
|
|
@@ -4394,11 +4585,25 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4394
4585
|
matchMode = options.matchBy === 'compat' || options.matchBy === 'legacy' ? 'compat' : 'payment_number';
|
|
4395
4586
|
matchedPayment = resolveOrderPaymentIdentity(tempOrder.payments || [], identity, matchMode);
|
|
4396
4587
|
if (matchedPayment) {
|
|
4397
|
-
_context22.next =
|
|
4588
|
+
_context22.next = 8;
|
|
4398
4589
|
break;
|
|
4399
4590
|
}
|
|
4591
|
+
try {
|
|
4592
|
+
void Promise.resolve((_this$logger = this.logger) === null || _this$logger === void 0 || (_this$logger$addLog = _this$logger.addLog) === null || _this$logger$addLog === void 0 ? void 0 : _this$logger$addLog.call(_this$logger, {
|
|
4593
|
+
type: 'warning',
|
|
4594
|
+
title: '[PaymentTrace] payment-missing',
|
|
4595
|
+
metadata: {
|
|
4596
|
+
moduleName: this.name,
|
|
4597
|
+
saleId: tempOrder.external_sale_number,
|
|
4598
|
+
paymentNumber: identity,
|
|
4599
|
+
currentPaymentNumbers: (tempOrder.payments || []).map(function (p) {
|
|
4600
|
+
return p.payment_number;
|
|
4601
|
+
})
|
|
4602
|
+
}
|
|
4603
|
+
})).catch(function () {});
|
|
4604
|
+
} catch (_unused4) {/* 日志失败不影响原异常。 */}
|
|
4400
4605
|
throw new Error("\u672A\u627E\u5230\u652F\u4ED8\u9879: ".concat(identity));
|
|
4401
|
-
case
|
|
4606
|
+
case 8:
|
|
4402
4607
|
updatedPayment = null;
|
|
4403
4608
|
tempOrder.payments = (tempOrder.payments || []).map(function (payment, index) {
|
|
4404
4609
|
if (index !== matchedPayment.index) return payment;
|
|
@@ -4409,11 +4614,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4409
4614
|
return nextPayment;
|
|
4410
4615
|
});
|
|
4411
4616
|
this.persistTempOrder();
|
|
4412
|
-
_context22.next =
|
|
4617
|
+
_context22.next = 13;
|
|
4413
4618
|
return this.recalculateSummary({
|
|
4414
4619
|
createIfMissing: true
|
|
4415
4620
|
});
|
|
4416
|
-
case
|
|
4621
|
+
case 13:
|
|
4417
4622
|
summary = _context22.sent;
|
|
4418
4623
|
this.persistTempOrder();
|
|
4419
4624
|
payments = tempOrder.payments;
|
|
@@ -4423,13 +4628,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4423
4628
|
payments: payments,
|
|
4424
4629
|
summary: summary
|
|
4425
4630
|
});
|
|
4426
|
-
case
|
|
4631
|
+
case 17:
|
|
4427
4632
|
case "end":
|
|
4428
4633
|
return _context22.stop();
|
|
4429
4634
|
}
|
|
4430
4635
|
}, _callee20, this);
|
|
4431
4636
|
}));
|
|
4432
|
-
function updateOrderPayment(
|
|
4637
|
+
function updateOrderPayment(_x18, _x19) {
|
|
4433
4638
|
return _updateOrderPayment.apply(this, arguments);
|
|
4434
4639
|
}
|
|
4435
4640
|
return updateOrderPayment;
|
|
@@ -4474,7 +4679,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4474
4679
|
}, {
|
|
4475
4680
|
key: "applyPaymentLifecycleChange",
|
|
4476
4681
|
value: function applyPaymentLifecycleChange(tempOrder, options) {
|
|
4477
|
-
var
|
|
4682
|
+
var _this30 = this;
|
|
4478
4683
|
this.updateTempOrderPaymentStatus(tempOrder);
|
|
4479
4684
|
if ((options === null || options === void 0 ? void 0 : options.persist) !== false) {
|
|
4480
4685
|
this.persistTempOrder();
|
|
@@ -4484,7 +4689,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4484
4689
|
void this.recalculateSummary({
|
|
4485
4690
|
createIfMissing: true
|
|
4486
4691
|
}).catch(function (error) {
|
|
4487
|
-
|
|
4692
|
+
_this30.logError("recalculate summary after ".concat(logContext, " failed"), {
|
|
4488
4693
|
error: error instanceof Error ? error.message : String(error)
|
|
4489
4694
|
});
|
|
4490
4695
|
});
|
|
@@ -4528,7 +4733,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4528
4733
|
}, {
|
|
4529
4734
|
key: "updateVoucherOrderPayments",
|
|
4530
4735
|
value: function updateVoucherOrderPayments(payments, options) {
|
|
4531
|
-
var
|
|
4736
|
+
var _this31 = this;
|
|
4532
4737
|
var tempOrder = this.ensureTempOrder();
|
|
4533
4738
|
var isOrderPaymentType = function isOrderPaymentType(value) {
|
|
4534
4739
|
return value === 'normal' || value === 'deposit';
|
|
@@ -4563,7 +4768,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4563
4768
|
});
|
|
4564
4769
|
};
|
|
4565
4770
|
var mappedVouchers = mapPaymentItemsToOrderPayments(payments.map(function (payment) {
|
|
4566
|
-
return
|
|
4771
|
+
return _this31.normalizePaymentSource(normalizeVoucherPaymentStatus(withVoucherPaymentType(payment)), {
|
|
4567
4772
|
defaultPaid: false,
|
|
4568
4773
|
devicePrefix: options === null || options === void 0 ? void 0 : options.devicePrefix
|
|
4569
4774
|
});
|
|
@@ -4616,7 +4821,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4616
4821
|
void this.recalculateSummary({
|
|
4617
4822
|
createIfMissing: true
|
|
4618
4823
|
}).catch(function (error) {
|
|
4619
|
-
|
|
4824
|
+
_this31.logError('recalculate summary after updateVoucherOrderPayments failed', {
|
|
4620
4825
|
error: error instanceof Error ? error.message : String(error)
|
|
4621
4826
|
});
|
|
4622
4827
|
});
|
|
@@ -4656,7 +4861,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4656
4861
|
}
|
|
4657
4862
|
}, _callee21, this);
|
|
4658
4863
|
}));
|
|
4659
|
-
function updateVoucherOrderPaymentsAsync(
|
|
4864
|
+
function updateVoucherOrderPaymentsAsync(_x20, _x21) {
|
|
4660
4865
|
return _updateVoucherOrderPaymentsAsync.apply(this, arguments);
|
|
4661
4866
|
}
|
|
4662
4867
|
return updateVoucherOrderPaymentsAsync;
|
|
@@ -4673,16 +4878,16 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4673
4878
|
}, {
|
|
4674
4879
|
key: "shouldMergeProductToOrder",
|
|
4675
4880
|
value: function shouldMergeProductToOrder(params) {
|
|
4676
|
-
var _this$
|
|
4677
|
-
|
|
4678
|
-
var onBeforeMergeProductToOrder = (_this$
|
|
4881
|
+
var _this$orderHooks3,
|
|
4882
|
+
_this32 = this;
|
|
4883
|
+
var onBeforeMergeProductToOrder = (_this$orderHooks3 = this.orderHooks) === null || _this$orderHooks3 === void 0 ? void 0 : _this$orderHooks3.onBeforeMergeProductToOrder;
|
|
4679
4884
|
if (!onBeforeMergeProductToOrder) return true;
|
|
4680
4885
|
var result = onBeforeMergeProductToOrder(_objectSpread(_objectSpread({}, params), {}, {
|
|
4681
4886
|
defaultShouldMerge: true
|
|
4682
4887
|
}));
|
|
4683
4888
|
if (result && _typeof(result) === 'object' && typeof result.then === 'function') {
|
|
4684
4889
|
return Promise.resolve(result).then(function (resolved) {
|
|
4685
|
-
return
|
|
4890
|
+
return _this32.normalizeShouldMergeProductResult(resolved);
|
|
4686
4891
|
});
|
|
4687
4892
|
}
|
|
4688
4893
|
return this.normalizeShouldMergeProductResult(result);
|
|
@@ -4812,52 +5017,82 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4812
5017
|
key: "finalizeProductOrderMutation",
|
|
4813
5018
|
value: function () {
|
|
4814
5019
|
var _finalizeProductOrderMutation = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22(tempOrder, options) {
|
|
4815
|
-
var isVirtualSettlement, promotionPayload;
|
|
5020
|
+
var isCurrentOrder, isVirtualSettlement, promotionPayload, summary;
|
|
4816
5021
|
return _regeneratorRuntime().wrap(function _callee22$(_context24) {
|
|
4817
5022
|
while (1) switch (_context24.prev = _context24.next) {
|
|
4818
5023
|
case 0:
|
|
5024
|
+
isCurrentOrder = options === null || options === void 0 ? void 0 : options.isCurrentOrder;
|
|
5025
|
+
if (!(isCurrentOrder && !isCurrentOrder())) {
|
|
5026
|
+
_context24.next = 3;
|
|
5027
|
+
break;
|
|
5028
|
+
}
|
|
5029
|
+
return _context24.abrupt("return");
|
|
5030
|
+
case 3:
|
|
4819
5031
|
this.syncTempOrderHolderFromBookings(tempOrder);
|
|
4820
5032
|
this.prepareVirtualSettlementTempOrder(tempOrder);
|
|
4821
5033
|
isVirtualSettlement = this.isActiveVirtualSettlementOrder(tempOrder);
|
|
4822
5034
|
if (!(!(options !== null && options !== void 0 && options.skipEditDiscountConfigRefresh) && !isVirtualSettlement)) {
|
|
4823
|
-
_context24.next =
|
|
5035
|
+
_context24.next = 9;
|
|
4824
5036
|
break;
|
|
4825
5037
|
}
|
|
4826
|
-
_context24.next =
|
|
5038
|
+
_context24.next = 9;
|
|
4827
5039
|
return this.ensureEditDiscountConfigForProductChange(tempOrder);
|
|
4828
|
-
case
|
|
5040
|
+
case 9:
|
|
5041
|
+
if (!(isCurrentOrder && !isCurrentOrder())) {
|
|
5042
|
+
_context24.next = 11;
|
|
5043
|
+
break;
|
|
5044
|
+
}
|
|
5045
|
+
return _context24.abrupt("return");
|
|
5046
|
+
case 11:
|
|
4829
5047
|
if (!(!(options !== null && options !== void 0 && options.skipDiscountRecalculation) && !isVirtualSettlement)) {
|
|
4830
|
-
_context24.next =
|
|
5048
|
+
_context24.next = 17;
|
|
4831
5049
|
break;
|
|
4832
5050
|
}
|
|
4833
|
-
_context24.next =
|
|
4834
|
-
return this.evaluatePromotion(
|
|
4835
|
-
|
|
5051
|
+
_context24.next = 14;
|
|
5052
|
+
return this.evaluatePromotion(isCurrentOrder ? {
|
|
5053
|
+
isCurrentOrder: isCurrentOrder
|
|
5054
|
+
} : undefined);
|
|
5055
|
+
case 14:
|
|
4836
5056
|
_context24.t0 = _context24.sent;
|
|
4837
|
-
_context24.next =
|
|
5057
|
+
_context24.next = 18;
|
|
4838
5058
|
break;
|
|
4839
|
-
case
|
|
5059
|
+
case 17:
|
|
4840
5060
|
_context24.t0 = null;
|
|
4841
|
-
case
|
|
5061
|
+
case 18:
|
|
4842
5062
|
promotionPayload = _context24.t0;
|
|
5063
|
+
if (!(isCurrentOrder && !isCurrentOrder())) {
|
|
5064
|
+
_context24.next = 21;
|
|
5065
|
+
break;
|
|
5066
|
+
}
|
|
5067
|
+
return _context24.abrupt("return");
|
|
5068
|
+
case 21:
|
|
4843
5069
|
if (!(options !== null && options !== void 0 && options.skipDiscountRecalculation) && !isVirtualSettlement) {
|
|
4844
5070
|
this.applyDiscount();
|
|
4845
5071
|
}
|
|
4846
5072
|
this.sanitizeTempOrderProducts(tempOrder);
|
|
4847
|
-
_context24.next =
|
|
4848
|
-
return this.recalculateSummary({
|
|
5073
|
+
_context24.next = 25;
|
|
5074
|
+
return this.recalculateSummary(_objectSpread({
|
|
4849
5075
|
createIfMissing: true
|
|
4850
|
-
}
|
|
4851
|
-
|
|
5076
|
+
}, isCurrentOrder ? {
|
|
5077
|
+
isCurrentOrder: isCurrentOrder
|
|
5078
|
+
} : {}));
|
|
5079
|
+
case 25:
|
|
5080
|
+
summary = _context24.sent;
|
|
5081
|
+
if (!(isCurrentOrder && (!isCurrentOrder() || !summary))) {
|
|
5082
|
+
_context24.next = 28;
|
|
5083
|
+
break;
|
|
5084
|
+
}
|
|
5085
|
+
return _context24.abrupt("return");
|
|
5086
|
+
case 28:
|
|
4852
5087
|
this.persistTempOrder();
|
|
4853
5088
|
this.emitPromotionApplied(promotionPayload);
|
|
4854
|
-
case
|
|
5089
|
+
case 30:
|
|
4855
5090
|
case "end":
|
|
4856
5091
|
return _context24.stop();
|
|
4857
5092
|
}
|
|
4858
5093
|
}, _callee22, this);
|
|
4859
5094
|
}));
|
|
4860
|
-
function finalizeProductOrderMutation(
|
|
5095
|
+
function finalizeProductOrderMutation(_x22, _x23) {
|
|
4861
5096
|
return _finalizeProductOrderMutation.apply(this, arguments);
|
|
4862
5097
|
}
|
|
4863
5098
|
return finalizeProductOrderMutation;
|
|
@@ -4881,15 +5116,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4881
5116
|
_normalizedIncoming$p2,
|
|
4882
5117
|
_booking_uid,
|
|
4883
5118
|
_metadata,
|
|
5119
|
+
_productToAdd$_extend,
|
|
4884
5120
|
_productToAdd$metadat,
|
|
4885
5121
|
_origin,
|
|
4886
|
-
|
|
5122
|
+
_this33 = this;
|
|
4887
5123
|
var linked = booking ? this.createLinkedProductAndBooking({
|
|
4888
5124
|
product: product,
|
|
4889
5125
|
booking: booking
|
|
4890
5126
|
}) : null;
|
|
4891
5127
|
var productToAdd = (linked === null || linked === void 0 ? void 0 : linked.product) || product;
|
|
4892
|
-
this.assertAndLockProductSettlement(tempOrder, productToAdd);
|
|
4893
5128
|
var disableMerge = (options === null || options === void 0 ? void 0 : options.disableMerge) === true;
|
|
4894
5129
|
var incomingFingerprint = disableMerge ? '' : buildProductLineFingerprint(getProductSkuOptions(productToAdd), productToAdd.product_bundle);
|
|
4895
5130
|
var normalizedIncoming = this.normalizeVirtualSettlementProductIfEnabled(mergeOrderProductDisplayFields(productToAdd, normalizeOrderProduct(productToAdd)));
|
|
@@ -4916,29 +5151,33 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4916
5151
|
var hasIncomingProductNote = this.hasOrderProductLineNote(normalizedIncoming);
|
|
4917
5152
|
var hasIncomingManualProductDiscount = isManualProductDiscountProduct(normalizedIncoming);
|
|
4918
5153
|
var hasIncomingBookingUid = this.hasLinkedBookingUid(productToAdd) || this.hasLinkedBookingUid(normalizedIncoming);
|
|
5154
|
+
var holderRelationsPatch = !hasIncomingBookingUid ? (_productToAdd$_extend = productToAdd._extend) === null || _productToAdd$_extend === void 0 ? void 0 : _productToAdd$_extend.holder_relations : undefined;
|
|
5155
|
+
var hasIncomingHolder = Array.isArray(holderRelationsPatch) && holderRelationsPatch.length > 0;
|
|
4919
5156
|
var isIncomingCustomItem = ((_productToAdd$metadat = productToAdd.metadata) === null || _productToAdd$metadat === void 0 || (_productToAdd$metadat = _productToAdd$metadat.origin) === null || _productToAdd$metadat === void 0 ? void 0 : _productToAdd$metadat.isCustomItem) === true || ((_origin = productToAdd._origin) === null || _origin === void 0 ? void 0 : _origin.isCustomItem) === true;
|
|
4920
|
-
var shouldForceNewLine = disableMerge || !!booking || hasIncomingGoodPass || isIncomingPersistedEntitlementPass || hasIncomingBookingUid || isIncomingCustomItem || isWeighingProduct;
|
|
5157
|
+
var shouldForceNewLine = disableMerge || !!booking || hasIncomingGoodPass || isIncomingPersistedEntitlementPass || hasIncomingBookingUid || hasIncomingHolder || isIncomingCustomItem || isWeighingProduct;
|
|
4921
5158
|
var matchedIndex = shouldForceNewLine ? -1 : tempOrder.products.findIndex(function (item) {
|
|
4922
|
-
|
|
4923
|
-
|
|
5159
|
+
var _item$metadata4;
|
|
5160
|
+
if (_this33.hasGoodPassDiscount(item)) return false;
|
|
5161
|
+
if (getProductHolderRelations(tempOrder, item).length > 0 || hasAssignedHolderId((_item$metadata4 = item.metadata) === null || _item$metadata4 === void 0 ? void 0 : _item$metadata4.holder_id)) return false;
|
|
5162
|
+
var isRuntimeEntitlementPass = _this33.isRuntimeEntitlementAppend(item, tempOrder);
|
|
4924
5163
|
if (isIncomingEntitlementAppend !== isRuntimeEntitlementPass) {
|
|
4925
5164
|
return false;
|
|
4926
5165
|
}
|
|
4927
|
-
if (isIncomingEntitlementAppend &&
|
|
5166
|
+
if (isIncomingEntitlementAppend && _this33.isPersistedProductLine(item)) {
|
|
4928
5167
|
return false;
|
|
4929
5168
|
}
|
|
4930
|
-
var hasExistingProductNote =
|
|
5169
|
+
var hasExistingProductNote = _this33.hasOrderProductLineNote(item);
|
|
4931
5170
|
if ((hasIncomingProductNote || hasExistingProductNote) && (!isRuntimeEntitlementPass || String(normalizedIncoming.note || '').trim() !== String(item.note || '').trim())) {
|
|
4932
5171
|
return false;
|
|
4933
5172
|
}
|
|
4934
5173
|
var hasExistingManualProductDiscount = isManualProductDiscountProduct(item);
|
|
4935
|
-
if (isRuntimeEntitlementPass && !
|
|
5174
|
+
if (isRuntimeEntitlementPass && !_this33.hasSameEntitlementMergePriceConfig(normalizedIncoming, item)) {
|
|
4936
5175
|
return false;
|
|
4937
5176
|
}
|
|
4938
5177
|
if ((hasIncomingManualProductDiscount || hasExistingManualProductDiscount) && !isRuntimeEntitlementPass) {
|
|
4939
5178
|
return false;
|
|
4940
5179
|
}
|
|
4941
|
-
if (
|
|
5180
|
+
if (_this33.isPersistedProductLine(item)) return false;
|
|
4942
5181
|
if (item.product_id !== productToAdd.product_id) return false;
|
|
4943
5182
|
if (item.product_variant_id !== productToAdd.product_variant_id) return false;
|
|
4944
5183
|
var existedFingerprint = buildProductLineFingerprint(getProductSkuOptions(item), item.product_bundle);
|
|
@@ -4947,9 +5186,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4947
5186
|
var matchedProduct = matchedIndex === -1 ? null : tempOrder.products[matchedIndex];
|
|
4948
5187
|
var existedFingerprint = matchedProduct ? buildProductLineFingerprint(getProductSkuOptions(matchedProduct), matchedProduct.product_bundle) : '';
|
|
4949
5188
|
var commitProductLine = function commitProductLine(shouldMerge) {
|
|
5189
|
+
var _options$beforeCommit;
|
|
5190
|
+
options === null || options === void 0 || (_options$beforeCommit = options.beforeCommit) === null || _options$beforeCommit === void 0 || _options$beforeCommit.call(options);
|
|
5191
|
+
_this33.assertAndLockProductSettlement(tempOrder, productToAdd);
|
|
4950
5192
|
var committedProduct;
|
|
4951
5193
|
if (matchedIndex === -1 || !matchedProduct || !shouldMerge) {
|
|
4952
|
-
|
|
5194
|
+
_this33.captureProductRuntime(tempOrder, productToAdd, normalizedIncoming);
|
|
4953
5195
|
if (linked) {
|
|
4954
5196
|
normalizedIncoming.booking_uid = linked.bookingUid;
|
|
4955
5197
|
normalizedIncoming.metadata = _objectSpread(_objectSpread({}, normalizedIncoming.metadata || {}), {}, {
|
|
@@ -4967,7 +5209,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4967
5209
|
var _targetProduct$metada;
|
|
4968
5210
|
var targetProduct = matchedProduct;
|
|
4969
5211
|
var targetUid = (_targetProduct$metada = targetProduct.metadata) === null || _targetProduct$metada === void 0 ? void 0 : _targetProduct$metada.unique_identification_number;
|
|
4970
|
-
var normalizedProduct =
|
|
5212
|
+
var normalizedProduct = _this33.normalizeVirtualSettlementProductIfEnabled(mergeOrderProductDisplayFields(targetProduct, normalizeOrderProduct(_objectSpread(_objectSpread({}, productToAdd), {}, {
|
|
4971
5213
|
metadata: _objectSpread(_objectSpread({}, productToAdd.metadata || {}), {}, {
|
|
4972
5214
|
unique_identification_number: targetUid
|
|
4973
5215
|
})
|
|
@@ -4990,7 +5232,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4990
5232
|
order_detail_id: targetProduct.order_detail_id,
|
|
4991
5233
|
num: nextNum
|
|
4992
5234
|
});
|
|
4993
|
-
|
|
5235
|
+
_this33.captureProductRuntime(tempOrder, productToAdd, tempOrder.products[matchedIndex], targetUid);
|
|
4994
5236
|
committedProduct = tempOrder.products[matchedIndex];
|
|
4995
5237
|
if (matchedIndex !== tempOrder.products.length - 1) {
|
|
4996
5238
|
var mergedProduct = tempOrder.products[matchedIndex];
|
|
@@ -5000,6 +5242,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5000
5242
|
if (linked) {
|
|
5001
5243
|
tempOrder.bookings = [].concat(_toConsumableArray(tempOrder.bookings || []), [linked.booking]);
|
|
5002
5244
|
}
|
|
5245
|
+
replaceProductHolderRelations(tempOrder, committedProduct, holderRelationsPatch);
|
|
5003
5246
|
return committedProduct;
|
|
5004
5247
|
};
|
|
5005
5248
|
if (!matchedProduct) {
|
|
@@ -5100,12 +5343,24 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5100
5343
|
key: "addProductToOrder",
|
|
5101
5344
|
value: (function () {
|
|
5102
5345
|
var _addProductToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23(product, booking, options) {
|
|
5103
|
-
var
|
|
5104
|
-
var tempOrder, salesNoteDrafts, mutationSnapshot, attachSalesNoteDrafts, rollbackProductAndNotesMutation, insertAfterProductUid, anchorIndex, insertAtIndex, _ref71, _productRecord$num, productRecord, splitCount, i, splitLine, committedProduct, _committedProduct, _committedProduct2;
|
|
5346
|
+
var _this34 = this;
|
|
5347
|
+
var availabilityCommitGuard, liveTempOrder, beforeCommit, tempOrder, guardedMutationFields, readGuardedMutationFields, guardedMutationBaseline, salesNoteDrafts, mutationSnapshot, attachSalesNoteDrafts, rollbackProductAndNotesMutation, insertAfterProductUid, anchorIndex, insertAtIndex, _ref71, _productRecord$num, productRecord, splitCount, i, splitLine, committedProduct, _committedProduct, _committedProduct2, committedIdentity, isCurrentOrder;
|
|
5105
5348
|
return _regeneratorRuntime().wrap(function _callee23$(_context25) {
|
|
5106
5349
|
while (1) switch (_context25.prev = _context25.next) {
|
|
5107
5350
|
case 0:
|
|
5108
|
-
|
|
5351
|
+
availabilityCommitGuard = options === null || options === void 0 ? void 0 : options.availabilityCommitGuard;
|
|
5352
|
+
availabilityCommitGuard === null || availabilityCommitGuard === void 0 || availabilityCommitGuard();
|
|
5353
|
+
liveTempOrder = this.ensureTempOrder();
|
|
5354
|
+
beforeCommit = this.createCartIntentCommitGuard('add_product', liveTempOrder); // 自动预约在草稿上准备完整批次,避免拆票期间暴露半成品,或在失败时
|
|
5355
|
+
// 用整单快照回滚而抹掉其他入口的并发修改。人工路径保持原有写入行为。
|
|
5356
|
+
tempOrder = availabilityCommitGuard ? cloneDeep(liveTempOrder) : liveTempOrder;
|
|
5357
|
+
guardedMutationFields = ['products', 'bookings', 'notes', '_extend', 'metadata', 'currency_code', 'currency_symbol', 'currency_format'];
|
|
5358
|
+
readGuardedMutationFields = function readGuardedMutationFields(order) {
|
|
5359
|
+
return Object.fromEntries(guardedMutationFields.map(function (key) {
|
|
5360
|
+
return [key, order[key]];
|
|
5361
|
+
}));
|
|
5362
|
+
};
|
|
5363
|
+
guardedMutationBaseline = availabilityCommitGuard ? cloneDeep(readGuardedMutationFields(liveTempOrder)) : null;
|
|
5109
5364
|
salesNoteDrafts = ((options === null || options === void 0 ? void 0 : options.salesNotes) || []).map(function (draft) {
|
|
5110
5365
|
return {
|
|
5111
5366
|
note_type: String(draft.note_type || '').trim(),
|
|
@@ -5117,6 +5372,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5117
5372
|
});
|
|
5118
5373
|
mutationSnapshot = salesNoteDrafts.length > 0 ? {
|
|
5119
5374
|
products: cloneDeep(tempOrder.products || []),
|
|
5375
|
+
holder_relations: cloneDeep(tempOrder.holder_relations),
|
|
5120
5376
|
bookings: cloneDeep(tempOrder.bookings || []),
|
|
5121
5377
|
notes: cloneDeep(tempOrder.notes || []),
|
|
5122
5378
|
extend: cloneDeep(tempOrder._extend || {})
|
|
@@ -5129,7 +5385,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5129
5385
|
throw new Error('[Order Notes] 商品行缺少 unique_identification_number');
|
|
5130
5386
|
}
|
|
5131
5387
|
salesNoteDrafts.forEach(function (draft) {
|
|
5132
|
-
|
|
5388
|
+
_this34.setSalesNoteOnTempOrder(tempOrder, {
|
|
5133
5389
|
note_type: draft.note_type,
|
|
5134
5390
|
target: {
|
|
5135
5391
|
target_type: 'order_detail',
|
|
@@ -5142,6 +5398,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5142
5398
|
rollbackProductAndNotesMutation = function rollbackProductAndNotesMutation() {
|
|
5143
5399
|
if (!mutationSnapshot) return;
|
|
5144
5400
|
tempOrder.products = mutationSnapshot.products;
|
|
5401
|
+
if (mutationSnapshot.holder_relations === undefined) delete tempOrder.holder_relations;else tempOrder.holder_relations = mutationSnapshot.holder_relations;
|
|
5145
5402
|
tempOrder.bookings = mutationSnapshot.bookings;
|
|
5146
5403
|
tempOrder.notes = mutationSnapshot.notes;
|
|
5147
5404
|
tempOrder._extend = mutationSnapshot.extend;
|
|
@@ -5152,22 +5409,22 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5152
5409
|
var uid = ((_line$metadata = line.metadata) === null || _line$metadata === void 0 ? void 0 : _line$metadata.unique_identification_number) || line.unique_identification_number;
|
|
5153
5410
|
return uid !== undefined && uid !== null && String(uid) === String(insertAfterProductUid);
|
|
5154
5411
|
}) : -1;
|
|
5155
|
-
insertAtIndex = anchorIndex >= 0 ? anchorIndex + 1 : undefined;
|
|
5156
|
-
_context25.prev =
|
|
5412
|
+
insertAtIndex = options !== null && options !== void 0 && options.insertAtStart ? 0 : anchorIndex >= 0 ? anchorIndex + 1 : undefined;
|
|
5413
|
+
_context25.prev = 15;
|
|
5157
5414
|
if (!booking) {
|
|
5158
|
-
_context25.next =
|
|
5415
|
+
_context25.next = 42;
|
|
5159
5416
|
break;
|
|
5160
5417
|
}
|
|
5161
5418
|
productRecord = product;
|
|
5162
5419
|
splitCount = getSafeProductNum((_ref71 = (_productRecord$num = productRecord.num) !== null && _productRecord$num !== void 0 ? _productRecord$num : productRecord.product_quantity) !== null && _ref71 !== void 0 ? _ref71 : 1);
|
|
5163
5420
|
if (!(splitCount > 1)) {
|
|
5164
|
-
_context25.next =
|
|
5421
|
+
_context25.next = 35;
|
|
5165
5422
|
break;
|
|
5166
5423
|
}
|
|
5167
5424
|
i = 0;
|
|
5168
|
-
case
|
|
5425
|
+
case 21:
|
|
5169
5426
|
if (!(i < splitCount)) {
|
|
5170
|
-
_context25.next =
|
|
5427
|
+
_context25.next = 33;
|
|
5171
5428
|
break;
|
|
5172
5429
|
}
|
|
5173
5430
|
splitLine = this.createSplitBookingLine(productRecord, booking, i, splitCount);
|
|
@@ -5185,67 +5442,125 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5185
5442
|
delete splitLine.booking.metadata.unique_identification_number;
|
|
5186
5443
|
}
|
|
5187
5444
|
}
|
|
5188
|
-
_context25.next =
|
|
5445
|
+
_context25.next = 26;
|
|
5189
5446
|
return this.appendProductLineToTempOrder(tempOrder, splitLine.product, splitLine.booking, {
|
|
5190
5447
|
insertAtIndex: insertAtIndex,
|
|
5191
|
-
disableMerge: options === null || options === void 0 ? void 0 : options.disableMerge
|
|
5448
|
+
disableMerge: options === null || options === void 0 ? void 0 : options.disableMerge,
|
|
5449
|
+
beforeCommit: beforeCommit
|
|
5192
5450
|
});
|
|
5193
|
-
case
|
|
5451
|
+
case 26:
|
|
5194
5452
|
committedProduct = _context25.sent;
|
|
5453
|
+
availabilityCommitGuard === null || availabilityCommitGuard === void 0 || availabilityCommitGuard();
|
|
5195
5454
|
attachSalesNoteDrafts(committedProduct);
|
|
5196
5455
|
if (insertAtIndex !== undefined) insertAtIndex += 1;
|
|
5197
|
-
case
|
|
5456
|
+
case 30:
|
|
5198
5457
|
i += 1;
|
|
5199
|
-
_context25.next =
|
|
5458
|
+
_context25.next = 21;
|
|
5200
5459
|
break;
|
|
5201
|
-
case
|
|
5202
|
-
_context25.next =
|
|
5460
|
+
case 33:
|
|
5461
|
+
_context25.next = 40;
|
|
5203
5462
|
break;
|
|
5204
|
-
case
|
|
5205
|
-
_context25.next =
|
|
5463
|
+
case 35:
|
|
5464
|
+
_context25.next = 37;
|
|
5206
5465
|
return this.appendProductLineToTempOrder(tempOrder, product, cloneDeep(booking), {
|
|
5207
5466
|
insertAtIndex: insertAtIndex,
|
|
5208
|
-
disableMerge: options === null || options === void 0 ? void 0 : options.disableMerge
|
|
5467
|
+
disableMerge: options === null || options === void 0 ? void 0 : options.disableMerge,
|
|
5468
|
+
beforeCommit: beforeCommit
|
|
5209
5469
|
});
|
|
5210
|
-
case
|
|
5470
|
+
case 37:
|
|
5211
5471
|
_committedProduct = _context25.sent;
|
|
5472
|
+
availabilityCommitGuard === null || availabilityCommitGuard === void 0 || availabilityCommitGuard();
|
|
5212
5473
|
attachSalesNoteDrafts(_committedProduct);
|
|
5213
|
-
case
|
|
5214
|
-
_context25.next =
|
|
5474
|
+
case 40:
|
|
5475
|
+
_context25.next = 47;
|
|
5215
5476
|
break;
|
|
5216
|
-
case
|
|
5217
|
-
_context25.next =
|
|
5477
|
+
case 42:
|
|
5478
|
+
_context25.next = 44;
|
|
5218
5479
|
return this.appendProductLineToTempOrder(tempOrder, product, undefined, {
|
|
5219
5480
|
insertAtIndex: insertAtIndex,
|
|
5220
|
-
disableMerge: options === null || options === void 0 ? void 0 : options.disableMerge
|
|
5481
|
+
disableMerge: options === null || options === void 0 ? void 0 : options.disableMerge,
|
|
5482
|
+
beforeCommit: beforeCommit
|
|
5221
5483
|
});
|
|
5222
|
-
case
|
|
5484
|
+
case 44:
|
|
5223
5485
|
_committedProduct2 = _context25.sent;
|
|
5486
|
+
availabilityCommitGuard === null || availabilityCommitGuard === void 0 || availabilityCommitGuard();
|
|
5224
5487
|
attachSalesNoteDrafts(_committedProduct2);
|
|
5225
|
-
case
|
|
5226
|
-
|
|
5488
|
+
case 47:
|
|
5489
|
+
if (!availabilityCommitGuard) {
|
|
5490
|
+
_context25.next = 53;
|
|
5491
|
+
break;
|
|
5492
|
+
}
|
|
5493
|
+
availabilityCommitGuard();
|
|
5494
|
+
beforeCommit();
|
|
5495
|
+
// 调用方的结构 revision 可能不包括备注、价格或结算元数据。
|
|
5496
|
+
// 本次会覆盖的字段也要保持原值,不能让草稿覆盖并发编辑。
|
|
5497
|
+
if (isEqual(readGuardedMutationFields(liveTempOrder), guardedMutationBaseline)) {
|
|
5498
|
+
_context25.next = 52;
|
|
5499
|
+
break;
|
|
5500
|
+
}
|
|
5501
|
+
throw Object.assign(new Error('预约加购期间订单已变化,请重新选择'), {
|
|
5502
|
+
code: 'AVAILABILITY_SELECTION_STALE'
|
|
5503
|
+
});
|
|
5504
|
+
case 52:
|
|
5505
|
+
// 从最后一次门禁到真正新增之间不再 await。只发布本次新增会改写的
|
|
5506
|
+
// 字段;其余订单字段继续使用 live 对象,外部持有的订单引用也不变。
|
|
5507
|
+
Object.assign(liveTempOrder, readGuardedMutationFields(tempOrder));
|
|
5508
|
+
case 53:
|
|
5509
|
+
_context25.next = 59;
|
|
5227
5510
|
break;
|
|
5228
|
-
case
|
|
5229
|
-
_context25.prev =
|
|
5230
|
-
_context25.t0 = _context25["catch"](
|
|
5511
|
+
case 55:
|
|
5512
|
+
_context25.prev = 55;
|
|
5513
|
+
_context25.t0 = _context25["catch"](15);
|
|
5231
5514
|
rollbackProductAndNotesMutation();
|
|
5232
5515
|
throw _context25.t0;
|
|
5233
|
-
case
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5516
|
+
case 59:
|
|
5517
|
+
if (!availabilityCommitGuard) {
|
|
5518
|
+
_context25.next = 73;
|
|
5519
|
+
break;
|
|
5520
|
+
}
|
|
5521
|
+
committedIdentity = [liveTempOrder.order_id, liveTempOrder.external_sale_number];
|
|
5522
|
+
isCurrentOrder = function isCurrentOrder() {
|
|
5523
|
+
var _options$availability, _options$availability2;
|
|
5524
|
+
return _this34.store.tempOrder === liveTempOrder && liveTempOrder.order_id === committedIdentity[0] && liveTempOrder.external_sale_number === committedIdentity[1] && ((_options$availability = options === null || options === void 0 || (_options$availability2 = options.availabilityCommitTargetGuard) === null || _options$availability2 === void 0 ? void 0 : _options$availability2.call(options)) !== null && _options$availability !== void 0 ? _options$availability : true);
|
|
5525
|
+
};
|
|
5526
|
+
_context25.prev = 62;
|
|
5527
|
+
// 新增已发布,即使后续报价/促销收尾失败,也不能向调用方报告未加购。
|
|
5528
|
+
// 先保存已提交行;异步结果只允许写回仍属于本次提交的订单。
|
|
5529
|
+
if (isCurrentOrder()) this.persistTempOrder();
|
|
5530
|
+
_context25.next = 66;
|
|
5531
|
+
return this.finalizeProductOrderMutation(liveTempOrder, {
|
|
5532
|
+
isCurrentOrder: isCurrentOrder
|
|
5533
|
+
});
|
|
5534
|
+
case 66:
|
|
5535
|
+
_context25.next = 71;
|
|
5536
|
+
break;
|
|
5537
|
+
case 68:
|
|
5538
|
+
_context25.prev = 68;
|
|
5539
|
+
_context25.t1 = _context25["catch"](62);
|
|
5540
|
+
this.logWarning('addProductToOrder committed; finalization failed', {
|
|
5541
|
+
product_id: product.product_id,
|
|
5542
|
+
committed: true,
|
|
5543
|
+
error: _context25.t1 instanceof Error ? _context25.t1.message : String(_context25.t1)
|
|
5544
|
+
});
|
|
5545
|
+
case 71:
|
|
5546
|
+
_context25.next = 75;
|
|
5547
|
+
break;
|
|
5548
|
+
case 73:
|
|
5549
|
+
_context25.next = 75;
|
|
5550
|
+
return this.finalizeProductOrderMutation(liveTempOrder);
|
|
5551
|
+
case 75:
|
|
5237
5552
|
this.logInfo('addProductToOrder success', {
|
|
5238
5553
|
product_id: product.product_id,
|
|
5239
5554
|
with_booking: !!booking
|
|
5240
5555
|
});
|
|
5241
|
-
return _context25.abrupt("return",
|
|
5242
|
-
case
|
|
5556
|
+
return _context25.abrupt("return", liveTempOrder.products);
|
|
5557
|
+
case 77:
|
|
5243
5558
|
case "end":
|
|
5244
5559
|
return _context25.stop();
|
|
5245
5560
|
}
|
|
5246
|
-
}, _callee23, this, [[
|
|
5561
|
+
}, _callee23, this, [[15, 55], [62, 68]]);
|
|
5247
5562
|
}));
|
|
5248
|
-
function addProductToOrder(
|
|
5563
|
+
function addProductToOrder(_x24, _x25, _x26) {
|
|
5249
5564
|
return _addProductToOrder.apply(this, arguments);
|
|
5250
5565
|
}
|
|
5251
5566
|
return addProductToOrder;
|
|
@@ -5264,7 +5579,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5264
5579
|
key: "addProductsToOrder",
|
|
5265
5580
|
value: (function () {
|
|
5266
5581
|
var _addProductsToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee24(items, options) {
|
|
5267
|
-
var tempOrder, _iterator20, _step20, item, product, booking, _ref72, _productRecord$num2, productRecord, splitCount, i, splitLine, _appendResult, appendResult;
|
|
5582
|
+
var tempOrder, beforeCommit, _iterator20, _step20, item, product, booking, _ref72, _productRecord$num2, productRecord, splitCount, i, splitLine, _appendResult, appendResult;
|
|
5268
5583
|
return _regeneratorRuntime().wrap(function _callee24$(_context26) {
|
|
5269
5584
|
while (1) switch (_context26.prev = _context26.next) {
|
|
5270
5585
|
case 0:
|
|
@@ -5275,89 +5590,94 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5275
5590
|
}
|
|
5276
5591
|
return _context26.abrupt("return", tempOrder.products);
|
|
5277
5592
|
case 3:
|
|
5593
|
+
beforeCommit = this.createCartIntentCommitGuard('add_product', tempOrder);
|
|
5278
5594
|
_iterator20 = _createForOfIteratorHelper(items || []);
|
|
5279
|
-
_context26.prev =
|
|
5595
|
+
_context26.prev = 5;
|
|
5280
5596
|
_iterator20.s();
|
|
5281
|
-
case
|
|
5597
|
+
case 7:
|
|
5282
5598
|
if ((_step20 = _iterator20.n()).done) {
|
|
5283
|
-
_context26.next =
|
|
5599
|
+
_context26.next = 33;
|
|
5284
5600
|
break;
|
|
5285
5601
|
}
|
|
5286
5602
|
item = _step20.value;
|
|
5287
5603
|
product = item.product, booking = item.booking;
|
|
5288
5604
|
if (product) {
|
|
5289
|
-
_context26.next =
|
|
5605
|
+
_context26.next = 12;
|
|
5290
5606
|
break;
|
|
5291
5607
|
}
|
|
5292
|
-
return _context26.abrupt("continue",
|
|
5293
|
-
case
|
|
5608
|
+
return _context26.abrupt("continue", 31);
|
|
5609
|
+
case 12:
|
|
5294
5610
|
if (!booking) {
|
|
5295
|
-
_context26.next =
|
|
5611
|
+
_context26.next = 27;
|
|
5296
5612
|
break;
|
|
5297
5613
|
}
|
|
5298
5614
|
productRecord = product;
|
|
5299
5615
|
splitCount = getSafeProductNum((_ref72 = (_productRecord$num2 = productRecord.num) !== null && _productRecord$num2 !== void 0 ? _productRecord$num2 : productRecord.product_quantity) !== null && _ref72 !== void 0 ? _ref72 : 1);
|
|
5300
5616
|
if (!(splitCount > 1)) {
|
|
5301
|
-
_context26.next =
|
|
5617
|
+
_context26.next = 27;
|
|
5302
5618
|
break;
|
|
5303
5619
|
}
|
|
5304
5620
|
i = 0;
|
|
5305
|
-
case
|
|
5621
|
+
case 17:
|
|
5306
5622
|
if (!(i < splitCount)) {
|
|
5307
|
-
_context26.next =
|
|
5623
|
+
_context26.next = 26;
|
|
5308
5624
|
break;
|
|
5309
5625
|
}
|
|
5310
5626
|
splitLine = this.createSplitBookingLine(productRecord, booking, i, splitCount);
|
|
5311
|
-
_appendResult = this.appendProductLineToTempOrder(tempOrder, splitLine.product, splitLine.booking
|
|
5627
|
+
_appendResult = this.appendProductLineToTempOrder(tempOrder, splitLine.product, splitLine.booking, {
|
|
5628
|
+
beforeCommit: beforeCommit
|
|
5629
|
+
});
|
|
5312
5630
|
if (!_appendResult) {
|
|
5313
|
-
_context26.next =
|
|
5631
|
+
_context26.next = 23;
|
|
5314
5632
|
break;
|
|
5315
5633
|
}
|
|
5316
|
-
_context26.next =
|
|
5634
|
+
_context26.next = 23;
|
|
5317
5635
|
return _appendResult;
|
|
5318
|
-
case
|
|
5636
|
+
case 23:
|
|
5319
5637
|
i += 1;
|
|
5320
|
-
_context26.next =
|
|
5638
|
+
_context26.next = 17;
|
|
5321
5639
|
break;
|
|
5322
|
-
case 25:
|
|
5323
|
-
return _context26.abrupt("continue", 30);
|
|
5324
5640
|
case 26:
|
|
5325
|
-
|
|
5641
|
+
return _context26.abrupt("continue", 31);
|
|
5642
|
+
case 27:
|
|
5643
|
+
appendResult = this.appendProductLineToTempOrder(tempOrder, product, booking, {
|
|
5644
|
+
beforeCommit: beforeCommit
|
|
5645
|
+
});
|
|
5326
5646
|
if (!appendResult) {
|
|
5327
|
-
_context26.next =
|
|
5647
|
+
_context26.next = 31;
|
|
5328
5648
|
break;
|
|
5329
5649
|
}
|
|
5330
|
-
_context26.next =
|
|
5650
|
+
_context26.next = 31;
|
|
5331
5651
|
return appendResult;
|
|
5332
|
-
case
|
|
5333
|
-
_context26.next =
|
|
5652
|
+
case 31:
|
|
5653
|
+
_context26.next = 7;
|
|
5334
5654
|
break;
|
|
5335
|
-
case
|
|
5336
|
-
_context26.next =
|
|
5655
|
+
case 33:
|
|
5656
|
+
_context26.next = 38;
|
|
5337
5657
|
break;
|
|
5338
|
-
case
|
|
5339
|
-
_context26.prev =
|
|
5340
|
-
_context26.t0 = _context26["catch"](
|
|
5658
|
+
case 35:
|
|
5659
|
+
_context26.prev = 35;
|
|
5660
|
+
_context26.t0 = _context26["catch"](5);
|
|
5341
5661
|
_iterator20.e(_context26.t0);
|
|
5342
|
-
case
|
|
5343
|
-
_context26.prev =
|
|
5662
|
+
case 38:
|
|
5663
|
+
_context26.prev = 38;
|
|
5344
5664
|
_iterator20.f();
|
|
5345
|
-
return _context26.finish(
|
|
5346
|
-
case
|
|
5347
|
-
_context26.next =
|
|
5665
|
+
return _context26.finish(38);
|
|
5666
|
+
case 41:
|
|
5667
|
+
_context26.next = 43;
|
|
5348
5668
|
return this.finalizeProductOrderMutation(tempOrder, options);
|
|
5349
|
-
case
|
|
5669
|
+
case 43:
|
|
5350
5670
|
this.logInfo('addProductsToOrder success', {
|
|
5351
5671
|
itemsCount: items.length
|
|
5352
5672
|
});
|
|
5353
5673
|
return _context26.abrupt("return", tempOrder.products);
|
|
5354
|
-
case
|
|
5674
|
+
case 45:
|
|
5355
5675
|
case "end":
|
|
5356
5676
|
return _context26.stop();
|
|
5357
5677
|
}
|
|
5358
|
-
}, _callee24, this, [[
|
|
5678
|
+
}, _callee24, this, [[5, 35, 38, 41]]);
|
|
5359
5679
|
}));
|
|
5360
|
-
function addProductsToOrder(
|
|
5680
|
+
function addProductsToOrder(_x27, _x28) {
|
|
5361
5681
|
return _addProductsToOrder.apply(this, arguments);
|
|
5362
5682
|
}
|
|
5363
5683
|
return addProductsToOrder;
|
|
@@ -5365,12 +5685,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5365
5685
|
}, {
|
|
5366
5686
|
key: "getFullCoveragePassDiscounts",
|
|
5367
5687
|
value: function getFullCoveragePassDiscounts(product) {
|
|
5368
|
-
var _product$
|
|
5688
|
+
var _product$_extend2;
|
|
5369
5689
|
var discountList = _toConsumableArray(product.discount_list || []);
|
|
5370
5690
|
(product.product_bundle || []).forEach(function (item) {
|
|
5371
5691
|
discountList.push.apply(discountList, _toConsumableArray((item === null || item === void 0 ? void 0 : item.discount_list) || []));
|
|
5372
5692
|
});
|
|
5373
|
-
((product === null || product === void 0 || (_product$
|
|
5693
|
+
((product === null || product === void 0 || (_product$_extend2 = product._extend) === null || _product$_extend2 === void 0 || (_product$_extend2 = _product$_extend2.other) === null || _product$_extend2 === void 0 ? void 0 : _product$_extend2.bundle) || []).forEach(function (item) {
|
|
5374
5694
|
discountList.push.apply(discountList, _toConsumableArray((item === null || item === void 0 ? void 0 : item.discount_list) || []));
|
|
5375
5695
|
});
|
|
5376
5696
|
return discountList.filter(function (item) {
|
|
@@ -5409,7 +5729,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5409
5729
|
}, {
|
|
5410
5730
|
key: "hasSameEntitlementMergePriceConfig",
|
|
5411
5731
|
value: function hasSameEntitlementMergePriceConfig(incoming, existing) {
|
|
5412
|
-
var
|
|
5732
|
+
var _this35 = this;
|
|
5413
5733
|
var buildPriceConfig = function buildPriceConfig(product) {
|
|
5414
5734
|
var metadata = product.metadata || {};
|
|
5415
5735
|
var bundle = (product.product_bundle || []).map(function (item) {
|
|
@@ -5425,10 +5745,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5425
5745
|
return JSON.stringify(left).localeCompare(JSON.stringify(right));
|
|
5426
5746
|
});
|
|
5427
5747
|
return JSON.stringify({
|
|
5428
|
-
original_price:
|
|
5429
|
-
source_product_price:
|
|
5430
|
-
main_product_original_price:
|
|
5431
|
-
price_override:
|
|
5748
|
+
original_price: _this35.normalizeFingerprintMoney(product.original_price),
|
|
5749
|
+
source_product_price: _this35.normalizeFingerprintMoney(metadata.source_product_price),
|
|
5750
|
+
main_product_original_price: _this35.normalizeFingerprintMoney(metadata.main_product_original_price),
|
|
5751
|
+
price_override: _this35.normalizeFingerprintMoney(metadata.price_override),
|
|
5432
5752
|
is_manual_discount: Boolean(metadata.is_manual_discount),
|
|
5433
5753
|
bundle: bundle
|
|
5434
5754
|
});
|
|
@@ -5445,17 +5765,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5445
5765
|
}, {
|
|
5446
5766
|
key: "preservePersistedBundlePriceFields",
|
|
5447
5767
|
value: function preservePersistedBundlePriceFields(previousBundles, nextBundles) {
|
|
5448
|
-
var
|
|
5768
|
+
var _this36 = this;
|
|
5449
5769
|
if (!Array.isArray(nextBundles)) return nextBundles;
|
|
5450
5770
|
if (!Array.isArray(previousBundles) || previousBundles.length === 0) return nextBundles;
|
|
5451
5771
|
var previousByIdentity = new Map();
|
|
5452
5772
|
previousBundles.forEach(function (bundle) {
|
|
5453
|
-
var identity =
|
|
5773
|
+
var identity = _this36.getBundleRuntimeIdentity(bundle);
|
|
5454
5774
|
if (identity) previousByIdentity.set(identity, bundle);
|
|
5455
5775
|
});
|
|
5456
5776
|
return nextBundles.map(function (bundle, index) {
|
|
5457
5777
|
if (!bundle || _typeof(bundle) !== 'object') return bundle;
|
|
5458
|
-
var previous = previousByIdentity.get(
|
|
5778
|
+
var previous = previousByIdentity.get(_this36.getBundleRuntimeIdentity(bundle)) || previousBundles[index];
|
|
5459
5779
|
if (!previous || _typeof(previous) !== 'object') return bundle;
|
|
5460
5780
|
return _objectSpread(_objectSpread(_objectSpread({}, bundle), (bundle.cover === undefined || bundle.cover === null || bundle.cover === '') && previous.cover !== undefined && previous.cover !== null && previous.cover !== '' ? {
|
|
5461
5781
|
cover: previous.cover
|
|
@@ -5469,10 +5789,28 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5469
5789
|
});
|
|
5470
5790
|
});
|
|
5471
5791
|
}
|
|
5792
|
+
}, {
|
|
5793
|
+
key: "isRestrictedCartProductUpdate",
|
|
5794
|
+
value: function isRestrictedCartProductUpdate(tempOrder, params) {
|
|
5795
|
+
var _this$orderHooks4, _params$updates;
|
|
5796
|
+
if (!((_this$orderHooks4 = this.orderHooks) !== null && _this$orderHooks4 !== void 0 && _this$orderHooks4.beforeCartIntentCommit)) return false;
|
|
5797
|
+
if (params.booking || Object.keys(params.updates || {}).some(function (key) {
|
|
5798
|
+
return key !== 'num';
|
|
5799
|
+
})) {
|
|
5800
|
+
return true;
|
|
5801
|
+
}
|
|
5802
|
+
if (((_params$updates = params.updates) === null || _params$updates === void 0 ? void 0 : _params$updates.num) === undefined) return false;
|
|
5803
|
+
var uid = params.unique_identification_number;
|
|
5804
|
+
var product = uid !== undefined ? tempOrder.products.find(function (item) {
|
|
5805
|
+
var _item$metadata5;
|
|
5806
|
+
return String(((_item$metadata5 = item.metadata) === null || _item$metadata5 === void 0 ? void 0 : _item$metadata5.unique_identification_number) || item.unique_identification_number || '') === String(uid);
|
|
5807
|
+
}) : tempOrder.products[getProductIdentityIndex(tempOrder.products, params)];
|
|
5808
|
+
return !product || getSafeProductNum(params.updates.num) > product.num;
|
|
5809
|
+
}
|
|
5472
5810
|
}, {
|
|
5473
5811
|
key: "applyOrderProductUpdateToTempOrder",
|
|
5474
5812
|
value: function applyOrderProductUpdateToTempOrder(tempOrder, params, reapplyWeighedDiscountProductUids) {
|
|
5475
|
-
var _targetProduct$metada2, _product_sku, _metadata2, _metadata3, _metadata4, _metadata5, _metadata6, _metadata7, _metadata8, _metadata9, _metadata10, _nextProduct$metadata2, _targetProduct$metada20, _tempOrder$products$p, _tempOrder$products$p2;
|
|
5813
|
+
var _targetProduct$metada2, _product_sku, _metadata2, _metadata3, _metadata4, _metadata5, _metadata6, _metadata7, _metadata8, _metadata9, _metadata10, _nextProduct$metadata2, _targetProduct$metada20, _updates$_extend, _tempOrder$products$p, _tempOrder$products$p2;
|
|
5476
5814
|
var product_id = params.product_id,
|
|
5477
5815
|
product_variant_id = params.product_variant_id,
|
|
5478
5816
|
updates = params.updates,
|
|
@@ -5500,8 +5838,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5500
5838
|
if (unique_identification_number !== undefined) {
|
|
5501
5839
|
var targetUid = String(unique_identification_number);
|
|
5502
5840
|
productIndex = tempOrder.products.findIndex(function (item) {
|
|
5503
|
-
var _item$
|
|
5504
|
-
return String(((_item$
|
|
5841
|
+
var _item$metadata6;
|
|
5842
|
+
return String(((_item$metadata6 = item.metadata) === null || _item$metadata6 === void 0 ? void 0 : _item$metadata6.unique_identification_number) || item.unique_identification_number || '') === targetUid;
|
|
5505
5843
|
});
|
|
5506
5844
|
}
|
|
5507
5845
|
if (productIndex === -1) {
|
|
@@ -5701,6 +6039,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5701
6039
|
if (uid) reapplyWeighedDiscountProductUids === null || reapplyWeighedDiscountProductUids === void 0 || reapplyWeighedDiscountProductUids.push(String(uid));
|
|
5702
6040
|
}
|
|
5703
6041
|
tempOrder.products[productIndex] = normalizedProduct;
|
|
6042
|
+
replaceProductHolderRelations(tempOrder, normalizedProduct, (_updates$_extend = updates._extend) === null || _updates$_extend === void 0 ? void 0 : _updates$_extend.holder_relations);
|
|
5704
6043
|
this.syncTempOrderHolderFromBookings(tempOrder);
|
|
5705
6044
|
this.captureProductRuntime(tempOrder, updates, tempOrder.products[productIndex], (_tempOrder$products$p = tempOrder.products[productIndex].metadata) === null || _tempOrder$products$p === void 0 ? void 0 : _tempOrder$products$p.unique_identification_number);
|
|
5706
6045
|
return (_tempOrder$products$p2 = tempOrder.products[productIndex].metadata) === null || _tempOrder$products$p2 === void 0 ? void 0 : _tempOrder$products$p2.unique_identification_number;
|
|
@@ -5714,35 +6053,38 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5714
6053
|
while (1) switch (_context27.prev = _context27.next) {
|
|
5715
6054
|
case 0:
|
|
5716
6055
|
tempOrder = this.ensureTempOrder();
|
|
6056
|
+
if (this.isRestrictedCartProductUpdate(tempOrder, params)) {
|
|
6057
|
+
this.createCartIntentCommitGuard('update_product', tempOrder)();
|
|
6058
|
+
}
|
|
5717
6059
|
reapplyWeighedDiscountProductUids = [];
|
|
5718
6060
|
updatedProductUid = this.applyOrderProductUpdateToTempOrder(tempOrder, params, reapplyWeighedDiscountProductUids);
|
|
5719
|
-
_context27.next =
|
|
6061
|
+
_context27.next = 6;
|
|
5720
6062
|
return this.evaluatePromotion();
|
|
5721
|
-
case
|
|
6063
|
+
case 6:
|
|
5722
6064
|
promotionPayload = _context27.sent;
|
|
5723
6065
|
this.applyDiscount({
|
|
5724
6066
|
reapplyWeighedDiscountProductUids: reapplyWeighedDiscountProductUids,
|
|
5725
6067
|
reapplyBookingDiscountProductUids: params.allow_booking_discount_reapply && updatedProductUid ? [String(updatedProductUid)] : undefined
|
|
5726
6068
|
});
|
|
5727
6069
|
this.sanitizeTempOrderProducts(tempOrder);
|
|
5728
|
-
_context27.next =
|
|
6070
|
+
_context27.next = 11;
|
|
5729
6071
|
return this.recalculateSummary({
|
|
5730
6072
|
createIfMissing: true
|
|
5731
6073
|
});
|
|
5732
|
-
case
|
|
6074
|
+
case 11:
|
|
5733
6075
|
this.persistTempOrder();
|
|
5734
6076
|
this.emitPromotionApplied(promotionPayload);
|
|
5735
6077
|
this.logInfo('updateOrderProduct success', {
|
|
5736
6078
|
params: params
|
|
5737
6079
|
});
|
|
5738
6080
|
return _context27.abrupt("return", tempOrder.products);
|
|
5739
|
-
case
|
|
6081
|
+
case 15:
|
|
5740
6082
|
case "end":
|
|
5741
6083
|
return _context27.stop();
|
|
5742
6084
|
}
|
|
5743
6085
|
}, _callee25, this);
|
|
5744
6086
|
}));
|
|
5745
|
-
function updateOrderProduct(
|
|
6087
|
+
function updateOrderProduct(_x29) {
|
|
5746
6088
|
return _updateOrderProduct.apply(this, arguments);
|
|
5747
6089
|
}
|
|
5748
6090
|
return updateOrderProduct;
|
|
@@ -5751,7 +6093,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5751
6093
|
key: "updateOrderProducts",
|
|
5752
6094
|
value: function () {
|
|
5753
6095
|
var _updateOrderProducts = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26(paramsList) {
|
|
5754
|
-
var
|
|
6096
|
+
var _this37 = this;
|
|
5755
6097
|
var tempOrder, reapplyWeighedDiscountProductUids, reapplyBookingDiscountProductUids;
|
|
5756
6098
|
return _regeneratorRuntime().wrap(function _callee26$(_context28) {
|
|
5757
6099
|
while (1) switch (_context28.prev = _context28.next) {
|
|
@@ -5763,32 +6105,37 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5763
6105
|
}
|
|
5764
6106
|
return _context28.abrupt("return", tempOrder.products);
|
|
5765
6107
|
case 3:
|
|
6108
|
+
if (paramsList.some(function (params) {
|
|
6109
|
+
return _this37.isRestrictedCartProductUpdate(tempOrder, params);
|
|
6110
|
+
})) {
|
|
6111
|
+
this.createCartIntentCommitGuard('update_product', tempOrder)();
|
|
6112
|
+
}
|
|
5766
6113
|
reapplyWeighedDiscountProductUids = [];
|
|
5767
6114
|
reapplyBookingDiscountProductUids = paramsList.reduce(function (acc, params) {
|
|
5768
|
-
var updatedProductUid =
|
|
6115
|
+
var updatedProductUid = _this37.applyOrderProductUpdateToTempOrder(tempOrder, params, reapplyWeighedDiscountProductUids);
|
|
5769
6116
|
// 批量改预约时间时,延迟到最后一次折扣计算里统一恢复已选预约折扣卡。
|
|
5770
6117
|
if (params.allow_booking_discount_reapply && updatedProductUid) {
|
|
5771
6118
|
acc.push(String(updatedProductUid));
|
|
5772
6119
|
}
|
|
5773
6120
|
return acc;
|
|
5774
6121
|
}, []);
|
|
5775
|
-
_context28.next =
|
|
6122
|
+
_context28.next = 8;
|
|
5776
6123
|
return this.finalizeAfterProductsMutation(tempOrder, {
|
|
5777
6124
|
reapplyWeighedDiscountProductUids: reapplyWeighedDiscountProductUids,
|
|
5778
6125
|
reapplyBookingDiscountProductUids: reapplyBookingDiscountProductUids.length ? reapplyBookingDiscountProductUids : undefined
|
|
5779
6126
|
});
|
|
5780
|
-
case
|
|
6127
|
+
case 8:
|
|
5781
6128
|
this.logInfo('updateOrderProduct success', {
|
|
5782
6129
|
paramsList: paramsList
|
|
5783
6130
|
});
|
|
5784
6131
|
return _context28.abrupt("return", tempOrder.products);
|
|
5785
|
-
case
|
|
6132
|
+
case 10:
|
|
5786
6133
|
case "end":
|
|
5787
6134
|
return _context28.stop();
|
|
5788
6135
|
}
|
|
5789
6136
|
}, _callee26, this);
|
|
5790
6137
|
}));
|
|
5791
|
-
function updateOrderProducts(
|
|
6138
|
+
function updateOrderProducts(_x30) {
|
|
5792
6139
|
return _updateOrderProducts.apply(this, arguments);
|
|
5793
6140
|
}
|
|
5794
6141
|
return updateOrderProducts;
|
|
@@ -5796,12 +6143,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5796
6143
|
}, {
|
|
5797
6144
|
key: "updateOrderProductQuantity",
|
|
5798
6145
|
value: function () {
|
|
5799
|
-
var _updateOrderProductQuantity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27(params) {
|
|
5800
|
-
var _targetProduct$metada22;
|
|
5801
|
-
var product_id, product_variant_id, num, unique_identification_number, identity_key, product_sku, product_bundle, tempOrder, identityLookup, productIndex, targetUid, targetProduct, isPersistedOrderLine, normalizedProduct, settlementSnapshot, currencyProductId, asset, requiredAmount, balance, isVirtualSettlement, promotionPayload;
|
|
6146
|
+
var _updateOrderProductQuantity = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27(params, options) {
|
|
6147
|
+
var _this$store$tempOrder9, _targetProduct$metada22;
|
|
6148
|
+
var isCurrentOrder, product_id, product_variant_id, num, unique_identification_number, identity_key, product_sku, product_bundle, tempOrder, identityLookup, productIndex, targetUid, targetProduct, isPersistedOrderLine, normalizedProduct, settlementSnapshot, currencyProductId, asset, requiredAmount, balance, isVirtualSettlement, promotionPayload;
|
|
5802
6149
|
return _regeneratorRuntime().wrap(function _callee27$(_context29) {
|
|
5803
6150
|
while (1) switch (_context29.prev = _context29.next) {
|
|
5804
6151
|
case 0:
|
|
6152
|
+
isCurrentOrder = options === null || options === void 0 ? void 0 : options.isCurrentOrder;
|
|
6153
|
+
if (!(isCurrentOrder && !isCurrentOrder())) {
|
|
6154
|
+
_context29.next = 3;
|
|
6155
|
+
break;
|
|
6156
|
+
}
|
|
6157
|
+
return _context29.abrupt("return", ((_this$store$tempOrder9 = this.store.tempOrder) === null || _this$store$tempOrder9 === void 0 ? void 0 : _this$store$tempOrder9.products) || []);
|
|
6158
|
+
case 3:
|
|
5805
6159
|
product_id = params.product_id, product_variant_id = params.product_variant_id, num = params.num, unique_identification_number = params.unique_identification_number, identity_key = params.identity_key, product_sku = params.product_sku, product_bundle = params.product_bundle;
|
|
5806
6160
|
tempOrder = this.ensureTempOrder();
|
|
5807
6161
|
this.repairDuplicateProductLineIdentities(tempOrder);
|
|
@@ -5822,19 +6176,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5822
6176
|
if (unique_identification_number !== undefined) {
|
|
5823
6177
|
targetUid = String(unique_identification_number);
|
|
5824
6178
|
productIndex = tempOrder.products.findIndex(function (item) {
|
|
5825
|
-
var _item$
|
|
5826
|
-
return String(((_item$
|
|
6179
|
+
var _item$metadata7;
|
|
6180
|
+
return String(((_item$metadata7 = item.metadata) === null || _item$metadata7 === void 0 ? void 0 : _item$metadata7.unique_identification_number) || item.unique_identification_number || '') === targetUid;
|
|
5827
6181
|
});
|
|
5828
6182
|
}
|
|
5829
6183
|
if (productIndex === -1) {
|
|
5830
6184
|
productIndex = getProductIdentityIndex(tempOrder.products, identityLookup);
|
|
5831
6185
|
}
|
|
5832
6186
|
if (!(productIndex === -1)) {
|
|
5833
|
-
_context29.next =
|
|
6187
|
+
_context29.next = 16;
|
|
5834
6188
|
break;
|
|
5835
6189
|
}
|
|
5836
6190
|
throw new Error('[Order] 目标商品不存在,无法更新数量');
|
|
5837
|
-
case
|
|
6191
|
+
case 16:
|
|
5838
6192
|
targetProduct = tempOrder.products[productIndex];
|
|
5839
6193
|
isPersistedOrderLine = targetProduct.order_detail_id !== undefined && targetProduct.order_detail_id !== null;
|
|
5840
6194
|
normalizedProduct = this.normalizeVirtualSettlementProductIfEnabled(normalizeOrderProduct(_objectSpread(_objectSpread({}, targetProduct), {}, {
|
|
@@ -5846,7 +6200,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5846
6200
|
normalizedProduct.discount_list = normalizeOrderProductDiscountList(isPersistedOrderLine ? syncReducedEntitlementPassUsageCount(normalizedProduct.discount_list, targetProduct.num, normalizedProduct.num) : normalizedProduct.discount_list);
|
|
5847
6201
|
settlementSnapshot = getSelectedSettlementSnapshot(normalizedProduct);
|
|
5848
6202
|
if (!(this.isMultiCurrencySettlementEnabled() && (settlementSnapshot === null || settlementSnapshot === void 0 ? void 0 : settlementSnapshot.settlement_type) === 'virtual_currency' && tempOrder.customer_id && Number(tempOrder.customer_id) !== 1)) {
|
|
5849
|
-
_context29.next =
|
|
6203
|
+
_context29.next = 30;
|
|
5850
6204
|
break;
|
|
5851
6205
|
}
|
|
5852
6206
|
currencyProductId = Number(settlementSnapshot.currency_product_id);
|
|
@@ -5854,11 +6208,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5854
6208
|
return Number(item === null || item === void 0 ? void 0 : item.product_id) === currencyProductId;
|
|
5855
6209
|
});
|
|
5856
6210
|
if (asset) {
|
|
5857
|
-
_context29.next =
|
|
6211
|
+
_context29.next = 26;
|
|
5858
6212
|
break;
|
|
5859
6213
|
}
|
|
5860
6214
|
throw new VirtualCurrencyAssetNotFoundError(currencyProductId);
|
|
5861
|
-
case
|
|
6215
|
+
case 26:
|
|
5862
6216
|
requiredAmount = tempOrder.products.reduce(function (sum, item, index) {
|
|
5863
6217
|
var current = index === productIndex ? normalizedProduct : item;
|
|
5864
6218
|
var currentSnapshot = getSelectedSettlementSnapshot(current);
|
|
@@ -5866,50 +6220,73 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5866
6220
|
}, new Decimal(0));
|
|
5867
6221
|
balance = new Decimal(asset.balance || 0);
|
|
5868
6222
|
if (!balance.lt(requiredAmount)) {
|
|
5869
|
-
_context29.next =
|
|
6223
|
+
_context29.next = 30;
|
|
5870
6224
|
break;
|
|
5871
6225
|
}
|
|
5872
6226
|
throw new VirtualCurrencyBalanceError(balance.toFixed(2), requiredAmount.toFixed(2));
|
|
5873
|
-
case
|
|
6227
|
+
case 30:
|
|
6228
|
+
if (normalizedProduct.num > targetProduct.num) {
|
|
6229
|
+
this.createCartIntentCommitGuard('increase_quantity', tempOrder)();
|
|
6230
|
+
}
|
|
6231
|
+
if (!(isCurrentOrder && !isCurrentOrder())) {
|
|
6232
|
+
_context29.next = 33;
|
|
6233
|
+
break;
|
|
6234
|
+
}
|
|
6235
|
+
return _context29.abrupt("return", tempOrder.products);
|
|
6236
|
+
case 33:
|
|
5874
6237
|
tempOrder.products[productIndex] = normalizedProduct;
|
|
6238
|
+
if (!isCurrentOrder) {
|
|
6239
|
+
_context29.next = 39;
|
|
6240
|
+
break;
|
|
6241
|
+
}
|
|
6242
|
+
_context29.next = 37;
|
|
6243
|
+
return this.finalizeProductOrderMutation(tempOrder, {
|
|
6244
|
+
skipEditDiscountConfigRefresh: true,
|
|
6245
|
+
isCurrentOrder: isCurrentOrder
|
|
6246
|
+
});
|
|
6247
|
+
case 37:
|
|
6248
|
+
_context29.next = 55;
|
|
6249
|
+
break;
|
|
6250
|
+
case 39:
|
|
5875
6251
|
this.prepareVirtualSettlementTempOrder(tempOrder);
|
|
5876
6252
|
isVirtualSettlement = this.isActiveVirtualSettlementOrder(tempOrder);
|
|
5877
6253
|
if (isVirtualSettlement) {
|
|
5878
|
-
_context29.next =
|
|
6254
|
+
_context29.next = 47;
|
|
5879
6255
|
break;
|
|
5880
6256
|
}
|
|
5881
|
-
_context29.next =
|
|
6257
|
+
_context29.next = 44;
|
|
5882
6258
|
return this.evaluatePromotion();
|
|
5883
|
-
case
|
|
6259
|
+
case 44:
|
|
5884
6260
|
_context29.t0 = _context29.sent;
|
|
5885
|
-
_context29.next =
|
|
6261
|
+
_context29.next = 48;
|
|
5886
6262
|
break;
|
|
5887
|
-
case
|
|
6263
|
+
case 47:
|
|
5888
6264
|
_context29.t0 = null;
|
|
5889
|
-
case
|
|
6265
|
+
case 48:
|
|
5890
6266
|
promotionPayload = _context29.t0;
|
|
5891
6267
|
if (!isVirtualSettlement) {
|
|
5892
6268
|
this.applyDiscount();
|
|
5893
6269
|
}
|
|
5894
6270
|
this.sanitizeTempOrderProducts(tempOrder);
|
|
5895
|
-
_context29.next =
|
|
6271
|
+
_context29.next = 53;
|
|
5896
6272
|
return this.recalculateSummary({
|
|
5897
6273
|
createIfMissing: true
|
|
5898
6274
|
});
|
|
5899
|
-
case
|
|
6275
|
+
case 53:
|
|
5900
6276
|
this.persistTempOrder();
|
|
5901
6277
|
this.emitPromotionApplied(promotionPayload);
|
|
6278
|
+
case 55:
|
|
5902
6279
|
this.logInfo('updateOrderProductQuantity success', {
|
|
5903
6280
|
params: params
|
|
5904
6281
|
});
|
|
5905
6282
|
return _context29.abrupt("return", tempOrder.products);
|
|
5906
|
-
case
|
|
6283
|
+
case 57:
|
|
5907
6284
|
case "end":
|
|
5908
6285
|
return _context29.stop();
|
|
5909
6286
|
}
|
|
5910
6287
|
}, _callee27, this);
|
|
5911
6288
|
}));
|
|
5912
|
-
function updateOrderProductQuantity(
|
|
6289
|
+
function updateOrderProductQuantity(_x31, _x32) {
|
|
5913
6290
|
return _updateOrderProductQuantity.apply(this, arguments);
|
|
5914
6291
|
}
|
|
5915
6292
|
return updateOrderProductQuantity;
|
|
@@ -5978,7 +6355,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5978
6355
|
}
|
|
5979
6356
|
}, _callee28, this);
|
|
5980
6357
|
}));
|
|
5981
|
-
function finalizeAfterProductsMutation(
|
|
6358
|
+
function finalizeAfterProductsMutation(_x33, _x34) {
|
|
5982
6359
|
return _finalizeAfterProductsMutation.apply(this, arguments);
|
|
5983
6360
|
}
|
|
5984
6361
|
return finalizeAfterProductsMutation;
|
|
@@ -5994,18 +6371,26 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5994
6371
|
key: "removeProductsFromOrder",
|
|
5995
6372
|
value: (function () {
|
|
5996
6373
|
var _removeProductsFromOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee29(identities, options) {
|
|
5997
|
-
var
|
|
5998
|
-
|
|
6374
|
+
var _this$store$tempOrder10,
|
|
6375
|
+
_this38 = this;
|
|
6376
|
+
var isCurrentOrder, tempOrder, productsBeforeRemove, bookingsBeforeRemove, preserveDisplayPosition, anchorIndex, productsAfterAnchor, matchedProducts, removedProducts, _i2, _removedProducts, product, linkedBookingUidsToRemove, _iterator21, _step21, _loop3, remainingProductIndex, remainingProduct, nextProduct, productsWithoutRemaining, nextProductIndex;
|
|
5999
6377
|
return _regeneratorRuntime().wrap(function _callee29$(_context32) {
|
|
6000
6378
|
while (1) switch (_context32.prev = _context32.next) {
|
|
6001
6379
|
case 0:
|
|
6380
|
+
isCurrentOrder = options === null || options === void 0 ? void 0 : options.isCurrentOrder;
|
|
6381
|
+
if (!(isCurrentOrder && !isCurrentOrder())) {
|
|
6382
|
+
_context32.next = 3;
|
|
6383
|
+
break;
|
|
6384
|
+
}
|
|
6385
|
+
return _context32.abrupt("return", ((_this$store$tempOrder10 = this.store.tempOrder) === null || _this$store$tempOrder10 === void 0 ? void 0 : _this$store$tempOrder10.products) || []);
|
|
6386
|
+
case 3:
|
|
6002
6387
|
tempOrder = this.ensureTempOrder();
|
|
6003
6388
|
if (identities.length) {
|
|
6004
|
-
_context32.next =
|
|
6389
|
+
_context32.next = 6;
|
|
6005
6390
|
break;
|
|
6006
6391
|
}
|
|
6007
6392
|
return _context32.abrupt("return", tempOrder.products);
|
|
6008
|
-
case
|
|
6393
|
+
case 6:
|
|
6009
6394
|
// 商品删除会同步删除以商品行为主关系的 Notes;快照不完整时禁止产生孤儿 Relation。
|
|
6010
6395
|
this.ensureSalesNotesLoadedForMutation(tempOrder);
|
|
6011
6396
|
this.repairDuplicateProductLineIdentities(tempOrder);
|
|
@@ -6013,8 +6398,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6013
6398
|
bookingsBeforeRemove = tempOrder.bookings || [];
|
|
6014
6399
|
preserveDisplayPosition = options === null || options === void 0 ? void 0 : options.preserveDisplayPosition;
|
|
6015
6400
|
anchorIndex = preserveDisplayPosition ? productsBeforeRemove.findIndex(function (item) {
|
|
6016
|
-
var _item$
|
|
6017
|
-
var uid = ((_item$
|
|
6401
|
+
var _item$metadata8;
|
|
6402
|
+
var uid = ((_item$metadata8 = item.metadata) === null || _item$metadata8 === void 0 ? void 0 : _item$metadata8.unique_identification_number) || item.unique_identification_number;
|
|
6018
6403
|
return uid !== undefined && uid !== null && String(uid) === String(preserveDisplayPosition.anchorProductUid);
|
|
6019
6404
|
}) : -1;
|
|
6020
6405
|
productsAfterAnchor = anchorIndex >= 0 ? productsBeforeRemove.slice(anchorIndex + 1) : [];
|
|
@@ -6037,7 +6422,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6037
6422
|
}
|
|
6038
6423
|
linkedBookingUidsToRemove = new Set();
|
|
6039
6424
|
_iterator21 = _createForOfIteratorHelper(matchedProducts);
|
|
6040
|
-
_context32.prev =
|
|
6425
|
+
_context32.prev = 19;
|
|
6041
6426
|
_loop3 = /*#__PURE__*/_regeneratorRuntime().mark(function _loop3() {
|
|
6042
6427
|
var _metadata11, _metadata12, _metadata13, _metadata14;
|
|
6043
6428
|
var product, productUid, productBookingUid, isAddTimeProduct;
|
|
@@ -6059,7 +6444,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6059
6444
|
}
|
|
6060
6445
|
if (productUid !== undefined && productUid !== null && productUid !== '') {
|
|
6061
6446
|
bookingsBeforeRemove.forEach(function (booking) {
|
|
6062
|
-
var bookingUid =
|
|
6447
|
+
var bookingUid = _this38.getBookingUniqueIdentificationNumber(booking);
|
|
6063
6448
|
if (bookingUid && String((booking === null || booking === void 0 ? void 0 : booking.product_uid) || '') === String(productUid)) {
|
|
6064
6449
|
linkedBookingUidsToRemove.add(bookingUid);
|
|
6065
6450
|
}
|
|
@@ -6072,33 +6457,33 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6072
6457
|
}, _loop3);
|
|
6073
6458
|
});
|
|
6074
6459
|
_iterator21.s();
|
|
6075
|
-
case
|
|
6460
|
+
case 22:
|
|
6076
6461
|
if ((_step21 = _iterator21.n()).done) {
|
|
6077
|
-
_context32.next =
|
|
6462
|
+
_context32.next = 28;
|
|
6078
6463
|
break;
|
|
6079
6464
|
}
|
|
6080
|
-
return _context32.delegateYield(_loop3(), "t0",
|
|
6081
|
-
case
|
|
6465
|
+
return _context32.delegateYield(_loop3(), "t0", 24);
|
|
6466
|
+
case 24:
|
|
6082
6467
|
if (!_context32.t0) {
|
|
6083
|
-
_context32.next =
|
|
6468
|
+
_context32.next = 26;
|
|
6084
6469
|
break;
|
|
6085
6470
|
}
|
|
6086
|
-
return _context32.abrupt("continue",
|
|
6087
|
-
case
|
|
6088
|
-
_context32.next =
|
|
6471
|
+
return _context32.abrupt("continue", 26);
|
|
6472
|
+
case 26:
|
|
6473
|
+
_context32.next = 22;
|
|
6089
6474
|
break;
|
|
6090
|
-
case
|
|
6091
|
-
_context32.next =
|
|
6475
|
+
case 28:
|
|
6476
|
+
_context32.next = 33;
|
|
6092
6477
|
break;
|
|
6093
|
-
case 27:
|
|
6094
|
-
_context32.prev = 27;
|
|
6095
|
-
_context32.t1 = _context32["catch"](16);
|
|
6096
|
-
_iterator21.e(_context32.t1);
|
|
6097
6478
|
case 30:
|
|
6098
6479
|
_context32.prev = 30;
|
|
6099
|
-
|
|
6100
|
-
|
|
6480
|
+
_context32.t1 = _context32["catch"](19);
|
|
6481
|
+
_iterator21.e(_context32.t1);
|
|
6101
6482
|
case 33:
|
|
6483
|
+
_context32.prev = 33;
|
|
6484
|
+
_iterator21.f();
|
|
6485
|
+
return _context32.finish(33);
|
|
6486
|
+
case 36:
|
|
6102
6487
|
if (linkedBookingUidsToRemove.size > 0) {
|
|
6103
6488
|
// 删除主预约商品时,同步移除挂在同一 booking_uid 下的加时商品,避免残留孤儿行。
|
|
6104
6489
|
tempOrder.products = (tempOrder.products || []).filter(function (line) {
|
|
@@ -6110,8 +6495,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6110
6495
|
}
|
|
6111
6496
|
if (preserveDisplayPosition && anchorIndex >= 0) {
|
|
6112
6497
|
remainingProductIndex = tempOrder.products.findIndex(function (item) {
|
|
6113
|
-
var _item$
|
|
6114
|
-
var uid = ((_item$
|
|
6498
|
+
var _item$metadata9;
|
|
6499
|
+
var uid = ((_item$metadata9 = item.metadata) === null || _item$metadata9 === void 0 ? void 0 : _item$metadata9.unique_identification_number) || item.unique_identification_number;
|
|
6115
6500
|
return uid !== undefined && uid !== null && String(uid) === String(preserveDisplayPosition.remainingProductUid);
|
|
6116
6501
|
});
|
|
6117
6502
|
if (remainingProductIndex >= 0) {
|
|
@@ -6124,21 +6509,37 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6124
6509
|
tempOrder.products = nextProductIndex >= 0 ? [].concat(_toConsumableArray(productsWithoutRemaining.slice(0, nextProductIndex)), [remainingProduct], _toConsumableArray(productsWithoutRemaining.slice(nextProductIndex))) : [].concat(_toConsumableArray(productsWithoutRemaining), [remainingProduct]);
|
|
6125
6510
|
}
|
|
6126
6511
|
}
|
|
6512
|
+
removeProductHolderRelations(tempOrder, productsBeforeRemove.filter(function (product) {
|
|
6513
|
+
return !tempOrder.products.includes(product);
|
|
6514
|
+
}));
|
|
6127
6515
|
this.removeSalesNotesForMissingProductLines(tempOrder);
|
|
6128
|
-
|
|
6516
|
+
if (!isCurrentOrder) {
|
|
6517
|
+
_context32.next = 45;
|
|
6518
|
+
break;
|
|
6519
|
+
}
|
|
6520
|
+
_context32.next = 43;
|
|
6521
|
+
return this.finalizeProductOrderMutation(tempOrder, {
|
|
6522
|
+
skipEditDiscountConfigRefresh: true,
|
|
6523
|
+
isCurrentOrder: isCurrentOrder
|
|
6524
|
+
});
|
|
6525
|
+
case 43:
|
|
6526
|
+
_context32.next = 47;
|
|
6527
|
+
break;
|
|
6528
|
+
case 45:
|
|
6529
|
+
_context32.next = 47;
|
|
6129
6530
|
return this.finalizeAfterProductsMutation(tempOrder);
|
|
6130
|
-
case
|
|
6531
|
+
case 47:
|
|
6131
6532
|
this.logInfo('removeProductsFromOrder success', {
|
|
6132
6533
|
identities: identities
|
|
6133
6534
|
});
|
|
6134
6535
|
return _context32.abrupt("return", tempOrder.products);
|
|
6135
|
-
case
|
|
6536
|
+
case 49:
|
|
6136
6537
|
case "end":
|
|
6137
6538
|
return _context32.stop();
|
|
6138
6539
|
}
|
|
6139
|
-
}, _callee29, this, [[
|
|
6540
|
+
}, _callee29, this, [[19, 30, 33, 36]]);
|
|
6140
6541
|
}));
|
|
6141
|
-
function removeProductsFromOrder(
|
|
6542
|
+
function removeProductsFromOrder(_x35, _x36) {
|
|
6142
6543
|
return _removeProductsFromOrder.apply(this, arguments);
|
|
6143
6544
|
}
|
|
6144
6545
|
return removeProductsFromOrder;
|
|
@@ -6157,7 +6558,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6157
6558
|
}
|
|
6158
6559
|
}, _callee30, this);
|
|
6159
6560
|
}));
|
|
6160
|
-
function removeProductFromOrder(
|
|
6561
|
+
function removeProductFromOrder(_x37, _x38) {
|
|
6161
6562
|
return _removeProductFromOrder.apply(this, arguments);
|
|
6162
6563
|
}
|
|
6163
6564
|
return removeProductFromOrder;
|
|
@@ -6176,6 +6577,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6176
6577
|
case 0:
|
|
6177
6578
|
tempOrder = this.ensureTempOrder();
|
|
6178
6579
|
this.ensureSalesNotesLoadedForMutation(tempOrder);
|
|
6580
|
+
removeProductHolderRelations(tempOrder, tempOrder.products);
|
|
6179
6581
|
tempOrder.products = [];
|
|
6180
6582
|
tempOrder.bookings = [];
|
|
6181
6583
|
releaseTempOrderSettlementState(tempOrder);
|
|
@@ -6186,22 +6588,22 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6186
6588
|
productsByUid: {}
|
|
6187
6589
|
});
|
|
6188
6590
|
}
|
|
6189
|
-
_context34.next =
|
|
6591
|
+
_context34.next = 11;
|
|
6190
6592
|
return this.evaluatePromotion();
|
|
6191
|
-
case
|
|
6593
|
+
case 11:
|
|
6192
6594
|
promotionPayload = _context34.sent;
|
|
6193
6595
|
this.applyDiscount();
|
|
6194
6596
|
this.sanitizeTempOrderProducts(tempOrder);
|
|
6195
|
-
_context34.next =
|
|
6597
|
+
_context34.next = 16;
|
|
6196
6598
|
return this.recalculateSummary({
|
|
6197
6599
|
createIfMissing: true
|
|
6198
6600
|
});
|
|
6199
|
-
case
|
|
6601
|
+
case 16:
|
|
6200
6602
|
this.persistTempOrder();
|
|
6201
6603
|
this.emitPromotionApplied(promotionPayload);
|
|
6202
6604
|
this.logInfo('clearOrderCartLines success', {});
|
|
6203
6605
|
return _context34.abrupt("return", tempOrder);
|
|
6204
|
-
case
|
|
6606
|
+
case 20:
|
|
6205
6607
|
case "end":
|
|
6206
6608
|
return _context34.stop();
|
|
6207
6609
|
}
|
|
@@ -6227,6 +6629,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6227
6629
|
case 0:
|
|
6228
6630
|
tempOrder = this.ensureTempOrder();
|
|
6229
6631
|
this.ensureSalesNotesLoadedForMutation(tempOrder);
|
|
6632
|
+
removeProductHolderRelations(tempOrder, tempOrder.products);
|
|
6230
6633
|
tempOrder.products = [];
|
|
6231
6634
|
tempOrder.bookings = [];
|
|
6232
6635
|
this.removeSalesNotesForMissingProductLines(tempOrder);
|
|
@@ -6242,24 +6645,24 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6242
6645
|
productsByUid: {}
|
|
6243
6646
|
});
|
|
6244
6647
|
}
|
|
6245
|
-
_context35.next =
|
|
6648
|
+
_context35.next = 16;
|
|
6246
6649
|
return (_this$store$discount22 = this.store.discount) === null || _this$store$discount22 === void 0 ? void 0 : _this$store$discount22.setDiscountList([]);
|
|
6247
|
-
case
|
|
6248
|
-
_context35.next =
|
|
6650
|
+
case 16:
|
|
6651
|
+
_context35.next = 18;
|
|
6249
6652
|
return (_this$store$discount23 = this.store.discount) === null || _this$store$discount23 === void 0 ? void 0 : _this$store$discount23.setOriginalDiscountList([]);
|
|
6250
|
-
case
|
|
6653
|
+
case 18:
|
|
6251
6654
|
this.hasActiveCustomerBoundDiscount = false;
|
|
6252
6655
|
this.lastUnfulfilledPromotions = [];
|
|
6253
6656
|
this.lastGiftActions = null;
|
|
6254
|
-
_context35.next =
|
|
6657
|
+
_context35.next = 23;
|
|
6255
6658
|
return this.recalculateSummary({
|
|
6256
6659
|
createIfMissing: true
|
|
6257
6660
|
});
|
|
6258
|
-
case
|
|
6661
|
+
case 23:
|
|
6259
6662
|
this.persistTempOrder();
|
|
6260
6663
|
this.logInfo('clearOrderForSettlementSwitch success', {});
|
|
6261
6664
|
return _context35.abrupt("return", tempOrder);
|
|
6262
|
-
case
|
|
6665
|
+
case 26:
|
|
6263
6666
|
case "end":
|
|
6264
6667
|
return _context35.stop();
|
|
6265
6668
|
}
|
|
@@ -6332,7 +6735,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6332
6735
|
}
|
|
6333
6736
|
}, _callee33, this);
|
|
6334
6737
|
}));
|
|
6335
|
-
function applyLocalPrintOrderNumbers(
|
|
6738
|
+
function applyLocalPrintOrderNumbers(_x39) {
|
|
6336
6739
|
return _applyLocalPrintOrderNumbers.apply(this, arguments);
|
|
6337
6740
|
}
|
|
6338
6741
|
return applyLocalPrintOrderNumbers;
|
|
@@ -6399,7 +6802,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6399
6802
|
}
|
|
6400
6803
|
}, _callee34, this);
|
|
6401
6804
|
}));
|
|
6402
|
-
function saveTempOrderAsDraft(
|
|
6805
|
+
function saveTempOrderAsDraft(_x40) {
|
|
6403
6806
|
return _saveTempOrderAsDraft.apply(this, arguments);
|
|
6404
6807
|
}
|
|
6405
6808
|
return saveTempOrderAsDraft;
|
|
@@ -6424,7 +6827,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6424
6827
|
}
|
|
6425
6828
|
}, _callee35, this);
|
|
6426
6829
|
}));
|
|
6427
|
-
function submitTempOrder(
|
|
6830
|
+
function submitTempOrder(_x41) {
|
|
6428
6831
|
return _submitTempOrder.apply(this, arguments);
|
|
6429
6832
|
}
|
|
6430
6833
|
return submitTempOrder;
|
|
@@ -6445,7 +6848,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6445
6848
|
}
|
|
6446
6849
|
}, _callee36, this);
|
|
6447
6850
|
}));
|
|
6448
|
-
function submitTempOrderAsync(
|
|
6851
|
+
function submitTempOrderAsync(_x42) {
|
|
6449
6852
|
return _submitTempOrderAsync.apply(this, arguments);
|
|
6450
6853
|
}
|
|
6451
6854
|
return submitTempOrderAsync;
|
|
@@ -6460,6 +6863,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6460
6863
|
while (1) switch (_context40.prev = _context40.next) {
|
|
6461
6864
|
case 0:
|
|
6462
6865
|
tempOrder = this.ensureTempOrder();
|
|
6866
|
+
if (!requiresLocalPaymentRefresh(tempOrder)) {
|
|
6867
|
+
_context40.next = 3;
|
|
6868
|
+
break;
|
|
6869
|
+
}
|
|
6870
|
+
throw new Error(PAYMENT_REFRESH_MESSAGE);
|
|
6871
|
+
case 3:
|
|
6463
6872
|
this.prepareVirtualSettlementTempOrder(tempOrder);
|
|
6464
6873
|
isOnlineStorePlatform = this.isOnlineStorePlatform();
|
|
6465
6874
|
shouldConfirmPendingVoucherPayments = (params === null || params === void 0 ? void 0 : params.confirmPendingVoucherPayments) !== false;
|
|
@@ -6481,25 +6890,25 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6481
6890
|
}
|
|
6482
6891
|
}
|
|
6483
6892
|
this.persistTempOrder();
|
|
6484
|
-
_context40.next =
|
|
6893
|
+
_context40.next = 12;
|
|
6485
6894
|
return this.recalculateSummary({
|
|
6486
6895
|
createIfMissing: true
|
|
6487
6896
|
});
|
|
6488
|
-
case
|
|
6897
|
+
case 12:
|
|
6489
6898
|
_context40.t1 = _context40.sent;
|
|
6490
6899
|
if (_context40.t1) {
|
|
6491
|
-
_context40.next =
|
|
6900
|
+
_context40.next = 15;
|
|
6492
6901
|
break;
|
|
6493
6902
|
}
|
|
6494
6903
|
_context40.t1 = this.store.summary;
|
|
6495
|
-
case
|
|
6904
|
+
case 15:
|
|
6496
6905
|
_context40.t0 = _context40.t1;
|
|
6497
6906
|
if (_context40.t0) {
|
|
6498
|
-
_context40.next =
|
|
6907
|
+
_context40.next = 18;
|
|
6499
6908
|
break;
|
|
6500
6909
|
}
|
|
6501
6910
|
_context40.t0 = createEmptySummary();
|
|
6502
|
-
case
|
|
6911
|
+
case 18:
|
|
6503
6912
|
latestSummary = _context40.t0;
|
|
6504
6913
|
effectiveCacheId = (_params$cacheId3 = params === null || params === void 0 ? void 0 : params.cacheId) !== null && _params$cacheId3 !== void 0 ? _params$cacheId3 : this.cacheId;
|
|
6505
6914
|
hasPaymentStatusOverride = (params === null || params === void 0 ? void 0 : params.paymentStatus) !== undefined;
|
|
@@ -6536,10 +6945,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6536
6945
|
if (!payload.created_at) {
|
|
6537
6946
|
payload.created_at = dayjs().format('YYYY-MM-DD HH:mm:ss');
|
|
6538
6947
|
}
|
|
6539
|
-
_context40.next =
|
|
6948
|
+
_context40.next = 30;
|
|
6540
6949
|
return this.saveDraft();
|
|
6541
|
-
case
|
|
6542
|
-
_context40.prev =
|
|
6950
|
+
case 30:
|
|
6951
|
+
_context40.prev = 30;
|
|
6543
6952
|
this.logInfo('submitTempOrder calling sales checkout', {
|
|
6544
6953
|
orderId: payload.order_id,
|
|
6545
6954
|
externalSaleNumber: payload.external_sale_number,
|
|
@@ -6549,26 +6958,26 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6549
6958
|
smallTicketDataFlag: payload.small_ticket_data_flag,
|
|
6550
6959
|
syncMode: payload.sync_mode
|
|
6551
6960
|
});
|
|
6552
|
-
_context40.next =
|
|
6961
|
+
_context40.next = 34;
|
|
6553
6962
|
return this.submitSalesOrder({
|
|
6554
6963
|
query: payload
|
|
6555
6964
|
});
|
|
6556
|
-
case
|
|
6965
|
+
case 34:
|
|
6557
6966
|
result = _context40.sent;
|
|
6558
|
-
_context40.next =
|
|
6967
|
+
_context40.next = 47;
|
|
6559
6968
|
break;
|
|
6560
|
-
case
|
|
6561
|
-
_context40.prev =
|
|
6562
|
-
_context40.t2 = _context40["catch"](
|
|
6969
|
+
case 37:
|
|
6970
|
+
_context40.prev = 37;
|
|
6971
|
+
_context40.t2 = _context40["catch"](30);
|
|
6563
6972
|
backendErrorResponse = this.extractSubmitErrorResponse(_context40.t2);
|
|
6564
6973
|
if (!backendErrorResponse) {
|
|
6565
|
-
_context40.next =
|
|
6974
|
+
_context40.next = 44;
|
|
6566
6975
|
break;
|
|
6567
6976
|
}
|
|
6568
6977
|
this.store.syncState = 'failed';
|
|
6569
6978
|
this.logSubmitBackendRejected(backendErrorResponse, payload);
|
|
6570
6979
|
return _context40.abrupt("return", backendErrorResponse);
|
|
6571
|
-
case
|
|
6980
|
+
case 44:
|
|
6572
6981
|
this.store.syncState = 'failed';
|
|
6573
6982
|
this.logError('submitTempOrder failed', {
|
|
6574
6983
|
error: _context40.t2 instanceof Error ? _context40.t2.message : String(_context40.t2),
|
|
@@ -6578,15 +6987,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6578
6987
|
paymentsCount: ((_payload$payments2 = payload.payments) === null || _payload$payments2 === void 0 ? void 0 : _payload$payments2.length) || 0
|
|
6579
6988
|
});
|
|
6580
6989
|
throw _context40.t2;
|
|
6581
|
-
case
|
|
6990
|
+
case 47:
|
|
6582
6991
|
if (!this.isSubmitResponseRejected(result)) {
|
|
6583
|
-
_context40.next =
|
|
6992
|
+
_context40.next = 51;
|
|
6584
6993
|
break;
|
|
6585
6994
|
}
|
|
6586
6995
|
this.store.syncState = 'failed';
|
|
6587
6996
|
this.logSubmitBackendRejected(result, payload);
|
|
6588
6997
|
return _context40.abrupt("return", result);
|
|
6589
|
-
case
|
|
6998
|
+
case 51:
|
|
6590
6999
|
isLocalPendingSubmit = this.isLocalPendingSubmitResult(result); // need_sync=1 仅表示已进入本地同步队列,不能视为远端已确认 Notes。
|
|
6591
7000
|
if (Object.prototype.hasOwnProperty.call(payload, 'notes') && !isLocalPendingSubmit) {
|
|
6592
7001
|
salesNotesState = this.ensureSalesNotesRuntimeState(tempOrder);
|
|
@@ -6601,27 +7010,27 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6601
7010
|
})
|
|
6602
7011
|
});
|
|
6603
7012
|
if (!(submittedOrderId !== null && submittedOrderId !== undefined)) {
|
|
6604
|
-
_context40.next =
|
|
7013
|
+
_context40.next = 60;
|
|
6605
7014
|
break;
|
|
6606
7015
|
}
|
|
6607
7016
|
tempOrder.order_id = submittedOrderId;
|
|
6608
7017
|
resultRecord = result;
|
|
6609
|
-
_context40.next =
|
|
7018
|
+
_context40.next = 60;
|
|
6610
7019
|
return this.markLocalOrderSynced(submittedOrderId, (resultRecord === null || resultRecord === void 0 ? void 0 : resultRecord.data) || resultRecord || {});
|
|
6611
|
-
case
|
|
7020
|
+
case 60:
|
|
6612
7021
|
if (isLocalPendingSubmit) {
|
|
6613
7022
|
this.store.syncState = 'local';
|
|
6614
7023
|
} else if (submittedOrderId === null || submittedOrderId === undefined) {
|
|
6615
7024
|
this.store.syncState = 'submitted';
|
|
6616
7025
|
}
|
|
6617
7026
|
return _context40.abrupt("return", result);
|
|
6618
|
-
case
|
|
7027
|
+
case 62:
|
|
6619
7028
|
case "end":
|
|
6620
7029
|
return _context40.stop();
|
|
6621
7030
|
}
|
|
6622
|
-
}, _callee37, this, [[
|
|
7031
|
+
}, _callee37, this, [[30, 37]]);
|
|
6623
7032
|
}));
|
|
6624
|
-
function runSubmitTempOrder(
|
|
7033
|
+
function runSubmitTempOrder(_x43) {
|
|
6625
7034
|
return _runSubmitTempOrder.apply(this, arguments);
|
|
6626
7035
|
}
|
|
6627
7036
|
return runSubmitTempOrder;
|
|
@@ -6648,7 +7057,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6648
7057
|
}
|
|
6649
7058
|
}, _callee38, this);
|
|
6650
7059
|
}));
|
|
6651
|
-
function markLocalOrderSynced(
|
|
7060
|
+
function markLocalOrderSynced(_x44, _x45) {
|
|
6652
7061
|
return _markLocalOrderSynced.apply(this, arguments);
|
|
6653
7062
|
}
|
|
6654
7063
|
return markLocalOrderSynced;
|
|
@@ -6691,10 +7100,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6691
7100
|
value: function extractSubmitErrorResponse(error) {
|
|
6692
7101
|
var _error$response,
|
|
6693
7102
|
_error$response2,
|
|
6694
|
-
|
|
7103
|
+
_this39 = this;
|
|
6695
7104
|
var candidates = [error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data, error === null || error === void 0 ? void 0 : error.data, error === null || error === void 0 || (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.body, error === null || error === void 0 ? void 0 : error.body];
|
|
6696
7105
|
return candidates.find(function (candidate) {
|
|
6697
|
-
return
|
|
7106
|
+
return _this39.isSubmitErrorResponse(candidate);
|
|
6698
7107
|
}) || null;
|
|
6699
7108
|
}
|
|
6700
7109
|
}, {
|
|
@@ -6722,7 +7131,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6722
7131
|
key: "syncPaymentsToOrder",
|
|
6723
7132
|
value: function () {
|
|
6724
7133
|
var _syncPaymentsToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee39(params) {
|
|
6725
|
-
var
|
|
7134
|
+
var _this40 = this,
|
|
6726
7135
|
_params$confirmPendin;
|
|
6727
7136
|
var tempOrder, needsPaymentNumber, devicePrefix, mappedPayments, shouldConfirmPendingVoucherPayments, effectivePayments, completion, orderPaidPaymentTotal, paymentStatus, paymentSyncIdempotencyToken, enhancePayload, submitParams, submitResult;
|
|
6728
7137
|
return _regeneratorRuntime().wrap(function _callee39$(_context42) {
|
|
@@ -6747,7 +7156,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6747
7156
|
case 9:
|
|
6748
7157
|
devicePrefix = _context42.t0;
|
|
6749
7158
|
mappedPayments = mapPaymentItemsToOrderPayments((params.payments || []).map(function (payment) {
|
|
6750
|
-
return
|
|
7159
|
+
return _this40.normalizePaymentSource(payment, {
|
|
6751
7160
|
defaultPaid: false,
|
|
6752
7161
|
devicePrefix: devicePrefix
|
|
6753
7162
|
});
|
|
@@ -6818,7 +7227,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6818
7227
|
}
|
|
6819
7228
|
}, _callee39, this);
|
|
6820
7229
|
}));
|
|
6821
|
-
function syncPaymentsToOrder(
|
|
7230
|
+
function syncPaymentsToOrder(_x46) {
|
|
6822
7231
|
return _syncPaymentsToOrder.apply(this, arguments);
|
|
6823
7232
|
}
|
|
6824
7233
|
return syncPaymentsToOrder;
|
|
@@ -6826,7 +7235,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6826
7235
|
}, {
|
|
6827
7236
|
key: "createOrder",
|
|
6828
7237
|
value: function createOrder(params) {
|
|
6829
|
-
var
|
|
7238
|
+
var _this41 = this;
|
|
6830
7239
|
var order = _objectSpread({
|
|
6831
7240
|
type: (params === null || params === void 0 ? void 0 : params.type) || 'appointment_booking',
|
|
6832
7241
|
// 要从外面拿,virtual
|
|
@@ -6858,7 +7267,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6858
7267
|
|
|
6859
7268
|
// 为预约补齐 holder 信息
|
|
6860
7269
|
if (params !== null && params !== void 0 && (_params$extraData = params.extraData) !== null && _params$extraData !== void 0 && _params$extraData.is_add_holder_info) {
|
|
6861
|
-
ensureCartItemOriginHolder(item,
|
|
7270
|
+
ensureCartItemOriginHolder(item, _this41.window);
|
|
6862
7271
|
}
|
|
6863
7272
|
|
|
6864
7273
|
// 购物车是否为普通商品
|
|
@@ -6946,7 +7355,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6946
7355
|
}
|
|
6947
7356
|
}, _callee40, this);
|
|
6948
7357
|
}));
|
|
6949
|
-
function submitOrder(
|
|
7358
|
+
function submitOrder(_x47) {
|
|
6950
7359
|
return _submitOrder.apply(this, arguments);
|
|
6951
7360
|
}
|
|
6952
7361
|
return submitOrder;
|
|
@@ -6985,7 +7394,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6985
7394
|
}
|
|
6986
7395
|
}, _callee41, this);
|
|
6987
7396
|
}));
|
|
6988
|
-
function cancelOrder(
|
|
7397
|
+
function cancelOrder(_x48) {
|
|
6989
7398
|
return _cancelOrder.apply(this, arguments);
|
|
6990
7399
|
}
|
|
6991
7400
|
return cancelOrder;
|
|
@@ -7029,7 +7438,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7029
7438
|
}
|
|
7030
7439
|
}, _callee42, this);
|
|
7031
7440
|
}));
|
|
7032
|
-
function changeBookingStatus(
|
|
7441
|
+
function changeBookingStatus(_x49) {
|
|
7033
7442
|
return _changeBookingStatus.apply(this, arguments);
|
|
7034
7443
|
}
|
|
7035
7444
|
return changeBookingStatus;
|
|
@@ -7149,7 +7558,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7149
7558
|
}
|
|
7150
7559
|
}, _callee43, this, [[3, 15]]);
|
|
7151
7560
|
}));
|
|
7152
|
-
function createOrderByCheckout(
|
|
7561
|
+
function createOrderByCheckout(_x50) {
|
|
7153
7562
|
return _createOrderByCheckout.apply(this, arguments);
|
|
7154
7563
|
}
|
|
7155
7564
|
return createOrderByCheckout;
|
|
@@ -7164,7 +7573,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7164
7573
|
case 0:
|
|
7165
7574
|
url = params.url, query = params.query;
|
|
7166
7575
|
fetchUrl = url || '/order/sales/checkout';
|
|
7167
|
-
requestQuery = this.isSalesCheckoutHandledByOsServer(fetchUrl) ? query : stripOsPrivatePayloadFields(query);
|
|
7576
|
+
requestQuery = this.isSalesCheckoutHandledByOsServer(fetchUrl) ? query : stripLocalEftposState(stripOsPrivatePayloadFields(query));
|
|
7168
7577
|
return _context47.abrupt("return", this.request.post(fetchUrl, requestQuery, {
|
|
7169
7578
|
osServer: true,
|
|
7170
7579
|
customToast: function customToast() {}
|
|
@@ -7175,7 +7584,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7175
7584
|
}
|
|
7176
7585
|
}, _callee44, this);
|
|
7177
7586
|
}));
|
|
7178
|
-
function submitSalesOrder(
|
|
7587
|
+
function submitSalesOrder(_x51) {
|
|
7179
7588
|
return _submitSalesOrder.apply(this, arguments);
|
|
7180
7589
|
}
|
|
7181
7590
|
return submitSalesOrder;
|
|
@@ -7232,7 +7641,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7232
7641
|
}
|
|
7233
7642
|
}, _callee45, this);
|
|
7234
7643
|
}));
|
|
7235
|
-
function sendCustomerPayLink(
|
|
7644
|
+
function sendCustomerPayLink(_x52) {
|
|
7236
7645
|
return _sendCustomerPayLink.apply(this, arguments);
|
|
7237
7646
|
}
|
|
7238
7647
|
return sendCustomerPayLink;
|
|
@@ -7257,12 +7666,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7257
7666
|
params.forceRemote = false;
|
|
7258
7667
|
}
|
|
7259
7668
|
_context49.next = 6;
|
|
7260
|
-
return this.request
|
|
7261
|
-
|
|
7262
|
-
|
|
7263
|
-
forceRemote:
|
|
7264
|
-
} : {}), {
|
|
7265
|
-
osServer: true
|
|
7669
|
+
return loadSalesOrderSnapshot(this.request, {
|
|
7670
|
+
lookup: lookup,
|
|
7671
|
+
transport: 'os-server',
|
|
7672
|
+
forceRemote: params.forceRemote
|
|
7266
7673
|
});
|
|
7267
7674
|
case 6:
|
|
7268
7675
|
res = _context49.sent;
|
|
@@ -7276,7 +7683,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7276
7683
|
}
|
|
7277
7684
|
}, _callee46, this);
|
|
7278
7685
|
}));
|
|
7279
|
-
function getSalesOrderByLookup(
|
|
7686
|
+
function getSalesOrderByLookup(_x53) {
|
|
7280
7687
|
return _getSalesOrderByLookup.apply(this, arguments);
|
|
7281
7688
|
}
|
|
7282
7689
|
return getSalesOrderByLookup;
|
|
@@ -7389,6 +7796,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7389
7796
|
originalSalesSnapshot: _objectSpread(_objectSpread({
|
|
7390
7797
|
summary: cloneDeep(this.store.summary),
|
|
7391
7798
|
products: cloneDeep(nextTempOrder.products || []),
|
|
7799
|
+
holder_relations: cloneDeep(nextTempOrder.holder_relations),
|
|
7392
7800
|
bookings: cloneDeep(nextTempOrder.bookings || []),
|
|
7393
7801
|
payments: cloneDeep(nextTempOrder.payments || []),
|
|
7394
7802
|
surcharges: cloneDeep(nextTempOrder.surcharges || []),
|
|
@@ -7447,7 +7855,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7447
7855
|
}
|
|
7448
7856
|
}, _callee47, this);
|
|
7449
7857
|
}));
|
|
7450
|
-
function hydrateTempOrderFromRecord(
|
|
7858
|
+
function hydrateTempOrderFromRecord(_x54, _x55) {
|
|
7451
7859
|
return _hydrateTempOrderFromRecord.apply(this, arguments);
|
|
7452
7860
|
}
|
|
7453
7861
|
return hydrateTempOrderFromRecord;
|
|
@@ -7561,7 +7969,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7561
7969
|
}, {
|
|
7562
7970
|
key: "normalizeTempOrderForRuntime",
|
|
7563
7971
|
value: function normalizeTempOrderForRuntime(raw, options) {
|
|
7564
|
-
var
|
|
7972
|
+
var _this42 = this,
|
|
7565
7973
|
_raw$_extend;
|
|
7566
7974
|
var runtimeRaw = this.withoutSyntheticDraftOrderIdForRuntime(raw);
|
|
7567
7975
|
var nextTempOrder = _objectSpread(_objectSpread({}, this.createDefaultTempOrderInstance()), runtimeRaw || {});
|
|
@@ -7583,15 +7991,18 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7583
7991
|
delete nextTempOrder.total_refund_amount;
|
|
7584
7992
|
delete nextTempOrder.holder_id;
|
|
7585
7993
|
nextTempOrder.metadata = raw.metadata && _typeof(raw.metadata) === 'object' ? _objectSpread({}, raw.metadata) : {};
|
|
7994
|
+
var holderRelations = restoreLegacyHolderRelations(raw);
|
|
7995
|
+
if (holderRelations === undefined) delete nextTempOrder.holder_relations;else nextTempOrder.holder_relations = cloneDeep(holderRelations);
|
|
7996
|
+
ensureHolderRelationUuids(nextTempOrder);
|
|
7586
7997
|
nextTempOrder.holder = raw.holder && _typeof(raw.holder) === 'object' ? _objectSpread({}, raw.holder) : null;
|
|
7587
7998
|
var rawProducts = Array.isArray(raw.products) ? raw.products : [];
|
|
7588
7999
|
nextTempOrder.products = rawProducts.length > 0 ? rawProducts.map(function (p) {
|
|
7589
|
-
return
|
|
8000
|
+
return _this42.normalizeHydratedOrderProduct(p, {
|
|
7590
8001
|
makeEditMark: options === null || options === void 0 ? void 0 : options.makeEditMark
|
|
7591
8002
|
});
|
|
7592
8003
|
}) : [];
|
|
7593
8004
|
nextTempOrder.bookings = Array.isArray(raw.bookings) ? raw.bookings.map(function (b) {
|
|
7594
|
-
var booking =
|
|
8005
|
+
var booking = _this42.normalizeHydratedBookingHolder(b || {});
|
|
7595
8006
|
return _objectSpread(_objectSpread({}, booking), {}, {
|
|
7596
8007
|
is_all: normalizeBookingIsAll(booking),
|
|
7597
8008
|
sub_type: normalizeBookingSubType(booking)
|
|
@@ -7671,6 +8082,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7671
8082
|
}
|
|
7672
8083
|
tempOrderExtend.productsByUid = productsByUid;
|
|
7673
8084
|
this.hydrateLinkedBookingIdentity(nextTempOrder);
|
|
8085
|
+
nextTempOrder.products.forEach(function (product) {
|
|
8086
|
+
return _this42.sanitizeOrderProductForTempOrder(product);
|
|
8087
|
+
});
|
|
7674
8088
|
if ((options === null || options === void 0 ? void 0 : options.ensureIdentity) !== false) {
|
|
7675
8089
|
this.ensureExternalSaleNumber(nextTempOrder);
|
|
7676
8090
|
}
|
|
@@ -7798,7 +8212,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7798
8212
|
}, {
|
|
7799
8213
|
key: "normalizeHydratedOrderProduct",
|
|
7800
8214
|
value: function normalizeHydratedOrderProduct(product, options) {
|
|
7801
|
-
var
|
|
8215
|
+
var _this43 = this;
|
|
7802
8216
|
var row = _objectSpread({}, product || {});
|
|
7803
8217
|
if (row.num === undefined && row.product_quantity !== undefined) {
|
|
7804
8218
|
row.num = row.product_quantity;
|
|
@@ -7806,7 +8220,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7806
8220
|
var productSku = ensureProductSku(row);
|
|
7807
8221
|
row.product_sku = _objectSpread(_objectSpread({}, productSku), {}, {
|
|
7808
8222
|
option: normalizeProductSkuOptions(productSku.option.map(function (optionItem) {
|
|
7809
|
-
return
|
|
8223
|
+
return _this43.normalizeHydratedProductOptionItem(optionItem || {});
|
|
7810
8224
|
}))
|
|
7811
8225
|
});
|
|
7812
8226
|
delete row["product_".concat('option', "_item")];
|
|
@@ -7855,7 +8269,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7855
8269
|
});
|
|
7856
8270
|
if (result.metadata) delete result.metadata.price_schema_version;
|
|
7857
8271
|
var restored = restoreHydratedBundleDiscounts(result, normalizeOrderProductDiscountList);
|
|
7858
|
-
return this.sanitizeOrderProductForTempOrder(this.normalizeVirtualSettlementProductIfEnabled(restored));
|
|
8272
|
+
return this.sanitizeOrderProductForTempOrder(this.normalizeVirtualSettlementProductIfEnabled(restored), true);
|
|
7859
8273
|
}
|
|
7860
8274
|
}, {
|
|
7861
8275
|
key: "getLastOrderInfo",
|
|
@@ -7886,7 +8300,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7886
8300
|
}
|
|
7887
8301
|
}, _callee48, this);
|
|
7888
8302
|
}));
|
|
7889
|
-
function getOrderInfo(
|
|
8303
|
+
function getOrderInfo(_x56) {
|
|
7890
8304
|
return _getOrderInfo.apply(this, arguments);
|
|
7891
8305
|
}
|
|
7892
8306
|
return getOrderInfo;
|
|
@@ -7894,8 +8308,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7894
8308
|
}, {
|
|
7895
8309
|
key: "getVouchers",
|
|
7896
8310
|
value: function getVouchers() {
|
|
7897
|
-
var _this$store$
|
|
7898
|
-
return ((_this$store$
|
|
8311
|
+
var _this$store$tempOrder11;
|
|
8312
|
+
return ((_this$store$tempOrder11 = this.store.tempOrder) === null || _this$store$tempOrder11 === void 0 ? void 0 : _this$store$tempOrder11.vouchers) || [];
|
|
7899
8313
|
}
|
|
7900
8314
|
}], [{
|
|
7901
8315
|
key: "populateSavedAmounts",
|
|
@@ -7989,4 +8403,5 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
7989
8403
|
}
|
|
7990
8404
|
}]);
|
|
7991
8405
|
return OrderModule;
|
|
7992
|
-
}(BaseModule);
|
|
8406
|
+
}(BaseModule);
|
|
8407
|
+
export { isFulfillmentTimingBooking } from "./pickupTiming";
|