@pisell/pisellos 2.2.244 → 2.2.245
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
- package/dist/model/strategy/adapter/promotion/index.js +0 -9
- package/dist/model/strategy/adapter/walletPass/utils.js +7 -4
- package/dist/modules/BookingContext/index.d.ts +48 -0
- package/dist/modules/BookingContext/index.js +566 -0
- package/dist/modules/BookingContext/types.d.ts +102 -0
- package/dist/modules/BookingContext/types.js +51 -0
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +284 -0
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +145 -0
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +218 -0
- package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
- package/dist/modules/BookingContext/utils/flexible.js +56 -0
- package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
- package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
- package/dist/modules/BookingContext/utils/index.d.ts +11 -0
- package/dist/modules/BookingContext/utils/index.js +11 -0
- package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
- package/dist/modules/BookingContext/utils/noResource.js +77 -0
- package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
- package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
- package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
- package/dist/modules/BookingContext/utils/productExtend.js +339 -0
- package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
- package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
- package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
- package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
- package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
- package/dist/modules/BookingContext/utils/resources.js +486 -0
- package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
- package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
- package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
- package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
- package/dist/modules/Cart/utils/cartProduct.js +24 -3
- package/dist/modules/Cart/utils/changePrice.js +11 -11
- package/dist/modules/Customer/index.d.ts +20 -0
- package/dist/modules/Customer/index.js +172 -83
- package/dist/modules/Customer/types.d.ts +2 -0
- package/dist/modules/Discount/index.d.ts +1 -1
- package/dist/modules/Discount/index.js +13 -6
- package/dist/modules/Discount/types.d.ts +1 -0
- package/dist/modules/OpenData/index.d.ts +8 -0
- package/dist/modules/OpenData/index.js +37 -17
- package/dist/modules/Order/index.d.ts +275 -19
- package/dist/modules/Order/index.js +3493 -809
- package/dist/modules/Order/types.d.ts +286 -31
- package/dist/modules/Order/types.js +38 -0
- package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
- package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
- package/dist/modules/Order/utils.d.ts +147 -5
- package/dist/modules/Order/utils.js +750 -104
- package/dist/modules/Payment/index.d.ts +10 -13
- package/dist/modules/Payment/index.js +467 -837
- package/dist/modules/Payment/types.d.ts +2 -0
- package/dist/modules/Payment/utils.js +2 -1
- package/dist/modules/Payment/walletpass.js +41 -25
- package/dist/modules/ProductList/index.d.ts +16 -12
- package/dist/modules/ProductList/index.js +133 -59
- package/dist/modules/ProductList/types.d.ts +14 -0
- package/dist/modules/Quotation/index.d.ts +0 -1
- package/dist/modules/Quotation/index.js +25 -22
- package/dist/modules/Rules/index.d.ts +4 -0
- package/dist/modules/Rules/index.js +97 -70
- package/dist/modules/Rules/types.d.ts +1 -0
- package/dist/modules/SalesSummary/index.d.ts +8 -25
- package/dist/modules/SalesSummary/index.js +86 -35
- package/dist/modules/SalesSummary/types.d.ts +4 -1
- package/dist/modules/SalesSummary/utils.d.ts +2 -25
- package/dist/modules/SalesSummary/utils.js +794 -162
- package/dist/modules/Schedule/index.d.ts +7 -0
- package/dist/modules/Schedule/index.js +24 -2
- package/dist/modules/Summary/index.js +4 -3
- package/dist/modules/SurchargeList/index.d.ts +16 -0
- package/dist/modules/SurchargeList/index.js +162 -0
- package/dist/modules/SurchargeList/types.d.ts +11 -0
- package/dist/modules/SurchargeList/types.js +1 -0
- package/dist/modules/index.d.ts +2 -0
- package/dist/modules/index.js +3 -1
- package/dist/plugins/request.d.ts +1 -0
- package/dist/server/index.d.ts +204 -1
- package/dist/server/index.js +3654 -922
- package/dist/server/modules/index.d.ts +2 -0
- package/dist/server/modules/index.js +2 -0
- package/dist/server/modules/order/index.d.ts +120 -3
- package/dist/server/modules/order/index.js +1758 -448
- package/dist/server/modules/order/types.d.ts +32 -3
- package/dist/server/modules/order/types.js +8 -0
- package/dist/server/modules/order/utils/filterBookings.js +26 -3
- package/dist/server/modules/order/utils/filterOrders.js +23 -8
- package/dist/server/modules/payment/index.d.ts +28 -0
- package/dist/server/modules/payment/index.js +305 -0
- package/dist/server/modules/payment/types.d.ts +9 -0
- package/dist/server/modules/payment/types.js +1 -0
- package/dist/server/modules/products/index.d.ts +34 -7
- package/dist/server/modules/products/index.js +631 -317
- package/dist/server/modules/resource/index.d.ts +2 -0
- package/dist/server/modules/resource/index.js +29 -3
- package/dist/server/modules/schedule/index.d.ts +4 -4
- package/dist/server/modules/schedule/index.js +111 -88
- package/dist/server/test.json +713 -0
- package/dist/server/utils/small-ticket.d.ts +71 -0
- package/dist/server/utils/small-ticket.js +840 -0
- package/dist/solution/BaseSales/index.d.ts +133 -10
- package/dist/solution/BaseSales/index.js +1950 -447
- package/dist/solution/BaseSales/types.d.ts +82 -6
- package/dist/solution/BaseSales/types.js +5 -4
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
- package/dist/solution/BaseSales/utils/cartPromotion.js +1438 -0
- package/dist/solution/BaseSales/utils/quotationPrice.d.ts +7 -0
- package/dist/solution/BaseSales/utils/quotationPrice.js +237 -0
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +1 -0
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +105 -24
- package/dist/solution/BaseSales/utils.d.ts +1 -1
- package/dist/solution/BaseSales/utils.js +62 -21
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +271 -11
- package/dist/solution/BookingTicket/index.js +1777 -242
- package/dist/solution/BookingTicket/types.d.ts +118 -1
- package/dist/solution/BookingTicket/types.js +41 -2
- package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
- package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
- package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
- package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
- package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +40 -0
- package/dist/solution/BookingTicket/utils/bookingStatus.js +70 -0
- package/dist/solution/BookingTicket/utils/cartView.d.ts +9 -1
- package/dist/solution/BookingTicket/utils/cartView.js +94 -7
- package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
- package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
- package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
- package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
- package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
- package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
- package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
- package/dist/solution/BookingTicket/utils/scan/index.js +20 -8
- package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
- package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
- package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
- package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
- package/dist/solution/Checkout/index.d.ts +1 -0
- package/dist/solution/Checkout/index.js +10 -9
- package/dist/solution/RegisterAndLogin/config.js +2 -10
- package/dist/solution/ScanOrder/index.d.ts +9 -3
- package/dist/solution/ScanOrder/index.js +241 -134
- package/dist/solution/ScanOrder/types.d.ts +9 -5
- package/dist/solution/ScanOrder/types.js +2 -3
- package/dist/solution/ScanOrder/utils.d.ts +1 -1
- package/dist/solution/ScanOrder/utils.js +84 -22
- package/dist/solution/VenueBooking/index.d.ts +5 -2
- package/dist/solution/VenueBooking/index.js +110 -59
- package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -0
- package/dist/solution/VenueBooking/utils/slotMerge.js +10 -0
- package/dist/types/index.d.ts +10 -0
- package/lib/model/strategy/adapter/promotion/evaluator.js +2 -1
- package/lib/model/strategy/adapter/promotion/index.js +49 -0
- package/lib/model/strategy/adapter/walletPass/utils.js +3 -2
- package/lib/modules/BookingContext/index.d.ts +48 -0
- package/lib/modules/BookingContext/index.js +368 -0
- package/lib/modules/BookingContext/types.d.ts +102 -0
- package/lib/modules/BookingContext/types.js +34 -0
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +276 -0
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +151 -0
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +201 -0
- package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
- package/lib/modules/BookingContext/utils/flexible.js +80 -0
- package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
- package/lib/modules/BookingContext/utils/formatResourceList.js +50 -0
- package/lib/modules/BookingContext/utils/index.d.ts +11 -0
- package/lib/modules/BookingContext/utils/index.js +43 -0
- package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
- package/lib/modules/BookingContext/utils/noResource.js +90 -0
- package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +56 -0
- package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
- package/lib/modules/BookingContext/utils/productExtend.js +283 -0
- package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
- package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
- package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
- package/lib/modules/BookingContext/utils/resourceSelection.js +46 -0
- package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
- package/lib/modules/BookingContext/utils/resources.js +377 -0
- package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
- package/lib/modules/BookingContext/utils/serviceTimes.js +162 -0
- package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
- package/lib/modules/BookingContext/utils/timeSlices.js +124 -0
- package/lib/modules/Cart/utils/cartProduct.js +20 -3
- package/lib/modules/Cart/utils/changePrice.js +12 -20
- package/lib/modules/Customer/index.d.ts +20 -0
- package/lib/modules/Customer/index.js +64 -11
- package/lib/modules/Customer/types.d.ts +2 -0
- package/lib/modules/Discount/index.d.ts +1 -1
- package/lib/modules/Discount/index.js +9 -1
- package/lib/modules/Discount/types.d.ts +1 -0
- package/lib/modules/OpenData/index.d.ts +8 -0
- package/lib/modules/OpenData/index.js +19 -5
- package/lib/modules/Order/index.d.ts +275 -19
- package/lib/modules/Order/index.js +2245 -336
- package/lib/modules/Order/types.d.ts +286 -31
- package/lib/modules/Order/types.js +1 -0
- package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
- package/lib/modules/Order/utils/manualProductDiscount.js +206 -0
- package/lib/modules/Order/utils.d.ts +147 -5
- package/lib/modules/Order/utils.js +615 -46
- package/lib/modules/Payment/index.d.ts +10 -13
- package/lib/modules/Payment/index.js +18 -150
- package/lib/modules/Payment/types.d.ts +2 -0
- package/lib/modules/Payment/utils.js +2 -1
- package/lib/modules/Payment/walletpass.js +16 -3
- package/lib/modules/ProductList/index.d.ts +16 -12
- package/lib/modules/ProductList/index.js +41 -4
- package/lib/modules/ProductList/types.d.ts +14 -0
- package/lib/modules/Quotation/index.d.ts +0 -1
- package/lib/modules/Quotation/index.js +19 -16
- package/lib/modules/Rules/index.d.ts +4 -0
- package/lib/modules/Rules/index.js +137 -120
- package/lib/modules/Rules/types.d.ts +1 -0
- package/lib/modules/SalesSummary/index.d.ts +8 -25
- package/lib/modules/SalesSummary/index.js +30 -4
- package/lib/modules/SalesSummary/types.d.ts +4 -1
- package/lib/modules/SalesSummary/utils.d.ts +2 -25
- package/lib/modules/SalesSummary/utils.js +645 -91
- package/lib/modules/Schedule/index.d.ts +7 -0
- package/lib/modules/Schedule/index.js +17 -1
- package/lib/modules/Summary/index.js +5 -4
- package/lib/modules/SurchargeList/index.d.ts +16 -0
- package/lib/modules/SurchargeList/index.js +89 -0
- package/lib/modules/SurchargeList/types.d.ts +11 -0
- package/lib/modules/SurchargeList/types.js +17 -0
- package/lib/modules/index.d.ts +2 -0
- package/lib/modules/index.js +5 -1
- package/lib/plugins/request.d.ts +1 -0
- package/lib/server/index.d.ts +204 -1
- package/lib/server/index.js +1891 -59
- package/lib/server/modules/index.d.ts +2 -0
- package/lib/server/modules/index.js +3 -0
- package/lib/server/modules/order/index.d.ts +120 -3
- package/lib/server/modules/order/index.js +883 -94
- package/lib/server/modules/order/types.d.ts +32 -3
- package/lib/server/modules/order/utils/filterBookings.js +24 -5
- package/lib/server/modules/order/utils/filterOrders.js +15 -6
- package/lib/server/modules/payment/index.d.ts +28 -0
- package/lib/server/modules/payment/index.js +192 -0
- package/lib/server/modules/payment/types.d.ts +9 -0
- package/lib/server/modules/payment/types.js +17 -0
- package/lib/server/modules/products/index.d.ts +34 -7
- package/lib/server/modules/products/index.js +189 -54
- package/lib/server/modules/resource/index.d.ts +2 -0
- package/lib/server/modules/resource/index.js +27 -3
- package/lib/server/modules/schedule/index.d.ts +4 -4
- package/lib/server/modules/schedule/index.js +47 -40
- package/lib/server/test.json +713 -0
- package/lib/server/utils/small-ticket.d.ts +71 -0
- package/lib/server/utils/small-ticket.js +800 -0
- package/lib/solution/BaseSales/index.d.ts +133 -10
- package/lib/solution/BaseSales/index.js +1111 -63
- package/lib/solution/BaseSales/types.d.ts +82 -6
- package/lib/solution/BaseSales/types.js +3 -1
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
- package/lib/solution/BaseSales/utils/cartPromotion.js +992 -0
- package/lib/solution/BaseSales/utils/quotationPrice.d.ts +7 -0
- package/lib/solution/BaseSales/utils/quotationPrice.js +277 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +1 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +106 -18
- package/lib/solution/BaseSales/utils.d.ts +1 -1
- package/lib/solution/BaseSales/utils.js +54 -10
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +271 -11
- package/lib/solution/BookingTicket/index.js +922 -29
- package/lib/solution/BookingTicket/types.d.ts +118 -1
- package/lib/solution/BookingTicket/types.js +11 -0
- package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
- package/lib/solution/BookingTicket/utils/addProductDecision.js +318 -0
- package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +125 -0
- package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +40 -0
- package/lib/solution/BookingTicket/utils/bookingStatus.js +44 -2
- package/lib/solution/BookingTicket/utils/cartView.d.ts +9 -1
- package/lib/solution/BookingTicket/utils/cartView.js +61 -6
- package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
- package/lib/solution/BookingTicket/utils/exampleData.js +0 -0
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +254 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +169 -0
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +51 -0
- package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
- package/lib/solution/BookingTicket/utils/scan/index.js +17 -3
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +127 -0
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +85 -0
- package/lib/solution/Checkout/index.d.ts +1 -0
- package/lib/solution/Checkout/index.js +1 -2
- package/lib/solution/RegisterAndLogin/config.js +2 -10
- package/lib/solution/ScanOrder/index.d.ts +9 -3
- package/lib/solution/ScanOrder/index.js +153 -70
- package/lib/solution/ScanOrder/types.d.ts +9 -5
- package/lib/solution/ScanOrder/utils.d.ts +1 -1
- package/lib/solution/ScanOrder/utils.js +83 -17
- package/lib/solution/VenueBooking/index.d.ts +5 -2
- package/lib/solution/VenueBooking/index.js +54 -17
- package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -0
- package/lib/solution/VenueBooking/utils/slotMerge.js +10 -0
- package/lib/types/index.d.ts +10 -0
- package/package.json +1 -1
- package/dist/solution/Checkout/appointmentDemo.json +0 -1
- package/lib/solution/Checkout/appointmentDemo.json +0 -1
|
@@ -78,22 +78,22 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
78
78
|
case 0:
|
|
79
79
|
query = {};
|
|
80
80
|
if (params !== null && params !== void 0 && params.channel) query.channel = params.channel;
|
|
81
|
-
if (params !== null && params !== void 0 && params.customer_id) query.customer_id = String(params.customer_id);
|
|
82
81
|
if ((params === null || params === void 0 ? void 0 : params.channel) === 'online_store') {
|
|
83
82
|
query.channel = 'online-store';
|
|
84
83
|
}
|
|
85
|
-
_context2.next =
|
|
84
|
+
_context2.next = 5;
|
|
86
85
|
return this.request.get('/quotation/available', query, {
|
|
87
|
-
useCache: false
|
|
86
|
+
useCache: false,
|
|
87
|
+
osServer: true
|
|
88
88
|
});
|
|
89
|
-
case
|
|
89
|
+
case 5:
|
|
90
90
|
res = _context2.sent;
|
|
91
|
-
list =
|
|
91
|
+
list = (res === null || res === void 0 || (_data = res.data) === null || _data === void 0 ? void 0 : _data.list) || (res === null || res === void 0 ? void 0 : res.list) || [];
|
|
92
92
|
list.sort(function (a, b) {
|
|
93
93
|
return a.sort - b.sort;
|
|
94
94
|
});
|
|
95
95
|
this.store.list = list;
|
|
96
|
-
case
|
|
96
|
+
case 9:
|
|
97
97
|
case "end":
|
|
98
98
|
return _context2.stop();
|
|
99
99
|
}
|
|
@@ -130,8 +130,10 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
130
130
|
try {
|
|
131
131
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
132
132
|
var quotation = _step.value;
|
|
133
|
-
|
|
134
|
-
if (!
|
|
133
|
+
var visible = this.isQuotationVisibleForCustomer(quotation, customer_id);
|
|
134
|
+
if (!visible) continue;
|
|
135
|
+
var active = this.isQuotationActiveAt(quotation, datetime);
|
|
136
|
+
if (!active) continue;
|
|
135
137
|
var match = this.findProductData(quotation.product_data, productId, variantId);
|
|
136
138
|
if (!match) continue;
|
|
137
139
|
if (match.value === 0) continue;
|
|
@@ -218,14 +220,6 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
218
220
|
value: function setScheduleResolver(resolver) {
|
|
219
221
|
this.scheduleResolver = resolver;
|
|
220
222
|
}
|
|
221
|
-
}, {
|
|
222
|
-
key: "filterQuotationsByCustomer",
|
|
223
|
-
value: function filterQuotationsByCustomer(list, customerId) {
|
|
224
|
-
var _this2 = this;
|
|
225
|
-
return list.filter(function (quotation) {
|
|
226
|
-
return _this2.isQuotationVisibleForCustomer(quotation, customerId);
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
223
|
}, {
|
|
230
224
|
key: "isQuotationVisibleForCustomer",
|
|
231
225
|
value: function isQuotationVisibleForCustomer(quotation, customerId) {
|
|
@@ -246,18 +240,27 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
246
240
|
key: "isQuotationActiveAt",
|
|
247
241
|
value: function isQuotationActiveAt(quotation, datetime) {
|
|
248
242
|
var _quotation$schedule,
|
|
249
|
-
|
|
243
|
+
_this2 = this;
|
|
250
244
|
if (!((_quotation$schedule = quotation.schedule) !== null && _quotation$schedule !== void 0 && _quotation$schedule.length)) return false;
|
|
251
|
-
var scheduleItems =
|
|
252
|
-
|
|
253
|
-
var
|
|
254
|
-
|
|
255
|
-
|
|
245
|
+
var scheduleItems = [];
|
|
246
|
+
quotation.schedule.forEach(function (s) {
|
|
247
|
+
var _this2$scheduleResolv;
|
|
248
|
+
var full = (_this2$scheduleResolv = _this2.scheduleResolver) === null || _this2$scheduleResolv === void 0 ? void 0 : _this2$scheduleResolv.call(_this2, s.id);
|
|
249
|
+
if (full) {
|
|
250
|
+
scheduleItems.push(full);
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
if (_this2.scheduleResolver) {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
var fallbackSchedule = _objectSpread(_objectSpread({}, s), {}, {
|
|
256
257
|
repeat_type: s.repeat_type || 'none',
|
|
257
258
|
repeat_rule: s.repeat_rule || null,
|
|
258
259
|
time_slot: s.time_slot || []
|
|
259
260
|
});
|
|
261
|
+
scheduleItems.push(fallbackSchedule);
|
|
260
262
|
});
|
|
263
|
+
if (!scheduleItems.length) return false;
|
|
261
264
|
return getDateIsInSchedule(datetime, scheduleItems);
|
|
262
265
|
}
|
|
263
266
|
}, {
|
|
@@ -32,6 +32,10 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
|
|
|
32
32
|
unavailableReason?: UnavailableReason;
|
|
33
33
|
};
|
|
34
34
|
filterDiscountListByType(discountList: Discount[], type: string): Discount[];
|
|
35
|
+
/** 剔除指定 type/tag 的折扣项,保留手动改价(type=product) / 券等 */
|
|
36
|
+
excludeDiscountListByType(discountList: Discount[], type: string): Discount[];
|
|
37
|
+
/** 手动改价场景:去掉 promotion,保留 type=product 等行内折扣 */
|
|
38
|
+
resolveDiscountListForManualOverride(discountList: Discount[]): Discount[];
|
|
35
39
|
private getUnavailableReason;
|
|
36
40
|
calcDiscount({ discountList, productList, holders, isFormSubject, orderTotalAmount }: {
|
|
37
41
|
discountList: Discount[];
|
|
@@ -18,6 +18,8 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
18
18
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19
19
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
20
20
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
21
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
|
22
|
+
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
|
21
23
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
22
24
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
23
25
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
@@ -222,6 +224,22 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
222
224
|
return item.type === type || item.tag === type;
|
|
223
225
|
});
|
|
224
226
|
}
|
|
227
|
+
|
|
228
|
+
/** 剔除指定 type/tag 的折扣项,保留手动改价(type=product) / 券等 */
|
|
229
|
+
}, {
|
|
230
|
+
key: "excludeDiscountListByType",
|
|
231
|
+
value: function excludeDiscountListByType(discountList, type) {
|
|
232
|
+
return (discountList || []).filter(function (item) {
|
|
233
|
+
return item.type !== type && item.tag !== type;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/** 手动改价场景:去掉 promotion,保留 type=product 等行内折扣 */
|
|
238
|
+
}, {
|
|
239
|
+
key: "resolveDiscountListForManualOverride",
|
|
240
|
+
value: function resolveDiscountListForManualOverride(discountList) {
|
|
241
|
+
return this.excludeDiscountListByType(discountList, 'promotion');
|
|
242
|
+
}
|
|
225
243
|
// 获取券不可用的原因
|
|
226
244
|
}, {
|
|
227
245
|
key: "getUnavailableReason",
|
|
@@ -298,7 +316,8 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
298
316
|
}, {
|
|
299
317
|
key: "calcDiscount",
|
|
300
318
|
value: function calcDiscount(_ref2, options) {
|
|
301
|
-
var
|
|
319
|
+
var _options$selectedList,
|
|
320
|
+
_this3 = this;
|
|
302
321
|
var discountList = _ref2.discountList,
|
|
303
322
|
productList = _ref2.productList,
|
|
304
323
|
holders = _ref2.holders,
|
|
@@ -344,6 +363,13 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
344
363
|
var filteredDiscountList = addModeDiscount.filter(function (discount) {
|
|
345
364
|
return !discount.isManualSelect;
|
|
346
365
|
});
|
|
366
|
+
var hasDiscountInput = editModeDiscount.length > 0 || addModeDiscount.length > 0 || Boolean(options === null || options === void 0 ? void 0 : options.discountId) || Boolean(options === null || options === void 0 || (_options$selectedList = options.selectedList) === null || _options$selectedList === void 0 ? void 0 : _options$selectedList.length) || Boolean(options === null || options === void 0 ? void 0 : options.scan);
|
|
367
|
+
if (!hasDiscountInput) {
|
|
368
|
+
return {
|
|
369
|
+
discountList: discountList,
|
|
370
|
+
productList: productList
|
|
371
|
+
};
|
|
372
|
+
}
|
|
347
373
|
|
|
348
374
|
// 🔥 扁平化商品列表:将 bundle 子商品展开为虚拟商品
|
|
349
375
|
var flattenProductsWithBundle = function flattenProductsWithBundle(productList) {
|
|
@@ -760,7 +786,6 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
760
786
|
}
|
|
761
787
|
}
|
|
762
788
|
});
|
|
763
|
-
console.log('occupiedItems', occupiedItems, 'orderLevelDiscountApplicableItems', orderLevelDiscountApplicableItems);
|
|
764
789
|
|
|
765
790
|
// 🔥 第三步:识别 order_level 折扣卡并预计算分摊(排除被其他专属折扣卡占用的商品)
|
|
766
791
|
sortedDiscountList.forEach(function (discount) {
|
|
@@ -977,7 +1002,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
977
1002
|
// 然后再处理应用哪些优惠券,此时只考虑filteredDiscountList中的优惠券
|
|
978
1003
|
// 🔥 使用扁平化后的列表进行处理
|
|
979
1004
|
sortedFlattenedList.forEach(function (flatItem, index) {
|
|
980
|
-
var _product10, _product$discount_lis2, _product11;
|
|
1005
|
+
var _product10, _originProduct, _originProduct2, _originProduct3, _product$discount_lis2, _product11;
|
|
981
1006
|
// 获取商品数据
|
|
982
1007
|
var product, originProduct;
|
|
983
1008
|
if (flatItem.type === 'main') {
|
|
@@ -1001,11 +1026,16 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1001
1026
|
};
|
|
1002
1027
|
originProduct = flatItem.originProduct;
|
|
1003
1028
|
}
|
|
1029
|
+
var isPersistedProduct = ((_product10 = product) === null || _product10 === void 0 ? void 0 : _product10.booking_id) || ((_originProduct = originProduct) === null || _originProduct === void 0 ? void 0 : _originProduct.order_detail_id) || ((_originProduct2 = originProduct) === null || _originProduct2 === void 0 ? void 0 : _originProduct2.orderDetailId) || ((_originProduct3 = originProduct) === null || _originProduct3 === void 0 ? void 0 : _originProduct3.booking_id);
|
|
1030
|
+
var hasExistingWalletDiscount = ((_product$discount_lis2 = product.discount_list) === null || _product$discount_lis2 === void 0 ? void 0 : _product$discount_lis2.length) && ((_product11 = product) === null || _product11 === void 0 || (_product11 = _product11.discount_list) === null || _product11 === void 0 ? void 0 : _product11.every(function (discount) {
|
|
1031
|
+
var _discount$id, _discount$discount4;
|
|
1032
|
+
var discountIdentity = (_discount$id = discount.id) !== null && _discount$id !== void 0 ? _discount$id : (_discount$discount4 = discount.discount) === null || _discount$discount4 === void 0 ? void 0 : _discount$discount4.resource_id;
|
|
1033
|
+
var discountType = discount.tag || discount.type;
|
|
1034
|
+
return Boolean(discountIdentity && ['good_pass', 'discount_card', 'product_discount_card'].includes(discountType));
|
|
1035
|
+
}));
|
|
1004
1036
|
|
|
1005
|
-
//
|
|
1006
|
-
if (
|
|
1007
|
-
return discount.id && ['good_pass', 'discount_card', 'product_discount_card'].includes(discount.tag || discount.type);
|
|
1008
|
-
})) {
|
|
1037
|
+
// 已持久化且已有钱包券/折扣卡的商品行跳过,保留后端历史折扣结果。
|
|
1038
|
+
if (isPersistedProduct && hasExistingWalletDiscount) {
|
|
1009
1039
|
if (flatItem.type === 'main') {
|
|
1010
1040
|
processedProductsMap.set(product._id, [originProduct]);
|
|
1011
1041
|
} else {
|
|
@@ -1100,12 +1130,14 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1100
1130
|
// 如果是手动折扣,则不适用优惠券
|
|
1101
1131
|
var isManualDiscount = false;
|
|
1102
1132
|
if (flatItem.type === 'main') {
|
|
1103
|
-
var _product$discount_lis5, _product12, _product12$every;
|
|
1133
|
+
var _product$discount_lis5, _product$discount_lis6, _product12, _product12$every;
|
|
1104
1134
|
// 主商品:判断自身是否手动折扣
|
|
1105
|
-
isManualDiscount = typeof product.isManualDiscount === 'boolean' ? product.isManualDiscount :
|
|
1135
|
+
isManualDiscount = typeof product.isManualDiscount === 'boolean' ? product.isManualDiscount : ((_product$discount_lis5 = product.discount_list) === null || _product$discount_lis5 === void 0 ? void 0 : _product$discount_lis5.some(function (item) {
|
|
1136
|
+
return item.type === 'product';
|
|
1137
|
+
})) || product.total != product.origin_total && (product.bundle || []).every(function (item) {
|
|
1106
1138
|
var _ref11;
|
|
1107
1139
|
return !((_ref11 = item.discount_list || []) !== null && _ref11 !== void 0 && _ref11.length);
|
|
1108
|
-
}) && (!((_product$
|
|
1140
|
+
}) && (!((_product$discount_lis6 = product.discount_list) !== null && _product$discount_lis6 !== void 0 && _product$discount_lis6.length) || ((_product12 = product) === null || _product12 === void 0 || (_product12 = _product12.discount_list) === null || _product12 === void 0 || (_product12$every = _product12.every) === null || _product12$every === void 0 ? void 0 : _product12$every.call(_product12, function (item) {
|
|
1109
1141
|
return item.type === 'product';
|
|
1110
1142
|
})));
|
|
1111
1143
|
if (product.inPromotion) {
|
|
@@ -1115,11 +1147,13 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1115
1147
|
// bundle子商品:判断父主商品是否手动折扣
|
|
1116
1148
|
var parentProduct = flatItem.parentProduct;
|
|
1117
1149
|
if (parentProduct) {
|
|
1118
|
-
var _parentProduct$discou, _parentProduct$discou2, _parentProduct$discou3;
|
|
1119
|
-
isManualDiscount = typeof parentProduct.isManualDiscount === 'boolean' ? parentProduct.isManualDiscount :
|
|
1150
|
+
var _parentProduct$discou, _parentProduct$discou2, _parentProduct$discou3, _parentProduct$discou4;
|
|
1151
|
+
isManualDiscount = typeof parentProduct.isManualDiscount === 'boolean' ? parentProduct.isManualDiscount : ((_parentProduct$discou = parentProduct.discount_list) === null || _parentProduct$discou === void 0 ? void 0 : _parentProduct$discou.some(function (item) {
|
|
1152
|
+
return item.type === 'product';
|
|
1153
|
+
})) || parentProduct.total != parentProduct.origin_total && (parentProduct.bundle || []).every(function (item) {
|
|
1120
1154
|
var _ref12;
|
|
1121
1155
|
return !((_ref12 = item.discount_list || []) !== null && _ref12 !== void 0 && _ref12.length);
|
|
1122
|
-
}) && (!((_parentProduct$
|
|
1156
|
+
}) && (!((_parentProduct$discou2 = parentProduct.discount_list) !== null && _parentProduct$discou2 !== void 0 && _parentProduct$discou2.length) || (parentProduct === null || parentProduct === void 0 || (_parentProduct$discou3 = parentProduct.discount_list) === null || _parentProduct$discou3 === void 0 || (_parentProduct$discou4 = _parentProduct$discou3.every) === null || _parentProduct$discou4 === void 0 ? void 0 : _parentProduct$discou4.call(_parentProduct$discou3, function (item) {
|
|
1123
1157
|
return item.type === 'product';
|
|
1124
1158
|
})));
|
|
1125
1159
|
}
|
|
@@ -1127,9 +1161,9 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1127
1161
|
|
|
1128
1162
|
// 勾选时覆盖手动折扣
|
|
1129
1163
|
if (options !== null && options !== void 0 && options.discountId) {
|
|
1130
|
-
var _product$
|
|
1164
|
+
var _product$discount_lis7;
|
|
1131
1165
|
// 主商品:检查自己的 discount_list
|
|
1132
|
-
if (flatItem.type === 'main' && (_product$
|
|
1166
|
+
if (flatItem.type === 'main' && (_product$discount_lis7 = product.discount_list) !== null && _product$discount_lis7 !== void 0 && _product$discount_lis7.some(function (item) {
|
|
1133
1167
|
var _item$discount;
|
|
1134
1168
|
return ((_item$discount = item.discount) === null || _item$discount === void 0 ? void 0 : _item$discount.resource_id) === options.discountId;
|
|
1135
1169
|
})) {
|
|
@@ -1137,8 +1171,8 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1137
1171
|
}
|
|
1138
1172
|
// bundle子商品:检查自己的 discount_list 或父主商品的 discount_list
|
|
1139
1173
|
if (flatItem.type === 'bundle') {
|
|
1140
|
-
var _product$
|
|
1141
|
-
if ((_product$
|
|
1174
|
+
var _product$discount_lis8, _flatItem$parentProdu7;
|
|
1175
|
+
if ((_product$discount_lis8 = product.discount_list) !== null && _product$discount_lis8 !== void 0 && _product$discount_lis8.some(function (item) {
|
|
1142
1176
|
var _item$discount2;
|
|
1143
1177
|
return ((_item$discount2 = item.discount) === null || _item$discount2 === void 0 ? void 0 : _item$discount2.resource_id) === options.discountId;
|
|
1144
1178
|
}) || (_flatItem$parentProdu7 = flatItem.parentProduct) !== null && _flatItem$parentProdu7 !== void 0 && (_flatItem$parentProdu7 = _flatItem$parentProdu7.discount_list) !== null && _flatItem$parentProdu7 !== void 0 && _flatItem$parentProdu7.some(function (item) {
|
|
@@ -1150,11 +1184,11 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1150
1184
|
}
|
|
1151
1185
|
}
|
|
1152
1186
|
if (options !== null && options !== void 0 && options.selectedList) {
|
|
1153
|
-
var _product$
|
|
1187
|
+
var _product$discount_lis9;
|
|
1154
1188
|
// 主商品:检查自己的 discount_list
|
|
1155
|
-
if (flatItem.type === 'main' && (_product$
|
|
1156
|
-
var _options$
|
|
1157
|
-
return options === null || options === void 0 || (_options$
|
|
1189
|
+
if (flatItem.type === 'main' && (_product$discount_lis9 = product.discount_list) !== null && _product$discount_lis9 !== void 0 && _product$discount_lis9.some(function (item) {
|
|
1190
|
+
var _options$selectedList2;
|
|
1191
|
+
return options === null || options === void 0 || (_options$selectedList2 = options.selectedList) === null || _options$selectedList2 === void 0 ? void 0 : _options$selectedList2.some(function (n) {
|
|
1158
1192
|
var _item$discount4;
|
|
1159
1193
|
return n.discountId === ((_item$discount4 = item.discount) === null || _item$discount4 === void 0 ? void 0 : _item$discount4.resource_id);
|
|
1160
1194
|
});
|
|
@@ -1163,16 +1197,16 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1163
1197
|
}
|
|
1164
1198
|
// bundle子商品:检查自己的 discount_list 或父主商品的 discount_list
|
|
1165
1199
|
if (flatItem.type === 'bundle') {
|
|
1166
|
-
var _product$
|
|
1167
|
-
if ((_product$
|
|
1168
|
-
var _options$
|
|
1169
|
-
return options === null || options === void 0 || (_options$
|
|
1200
|
+
var _product$discount_lis10, _flatItem$parentProdu8;
|
|
1201
|
+
if ((_product$discount_lis10 = product.discount_list) !== null && _product$discount_lis10 !== void 0 && _product$discount_lis10.some(function (item) {
|
|
1202
|
+
var _options$selectedList3;
|
|
1203
|
+
return options === null || options === void 0 || (_options$selectedList3 = options.selectedList) === null || _options$selectedList3 === void 0 ? void 0 : _options$selectedList3.some(function (n) {
|
|
1170
1204
|
var _item$discount5;
|
|
1171
1205
|
return n.discountId === ((_item$discount5 = item.discount) === null || _item$discount5 === void 0 ? void 0 : _item$discount5.resource_id);
|
|
1172
1206
|
});
|
|
1173
1207
|
}) || (_flatItem$parentProdu8 = flatItem.parentProduct) !== null && _flatItem$parentProdu8 !== void 0 && (_flatItem$parentProdu8 = _flatItem$parentProdu8.discount_list) !== null && _flatItem$parentProdu8 !== void 0 && _flatItem$parentProdu8.some(function (item) {
|
|
1174
|
-
var _options$
|
|
1175
|
-
return options === null || options === void 0 || (_options$
|
|
1208
|
+
var _options$selectedList4;
|
|
1209
|
+
return options === null || options === void 0 || (_options$selectedList4 = options.selectedList) === null || _options$selectedList4 === void 0 ? void 0 : _options$selectedList4.some(function (n) {
|
|
1176
1210
|
var _item$discount6;
|
|
1177
1211
|
return n.discountId === ((_item$discount6 = item.discount) === null || _item$discount6 === void 0 ? void 0 : _item$discount6.resource_id);
|
|
1178
1212
|
});
|
|
@@ -1208,7 +1242,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1208
1242
|
price: product.price,
|
|
1209
1243
|
options: restoredOptions
|
|
1210
1244
|
}), {}, {
|
|
1211
|
-
discount_list: _this3.filterDiscountListByType(product.discount_list, 'promotion')
|
|
1245
|
+
discount_list: isManualDiscount ? _this3.resolveDiscountListForManualOverride(product.discount_list) : _this3.filterDiscountListByType(product.discount_list, 'promotion')
|
|
1212
1246
|
}))]);
|
|
1213
1247
|
} else {
|
|
1214
1248
|
var _ref13, _product$_promotion$f, _product13, _product$origin_total;
|
|
@@ -1231,14 +1265,14 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1231
1265
|
main_product_selling_price: main_product_selling_price,
|
|
1232
1266
|
options: restoredOptions
|
|
1233
1267
|
}), {}, {
|
|
1234
|
-
discount_list: _this3.filterDiscountListByType(product.discount_list, 'promotion')
|
|
1268
|
+
discount_list: isManualDiscount ? _this3.resolveDiscountListForManualOverride(product.discount_list) : _this3.filterDiscountListByType(product.discount_list, 'promotion')
|
|
1235
1269
|
}))]);
|
|
1236
1270
|
}
|
|
1237
1271
|
} else {
|
|
1238
|
-
var _flatItem$bundleItem8;
|
|
1272
|
+
var _flatItem$bundleItem8, _flatItem$bundleItem9;
|
|
1239
1273
|
// bundle子商品:保存到扁平化Map
|
|
1240
1274
|
processedFlatItemsMap.set(flatItem._id, [_objectSpread(_objectSpread({}, flatItem), {}, {
|
|
1241
|
-
discount_list: _this3.
|
|
1275
|
+
discount_list: isManualDiscount ? _this3.resolveDiscountListForManualOverride(((_flatItem$bundleItem8 = flatItem.bundleItem) === null || _flatItem$bundleItem8 === void 0 ? void 0 : _flatItem$bundleItem8.discount_list) || []) : _this3.filterDiscountListByType(((_flatItem$bundleItem9 = flatItem.bundleItem) === null || _flatItem$bundleItem9 === void 0 ? void 0 : _flatItem$bundleItem9.discount_list) || [], 'promotion'),
|
|
1242
1276
|
price: isManualDiscount ? flatItem.bundleItem.price : flatItem.bundleItem.original_price,
|
|
1243
1277
|
processed: true
|
|
1244
1278
|
})]);
|
|
@@ -1286,7 +1320,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1286
1320
|
}));
|
|
1287
1321
|
}
|
|
1288
1322
|
for (var i = 0; i < splitCount; i++) {
|
|
1289
|
-
var
|
|
1323
|
+
var _originProduct4, _selectedDiscount$con, _product$options, _product$options2, _selectedDiscount$met, _selectedDiscount$met2;
|
|
1290
1324
|
// 如果用过折扣卡,也就不存在拆分的情况了,这里直接使用上面计算出来的折扣卡
|
|
1291
1325
|
var _selectedDiscount = selectedDiscountCard || applicableDiscounts[i];
|
|
1292
1326
|
// 标记优惠券为已使用
|
|
@@ -1307,7 +1341,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1307
1341
|
productOriginTotal = product.origin_total;
|
|
1308
1342
|
}
|
|
1309
1343
|
// 如果originProduct?._productInit?.original_price为 0,product.origin_total可能为空,此时取 product.total
|
|
1310
|
-
if (Number(((
|
|
1344
|
+
if (Number(((_originProduct4 = originProduct) === null || _originProduct4 === void 0 || (_originProduct4 = _originProduct4._productInit) === null || _originProduct4 === void 0 ? void 0 : _originProduct4.original_price) || 0) > 0 && product.origin_total && product.total && product.origin_total !== product.total) {
|
|
1311
1345
|
productOriginTotal = product.total;
|
|
1312
1346
|
}
|
|
1313
1347
|
|
|
@@ -1847,7 +1881,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1847
1881
|
} else {
|
|
1848
1882
|
// 🔥 没有子商品被拆分,使用原有逻辑
|
|
1849
1883
|
mainProductArr.forEach(function (mainProduct) {
|
|
1850
|
-
var _mainProductData$disc, _mainProductData$disc2, _mainProductData$disc3;
|
|
1884
|
+
var _ref15, _mainProductData$main, _mainProductData$disc, _mainProductData$disc2, _mainProductData$disc3;
|
|
1851
1885
|
var mainProductData = _this3.hooks.getProduct(mainProduct);
|
|
1852
1886
|
|
|
1853
1887
|
// 重组bundle
|
|
@@ -1862,6 +1896,9 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1862
1896
|
} else {
|
|
1863
1897
|
// 🔥 关键:拆分后的bundle item
|
|
1864
1898
|
processedBundleItems.forEach(function (item) {
|
|
1899
|
+
var _item$price, _ref14, _item$bundle_selling_;
|
|
1900
|
+
var nextBundlePrice = (_item$price = item.price) !== null && _item$price !== void 0 ? _item$price : bundleItem.price;
|
|
1901
|
+
var nextBundleSellingPrice = (_ref14 = (_item$bundle_selling_ = item.bundle_selling_price) !== null && _item$bundle_selling_ !== void 0 ? _item$bundle_selling_ : item.price) !== null && _ref14 !== void 0 ? _ref14 : bundleItem.bundle_selling_price;
|
|
1865
1902
|
// 🔥 更新 discount_list 中的 num,使其与拆分后的 item.num 一致
|
|
1866
1903
|
var updatedDiscountList = (item.discount_list || []).map(function (discount) {
|
|
1867
1904
|
var _discount$metadata10;
|
|
@@ -1876,18 +1913,20 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1876
1913
|
newBundle.push(_objectSpread(_objectSpread({}, bundleItem), {}, {
|
|
1877
1914
|
_id: item._id,
|
|
1878
1915
|
product_id: bundleItem.product_id,
|
|
1879
|
-
price:
|
|
1916
|
+
price: nextBundlePrice,
|
|
1880
1917
|
num: item.num,
|
|
1881
1918
|
discount_list: updatedDiscountList,
|
|
1882
|
-
bundle_selling_price: bundleItem.bundle_selling_price !== undefined ?
|
|
1919
|
+
bundle_selling_price: bundleItem.bundle_selling_price !== undefined ? nextBundleSellingPrice : undefined
|
|
1883
1920
|
}));
|
|
1884
1921
|
});
|
|
1885
1922
|
}
|
|
1886
1923
|
});
|
|
1887
1924
|
}
|
|
1888
1925
|
|
|
1889
|
-
//
|
|
1890
|
-
|
|
1926
|
+
// 主商品已经在前面的 setProduct 中应用过折扣;这里只替换 bundle,
|
|
1927
|
+
// 避免把主商品 discount_list 再扣一次。
|
|
1928
|
+
var mainSellingPrice = (_ref15 = (_mainProductData$main = mainProductData.main_product_selling_price) !== null && _mainProductData$main !== void 0 ? _mainProductData$main : mainProductData.price) !== null && _ref15 !== void 0 ? _ref15 : 0;
|
|
1929
|
+
var newTotal = Number(mainSellingPrice || 0);
|
|
1891
1930
|
var newOriginTotal = Number(mainProductData.original_price || mainProductData.price || 0);
|
|
1892
1931
|
|
|
1893
1932
|
// 判断是否是手动折扣
|
|
@@ -1901,24 +1940,12 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1901
1940
|
newTotal = (_mainProductData$tota = mainProductData.total) !== null && _mainProductData$tota !== void 0 ? _mainProductData$tota : newTotal;
|
|
1902
1941
|
newOriginTotal = (_mainProductData$orig3 = mainProductData.origin_total) !== null && _mainProductData$orig3 !== void 0 ? _mainProductData$orig3 : newOriginTotal;
|
|
1903
1942
|
} else {
|
|
1904
|
-
//
|
|
1905
|
-
var _mainDiscountList = mainProductData.discount_list.filter(function (item) {
|
|
1906
|
-
var _item$metadata5;
|
|
1907
|
-
return !(item !== null && item !== void 0 && (_item$metadata5 = item.metadata) !== null && _item$metadata5 !== void 0 && _item$metadata5.custom_product_bundle_map_id);
|
|
1908
|
-
});
|
|
1909
|
-
|
|
1910
|
-
// 如果主商品本身有折扣,需要重新计算主商品价格
|
|
1911
|
-
if (_mainDiscountList && _mainDiscountList.length > 0) {
|
|
1912
|
-
var _Decimal$minus$toNumb3, _mainProductData$orig4;
|
|
1913
|
-
var _allDiscountAmount2 = getDiscountListAmount(_mainDiscountList);
|
|
1914
|
-
newTotal = (_Decimal$minus$toNumb3 = new Decimal(mainProductData.price || 0).minus(_allDiscountAmount2).toNumber()) !== null && _Decimal$minus$toNumb3 !== void 0 ? _Decimal$minus$toNumb3 : newTotal;
|
|
1915
|
-
newOriginTotal = (_mainProductData$orig4 = mainProductData.origin_total) !== null && _mainProductData$orig4 !== void 0 ? _mainProductData$orig4 : newOriginTotal;
|
|
1916
|
-
}
|
|
1917
|
-
|
|
1918
|
-
// 累加bundle的价格(只累加一次)
|
|
1943
|
+
// 累加 bundle 的折后价格(只累加一次)
|
|
1919
1944
|
if (newBundle.length > 0) {
|
|
1920
1945
|
newBundle.forEach(function (item) {
|
|
1921
|
-
|
|
1946
|
+
var _item$bundle_selling_2;
|
|
1947
|
+
var bundleSellingPrice = (_item$bundle_selling_2 = item.bundle_selling_price) !== null && _item$bundle_selling_2 !== void 0 ? _item$bundle_selling_2 : item.price;
|
|
1948
|
+
newTotal += Number(bundleSellingPrice) * Number(item.num);
|
|
1922
1949
|
});
|
|
1923
1950
|
|
|
1924
1951
|
// 计算原始总价(不考虑折扣)
|
|
@@ -2020,7 +2047,6 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2020
2047
|
appliedProductDetails: []
|
|
2021
2048
|
});
|
|
2022
2049
|
});
|
|
2023
|
-
console.log(processedProductList, 'processedProductList');
|
|
2024
2050
|
return {
|
|
2025
2051
|
productList: processedProductList,
|
|
2026
2052
|
discountList: [].concat(editModeDiscount, _toConsumableArray(updatedDiscountList))
|
|
@@ -2047,14 +2073,14 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2047
2073
|
var ruleType = usageRules.type;
|
|
2048
2074
|
// 套餐适用范围配置
|
|
2049
2075
|
var packageScope = usageRules === null || usageRules === void 0 ? void 0 : usageRules.package_scope;
|
|
2050
|
-
var
|
|
2051
|
-
scopeType =
|
|
2052
|
-
|
|
2053
|
-
exclude_bundle_product_ids =
|
|
2054
|
-
|
|
2055
|
-
include_bundle_product_ids =
|
|
2056
|
-
|
|
2057
|
-
filter =
|
|
2076
|
+
var _ref16 = packageScope || {},
|
|
2077
|
+
scopeType = _ref16.type,
|
|
2078
|
+
_ref16$exclude_bundle = _ref16.exclude_bundle_product_ids,
|
|
2079
|
+
exclude_bundle_product_ids = _ref16$exclude_bundle === void 0 ? [] : _ref16$exclude_bundle,
|
|
2080
|
+
_ref16$include_bundle = _ref16.include_bundle_product_ids,
|
|
2081
|
+
include_bundle_product_ids = _ref16$include_bundle === void 0 ? [] : _ref16$include_bundle,
|
|
2082
|
+
_ref16$filter = _ref16.filter,
|
|
2083
|
+
filter = _ref16$filter === void 0 ? 0 : _ref16$filter;
|
|
2058
2084
|
var isMainProduct = flatItem.type === 'main'; // 单独购买
|
|
2059
2085
|
var isBundleItem = flatItem.type === 'bundle'; // 套餐中购买
|
|
2060
2086
|
|
|
@@ -2069,10 +2095,10 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2069
2095
|
return true; // 单独购买时可用
|
|
2070
2096
|
}
|
|
2071
2097
|
if (isBundleItem) {
|
|
2072
|
-
var _flatItem$
|
|
2098
|
+
var _flatItem$bundleItem10, _flatItem$bundleItem11, _flatItem$originProdu, _flatItem$parentProdu10;
|
|
2073
2099
|
// 套餐中购买时,判断是否为原价
|
|
2074
|
-
var priceType = (_flatItem$
|
|
2075
|
-
var priceTypeExt = (_flatItem$
|
|
2100
|
+
var priceType = (_flatItem$bundleItem10 = flatItem.bundleItem) === null || _flatItem$bundleItem10 === void 0 ? void 0 : _flatItem$bundleItem10.price_type;
|
|
2101
|
+
var priceTypeExt = (_flatItem$bundleItem11 = flatItem.bundleItem) === null || _flatItem$bundleItem11 === void 0 ? void 0 : _flatItem$bundleItem11.price_type_ext;
|
|
2076
2102
|
// 主商品id
|
|
2077
2103
|
var mainProductId = (flatItem === null || flatItem === void 0 || (_flatItem$originProdu = flatItem.originProduct) === null || _flatItem$originProdu === void 0 || (_flatItem$originProdu = _flatItem$originProdu._productOrigin) === null || _flatItem$originProdu === void 0 ? void 0 : _flatItem$originProdu.id) || (flatItem === null || flatItem === void 0 || (_flatItem$parentProdu10 = flatItem.parentProduct) === null || _flatItem$parentProdu10 === void 0 ? void 0 : _flatItem$parentProdu10.id) || 0;
|
|
2078
2104
|
// original_price 对应:
|
|
@@ -2139,10 +2165,10 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2139
2165
|
return false; // 单独购买时不可用
|
|
2140
2166
|
}
|
|
2141
2167
|
if (isBundleItem) {
|
|
2142
|
-
var _flatItem$
|
|
2168
|
+
var _flatItem$bundleItem12, _flatItem$bundleItem13;
|
|
2143
2169
|
// 套餐中购买时,判断是否为原价
|
|
2144
|
-
var _priceType = (_flatItem$
|
|
2145
|
-
var _priceTypeExt = (_flatItem$
|
|
2170
|
+
var _priceType = (_flatItem$bundleItem12 = flatItem.bundleItem) === null || _flatItem$bundleItem12 === void 0 ? void 0 : _flatItem$bundleItem12.price_type;
|
|
2171
|
+
var _priceTypeExt = (_flatItem$bundleItem13 = flatItem.bundleItem) === null || _flatItem$bundleItem13 === void 0 ? void 0 : _flatItem$bundleItem13.price_type_ext;
|
|
2146
2172
|
|
|
2147
2173
|
// original_price 对应:
|
|
2148
2174
|
// 1. price_type: "markup" && price_type_ext: "product_price"
|
|
@@ -2242,7 +2268,8 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2242
2268
|
return this.core.effects.emit("".concat(this.name, ":onDestroy"), {});
|
|
2243
2269
|
case 3:
|
|
2244
2270
|
console.log('[Rules] 已销毁');
|
|
2245
|
-
|
|
2271
|
+
_get(_getPrototypeOf(RulesModule.prototype), "destroy", this).call(this);
|
|
2272
|
+
case 5:
|
|
2246
2273
|
case "end":
|
|
2247
2274
|
return _context3.stop();
|
|
2248
2275
|
}
|
|
@@ -8,8 +8,16 @@ export declare class SalesSummaryModule extends BaseModule implements Module, Sa
|
|
|
8
8
|
private appPlugin;
|
|
9
9
|
private store;
|
|
10
10
|
private request;
|
|
11
|
+
private surchargeListModuleName;
|
|
11
12
|
constructor(name?: string, version?: string);
|
|
12
13
|
initialize(core: PisellCore, options: ModuleOptions): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* 更新父级解决方案透传的运行态参数,并在 surcharge 模块名变化时刷新附加费列表。
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* await salesSummaryModule.updateOtherParams({ surchargeListModuleName: 'custom_surchargeList' });
|
|
19
|
+
*/
|
|
20
|
+
updateOtherParams(params: Record<string, any>): Promise<void>;
|
|
13
21
|
getSurchargeList(): Promise<void>;
|
|
14
22
|
private getAppData;
|
|
15
23
|
private getTaxConfig;
|
|
@@ -43,30 +51,5 @@ export declare class SalesSummaryModule extends BaseModule implements Module, Sa
|
|
|
43
51
|
rounding_amount: string;
|
|
44
52
|
pay_service_charge_amount: string;
|
|
45
53
|
is_price_include_tax?: number | undefined;
|
|
46
|
-
} | {
|
|
47
|
-
tax_title: string;
|
|
48
|
-
tax_rate: number | undefined;
|
|
49
|
-
product_quantity: number;
|
|
50
|
-
product_original_amount: string;
|
|
51
|
-
product_amount: string;
|
|
52
|
-
product_expect_amount: string;
|
|
53
|
-
product_tax_fee: string;
|
|
54
|
-
shipping_fee: string;
|
|
55
|
-
shipping_tax_fee: string;
|
|
56
|
-
tax_fee: string;
|
|
57
|
-
surcharge_fee: string;
|
|
58
|
-
surcharges: any;
|
|
59
|
-
discount_amount: string;
|
|
60
|
-
deposit_amount: string;
|
|
61
|
-
deposit: import("./types").DepositInfo | undefined;
|
|
62
|
-
expect_amount: string;
|
|
63
|
-
total_amount: string;
|
|
64
|
-
total_refund_amount: string;
|
|
65
|
-
customer_paid_amount: string;
|
|
66
|
-
order_paid_amount: string;
|
|
67
|
-
amount_gap: string;
|
|
68
|
-
rounding_amount: string;
|
|
69
|
-
pay_service_charge_amount: string;
|
|
70
|
-
is_price_include_tax: number;
|
|
71
54
|
}>;
|
|
72
55
|
}
|