@pisell/pisellos 2.2.243 → 2.2.244
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 +2 -3
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/utils.js +4 -7
- package/dist/modules/Cart/utils/cartProduct.js +3 -24
- package/dist/modules/Cart/utils/changePrice.js +11 -11
- package/dist/modules/Customer/index.d.ts +0 -20
- package/dist/modules/Customer/index.js +83 -172
- package/dist/modules/Customer/types.d.ts +0 -2
- package/dist/modules/Discount/index.js +3 -4
- package/dist/modules/Discount/types.d.ts +0 -1
- package/dist/modules/OpenData/index.d.ts +0 -8
- package/dist/modules/OpenData/index.js +17 -37
- package/dist/modules/Order/index.d.ts +18 -268
- package/dist/modules/Order/index.js +757 -3306
- package/dist/modules/Order/types.d.ts +31 -279
- package/dist/modules/Order/types.js +0 -38
- package/dist/modules/Order/utils.d.ts +5 -147
- package/dist/modules/Order/utils.js +103 -746
- package/dist/modules/Payment/index.d.ts +13 -10
- package/dist/modules/Payment/index.js +837 -467
- package/dist/modules/Payment/types.d.ts +0 -2
- package/dist/modules/Payment/utils.js +1 -2
- package/dist/modules/Payment/walletpass.js +7 -14
- package/dist/modules/ProductList/index.d.ts +12 -16
- package/dist/modules/ProductList/index.js +59 -133
- package/dist/modules/ProductList/types.d.ts +0 -14
- package/dist/modules/Quotation/index.d.ts +1 -0
- package/dist/modules/Quotation/index.js +22 -25
- package/dist/modules/Rules/index.d.ts +0 -4
- package/dist/modules/Rules/index.js +69 -93
- package/dist/modules/Rules/types.d.ts +0 -1
- package/dist/modules/SalesSummary/index.d.ts +25 -8
- package/dist/modules/SalesSummary/index.js +35 -86
- package/dist/modules/SalesSummary/types.d.ts +1 -4
- package/dist/modules/SalesSummary/utils.d.ts +25 -2
- package/dist/modules/SalesSummary/utils.js +162 -794
- package/dist/modules/Schedule/index.d.ts +0 -7
- package/dist/modules/Schedule/index.js +2 -24
- package/dist/modules/Summary/index.js +3 -4
- package/dist/modules/index.d.ts +0 -2
- package/dist/modules/index.js +1 -3
- package/dist/plugins/request.d.ts +0 -1
- package/dist/server/index.d.ts +1 -204
- package/dist/server/index.js +928 -3658
- package/dist/server/modules/index.d.ts +0 -2
- package/dist/server/modules/index.js +0 -2
- package/dist/server/modules/order/index.d.ts +4 -120
- package/dist/server/modules/order/index.js +483 -1779
- package/dist/server/modules/order/types.d.ts +3 -32
- package/dist/server/modules/order/types.js +0 -8
- package/dist/server/modules/order/utils/filterBookings.js +3 -26
- package/dist/server/modules/order/utils/filterOrders.js +8 -23
- package/dist/server/modules/products/index.d.ts +7 -34
- package/dist/server/modules/products/index.js +317 -631
- package/dist/server/modules/resource/index.d.ts +0 -2
- package/dist/server/modules/resource/index.js +3 -29
- package/dist/server/modules/schedule/index.d.ts +4 -4
- package/dist/server/modules/schedule/index.js +88 -111
- package/dist/solution/BaseSales/index.d.ts +9 -131
- package/dist/solution/BaseSales/index.js +447 -1944
- package/dist/solution/BaseSales/types.d.ts +6 -76
- package/dist/solution/BaseSales/types.js +4 -5
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +0 -1
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +24 -105
- package/dist/solution/BaseSales/utils.d.ts +1 -1
- package/dist/solution/BaseSales/utils.js +21 -62
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +10 -270
- package/dist/solution/BookingTicket/index.js +237 -1772
- package/dist/solution/BookingTicket/types.d.ts +1 -118
- package/dist/solution/BookingTicket/types.js +2 -41
- package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +0 -40
- package/dist/solution/BookingTicket/utils/bookingStatus.js +0 -70
- package/dist/solution/BookingTicket/utils/cartView.d.ts +1 -9
- package/dist/solution/BookingTicket/utils/cartView.js +7 -94
- package/dist/solution/BookingTicket/utils/scan/index.d.ts +0 -5
- package/dist/solution/BookingTicket/utils/scan/index.js +8 -20
- package/dist/solution/Checkout/appointmentDemo.json +1 -0
- package/dist/solution/Checkout/index.d.ts +0 -1
- package/dist/solution/Checkout/index.js +9 -10
- package/dist/solution/RegisterAndLogin/config.js +10 -2
- package/dist/solution/ScanOrder/index.d.ts +3 -9
- package/dist/solution/ScanOrder/index.js +134 -241
- package/dist/solution/ScanOrder/types.d.ts +5 -9
- package/dist/solution/ScanOrder/types.js +3 -2
- package/dist/solution/ScanOrder/utils.d.ts +1 -1
- package/dist/solution/ScanOrder/utils.js +22 -84
- package/dist/solution/VenueBooking/index.d.ts +2 -5
- package/dist/solution/VenueBooking/index.js +59 -110
- package/dist/solution/VenueBooking/sales-section-4-annotated.json +2 -0
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
- package/dist/solution/VenueBooking/utils/slotMerge.js +0 -10
- package/dist/types/index.d.ts +0 -10
- package/lib/model/strategy/adapter/promotion/evaluator.js +1 -2
- package/lib/model/strategy/adapter/promotion/index.js +0 -49
- package/lib/model/strategy/adapter/walletPass/utils.js +2 -3
- package/lib/modules/Cart/utils/cartProduct.js +3 -20
- package/lib/modules/Cart/utils/changePrice.js +20 -12
- package/lib/modules/Customer/index.d.ts +0 -20
- package/lib/modules/Customer/index.js +11 -64
- package/lib/modules/Customer/types.d.ts +0 -2
- package/lib/modules/Discount/index.js +1 -5
- package/lib/modules/Discount/types.d.ts +0 -1
- package/lib/modules/OpenData/index.d.ts +0 -8
- package/lib/modules/OpenData/index.js +5 -19
- package/lib/modules/Order/index.d.ts +18 -268
- package/lib/modules/Order/index.js +344 -2149
- package/lib/modules/Order/types.d.ts +31 -279
- package/lib/modules/Order/types.js +0 -1
- package/lib/modules/Order/utils.d.ts +5 -147
- package/lib/modules/Order/utils.js +46 -614
- package/lib/modules/Payment/index.d.ts +13 -10
- package/lib/modules/Payment/index.js +150 -18
- package/lib/modules/Payment/types.d.ts +0 -2
- package/lib/modules/Payment/utils.js +1 -2
- package/lib/modules/Payment/walletpass.js +3 -7
- package/lib/modules/ProductList/index.d.ts +12 -16
- package/lib/modules/ProductList/index.js +4 -41
- package/lib/modules/ProductList/types.d.ts +0 -14
- package/lib/modules/Quotation/index.d.ts +1 -0
- package/lib/modules/Quotation/index.js +16 -19
- package/lib/modules/Rules/index.d.ts +0 -4
- package/lib/modules/Rules/index.js +120 -136
- package/lib/modules/Rules/types.d.ts +0 -1
- package/lib/modules/SalesSummary/index.d.ts +25 -8
- package/lib/modules/SalesSummary/index.js +4 -30
- package/lib/modules/SalesSummary/types.d.ts +1 -4
- package/lib/modules/SalesSummary/utils.d.ts +25 -2
- package/lib/modules/SalesSummary/utils.js +91 -645
- package/lib/modules/Schedule/index.d.ts +0 -7
- package/lib/modules/Schedule/index.js +1 -17
- package/lib/modules/Summary/index.js +4 -5
- package/lib/modules/index.d.ts +0 -2
- package/lib/modules/index.js +1 -5
- package/lib/plugins/request.d.ts +0 -1
- package/lib/server/index.d.ts +1 -204
- package/lib/server/index.js +57 -1888
- package/lib/server/modules/index.d.ts +0 -2
- package/lib/server/modules/index.js +0 -3
- package/lib/server/modules/order/index.d.ts +4 -120
- package/lib/server/modules/order/index.js +142 -919
- package/lib/server/modules/order/types.d.ts +3 -32
- package/lib/server/modules/order/utils/filterBookings.js +5 -24
- package/lib/server/modules/order/utils/filterOrders.js +6 -15
- package/lib/server/modules/products/index.d.ts +7 -34
- package/lib/server/modules/products/index.js +54 -189
- package/lib/server/modules/resource/index.d.ts +0 -2
- package/lib/server/modules/resource/index.js +3 -27
- package/lib/server/modules/schedule/index.d.ts +4 -4
- package/lib/server/modules/schedule/index.js +40 -47
- package/lib/solution/BaseSales/index.d.ts +9 -131
- package/lib/solution/BaseSales/index.js +63 -1106
- package/lib/solution/BaseSales/types.d.ts +6 -76
- package/lib/solution/BaseSales/types.js +1 -3
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +0 -1
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +18 -106
- package/lib/solution/BaseSales/utils.d.ts +1 -1
- package/lib/solution/BaseSales/utils.js +10 -54
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +10 -270
- package/lib/solution/BookingTicket/index.js +29 -922
- package/lib/solution/BookingTicket/types.d.ts +1 -118
- package/lib/solution/BookingTicket/types.js +0 -11
- package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +0 -40
- package/lib/solution/BookingTicket/utils/bookingStatus.js +2 -44
- package/lib/solution/BookingTicket/utils/cartView.d.ts +1 -9
- package/lib/solution/BookingTicket/utils/cartView.js +6 -61
- package/lib/solution/BookingTicket/utils/scan/index.d.ts +0 -5
- package/lib/solution/BookingTicket/utils/scan/index.js +3 -17
- package/lib/solution/Checkout/appointmentDemo.json +1 -0
- package/lib/solution/Checkout/index.d.ts +0 -1
- package/lib/solution/Checkout/index.js +2 -1
- package/lib/solution/RegisterAndLogin/config.js +10 -2
- package/lib/solution/ScanOrder/index.d.ts +3 -9
- package/lib/solution/ScanOrder/index.js +70 -153
- package/lib/solution/ScanOrder/types.d.ts +5 -9
- package/lib/solution/ScanOrder/utils.d.ts +1 -1
- package/lib/solution/ScanOrder/utils.js +17 -83
- package/lib/solution/VenueBooking/index.d.ts +2 -5
- package/lib/solution/VenueBooking/index.js +17 -54
- package/lib/solution/VenueBooking/sales-section-4-annotated.json +2 -0
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
- package/lib/solution/VenueBooking/utils/slotMerge.js +0 -10
- package/lib/types/index.d.ts +0 -10
- package/package.json +1 -1
- package/dist/modules/BookingContext/index.d.ts +0 -48
- package/dist/modules/BookingContext/index.js +0 -566
- package/dist/modules/BookingContext/types.d.ts +0 -102
- package/dist/modules/BookingContext/types.js +0 -51
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -284
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -145
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -76
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -218
- package/dist/modules/BookingContext/utils/flexible.d.ts +0 -28
- package/dist/modules/BookingContext/utils/flexible.js +0 -56
- package/dist/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
- package/dist/modules/BookingContext/utils/formatResourceList.js +0 -38
- package/dist/modules/BookingContext/utils/index.d.ts +0 -11
- package/dist/modules/BookingContext/utils/index.js +0 -11
- package/dist/modules/BookingContext/utils/noResource.d.ts +0 -13
- package/dist/modules/BookingContext/utils/noResource.js +0 -77
- package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +0 -1
- package/dist/modules/BookingContext/utils/orderLineDisplay.js +0 -36
- package/dist/modules/BookingContext/utils/productExtend.d.ts +0 -72
- package/dist/modules/BookingContext/utils/productExtend.js +0 -339
- package/dist/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
- package/dist/modules/BookingContext/utils/resourceErrors.js +0 -74
- package/dist/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
- package/dist/modules/BookingContext/utils/resourceSelection.js +0 -24
- package/dist/modules/BookingContext/utils/resources.d.ts +0 -80
- package/dist/modules/BookingContext/utils/resources.js +0 -486
- package/dist/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
- package/dist/modules/BookingContext/utils/serviceTimes.js +0 -151
- package/dist/modules/BookingContext/utils/timeSlices.d.ts +0 -42
- package/dist/modules/BookingContext/utils/timeSlices.js +0 -100
- package/dist/modules/Order/utils/manualProductDiscount.d.ts +0 -106
- package/dist/modules/Order/utils/manualProductDiscount.js +0 -210
- package/dist/modules/SurchargeList/index.d.ts +0 -16
- package/dist/modules/SurchargeList/index.js +0 -162
- package/dist/modules/SurchargeList/types.d.ts +0 -11
- package/dist/modules/SurchargeList/types.js +0 -1
- package/dist/server/modules/payment/index.d.ts +0 -28
- package/dist/server/modules/payment/index.js +0 -305
- package/dist/server/modules/payment/types.d.ts +0 -9
- package/dist/server/modules/payment/types.js +0 -1
- package/dist/server/test.json +0 -713
- package/dist/server/utils/small-ticket.d.ts +0 -71
- package/dist/server/utils/small-ticket.js +0 -830
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +0 -287
- package/dist/solution/BaseSales/utils/cartPromotion.js +0 -1438
- package/dist/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
- package/dist/solution/BaseSales/utils/quotationPrice.js +0 -237
- package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +0 -117
- package/dist/solution/BookingTicket/utils/addProductDecision.js +0 -346
- package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +0 -35
- package/dist/solution/BookingTicket/utils/addTimeAvailability.js +0 -95
- package/dist/solution/BookingTicket/utils/exampleData.d.ts +0 -123
- package/dist/solution/BookingTicket/utils/exampleData.js +0 -183
- package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +0 -185
- package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +0 -438
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +0 -36
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +0 -399
- package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +0 -32
- package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +0 -56
- package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +0 -21
- package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +0 -150
- package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +0 -23
- package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +0 -78
- package/lib/modules/BookingContext/index.d.ts +0 -48
- package/lib/modules/BookingContext/index.js +0 -368
- package/lib/modules/BookingContext/types.d.ts +0 -102
- package/lib/modules/BookingContext/types.js +0 -34
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -276
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -151
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -76
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -201
- package/lib/modules/BookingContext/utils/flexible.d.ts +0 -28
- package/lib/modules/BookingContext/utils/flexible.js +0 -80
- package/lib/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
- package/lib/modules/BookingContext/utils/formatResourceList.js +0 -50
- package/lib/modules/BookingContext/utils/index.d.ts +0 -11
- package/lib/modules/BookingContext/utils/index.js +0 -43
- package/lib/modules/BookingContext/utils/noResource.d.ts +0 -13
- package/lib/modules/BookingContext/utils/noResource.js +0 -90
- package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +0 -1
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +0 -56
- package/lib/modules/BookingContext/utils/productExtend.d.ts +0 -72
- package/lib/modules/BookingContext/utils/productExtend.js +0 -283
- package/lib/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
- package/lib/modules/BookingContext/utils/resourceErrors.js +0 -80
- package/lib/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
- package/lib/modules/BookingContext/utils/resourceSelection.js +0 -46
- package/lib/modules/BookingContext/utils/resources.d.ts +0 -80
- package/lib/modules/BookingContext/utils/resources.js +0 -377
- package/lib/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
- package/lib/modules/BookingContext/utils/serviceTimes.js +0 -162
- package/lib/modules/BookingContext/utils/timeSlices.d.ts +0 -42
- package/lib/modules/BookingContext/utils/timeSlices.js +0 -124
- package/lib/modules/Order/utils/manualProductDiscount.d.ts +0 -106
- package/lib/modules/Order/utils/manualProductDiscount.js +0 -206
- package/lib/modules/SurchargeList/index.d.ts +0 -16
- package/lib/modules/SurchargeList/index.js +0 -89
- package/lib/modules/SurchargeList/types.d.ts +0 -11
- package/lib/modules/SurchargeList/types.js +0 -17
- package/lib/server/modules/payment/index.d.ts +0 -28
- package/lib/server/modules/payment/index.js +0 -192
- package/lib/server/modules/payment/types.d.ts +0 -9
- package/lib/server/modules/payment/types.js +0 -17
- package/lib/server/test.json +0 -713
- package/lib/server/utils/small-ticket.d.ts +0 -71
- package/lib/server/utils/small-ticket.js +0 -781
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +0 -287
- package/lib/solution/BaseSales/utils/cartPromotion.js +0 -992
- package/lib/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
- package/lib/solution/BaseSales/utils/quotationPrice.js +0 -277
- package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +0 -117
- package/lib/solution/BookingTicket/utils/addProductDecision.js +0 -318
- package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +0 -35
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +0 -125
- package/lib/solution/BookingTicket/utils/exampleData.d.ts +0 -123
- package/lib/solution/BookingTicket/utils/exampleData.js +0 -0
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +0 -185
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +0 -254
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +0 -36
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +0 -168
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +0 -32
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +0 -51
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +0 -21
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +0 -127
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +0 -23
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +0 -85
|
@@ -159,14 +159,6 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
159
159
|
filterDiscountListByType(discountList, type) {
|
|
160
160
|
return (discountList || []).filter((item) => item.type === type || item.tag === type);
|
|
161
161
|
}
|
|
162
|
-
/** 剔除指定 type/tag 的折扣项,保留手动改价(type=product) / 券等 */
|
|
163
|
-
excludeDiscountListByType(discountList, type) {
|
|
164
|
-
return (discountList || []).filter((item) => item.type !== type && item.tag !== type);
|
|
165
|
-
}
|
|
166
|
-
/** 手动改价场景:去掉 promotion,保留 type=product 等行内折扣 */
|
|
167
|
-
resolveDiscountListForManualOverride(discountList) {
|
|
168
|
-
return this.excludeDiscountListByType(discountList, "promotion");
|
|
169
|
-
}
|
|
170
162
|
// 获取券不可用的原因
|
|
171
163
|
getUnavailableReason(discountList, productList) {
|
|
172
164
|
var _a;
|
|
@@ -206,7 +198,6 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
206
198
|
isFormSubject,
|
|
207
199
|
orderTotalAmount
|
|
208
200
|
}, options) {
|
|
209
|
-
var _a;
|
|
210
201
|
const isEditModeAddNewProduct = productList.find((n) => n.booking_id) && productList.find((n) => !n.booking_id);
|
|
211
202
|
const editModeDiscount = [];
|
|
212
203
|
const addModeDiscount = [];
|
|
@@ -219,8 +210,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
219
210
|
});
|
|
220
211
|
const editModeOrderLevelProductIds = /* @__PURE__ */ new Set();
|
|
221
212
|
editModeDiscount.forEach((discount) => {
|
|
222
|
-
var
|
|
223
|
-
if (((
|
|
213
|
+
var _a, _b;
|
|
214
|
+
if (((_a = discount.discount) == null ? void 0 : _a.discount_calculation_mode) === "order_level") {
|
|
224
215
|
editModeOrderLevelProductIds.add((_b = discount == null ? void 0 : discount.discount) == null ? void 0 : _b.discount_product_id);
|
|
225
216
|
}
|
|
226
217
|
});
|
|
@@ -234,13 +225,6 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
234
225
|
const filteredDiscountList = addModeDiscount.filter((discount) => {
|
|
235
226
|
return !discount.isManualSelect;
|
|
236
227
|
});
|
|
237
|
-
const hasDiscountInput = editModeDiscount.length > 0 || addModeDiscount.length > 0 || Boolean(options == null ? void 0 : options.discountId) || Boolean((_a = options == null ? void 0 : options.selectedList) == null ? void 0 : _a.length) || Boolean(options == null ? void 0 : options.scan);
|
|
238
|
-
if (!hasDiscountInput) {
|
|
239
|
-
return {
|
|
240
|
-
discountList,
|
|
241
|
-
productList
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
228
|
const flattenProductsWithBundle = (productList2) => {
|
|
245
229
|
const flattened = [];
|
|
246
230
|
productList2.forEach((originProduct) => {
|
|
@@ -286,17 +270,17 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
286
270
|
};
|
|
287
271
|
const sortedDiscountList = [...filteredDiscountList].sort((a, b) => {
|
|
288
272
|
const isHolderDiscount = (discount) => {
|
|
289
|
-
var
|
|
290
|
-
return ((_b = (
|
|
273
|
+
var _a, _b;
|
|
274
|
+
return ((_b = (_a = discount.metadata) == null ? void 0 : _a.holder) == null ? void 0 : _b.type) === "custom";
|
|
291
275
|
};
|
|
292
276
|
const isGoodPass = (discount) => discount.tag === "good_pass";
|
|
293
277
|
const isOrderLevelDiscount = (discount) => {
|
|
294
|
-
var
|
|
295
|
-
return discount.tag === "product_discount_card" && ((
|
|
278
|
+
var _a;
|
|
279
|
+
return discount.tag === "product_discount_card" && ((_a = discount.metadata) == null ? void 0 : _a.discount_calculation_mode) === "order_level";
|
|
296
280
|
};
|
|
297
281
|
const isItemLevelDiscount = (discount) => {
|
|
298
|
-
var
|
|
299
|
-
return discount.tag === "product_discount_card" && ((
|
|
282
|
+
var _a;
|
|
283
|
+
return discount.tag === "product_discount_card" && ((_a = discount.metadata) == null ? void 0 : _a.discount_calculation_mode) !== "order_level";
|
|
300
284
|
};
|
|
301
285
|
const getPriority = (discount) => {
|
|
302
286
|
const isHolder = isHolderDiscount(discount);
|
|
@@ -326,8 +310,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
326
310
|
return itemA.expire_time ? -1 : itemB.expire_time ? 1 : 0;
|
|
327
311
|
}
|
|
328
312
|
function compareDiscountCardValue(itemA, itemB) {
|
|
329
|
-
var
|
|
330
|
-
const typeA = ((
|
|
313
|
+
var _a, _b;
|
|
314
|
+
const typeA = ((_a = itemA.metadata) == null ? void 0 : _a.discount_card_type) || "percent";
|
|
331
315
|
const typeB = ((_b = itemB.metadata) == null ? void 0 : _b.discount_card_type) || "percent";
|
|
332
316
|
if (typeA === "fixed_amount" && typeB === "percent")
|
|
333
317
|
return -1;
|
|
@@ -367,7 +351,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
367
351
|
});
|
|
368
352
|
const flattenedList = flattenProductsWithBundle(productList);
|
|
369
353
|
const sortedFlattenedList = flattenedList.sort((a, b) => {
|
|
370
|
-
var
|
|
354
|
+
var _a, _b;
|
|
371
355
|
const priceA = new import_decimal.default(
|
|
372
356
|
a.type === "bundle" ? a.original_price ?? a.price ?? "0" : a.price || "0"
|
|
373
357
|
);
|
|
@@ -380,7 +364,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
380
364
|
}
|
|
381
365
|
if (a.type === "main" && b.type === "main") {
|
|
382
366
|
if (a.product.quantity === b.product.quantity) {
|
|
383
|
-
return (((
|
|
367
|
+
return (((_a = b.product.discount_list) == null ? void 0 : _a.length) || 0) - (((_b = a.product.discount_list) == null ? void 0 : _b.length) || 0);
|
|
384
368
|
}
|
|
385
369
|
return a.product.quantity - b.product.quantity;
|
|
386
370
|
}
|
|
@@ -393,7 +377,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
393
377
|
const evaluator = this.getWalletPassEvaluator();
|
|
394
378
|
if (evaluator) {
|
|
395
379
|
addModeDiscount.forEach((discount) => {
|
|
396
|
-
var
|
|
380
|
+
var _a, _b;
|
|
397
381
|
const discountType = discount.tag || discount.type;
|
|
398
382
|
if (["good_pass", "discount_card", "product_discount_card"].includes(
|
|
399
383
|
discountType
|
|
@@ -405,17 +389,17 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
405
389
|
type: discountType,
|
|
406
390
|
product_id: discount.product_id,
|
|
407
391
|
unified_available_status: 1,
|
|
408
|
-
available_product_type: (
|
|
392
|
+
available_product_type: (_a = discount.limited_relation_product_data) == null ? void 0 : _a.type,
|
|
409
393
|
available_product_ids: (_b = discount.limited_relation_product_data) == null ? void 0 : _b.product_ids
|
|
410
394
|
};
|
|
411
395
|
const productsForEvaluate = sortedFlattenedList.map((item) => {
|
|
412
|
-
var
|
|
396
|
+
var _a2;
|
|
413
397
|
return {
|
|
414
398
|
product_id: item.id,
|
|
415
399
|
price: item.price || 0,
|
|
416
400
|
quantity: item.quantity || item.num || 1,
|
|
417
401
|
selling_price: item.price || 0,
|
|
418
|
-
product_options: item.type === "main" ? (
|
|
402
|
+
product_options: item.type === "main" ? (_a2 = item.product) == null ? void 0 : _a2.options : void 0
|
|
419
403
|
};
|
|
420
404
|
});
|
|
421
405
|
const result = evaluator.checkVoucherAvailability({
|
|
@@ -448,7 +432,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
448
432
|
const orderLevelDiscountApplicableItems = /* @__PURE__ */ new Map();
|
|
449
433
|
const itemApplicableDiscounts = /* @__PURE__ */ new Map();
|
|
450
434
|
const checkItemApplicableForDiscount = (flatItem, discount) => {
|
|
451
|
-
var
|
|
435
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
452
436
|
let product;
|
|
453
437
|
if (flatItem.type === "main") {
|
|
454
438
|
product = flatItem.product;
|
|
@@ -461,7 +445,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
461
445
|
num: flatItem.num,
|
|
462
446
|
booking_id: flatItem.booking_id,
|
|
463
447
|
discount_list: flatItem.discount_list || [],
|
|
464
|
-
startDate: (
|
|
448
|
+
startDate: (_a = flatItem.parentProduct) == null ? void 0 : _a.startDate
|
|
465
449
|
};
|
|
466
450
|
}
|
|
467
451
|
const isAvailableProduct = flatItem.type === "main" ? !((product == null ? void 0 : product.booking_id) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.length) && ((_c = product == null ? void 0 : product.discount_list) == null ? void 0 : _c.every((d) => d.id && ["good_pass", "discount_card", "product_discount_card"].includes(d.tag || d.type)))) : !((flatItem == null ? void 0 : flatItem.booking_id) && !!((_e = (_d = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _d.discount_list) == null ? void 0 : _e.length) && ((_g = (_f = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _f.discount_list) == null ? void 0 : _g.every((d) => d.id)));
|
|
@@ -523,13 +507,14 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
523
507
|
}
|
|
524
508
|
}
|
|
525
509
|
});
|
|
510
|
+
console.log("occupiedItems", occupiedItems, "orderLevelDiscountApplicableItems", orderLevelDiscountApplicableItems);
|
|
526
511
|
sortedDiscountList.forEach((discount) => {
|
|
527
512
|
if (!(0, import_utils3.isOrderLevelFixedAmountDiscount)(discount)) {
|
|
528
513
|
return;
|
|
529
514
|
}
|
|
530
515
|
const applicableProducts = [];
|
|
531
516
|
sortedFlattenedList.forEach((flatItem) => {
|
|
532
|
-
var
|
|
517
|
+
var _a, _b, _c;
|
|
533
518
|
const occupyingDiscountId = occupiedItems.get(flatItem._id);
|
|
534
519
|
if (occupyingDiscountId !== void 0 && occupyingDiscountId !== discount.id) {
|
|
535
520
|
return;
|
|
@@ -549,7 +534,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
549
534
|
num: flatItem.num
|
|
550
535
|
};
|
|
551
536
|
}
|
|
552
|
-
const quantity = flatItem.type === "main" ? product.num || product.quantity || 1 : (product.num || product.quantity || 1) * (((
|
|
537
|
+
const quantity = flatItem.type === "main" ? product.num || product.quantity || 1 : (product.num || product.quantity || 1) * (((_a = flatItem.parentProduct) == null ? void 0 : _a.num) || ((_b = flatItem.parentProduct) == null ? void 0 : _b.quantity) || 1);
|
|
553
538
|
const originalAmount = flatItem.type === "main" ? Number(product.price ?? 0) : Number(flatItem.original_price ?? flatItem.price ?? 0);
|
|
554
539
|
const productData = {
|
|
555
540
|
productId: flatItem._id,
|
|
@@ -569,7 +554,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
569
554
|
const processedProductsMap = /* @__PURE__ */ new Map();
|
|
570
555
|
const appliedDiscountProducts = /* @__PURE__ */ new Map();
|
|
571
556
|
sortedFlattenedList.forEach((flatItem) => {
|
|
572
|
-
var
|
|
557
|
+
var _a;
|
|
573
558
|
let product, originProduct;
|
|
574
559
|
if (flatItem.type === "main") {
|
|
575
560
|
product = flatItem.product;
|
|
@@ -585,12 +570,12 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
585
570
|
origin_total: flatItem.origin_total,
|
|
586
571
|
booking_id: flatItem.booking_id,
|
|
587
572
|
discount_list: flatItem.discount_list || [],
|
|
588
|
-
startDate: (
|
|
573
|
+
startDate: (_a = flatItem.parentProduct) == null ? void 0 : _a.startDate
|
|
589
574
|
};
|
|
590
575
|
originProduct = flatItem.originProduct;
|
|
591
576
|
}
|
|
592
577
|
addModeDiscount.forEach((discount) => {
|
|
593
|
-
var
|
|
578
|
+
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
594
579
|
const limitedData = discount == null ? void 0 : discount.limited_relation_product_data;
|
|
595
580
|
const _tempVar = (flatItem == null ? void 0 : flatItem.type) === "bundle" ? flatItem == null ? void 0 : flatItem.parentProduct : flatItem == null ? void 0 : flatItem.product;
|
|
596
581
|
const isHolderMatch = this.checkHolderMatch(
|
|
@@ -604,7 +589,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
604
589
|
let timeLimit = true;
|
|
605
590
|
timeLimit = !!(0, import_utils.filterDiscountListByBookingTime)([discount], ((product == null ? void 0 : product.startDate) || (0, import_dayjs.default)()).format("YYYY-MM-DD HH:mm:ss")).length;
|
|
606
591
|
const isLimitedProduct = (limitedData.type === "product_all" && limitedData.filter !== 1 || limitedData.type === "product_all" && limitedData.filter === 1 && !limitedData.exclude_product_ids.includes(product.id) || limitedData.product_ids && limitedData.product_ids.includes(product.id)) && isHolderMatch;
|
|
607
|
-
const isAvailableProduct = flatItem.type === "main" ? !((product == null ? void 0 : product.booking_id) && ((
|
|
592
|
+
const isAvailableProduct = flatItem.type === "main" ? !((product == null ? void 0 : product.booking_id) && ((_a2 = product == null ? void 0 : product.discount_list) == null ? void 0 : _a2.length) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.every(
|
|
608
593
|
(discount2) => discount2.id && [
|
|
609
594
|
"good_pass",
|
|
610
595
|
"discount_card",
|
|
@@ -688,7 +673,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
688
673
|
}, 0);
|
|
689
674
|
};
|
|
690
675
|
sortedFlattenedList.forEach((flatItem, index) => {
|
|
691
|
-
var
|
|
676
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F;
|
|
692
677
|
let product, originProduct;
|
|
693
678
|
if (flatItem.type === "main") {
|
|
694
679
|
product = flatItem.product;
|
|
@@ -701,7 +686,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
701
686
|
quantity: flatItem.quantity,
|
|
702
687
|
num: flatItem.num,
|
|
703
688
|
total: flatItem.total,
|
|
704
|
-
original_price: (
|
|
689
|
+
original_price: (_a = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _a.original_price,
|
|
705
690
|
origin_total: (_b = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _b.original_price,
|
|
706
691
|
booking_id: flatItem.booking_id,
|
|
707
692
|
discount_list: ((_c = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _c.discount_list) || [],
|
|
@@ -709,18 +694,11 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
709
694
|
};
|
|
710
695
|
originProduct = flatItem.originProduct;
|
|
711
696
|
}
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
return Boolean(
|
|
718
|
-
discountIdentity && ["good_pass", "discount_card", "product_discount_card"].includes(
|
|
719
|
-
discountType
|
|
720
|
-
)
|
|
721
|
-
);
|
|
722
|
-
}));
|
|
723
|
-
if (isPersistedProduct && hasExistingWalletDiscount) {
|
|
697
|
+
if ((product == null ? void 0 : product.booking_id) && ((_e = product.discount_list) == null ? void 0 : _e.length) && ((_f = product == null ? void 0 : product.discount_list) == null ? void 0 : _f.every(
|
|
698
|
+
(discount) => discount.id && ["good_pass", "discount_card", "product_discount_card"].includes(
|
|
699
|
+
discount.tag || discount.type
|
|
700
|
+
)
|
|
701
|
+
))) {
|
|
724
702
|
if (flatItem.type === "main") {
|
|
725
703
|
processedProductsMap.set(product._id, [originProduct]);
|
|
726
704
|
} else {
|
|
@@ -734,20 +712,20 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
734
712
|
return;
|
|
735
713
|
}
|
|
736
714
|
const applicableDiscounts = sortedDiscountList.filter((discount) => {
|
|
737
|
-
var
|
|
715
|
+
var _a2, _b2, _c2, _d2;
|
|
738
716
|
const discountType = discount.tag || discount.type;
|
|
739
717
|
if (["good_pass", "discount_card", "product_discount_card"].includes(
|
|
740
718
|
discountType
|
|
741
719
|
)) {
|
|
742
|
-
if (discount.config === void 0 || !((
|
|
720
|
+
if (discount.config === void 0 || !((_a2 = discount == null ? void 0 : discount.config) == null ? void 0 : _a2.isAvailable)) {
|
|
743
721
|
return false;
|
|
744
722
|
}
|
|
745
723
|
}
|
|
746
724
|
if ((Number(product.price) <= 0 || !product.price) && !((_b2 = product.discount_list) == null ? void 0 : _b2.length) && (discount.tag || discount.type) === "good_pass")
|
|
747
725
|
return false;
|
|
748
726
|
if ((Number(product.price) <= 0 || !product.price) && !((_c2 = product.discount_list) == null ? void 0 : _c2.find((n) => {
|
|
749
|
-
var
|
|
750
|
-
return ((
|
|
727
|
+
var _a3;
|
|
728
|
+
return ((_a3 = n.discount) == null ? void 0 : _a3.resource_id) === discount.id;
|
|
751
729
|
})) && (discount.tag || discount.type) !== "good_pass")
|
|
752
730
|
return false;
|
|
753
731
|
const targetUsedDiscounts = usedDiscounts.get(discount.id);
|
|
@@ -801,13 +779,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
801
779
|
const selectedDiscount = selectedDiscountCard || applicableDiscounts[0];
|
|
802
780
|
let isManualDiscount = false;
|
|
803
781
|
if (flatItem.type === "main") {
|
|
804
|
-
isManualDiscount = typeof product.isManualDiscount === "boolean" ? product.isManualDiscount :
|
|
782
|
+
isManualDiscount = typeof product.isManualDiscount === "boolean" ? product.isManualDiscount : product.total != product.origin_total && (product.bundle || []).every(
|
|
805
783
|
(item) => {
|
|
806
|
-
var
|
|
807
|
-
return !((
|
|
784
|
+
var _a2;
|
|
785
|
+
return !((_a2 = item.discount_list || []) == null ? void 0 : _a2.length);
|
|
808
786
|
}
|
|
809
|
-
) && (!((
|
|
810
|
-
|
|
787
|
+
) && (!((_g = product.discount_list) == null ? void 0 : _g.length) || ((_i = (_h = product == null ? void 0 : product.discount_list) == null ? void 0 : _h.every) == null ? void 0 : _i.call(
|
|
788
|
+
_h,
|
|
811
789
|
(item) => item.type === "product"
|
|
812
790
|
)));
|
|
813
791
|
if (product.inPromotion) {
|
|
@@ -816,36 +794,36 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
816
794
|
} else {
|
|
817
795
|
const parentProduct = flatItem.parentProduct;
|
|
818
796
|
if (parentProduct) {
|
|
819
|
-
isManualDiscount = typeof parentProduct.isManualDiscount === "boolean" ? parentProduct.isManualDiscount :
|
|
797
|
+
isManualDiscount = typeof parentProduct.isManualDiscount === "boolean" ? parentProduct.isManualDiscount : parentProduct.total != parentProduct.origin_total && (parentProduct.bundle || []).every(
|
|
820
798
|
(item) => {
|
|
821
|
-
var
|
|
822
|
-
return !((
|
|
799
|
+
var _a2;
|
|
800
|
+
return !((_a2 = item.discount_list || []) == null ? void 0 : _a2.length);
|
|
823
801
|
}
|
|
824
|
-
) && (!((
|
|
825
|
-
|
|
802
|
+
) && (!((_j = parentProduct.discount_list) == null ? void 0 : _j.length) || ((_l = (_k = parentProduct == null ? void 0 : parentProduct.discount_list) == null ? void 0 : _k.every) == null ? void 0 : _l.call(
|
|
803
|
+
_k,
|
|
826
804
|
(item) => item.type === "product"
|
|
827
805
|
)));
|
|
828
806
|
}
|
|
829
807
|
}
|
|
830
808
|
if (options == null ? void 0 : options.discountId) {
|
|
831
|
-
if (flatItem.type === "main" && ((
|
|
809
|
+
if (flatItem.type === "main" && ((_m = product.discount_list) == null ? void 0 : _m.some(
|
|
832
810
|
(item) => {
|
|
833
|
-
var
|
|
834
|
-
return ((
|
|
811
|
+
var _a2;
|
|
812
|
+
return ((_a2 = item.discount) == null ? void 0 : _a2.resource_id) === options.discountId;
|
|
835
813
|
}
|
|
836
814
|
))) {
|
|
837
815
|
isManualDiscount = false;
|
|
838
816
|
}
|
|
839
817
|
if (flatItem.type === "bundle") {
|
|
840
|
-
if (((
|
|
818
|
+
if (((_n = product.discount_list) == null ? void 0 : _n.some(
|
|
841
819
|
(item) => {
|
|
842
|
-
var
|
|
843
|
-
return ((
|
|
820
|
+
var _a2;
|
|
821
|
+
return ((_a2 = item.discount) == null ? void 0 : _a2.resource_id) === options.discountId;
|
|
844
822
|
}
|
|
845
|
-
)) || ((
|
|
823
|
+
)) || ((_p = (_o = flatItem.parentProduct) == null ? void 0 : _o.discount_list) == null ? void 0 : _p.some(
|
|
846
824
|
(item) => {
|
|
847
|
-
var
|
|
848
|
-
return ((
|
|
825
|
+
var _a2;
|
|
826
|
+
return ((_a2 = item.discount) == null ? void 0 : _a2.resource_id) === options.discountId;
|
|
849
827
|
}
|
|
850
828
|
))) {
|
|
851
829
|
isManualDiscount = false;
|
|
@@ -853,13 +831,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
853
831
|
}
|
|
854
832
|
}
|
|
855
833
|
if (options == null ? void 0 : options.selectedList) {
|
|
856
|
-
if (flatItem.type === "main" && ((
|
|
834
|
+
if (flatItem.type === "main" && ((_q = product.discount_list) == null ? void 0 : _q.some(
|
|
857
835
|
(item) => {
|
|
858
|
-
var
|
|
859
|
-
return (
|
|
836
|
+
var _a2;
|
|
837
|
+
return (_a2 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a2.some(
|
|
860
838
|
(n) => {
|
|
861
|
-
var
|
|
862
|
-
return n.discountId === ((
|
|
839
|
+
var _a3;
|
|
840
|
+
return n.discountId === ((_a3 = item.discount) == null ? void 0 : _a3.resource_id);
|
|
863
841
|
}
|
|
864
842
|
);
|
|
865
843
|
}
|
|
@@ -867,23 +845,23 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
867
845
|
isManualDiscount = false;
|
|
868
846
|
}
|
|
869
847
|
if (flatItem.type === "bundle") {
|
|
870
|
-
if (((
|
|
848
|
+
if (((_r = product.discount_list) == null ? void 0 : _r.some(
|
|
871
849
|
(item) => {
|
|
872
|
-
var
|
|
873
|
-
return (
|
|
850
|
+
var _a2;
|
|
851
|
+
return (_a2 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a2.some(
|
|
874
852
|
(n) => {
|
|
875
|
-
var
|
|
876
|
-
return n.discountId === ((
|
|
853
|
+
var _a3;
|
|
854
|
+
return n.discountId === ((_a3 = item.discount) == null ? void 0 : _a3.resource_id);
|
|
877
855
|
}
|
|
878
856
|
);
|
|
879
857
|
}
|
|
880
|
-
)) || ((
|
|
858
|
+
)) || ((_t = (_s = flatItem.parentProduct) == null ? void 0 : _s.discount_list) == null ? void 0 : _t.some(
|
|
881
859
|
(item) => {
|
|
882
|
-
var
|
|
883
|
-
return (
|
|
860
|
+
var _a2;
|
|
861
|
+
return (_a2 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a2.some(
|
|
884
862
|
(n) => {
|
|
885
|
-
var
|
|
886
|
-
return n.discountId === ((
|
|
863
|
+
var _a3;
|
|
864
|
+
return n.discountId === ((_a3 = item.discount) == null ? void 0 : _a3.resource_id);
|
|
887
865
|
}
|
|
888
866
|
);
|
|
889
867
|
}
|
|
@@ -918,11 +896,11 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
918
896
|
price: product.price,
|
|
919
897
|
options: restoredOptions
|
|
920
898
|
},
|
|
921
|
-
discount_list:
|
|
899
|
+
discount_list: this.filterDiscountListByType(product.discount_list, "promotion")
|
|
922
900
|
})
|
|
923
901
|
]);
|
|
924
902
|
} else {
|
|
925
|
-
let total = product.inPromotion ? ((
|
|
903
|
+
let total = product.inPromotion ? ((_u = product == null ? void 0 : product._promotion) == null ? void 0 : _u.finalPrice) ?? product.origin_total ?? product.total : product.origin_total ?? product.total;
|
|
926
904
|
let main_product_selling_price = product.price;
|
|
927
905
|
if ((product.discount_list || []).some((item) => item.type === "promotion") || (0, import_lodash_es.isBoolean)(product.vouchersApplicable) && !product.vouchersApplicable) {
|
|
928
906
|
total = product.total ?? product.origin_total;
|
|
@@ -940,14 +918,14 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
940
918
|
main_product_selling_price,
|
|
941
919
|
options: restoredOptions
|
|
942
920
|
},
|
|
943
|
-
discount_list:
|
|
921
|
+
discount_list: this.filterDiscountListByType(product.discount_list, "promotion")
|
|
944
922
|
})
|
|
945
923
|
]);
|
|
946
924
|
}
|
|
947
925
|
} else {
|
|
948
926
|
processedFlatItemsMap.set(flatItem._id, [{
|
|
949
927
|
...flatItem,
|
|
950
|
-
discount_list:
|
|
928
|
+
discount_list: this.filterDiscountListByType(((_v = flatItem.bundleItem) == null ? void 0 : _v.discount_list) || [], "promotion"),
|
|
951
929
|
price: isManualDiscount ? flatItem.bundleItem.price : flatItem.bundleItem.original_price,
|
|
952
930
|
processed: true
|
|
953
931
|
}]);
|
|
@@ -998,13 +976,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
998
976
|
if (this.filterDiscountListByType(product.discount_list, "promotion").length && product.origin_total) {
|
|
999
977
|
productOriginTotal = product.origin_total;
|
|
1000
978
|
}
|
|
1001
|
-
if (Number(((
|
|
979
|
+
if (Number(((_w = originProduct == null ? void 0 : originProduct._productInit) == null ? void 0 : _w.original_price) || 0) > 0 && product.origin_total && product.total && product.origin_total !== product.total) {
|
|
1002
980
|
productOriginTotal = product.total;
|
|
1003
981
|
}
|
|
1004
982
|
const isOrderLevel = (0, import_utils3.isOrderLevelFixedAmountDiscount)(selectedDiscount2);
|
|
1005
983
|
const orderLevelAllocation = isOrderLevel ? orderLevelDiscountAllocations.get(selectedDiscount2.id) : null;
|
|
1006
984
|
const productAllocation = orderLevelAllocation == null ? void 0 : orderLevelAllocation.get(flatItem._id);
|
|
1007
|
-
const isDeductOptionPrice = !!((
|
|
985
|
+
const isDeductOptionPrice = !!((_x = selectedDiscount2.config) == null ? void 0 : _x.deductOptionPrice);
|
|
1008
986
|
let mainProductSellingPrice;
|
|
1009
987
|
let amount;
|
|
1010
988
|
let productDiscountDifference;
|
|
@@ -1022,7 +1000,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1022
1000
|
);
|
|
1023
1001
|
amount = new import_decimal.default(product.price).minus(new import_decimal.default(mainProductSellingPrice)).toNumber();
|
|
1024
1002
|
}
|
|
1025
|
-
if (isDeductOptionPrice && ((
|
|
1003
|
+
if (isDeductOptionPrice && ((_y = product.options) == null ? void 0 : _y.length)) {
|
|
1026
1004
|
const optionResult = applyDiscountToOptions(
|
|
1027
1005
|
product.options,
|
|
1028
1006
|
selectedDiscount2
|
|
@@ -1030,7 +1008,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1030
1008
|
discountedOptions = optionResult.discountedOptions;
|
|
1031
1009
|
optionDiscountAmount = optionResult.optionDiscountAmount;
|
|
1032
1010
|
}
|
|
1033
|
-
const optionsForLineTotal = isDeductOptionPrice && ((
|
|
1011
|
+
const optionsForLineTotal = isDeductOptionPrice && ((_z = product.options) == null ? void 0 : _z.length) ? discountedOptions : product.options;
|
|
1034
1012
|
const optionsLineTotal = getOptionTotal(optionsForLineTotal || []);
|
|
1035
1013
|
const total = new import_decimal.default(mainProductSellingPrice).plus(optionsLineTotal).toNumber();
|
|
1036
1014
|
const mainProductDiscountAmount = amount;
|
|
@@ -1041,9 +1019,9 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1041
1019
|
amount: lineDiscountAmount,
|
|
1042
1020
|
type: selectedDiscount2.tag === "product_discount_card" ? "discount_card" : discountType,
|
|
1043
1021
|
discount: {
|
|
1044
|
-
discount_card_type: (
|
|
1022
|
+
discount_card_type: (_A = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _A.discount_card_type,
|
|
1045
1023
|
fixed_amount: lineDiscountAmount,
|
|
1046
|
-
discount_calculation_mode: (
|
|
1024
|
+
discount_calculation_mode: (_B = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _B.discount_calculation_mode,
|
|
1047
1025
|
resource_id: selectedDiscount2.id,
|
|
1048
1026
|
title: selectedDiscount2.format_title,
|
|
1049
1027
|
original_amount: product.price,
|
|
@@ -1125,7 +1103,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1125
1103
|
type: "good_pass",
|
|
1126
1104
|
discount: {
|
|
1127
1105
|
fixed_amount: product.origin_total,
|
|
1128
|
-
discount_calculation_mode: (
|
|
1106
|
+
discount_calculation_mode: (_C = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _C.discount_calculation_mode,
|
|
1129
1107
|
resource_id: selectedDiscount2.id,
|
|
1130
1108
|
title: selectedDiscount2.format_title,
|
|
1131
1109
|
original_amount: product.origin_total,
|
|
@@ -1199,9 +1177,9 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1199
1177
|
amount: fixedAmountPerItem * (product.num || 1),
|
|
1200
1178
|
type: selectedDiscount2.tag === "product_discount_card" ? "discount_card" : selectedDiscount2.tag,
|
|
1201
1179
|
discount: {
|
|
1202
|
-
discount_card_type: (
|
|
1180
|
+
discount_card_type: (_D = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _D.discount_card_type,
|
|
1203
1181
|
fixed_amount: fixedAmountPerItem,
|
|
1204
|
-
discount_calculation_mode: (
|
|
1182
|
+
discount_calculation_mode: (_E = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _E.discount_calculation_mode,
|
|
1205
1183
|
resource_id: selectedDiscount2.id,
|
|
1206
1184
|
title: selectedDiscount2.format_title,
|
|
1207
1185
|
original_amount: product.original_price,
|
|
@@ -1217,7 +1195,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1217
1195
|
...productDiscountDifference !== void 0 && { product_discount_difference: productDiscountDifference }
|
|
1218
1196
|
},
|
|
1219
1197
|
config: selectedDiscount2 == null ? void 0 : selectedDiscount2.config,
|
|
1220
|
-
_num: (product.num || 1) * (((
|
|
1198
|
+
_num: (product.num || 1) * (((_F = flatItem == null ? void 0 : flatItem.parentProduct) == null ? void 0 : _F.num) || 1)
|
|
1221
1199
|
};
|
|
1222
1200
|
const appliedProducts = appliedDiscountProducts.get(selectedDiscount2.id) || [];
|
|
1223
1201
|
appliedProducts.push(discountDetail);
|
|
@@ -1292,8 +1270,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1292
1270
|
bundleProcessingInfo.set(bundleIndex, processedBundleItems);
|
|
1293
1271
|
const hasGoodPass = processedBundleItems.some(
|
|
1294
1272
|
(item) => {
|
|
1295
|
-
var
|
|
1296
|
-
return (
|
|
1273
|
+
var _a;
|
|
1274
|
+
return (_a = item.discount_list) == null ? void 0 : _a.some(
|
|
1297
1275
|
(discount) => discount.type === "good_pass" || discount.tag === "good_pass"
|
|
1298
1276
|
);
|
|
1299
1277
|
}
|
|
@@ -1317,13 +1295,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1317
1295
|
if (processedItems.length > 1) {
|
|
1318
1296
|
processedItems.forEach((item) => {
|
|
1319
1297
|
const updatedDiscountList2 = (item.discount_list || []).map((discount) => {
|
|
1320
|
-
var
|
|
1298
|
+
var _a;
|
|
1321
1299
|
return {
|
|
1322
1300
|
...discount,
|
|
1323
1301
|
metadata: {
|
|
1324
1302
|
...discount.metadata,
|
|
1325
1303
|
num: item.num,
|
|
1326
|
-
custom_product_bundle_map_id: (
|
|
1304
|
+
custom_product_bundle_map_id: (_a = item.metadata) == null ? void 0 : _a.custom_product_bundle_map_id
|
|
1327
1305
|
}
|
|
1328
1306
|
// num: item.num, // 使用拆分后的 num
|
|
1329
1307
|
};
|
|
@@ -1341,13 +1319,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1341
1319
|
const item = processedItems[0];
|
|
1342
1320
|
if (item.processed) {
|
|
1343
1321
|
const updatedDiscountList2 = (item.discount_list || []).map((discount) => {
|
|
1344
|
-
var
|
|
1322
|
+
var _a;
|
|
1345
1323
|
return {
|
|
1346
1324
|
...discount,
|
|
1347
1325
|
metadata: {
|
|
1348
1326
|
...discount.metadata,
|
|
1349
1327
|
num: item.num,
|
|
1350
|
-
custom_product_bundle_map_id: (
|
|
1328
|
+
custom_product_bundle_map_id: (_a = item.metadata) == null ? void 0 : _a.custom_product_bundle_map_id
|
|
1351
1329
|
}
|
|
1352
1330
|
// num: item.num, // 使用当前的 num
|
|
1353
1331
|
};
|
|
@@ -1371,8 +1349,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1371
1349
|
mainProductData.original_price || mainProductData.price || 0
|
|
1372
1350
|
);
|
|
1373
1351
|
const updatedMainDiscountList = mainProductData.discount_list.map((discount) => {
|
|
1374
|
-
var
|
|
1375
|
-
if ((
|
|
1352
|
+
var _a, _b;
|
|
1353
|
+
if ((_a = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a.custom_product_bundle_map_id) {
|
|
1376
1354
|
return discount;
|
|
1377
1355
|
}
|
|
1378
1356
|
return {
|
|
@@ -1387,8 +1365,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1387
1365
|
});
|
|
1388
1366
|
const mainDiscountList = updatedMainDiscountList.filter(
|
|
1389
1367
|
(item) => {
|
|
1390
|
-
var
|
|
1391
|
-
return !((
|
|
1368
|
+
var _a;
|
|
1369
|
+
return !((_a = item == null ? void 0 : item.metadata) == null ? void 0 : _a.custom_product_bundle_map_id);
|
|
1392
1370
|
}
|
|
1393
1371
|
);
|
|
1394
1372
|
if (mainDiscountList && mainDiscountList.length > 0) {
|
|
@@ -1401,8 +1379,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1401
1379
|
newTotalWithDiscount += Number(item.price) * Number(item.num);
|
|
1402
1380
|
});
|
|
1403
1381
|
newBundleWithDiscount.forEach((item) => {
|
|
1404
|
-
var
|
|
1405
|
-
const originalPrice = ((_c = (_b = (
|
|
1382
|
+
var _a, _b, _c;
|
|
1383
|
+
const originalPrice = ((_c = (_b = (_a = item.discount_list) == null ? void 0 : _a[0]) == null ? void 0 : _b.discount) == null ? void 0 : _c.original_amount) || item.price;
|
|
1406
1384
|
newOriginTotalWithDiscount += Number(originalPrice) * Number(item.num);
|
|
1407
1385
|
});
|
|
1408
1386
|
}
|
|
@@ -1439,8 +1417,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1439
1417
|
mainProductData.original_price || mainProductData.price || 0
|
|
1440
1418
|
);
|
|
1441
1419
|
const updatedMainDiscountListOriginal = mainProductData.discount_list.map((discount) => {
|
|
1442
|
-
var
|
|
1443
|
-
if ((
|
|
1420
|
+
var _a, _b;
|
|
1421
|
+
if ((_a = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a.custom_product_bundle_map_id) {
|
|
1444
1422
|
return discount;
|
|
1445
1423
|
}
|
|
1446
1424
|
return {
|
|
@@ -1455,8 +1433,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1455
1433
|
});
|
|
1456
1434
|
const mainDiscountListOriginal = updatedMainDiscountListOriginal.filter(
|
|
1457
1435
|
(item) => {
|
|
1458
|
-
var
|
|
1459
|
-
return !((
|
|
1436
|
+
var _a;
|
|
1437
|
+
return !((_a = item == null ? void 0 : item.metadata) == null ? void 0 : _a.custom_product_bundle_map_id);
|
|
1460
1438
|
}
|
|
1461
1439
|
);
|
|
1462
1440
|
if (mainDiscountListOriginal && mainDiscountListOriginal.length > 0) {
|
|
@@ -1495,7 +1473,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1495
1473
|
}
|
|
1496
1474
|
} else {
|
|
1497
1475
|
mainProductArr.forEach((mainProduct) => {
|
|
1498
|
-
var
|
|
1476
|
+
var _a, _b, _c;
|
|
1499
1477
|
const mainProductData = this.hooks.getProduct(mainProduct);
|
|
1500
1478
|
const newBundle = [];
|
|
1501
1479
|
if (product.bundle && Array.isArray(product.bundle)) {
|
|
@@ -1506,16 +1484,14 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1506
1484
|
newBundle.push(bundleItem);
|
|
1507
1485
|
} else {
|
|
1508
1486
|
processedBundleItems.forEach((item) => {
|
|
1509
|
-
const nextBundlePrice = item.price ?? bundleItem.price;
|
|
1510
|
-
const nextBundleSellingPrice = item.bundle_selling_price ?? item.price ?? bundleItem.bundle_selling_price;
|
|
1511
1487
|
const updatedDiscountList2 = (item.discount_list || []).map((discount) => {
|
|
1512
|
-
var
|
|
1488
|
+
var _a2;
|
|
1513
1489
|
return {
|
|
1514
1490
|
...discount,
|
|
1515
1491
|
metadata: {
|
|
1516
1492
|
...discount.metadata,
|
|
1517
1493
|
num: item.num,
|
|
1518
|
-
custom_product_bundle_map_id: (
|
|
1494
|
+
custom_product_bundle_map_id: (_a2 = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id
|
|
1519
1495
|
}
|
|
1520
1496
|
// num: item.num, // 使用拆分后的 num
|
|
1521
1497
|
};
|
|
@@ -1524,31 +1500,38 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1524
1500
|
...bundleItem,
|
|
1525
1501
|
_id: item._id,
|
|
1526
1502
|
product_id: bundleItem.product_id,
|
|
1527
|
-
price:
|
|
1503
|
+
price: item.price,
|
|
1528
1504
|
num: item.num,
|
|
1529
1505
|
discount_list: updatedDiscountList2,
|
|
1530
|
-
bundle_selling_price: bundleItem.bundle_selling_price !== void 0 ?
|
|
1506
|
+
bundle_selling_price: bundleItem.bundle_selling_price !== void 0 ? item.price : void 0
|
|
1531
1507
|
});
|
|
1532
1508
|
});
|
|
1533
1509
|
}
|
|
1534
1510
|
});
|
|
1535
1511
|
}
|
|
1536
|
-
|
|
1537
|
-
let newTotal = Number(mainSellingPrice || 0);
|
|
1512
|
+
let newTotal = Number(mainProductData.price || 0);
|
|
1538
1513
|
let newOriginTotal = Number(mainProductData.original_price || mainProductData.price || 0);
|
|
1539
|
-
const isManualDiscount = typeof mainProductData.isManualDiscount === "boolean" ? mainProductData.isManualDiscount : mainProductData.total != mainProductData.origin_total && (!((
|
|
1514
|
+
const isManualDiscount = typeof mainProductData.isManualDiscount === "boolean" ? mainProductData.isManualDiscount : mainProductData.total != mainProductData.origin_total && (!((_a = mainProductData.discount_list) == null ? void 0 : _a.length) || ((_c = (_b = mainProductData == null ? void 0 : mainProductData.discount_list) == null ? void 0 : _b.every) == null ? void 0 : _c.call(_b, (item) => item.type === "product")));
|
|
1540
1515
|
if (isManualDiscount) {
|
|
1541
1516
|
newTotal = mainProductData.total ?? newTotal;
|
|
1542
1517
|
newOriginTotal = mainProductData.origin_total ?? newOriginTotal;
|
|
1543
1518
|
} else {
|
|
1519
|
+
const mainDiscountList = mainProductData.discount_list.filter((item) => {
|
|
1520
|
+
var _a2;
|
|
1521
|
+
return !((_a2 = item == null ? void 0 : item.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id);
|
|
1522
|
+
});
|
|
1523
|
+
if (mainDiscountList && mainDiscountList.length > 0) {
|
|
1524
|
+
const allDiscountAmount = (0, import_utils.getDiscountListAmount)(mainDiscountList);
|
|
1525
|
+
newTotal = new import_decimal.default(mainProductData.price || 0).minus(allDiscountAmount).toNumber() ?? newTotal;
|
|
1526
|
+
newOriginTotal = mainProductData.origin_total ?? newOriginTotal;
|
|
1527
|
+
}
|
|
1544
1528
|
if (newBundle.length > 0) {
|
|
1545
1529
|
newBundle.forEach((item) => {
|
|
1546
|
-
|
|
1547
|
-
newTotal += Number(bundleSellingPrice) * Number(item.num);
|
|
1530
|
+
newTotal += Number(item.price) * Number(item.num);
|
|
1548
1531
|
});
|
|
1549
1532
|
newBundle.forEach((item) => {
|
|
1550
|
-
var
|
|
1551
|
-
const originalPrice = ((_c2 = (_b2 = (
|
|
1533
|
+
var _a2, _b2, _c2;
|
|
1534
|
+
const originalPrice = ((_c2 = (_b2 = (_a2 = item.discount_list) == null ? void 0 : _a2[0]) == null ? void 0 : _b2.discount) == null ? void 0 : _c2.original_amount) || item.price;
|
|
1552
1535
|
newOriginTotal += Number(originalPrice) * Number(item.num);
|
|
1553
1536
|
});
|
|
1554
1537
|
}
|
|
@@ -1635,6 +1618,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1635
1618
|
appliedProductDetails: []
|
|
1636
1619
|
};
|
|
1637
1620
|
});
|
|
1621
|
+
console.log(processedProductList, "processedProductList");
|
|
1638
1622
|
return {
|
|
1639
1623
|
productList: processedProductList,
|
|
1640
1624
|
discountList: [...editModeDiscount, ...updatedDiscountList]
|