@pisell/pisellos 0.0.568 → 0.0.570
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/effects/index.d.ts +2 -2
- package/dist/model/strategy/adapter/dataVariant/type.d.ts +3 -3
- package/dist/model/strategy/adapter/itemRule/type.d.ts +6 -6
- package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
- package/dist/model/strategy/adapter/promotion/type.d.ts +5 -5
- package/dist/model/strategy/adapter/walletPass/utils.js +7 -4
- package/dist/model/strategy/type.d.ts +1 -1
- package/dist/modules/BaseModule.d.ts +2 -2
- package/dist/modules/BaseModule.js +4 -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 +302 -0
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -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 +26 -5
- package/dist/modules/Cart/utils/changePrice.js +27 -20
- package/dist/modules/Customer/index.d.ts +20 -0
- package/dist/modules/Customer/index.js +172 -83
- package/dist/modules/Customer/types.d.ts +3 -1
- package/dist/modules/Discount/index.d.ts +2 -1
- package/dist/modules/Discount/index.js +37 -9
- package/dist/modules/Discount/types.d.ts +2 -1
- package/dist/modules/Holder/types.d.ts +1 -1
- package/dist/modules/OpenData/index.d.ts +8 -0
- package/dist/modules/OpenData/index.js +36 -16
- package/dist/modules/OpenData/types.d.ts +1 -1
- package/dist/modules/Order/index.d.ts +448 -23
- package/dist/modules/Order/index.js +5417 -561
- package/dist/modules/Order/types.d.ts +693 -88
- package/dist/modules/Order/types.js +68 -1
- package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
- package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -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/orderCollectionIdentity.d.ts +53 -0
- package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
- package/dist/modules/Order/utils.d.ts +167 -18
- package/dist/modules/Order/utils.js +960 -165
- package/dist/modules/Payment/index.d.ts +10 -9
- package/dist/modules/Payment/index.js +465 -703
- package/dist/modules/Payment/types.d.ts +47 -23
- package/dist/modules/Payment/utils.d.ts +1 -1
- package/dist/modules/Payment/utils.js +4 -3
- package/dist/modules/Payment/walletpass.js +44 -29
- package/dist/modules/Product/index.d.ts +1 -1
- package/dist/modules/Product/types.d.ts +29 -7
- package/dist/modules/ProductList/index.d.ts +17 -13
- package/dist/modules/ProductList/index.js +184 -74
- package/dist/modules/ProductList/types.d.ts +17 -0
- package/dist/modules/Quotation/index.d.ts +22 -2
- package/dist/modules/Quotation/index.js +108 -42
- package/dist/modules/Quotation/types.d.ts +19 -0
- package/dist/modules/ResourcePlanner/index.d.ts +24 -0
- package/dist/modules/ResourcePlanner/index.js +181 -0
- package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
- package/dist/modules/ResourcePlanner/planner.js +1069 -0
- package/dist/modules/ResourcePlanner/types.d.ts +227 -0
- package/dist/modules/ResourcePlanner/types.js +1 -0
- package/dist/modules/Rules/index.d.ts +8 -10
- package/dist/modules/Rules/index.js +222 -109
- package/dist/modules/Rules/types.d.ts +15 -4
- package/dist/modules/SalesSummary/index.d.ts +23 -26
- package/dist/modules/SalesSummary/index.js +152 -46
- package/dist/modules/SalesSummary/types.d.ts +9 -1
- package/dist/modules/SalesSummary/utils.d.ts +3 -22
- package/dist/modules/SalesSummary/utils.js +803 -163
- package/dist/modules/ScanOrderLogger/types.d.ts +2 -2
- package/dist/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
- package/dist/modules/Schedule/getDateIsInSchedule.js +14 -7
- package/dist/modules/Schedule/index.d.ts +18 -5
- package/dist/modules/Schedule/index.js +78 -24
- package/dist/modules/Schedule/type.d.ts +7 -7
- package/dist/modules/Schedule/types.d.ts +11 -9
- package/dist/modules/Summary/index.js +4 -3
- package/dist/modules/SurchargeList/index.d.ts +18 -0
- package/dist/modules/SurchargeList/index.js +185 -0
- package/dist/modules/SurchargeList/types.d.ts +15 -0
- package/dist/modules/SurchargeList/types.js +1 -0
- package/dist/modules/index.d.ts +3 -0
- package/dist/modules/index.js +4 -1
- package/dist/plugins/app.d.ts +2 -0
- package/dist/plugins/request.d.ts +3 -2
- package/dist/server/index.d.ts +462 -8
- package/dist/server/index.js +6112 -656
- package/dist/server/modules/floor-plan/index.d.ts +39 -0
- package/dist/server/modules/floor-plan/index.js +595 -0
- package/dist/server/modules/floor-plan/types.d.ts +43 -0
- package/dist/server/modules/floor-plan/types.js +13 -0
- package/dist/server/modules/index.d.ts +7 -2
- package/dist/server/modules/index.js +6 -0
- package/dist/server/modules/menu/types.d.ts +1 -1
- package/dist/server/modules/order/index.d.ts +207 -14
- package/dist/server/modules/order/index.js +2326 -379
- package/dist/server/modules/order/types.d.ts +91 -20
- package/dist/server/modules/order/types.js +14 -1
- package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
- package/dist/server/modules/order/utils/filterBookings.js +118 -11
- package/dist/server/modules/order/utils/filterOrders.js +242 -14
- 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 +105 -14
- package/dist/server/modules/products/index.js +1393 -516
- package/dist/server/modules/products/types.d.ts +35 -2
- package/dist/server/modules/products/types.js +4 -0
- package/dist/server/modules/quotation/index.d.ts +39 -0
- package/dist/server/modules/quotation/index.js +278 -66
- package/dist/server/modules/resource/index.d.ts +2 -3
- package/dist/server/modules/resource/index.js +108 -86
- package/dist/server/modules/resource/types.d.ts +1 -1
- package/dist/server/modules/schedule/index.d.ts +6 -4
- package/dist/server/modules/schedule/index.js +116 -85
- package/dist/server/modules/schedule/utils.d.ts +1 -1
- package/dist/server/test.json +713 -0
- package/dist/server/types.d.ts +6 -4
- package/dist/server/utils/product.js +2 -2
- package/dist/server/utils/small-ticket.d.ts +71 -0
- package/dist/server/utils/small-ticket.js +963 -0
- package/dist/solution/BaseSales/index.d.ts +378 -0
- package/dist/solution/BaseSales/index.js +4006 -0
- package/dist/solution/BaseSales/types.d.ts +394 -0
- package/dist/solution/BaseSales/types.js +40 -0
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
- package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
- package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
- package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
- package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
- package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
- package/dist/solution/BaseSales/utils.d.ts +40 -0
- package/dist/solution/BaseSales/utils.js +263 -0
- package/dist/solution/BookingByStep/index.d.ts +2 -2
- package/dist/solution/BookingByStep/utils/resources.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +382 -25
- package/dist/solution/BookingTicket/index.js +2506 -443
- package/dist/solution/BookingTicket/types.d.ts +191 -6
- package/dist/solution/BookingTicket/types.js +83 -10
- 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 +77 -0
- package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
- package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
- package/dist/solution/BookingTicket/utils/cartView.js +209 -0
- package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
- package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
- package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
- package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -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/cloudSearch.d.ts +4 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +41 -1
- 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/handleScan.d.ts +3 -1
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +11 -3
- 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 +25 -34
- package/dist/solution/Checkout/utils/index.js +4 -4
- package/dist/solution/RegisterAndLogin/config.js +2 -10
- package/dist/solution/Sales/index.d.ts +50 -5
- package/dist/solution/Sales/index.js +484 -92
- package/dist/solution/Sales/types.d.ts +29 -5
- package/dist/solution/ScanOrder/index.d.ts +27 -21
- package/dist/solution/ScanOrder/index.js +499 -434
- package/dist/solution/ScanOrder/types.d.ts +38 -16
- package/dist/solution/ScanOrder/types.js +4 -5
- package/dist/solution/ScanOrder/utils.d.ts +4 -1
- package/dist/solution/ScanOrder/utils.js +109 -34
- package/dist/solution/ShopDiscount/index.js +4 -4
- package/dist/solution/ShopDiscount/types.d.ts +1 -1
- package/dist/solution/ShopDiscount/utils.d.ts +2 -2
- package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
- package/dist/solution/UnifiedBookingSales/index.js +1871 -0
- package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
- package/dist/solution/UnifiedBookingSales/types.js +11 -0
- package/dist/solution/VenueBooking/index.d.ts +29 -20
- package/dist/solution/VenueBooking/index.js +301 -213
- package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
- package/dist/solution/VenueBooking/types.d.ts +1 -1
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
- package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
- package/dist/solution/index.d.ts +2 -0
- package/dist/solution/index.js +3 -1
- package/dist/types/index.d.ts +12 -2
- package/dist/utils/task.d.ts +2 -2
- package/dist/utils/watch.d.ts +2 -2
- package/lib/effects/index.d.ts +2 -2
- package/lib/model/strategy/adapter/dataVariant/type.d.ts +3 -3
- package/lib/model/strategy/adapter/itemRule/type.d.ts +6 -6
- package/lib/model/strategy/adapter/promotion/evaluator.js +3 -2
- package/lib/model/strategy/adapter/promotion/type.d.ts +5 -5
- package/lib/model/strategy/adapter/walletPass/utils.js +6 -4
- package/lib/model/strategy/type.d.ts +1 -1
- package/lib/modules/BaseModule.d.ts +2 -2
- package/lib/modules/BaseModule.js +4 -4
- package/lib/modules/BookingContext/index.d.ts +48 -0
- package/lib/modules/BookingContext/index.js +390 -0
- package/lib/modules/BookingContext/types.d.ts +102 -0
- package/lib/modules/BookingContext/types.js +48 -0
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +286 -0
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +242 -0
- package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
- package/lib/modules/BookingContext/utils/flexible.js +63 -0
- package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
- package/lib/modules/BookingContext/utils/formatResourceList.js +35 -0
- package/lib/modules/BookingContext/utils/index.d.ts +11 -0
- package/lib/modules/BookingContext/utils/index.js +126 -0
- package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
- package/lib/modules/BookingContext/utils/noResource.js +78 -0
- package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +29 -0
- package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
- package/lib/modules/BookingContext/utils/productExtend.js +330 -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 +24 -0
- package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
- package/lib/modules/BookingContext/utils/resources.js +419 -0
- package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
- package/lib/modules/BookingContext/utils/serviceTimes.js +161 -0
- package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
- package/lib/modules/BookingContext/utils/timeSlices.js +114 -0
- package/lib/modules/Cart/utils/cartProduct.js +27 -5
- package/lib/modules/Cart/utils/changePrice.js +20 -14
- package/lib/modules/Customer/index.d.ts +20 -0
- package/lib/modules/Customer/index.js +63 -10
- package/lib/modules/Customer/types.d.ts +3 -1
- package/lib/modules/Discount/index.d.ts +2 -1
- package/lib/modules/Discount/index.js +18 -2
- package/lib/modules/Discount/types.d.ts +2 -1
- package/lib/modules/Holder/types.d.ts +1 -1
- package/lib/modules/OpenData/index.d.ts +8 -0
- package/lib/modules/OpenData/index.js +21 -3
- package/lib/modules/OpenData/types.d.ts +1 -1
- package/lib/modules/Order/index.d.ts +448 -23
- package/lib/modules/Order/index.js +3641 -308
- package/lib/modules/Order/types.d.ts +693 -88
- package/lib/modules/Order/types.js +55 -1
- package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
- package/lib/modules/Order/utils/bundleDiscountHydration.js +106 -0
- package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
- package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
- package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
- package/lib/modules/Order/utils/orderCollectionIdentity.js +353 -0
- package/lib/modules/Order/utils.d.ts +167 -18
- package/lib/modules/Order/utils.js +974 -138
- package/lib/modules/Payment/index.d.ts +10 -9
- package/lib/modules/Payment/index.js +30 -124
- package/lib/modules/Payment/types.d.ts +47 -23
- package/lib/modules/Payment/utils.d.ts +1 -1
- package/lib/modules/Payment/utils.js +4 -3
- package/lib/modules/Payment/walletpass.js +16 -6
- package/lib/modules/Product/index.d.ts +1 -1
- package/lib/modules/Product/types.d.ts +29 -7
- package/lib/modules/ProductList/index.d.ts +17 -13
- package/lib/modules/ProductList/index.js +92 -51
- package/lib/modules/ProductList/types.d.ts +17 -0
- package/lib/modules/Quotation/index.d.ts +22 -2
- package/lib/modules/Quotation/index.js +76 -20
- package/lib/modules/Quotation/types.d.ts +19 -0
- package/lib/modules/ResourcePlanner/index.d.ts +24 -0
- package/lib/modules/ResourcePlanner/index.js +147 -0
- package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
- package/lib/modules/ResourcePlanner/planner.js +895 -0
- package/lib/modules/ResourcePlanner/types.d.ts +227 -0
- package/lib/modules/ResourcePlanner/types.js +5 -0
- package/lib/modules/Rules/index.d.ts +8 -10
- package/lib/modules/Rules/index.js +153 -61
- package/lib/modules/Rules/types.d.ts +15 -4
- package/lib/modules/SalesSummary/index.d.ts +23 -26
- package/lib/modules/SalesSummary/index.js +84 -16
- package/lib/modules/SalesSummary/types.d.ts +9 -1
- package/lib/modules/SalesSummary/utils.d.ts +3 -22
- package/lib/modules/SalesSummary/utils.js +616 -111
- package/lib/modules/ScanOrderLogger/types.d.ts +2 -2
- package/lib/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
- package/lib/modules/Schedule/getDateIsInSchedule.js +14 -7
- package/lib/modules/Schedule/index.d.ts +18 -5
- package/lib/modules/Schedule/index.js +49 -14
- package/lib/modules/Schedule/type.d.ts +7 -7
- package/lib/modules/Schedule/types.d.ts +11 -9
- package/lib/modules/Summary/index.js +2 -2
- package/lib/modules/SurchargeList/index.d.ts +18 -0
- package/lib/modules/SurchargeList/index.js +95 -0
- package/lib/modules/SurchargeList/types.d.ts +15 -0
- package/lib/modules/SurchargeList/types.js +5 -0
- package/lib/modules/index.d.ts +3 -0
- package/lib/modules/index.js +33 -0
- package/lib/plugins/app.d.ts +2 -0
- package/lib/plugins/request.d.ts +3 -2
- package/lib/server/index.d.ts +462 -8
- package/lib/server/index.js +3901 -205
- package/lib/server/modules/floor-plan/index.d.ts +39 -0
- package/lib/server/modules/floor-plan/index.js +306 -0
- package/lib/server/modules/floor-plan/types.d.ts +43 -0
- package/lib/server/modules/floor-plan/types.js +19 -0
- package/lib/server/modules/index.d.ts +7 -2
- package/lib/server/modules/index.js +21 -0
- package/lib/server/modules/menu/types.d.ts +1 -1
- package/lib/server/modules/order/index.d.ts +207 -14
- package/lib/server/modules/order/index.js +1324 -141
- package/lib/server/modules/order/types.d.ts +91 -20
- package/lib/server/modules/order/types.js +11 -1
- package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
- package/lib/server/modules/order/utils/filterBookings.js +119 -11
- package/lib/server/modules/order/utils/filterOrders.js +238 -13
- package/lib/server/modules/payment/index.d.ts +28 -0
- package/lib/server/modules/payment/index.js +168 -0
- package/lib/server/modules/payment/types.d.ts +9 -0
- package/lib/server/modules/payment/types.js +5 -0
- package/lib/server/modules/products/index.d.ts +105 -14
- package/lib/server/modules/products/index.js +588 -97
- package/lib/server/modules/products/types.d.ts +35 -2
- package/lib/server/modules/products/types.js +3 -0
- package/lib/server/modules/quotation/index.d.ts +39 -0
- package/lib/server/modules/quotation/index.js +145 -1
- package/lib/server/modules/resource/index.d.ts +2 -3
- package/lib/server/modules/resource/index.js +71 -45
- package/lib/server/modules/resource/types.d.ts +1 -1
- package/lib/server/modules/schedule/index.d.ts +6 -4
- package/lib/server/modules/schedule/index.js +55 -44
- package/lib/server/modules/schedule/utils.d.ts +1 -1
- package/lib/server/test.json +713 -0
- package/lib/server/types.d.ts +6 -4
- package/lib/server/utils/product.js +2 -2
- package/lib/server/utils/small-ticket.d.ts +71 -0
- package/lib/server/utils/small-ticket.js +926 -0
- package/lib/solution/BaseSales/index.d.ts +378 -0
- package/lib/solution/BaseSales/index.js +2367 -0
- package/lib/solution/BaseSales/types.d.ts +394 -0
- package/lib/solution/BaseSales/types.js +47 -0
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
- package/lib/solution/BaseSales/utils/cartPromotion.js +1155 -0
- package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +140 -0
- package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
- package/lib/solution/BaseSales/utils/quotationPrice.js +231 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +215 -0
- package/lib/solution/BaseSales/utils.d.ts +40 -0
- package/lib/solution/BaseSales/utils.js +259 -0
- package/lib/solution/BookingByStep/index.d.ts +2 -2
- package/lib/solution/BookingByStep/utils/resources.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +382 -25
- package/lib/solution/BookingTicket/index.js +1350 -76
- package/lib/solution/BookingTicket/types.d.ts +191 -6
- package/lib/solution/BookingTicket/types.js +71 -10
- package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
- package/lib/solution/BookingTicket/utils/addProductDecision.js +353 -0
- package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +94 -0
- package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
- package/lib/solution/BookingTicket/utils/bookingStatus.js +136 -0
- package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
- package/lib/solution/BookingTicket/utils/cartView.js +200 -0
- package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
- package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.js +35 -0
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +387 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +220 -0
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +24 -3
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +64 -0
- package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +4 -2
- package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
- package/lib/solution/BookingTicket/utils/scan/index.js +14 -2
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +115 -0
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +83 -0
- package/lib/solution/Checkout/index.d.ts +1 -0
- package/lib/solution/Checkout/index.js +18 -19
- package/lib/solution/Checkout/utils/index.js +4 -4
- package/lib/solution/RegisterAndLogin/config.js +2 -10
- package/lib/solution/Sales/index.d.ts +50 -5
- package/lib/solution/Sales/index.js +296 -39
- package/lib/solution/Sales/types.d.ts +29 -5
- package/lib/solution/ScanOrder/index.d.ts +27 -21
- package/lib/solution/ScanOrder/index.js +144 -103
- package/lib/solution/ScanOrder/types.d.ts +38 -16
- package/lib/solution/ScanOrder/types.js +4 -5
- package/lib/solution/ScanOrder/utils.d.ts +4 -1
- package/lib/solution/ScanOrder/utils.js +98 -26
- package/lib/solution/ShopDiscount/index.js +3 -3
- package/lib/solution/ShopDiscount/types.d.ts +1 -1
- package/lib/solution/ShopDiscount/utils.d.ts +2 -2
- package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
- package/lib/solution/UnifiedBookingSales/index.js +1050 -0
- package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
- package/lib/solution/UnifiedBookingSales/types.js +14 -0
- package/lib/solution/VenueBooking/index.d.ts +29 -20
- package/lib/solution/VenueBooking/index.js +169 -94
- package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
- package/lib/solution/VenueBooking/types.d.ts +1 -1
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
- package/lib/solution/VenueBooking/utils/slotMerge.js +9 -3
- package/lib/solution/index.d.ts +2 -0
- package/lib/solution/index.js +22 -0
- package/lib/types/index.d.ts +12 -2
- package/lib/utils/task.d.ts +2 -2
- package/lib/utils/watch.d.ts +2 -2
- package/package.json +18 -19
- package/dist/model/strategy/adapter/promotion/index.d.ts +0 -4
- package/dist/solution/Checkout/appointmentDemo.json +0 -1
- package/lib/model/strategy/adapter/promotion/index.d.ts +0 -4
- package/lib/solution/Checkout/appointmentDemo.json +0 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
5
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
7
|
+
import dayjs from 'dayjs';
|
|
8
|
+
import { flexibleObj, getDurationValue } from "./flexible";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 判断商品是否为跨日预约(duration.type === 'days')。与 info2 isMultiDayProduct 等价。
|
|
12
|
+
*/
|
|
13
|
+
export function isMultiDayProduct(product) {
|
|
14
|
+
var _product$duration;
|
|
15
|
+
return (product === null || product === void 0 || (_product$duration = product.duration) === null || _product$duration === void 0 ? void 0 : _product$duration.type) === 'days';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 判断 cacheItem 是否为 session 商品(extension_type ∈ session_product / session_ticket)。
|
|
20
|
+
*/
|
|
21
|
+
export function isSessionProduct(cacheItem) {
|
|
22
|
+
return ['session_product', 'session_ticket'].includes(cacheItem === null || cacheItem === void 0 ? void 0 : cacheItem.extension_type);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** 从 catalog `cartDetailValue` 或 `_extend.other` 取 session 快照。 */
|
|
26
|
+
export function getSessionFromItem(item) {
|
|
27
|
+
var _item$cartDetailValue, _item$cartDetailValue2, _item$_extend;
|
|
28
|
+
var session = (_item$cartDetailValue = item === null || item === void 0 || (_item$cartDetailValue2 = item.cartDetailValue) === null || _item$cartDetailValue2 === void 0 ? void 0 : _item$cartDetailValue2.session) !== null && _item$cartDetailValue !== void 0 ? _item$cartDetailValue : item === null || item === void 0 || (_item$_extend = item._extend) === null || _item$_extend === void 0 || (_item$_extend = _item$_extend.other) === null || _item$_extend === void 0 ? void 0 : _item$_extend.session;
|
|
29
|
+
return session && _typeof(session) === 'object' ? session : null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 将 cartDetailValue.session 写入 _extend 的起止时间(与 info2 getServiceStartTimeAndEndTime 的 session 分支一致)。
|
|
34
|
+
* 日历日优先用 ctx.date,时分取自 session.start_at / end_at 或 session.start_time / end_time。
|
|
35
|
+
*/
|
|
36
|
+
export function applySessionTimesToExtend(item, extend, ctx) {
|
|
37
|
+
var _extend$other$session, _extend$other, _session$start_time, _session$end_time;
|
|
38
|
+
var session = (_extend$other$session = extend === null || extend === void 0 || (_extend$other = extend.other) === null || _extend$other === void 0 ? void 0 : _extend$other.session) !== null && _extend$other$session !== void 0 ? _extend$other$session : getSessionFromItem(item);
|
|
39
|
+
if (!session || !isSessionProduct(item)) {
|
|
40
|
+
return extend;
|
|
41
|
+
}
|
|
42
|
+
var baseDate = ctx !== null && ctx !== void 0 && ctx.date ? dayjs(ctx.date) : dayjs();
|
|
43
|
+
var startAt = dayjs("".concat(baseDate.format('YYYY-MM-DD'), " ").concat(dayjs(session.start_at).format('HH:mm:ss')));
|
|
44
|
+
var endAt = dayjs("".concat(baseDate.format('YYYY-MM-DD'), " ").concat(dayjs(session.end_at).format('HH:mm:ss')));
|
|
45
|
+
var nextExtend = _objectSpread(_objectSpread({}, extend), {}, {
|
|
46
|
+
other: _objectSpread(_objectSpread({}, extend.other || {}), {}, {
|
|
47
|
+
session: session
|
|
48
|
+
}),
|
|
49
|
+
start_date: startAt,
|
|
50
|
+
startDate: startAt,
|
|
51
|
+
start_time: (_session$start_time = session.start_time) !== null && _session$start_time !== void 0 ? _session$start_time : dayjs(session.start_at).format('HH:mm'),
|
|
52
|
+
end_date: endAt,
|
|
53
|
+
endDate: endAt,
|
|
54
|
+
end_time: (_session$end_time = session.end_time) !== null && _session$end_time !== void 0 ? _session$end_time : dayjs(session.end_at).format('HH:mm')
|
|
55
|
+
});
|
|
56
|
+
return _objectSpread(_objectSpread({}, nextExtend), {}, {
|
|
57
|
+
duration: getDays({
|
|
58
|
+
_extend: nextExtend
|
|
59
|
+
}, 'minutes')
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* 是否应写入 booking(与 Product.utils isNormalProduct 对齐,并覆盖 session_ticket / cartDetailValue.session)。
|
|
65
|
+
*/
|
|
66
|
+
export function isBookingProduct(item) {
|
|
67
|
+
var _item$schedules, _item$scheduleIds;
|
|
68
|
+
if (!item) return false;
|
|
69
|
+
if (item.duration) return true;
|
|
70
|
+
if (item !== null && item !== void 0 && (_item$schedules = item.schedules) !== null && _item$schedules !== void 0 && _item$schedules.length) return true;
|
|
71
|
+
if (item !== null && item !== void 0 && (_item$scheduleIds = item['schedule.ids']) !== null && _item$scheduleIds !== void 0 && _item$scheduleIds.length) return true;
|
|
72
|
+
if (isSessionProduct(item)) return true;
|
|
73
|
+
if (getSessionFromItem(item)) return true;
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* 处理 'now' 时间占位:'now' → 当前 HH:mm;其他原样返回。
|
|
79
|
+
* 与 info2 `getServeStartTime` 等价。
|
|
80
|
+
*/
|
|
81
|
+
export function getServeStartTime(startTime) {
|
|
82
|
+
if (startTime === 'now') return dayjs().format('HH:mm');
|
|
83
|
+
return startTime || '';
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* 计算商品的开始结束时间(统一为 dayjs 实例)。
|
|
88
|
+
* 与 info2 `getServiceTimes` 行为等价:
|
|
89
|
+
* - 跨日商品:startDate = start_date + start_time,endDate = _extend.end_date 原样
|
|
90
|
+
* - session 商品:从 _extend.other.session 取 start_at / end_at
|
|
91
|
+
* - 普通商品:startDate + duration(含 flexible 处理)
|
|
92
|
+
*/
|
|
93
|
+
export function getServiceTimes(service) {
|
|
94
|
+
var _service$_extend, _service$_extend2, _service$_extend6, _service$_extend7;
|
|
95
|
+
var startDate = dayjs("".concat(dayjs(service === null || service === void 0 || (_service$_extend = service._extend) === null || _service$_extend === void 0 ? void 0 : _service$_extend.start_date).format('YYYY-MM-DD'), " ").concat(getServeStartTime(service === null || service === void 0 || (_service$_extend2 = service._extend) === null || _service$_extend2 === void 0 ? void 0 : _service$_extend2.start_time)));
|
|
96
|
+
if (isMultiDayProduct(service)) {
|
|
97
|
+
var _service$_extend3, _service$_extend$end_, _service$_extend4, _service$_extend5;
|
|
98
|
+
var startTime = getServeStartTime(service === null || service === void 0 || (_service$_extend3 = service._extend) === null || _service$_extend3 === void 0 ? void 0 : _service$_extend3.start_time);
|
|
99
|
+
var endDateRaw = (_service$_extend$end_ = service === null || service === void 0 || (_service$_extend4 = service._extend) === null || _service$_extend4 === void 0 ? void 0 : _service$_extend4.end_date) !== null && _service$_extend$end_ !== void 0 ? _service$_extend$end_ : service === null || service === void 0 || (_service$_extend5 = service._extend) === null || _service$_extend5 === void 0 ? void 0 : _service$_extend5.endDate;
|
|
100
|
+
var endBase = dayjs(endDateRaw);
|
|
101
|
+
// 跨日结束日保留与开始相同的时刻(如 11:24),避免 end_date 仅日期时被解析为 00:00
|
|
102
|
+
var _endDate = endBase.isValid() ? dayjs("".concat(endBase.format('YYYY-MM-DD'), " ").concat(startTime)) : endBase;
|
|
103
|
+
return {
|
|
104
|
+
startDate: startDate,
|
|
105
|
+
endDate: _endDate
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
var session = service === null || service === void 0 || (_service$_extend6 = service._extend) === null || _service$_extend6 === void 0 || (_service$_extend6 = _service$_extend6.other) === null || _service$_extend6 === void 0 ? void 0 : _service$_extend6.session;
|
|
109
|
+
if (isSessionProduct(service) && session) {
|
|
110
|
+
return {
|
|
111
|
+
startDate: dayjs(session.start_at),
|
|
112
|
+
endDate: dayjs(session.end_at)
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
var endDate = startDate.add(flexibleObj.getValue(service === null || service === void 0 || (_service$_extend7 = service._extend) === null || _service$_extend7 === void 0 ? void 0 : _service$_extend7.duration), 'minute');
|
|
116
|
+
return {
|
|
117
|
+
startDate: startDate,
|
|
118
|
+
endDate: endDate
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* 跨日预约相关:把 _extend.start_date / end_date 都对齐到 dayjs startOf('day')。
|
|
124
|
+
* 与 info2 `formatDayDate` 等价。
|
|
125
|
+
*/
|
|
126
|
+
export function formatDayDate(_extend) {
|
|
127
|
+
return {
|
|
128
|
+
start_date: dayjs(_extend === null || _extend === void 0 ? void 0 : _extend.start_date).startOf('day'),
|
|
129
|
+
end_date: dayjs(_extend === null || _extend === void 0 ? void 0 : _extend.end_date).startOf('day')
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* 计算跨日预约时长:
|
|
135
|
+
* - type='days' → end - start 的天数
|
|
136
|
+
* - type='minutes' → end - start 的分钟数
|
|
137
|
+
* 与 info2 `getDays` 等价。
|
|
138
|
+
*/
|
|
139
|
+
export function getDays(cacheItem, type) {
|
|
140
|
+
var _cacheItem$_extend, _cacheItem$_extend2;
|
|
141
|
+
if (type === 'days') {
|
|
142
|
+
var _formatDayDate = formatDayDate(cacheItem._extend),
|
|
143
|
+
start_date = _formatDayDate.start_date,
|
|
144
|
+
end_date = _formatDayDate.end_date;
|
|
145
|
+
return end_date.diff(start_date, 'day');
|
|
146
|
+
}
|
|
147
|
+
var startDate = dayjs(cacheItem === null || cacheItem === void 0 || (_cacheItem$_extend = cacheItem._extend) === null || _cacheItem$_extend === void 0 ? void 0 : _cacheItem$_extend.start_date);
|
|
148
|
+
var endDate = dayjs(cacheItem === null || cacheItem === void 0 || (_cacheItem$_extend2 = cacheItem._extend) === null || _cacheItem$_extend2 === void 0 ? void 0 : _cacheItem$_extend2.end_date);
|
|
149
|
+
return endDate.diff(startDate, type);
|
|
150
|
+
}
|
|
151
|
+
export { getDurationValue };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { getDurationValue } from './flexible';
|
|
3
|
+
export interface TimeSlice {
|
|
4
|
+
label: string;
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DurationSlice {
|
|
8
|
+
label: string;
|
|
9
|
+
value: number;
|
|
10
|
+
}
|
|
11
|
+
export interface TimeSlicesResult {
|
|
12
|
+
timeSlices: TimeSlice[];
|
|
13
|
+
durationSlicesBasedOnTime: DurationSlice[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 把一天切成等长时间槽,输出 timeSlices(开始时间标签)与 durationSlicesBasedOnTime(基于切片的时长选项)。
|
|
17
|
+
*
|
|
18
|
+
* 与 info2 `sliceDayIntoFiveMinutes` 行为等价;为了不依赖 `locales`,label 输出原始时间字符串('08:00 AM' / '90'),
|
|
19
|
+
* UI 侧需要本地化展示时可基于 value 自行包装。
|
|
20
|
+
*
|
|
21
|
+
* @param config booking config `basic.service_time`,{ value: minutes }
|
|
22
|
+
* @param isDay 是否跨日预约(true 时按 1~30 天切片)
|
|
23
|
+
*/
|
|
24
|
+
export declare function sliceDayIntoFiveMinutes(config: {
|
|
25
|
+
value?: number;
|
|
26
|
+
} | undefined | null, isDay?: boolean): TimeSlicesResult;
|
|
27
|
+
/**
|
|
28
|
+
* 取「下一个 duration 选项」:优先用 defaultValue;否则在 array 中找匹配的;找不到取第一个。
|
|
29
|
+
* 与 info2 `findNextDuration` 等价。
|
|
30
|
+
*/
|
|
31
|
+
export declare function findNextDuration(current: {
|
|
32
|
+
value?: number;
|
|
33
|
+
} | undefined, array: DurationSlice[], defaultValue?: number): number | undefined;
|
|
34
|
+
/** 取首选 time slice:若指定 date(HH:mm)则找第一个 >= date 的;否则第一个。 */
|
|
35
|
+
export declare function findNextSlice(params: {
|
|
36
|
+
timeSlices: TimeSlice[];
|
|
37
|
+
index?: number;
|
|
38
|
+
date?: string;
|
|
39
|
+
}): string | undefined;
|
|
40
|
+
/** 取 endDate;duration='flexible' 时取 endDate 与店铺营业时间的较小值,否则 startDate + duration 分钟。 */
|
|
41
|
+
export declare function getEndDate(startDate: dayjs.Dayjs, duration: string | number, endDate: any, shopOpeningHours?: string): dayjs.Dayjs;
|
|
42
|
+
export { getDurationValue };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { getDurationValue } from "./flexible";
|
|
3
|
+
/**
|
|
4
|
+
* 把一天切成等长时间槽,输出 timeSlices(开始时间标签)与 durationSlicesBasedOnTime(基于切片的时长选项)。
|
|
5
|
+
*
|
|
6
|
+
* 与 info2 `sliceDayIntoFiveMinutes` 行为等价;为了不依赖 `locales`,label 输出原始时间字符串('08:00 AM' / '90'),
|
|
7
|
+
* UI 侧需要本地化展示时可基于 value 自行包装。
|
|
8
|
+
*
|
|
9
|
+
* @param config booking config `basic.service_time`,{ value: minutes }
|
|
10
|
+
* @param isDay 是否跨日预约(true 时按 1~30 天切片)
|
|
11
|
+
*/
|
|
12
|
+
export function sliceDayIntoFiveMinutes(config, isDay) {
|
|
13
|
+
var startTime = dayjs().startOf('day');
|
|
14
|
+
var endTime = dayjs().endOf('day');
|
|
15
|
+
var timeSlice = config && config.value || 5;
|
|
16
|
+
var timeSlices = [];
|
|
17
|
+
var durationSlicesBasedOnTime = [];
|
|
18
|
+
var currentTime = startTime;
|
|
19
|
+
if (isDay) {
|
|
20
|
+
var currentDay = 1;
|
|
21
|
+
while (currentDay <= 30) {
|
|
22
|
+
timeSlices.push({
|
|
23
|
+
label: currentTime.format('hh:mm A'),
|
|
24
|
+
value: currentTime.format('HH:mm')
|
|
25
|
+
});
|
|
26
|
+
durationSlicesBasedOnTime.push({
|
|
27
|
+
label: String(currentDay),
|
|
28
|
+
value: currentDay
|
|
29
|
+
});
|
|
30
|
+
currentDay += 1;
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
timeSlices: timeSlices,
|
|
34
|
+
durationSlicesBasedOnTime: durationSlicesBasedOnTime
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
while (currentTime.isBefore(endTime)) {
|
|
38
|
+
timeSlices.push({
|
|
39
|
+
label: currentTime.format('hh:mm A'),
|
|
40
|
+
value: currentTime.format('HH:mm')
|
|
41
|
+
});
|
|
42
|
+
var nextTime = currentTime.add(timeSlice, 'minute');
|
|
43
|
+
var durationValue = nextTime.diff(startTime, 'minute');
|
|
44
|
+
durationSlicesBasedOnTime.push({
|
|
45
|
+
label: String(durationValue),
|
|
46
|
+
value: durationValue
|
|
47
|
+
});
|
|
48
|
+
currentTime = nextTime;
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
timeSlices: timeSlices,
|
|
52
|
+
durationSlicesBasedOnTime: durationSlicesBasedOnTime
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 取「下一个 duration 选项」:优先用 defaultValue;否则在 array 中找匹配的;找不到取第一个。
|
|
58
|
+
* 与 info2 `findNextDuration` 等价。
|
|
59
|
+
*/
|
|
60
|
+
export function findNextDuration(current, array, defaultValue) {
|
|
61
|
+
if (defaultValue !== undefined && defaultValue !== null) return defaultValue;
|
|
62
|
+
if (!array || array.length === 0) return undefined;
|
|
63
|
+
for (var i = 0; i < array.length; i += 1) {
|
|
64
|
+
if (array[i].value === (current === null || current === void 0 ? void 0 : current.value)) return array[i].value;
|
|
65
|
+
}
|
|
66
|
+
return array[0].value;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** 取首选 time slice:若指定 date(HH:mm)则找第一个 >= date 的;否则第一个。 */
|
|
70
|
+
export function findNextSlice(params) {
|
|
71
|
+
var _timeSlices$index;
|
|
72
|
+
var timeSlices = params.timeSlices,
|
|
73
|
+
_params$index = params.index,
|
|
74
|
+
index = _params$index === void 0 ? 0 : _params$index,
|
|
75
|
+
_params$date = params.date,
|
|
76
|
+
date = _params$date === void 0 ? '' : _params$date;
|
|
77
|
+
var currentTimeValue = date || dayjs().format('HH:mm');
|
|
78
|
+
for (var i = 0; i < timeSlices.length; i += 1) {
|
|
79
|
+
if (timeSlices[i].value !== 'now' && timeSlices[i].value >= currentTimeValue) {
|
|
80
|
+
return timeSlices[i].value;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return (_timeSlices$index = timeSlices[index]) === null || _timeSlices$index === void 0 ? void 0 : _timeSlices$index.value;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** 取 endDate;duration='flexible' 时取 endDate 与店铺营业时间的较小值,否则 startDate + duration 分钟。 */
|
|
87
|
+
export function getEndDate(startDate, duration, endDate, shopOpeningHours) {
|
|
88
|
+
if (duration === 'flexible') {
|
|
89
|
+
var openingDate = dayjs("".concat(startDate.format('YYYY-MM-DD'), " ").concat(shopOpeningHours || '23:59'));
|
|
90
|
+
if (dayjs(startDate).isAfter(openingDate)) {
|
|
91
|
+
openingDate = openingDate.add(1, 'day');
|
|
92
|
+
}
|
|
93
|
+
if (!endDate) return openingDate;
|
|
94
|
+
var endDateObj = dayjs(endDate);
|
|
95
|
+
if (endDateObj.isAfter(openingDate)) return openingDate;
|
|
96
|
+
return endDateObj;
|
|
97
|
+
}
|
|
98
|
+
return startDate.add(Number(duration), 'minute');
|
|
99
|
+
}
|
|
100
|
+
export { getDurationValue };
|
|
@@ -14,6 +14,7 @@ import Decimal from 'decimal.js';
|
|
|
14
14
|
import { isNormalProduct } from "../../Product/utils";
|
|
15
15
|
import { getDiscountAmount } from "../../../solution/ShopDiscount/utils";
|
|
16
16
|
import { calcDiscountListDifference } from "../../Summary/utils";
|
|
17
|
+
import { getBundleSellingMagnitude } from "../../Order/utils";
|
|
17
18
|
|
|
18
19
|
/** 与 Rules / ShopDiscount 一致的折扣入参,用于主价与 option 单价 */
|
|
19
20
|
var toDiscountPayload = function toDiscountPayload(discountItem) {
|
|
@@ -182,7 +183,9 @@ export var formatProductToCartItemOrigin = function formatProductToCartItemOrigi
|
|
|
182
183
|
product_id: product.id,
|
|
183
184
|
product_variant_id: product_variant_id || 0,
|
|
184
185
|
product_bundle: ((_origin$product2 = origin.product) === null || _origin$product2 === void 0 ? void 0 : _origin$product2.product_bundle) || [],
|
|
185
|
-
|
|
186
|
+
product_sku: ((_origin$product3 = origin.product) === null || _origin$product3 === void 0 ? void 0 : _origin$product3.product_sku) || {
|
|
187
|
+
option: []
|
|
188
|
+
},
|
|
186
189
|
metadata: {
|
|
187
190
|
product_discount_difference: product_discount_difference
|
|
188
191
|
}
|
|
@@ -195,7 +198,16 @@ export var formatProductToCartItemOrigin = function formatProductToCartItemOrigi
|
|
|
195
198
|
origin.product.product_bundle = formatBundleToOrigin(bundle);
|
|
196
199
|
}
|
|
197
200
|
if (options !== null && options !== void 0 && options.length) {
|
|
198
|
-
origin.product.
|
|
201
|
+
origin.product.product_sku = _objectSpread(_objectSpread({}, origin.product.product_sku || {}), {}, {
|
|
202
|
+
option: formatOptionsToOrigin(options).map(function (option) {
|
|
203
|
+
var _option$add_price;
|
|
204
|
+
var next = _objectSpread(_objectSpread({}, option), {}, {
|
|
205
|
+
add_price: (_option$add_price = option.add_price) !== null && _option$add_price !== void 0 ? _option$add_price : option.price
|
|
206
|
+
});
|
|
207
|
+
delete next.price;
|
|
208
|
+
return next;
|
|
209
|
+
})
|
|
210
|
+
});
|
|
199
211
|
}
|
|
200
212
|
}
|
|
201
213
|
return origin;
|
|
@@ -325,7 +337,7 @@ export var formatOptionsToOrigin = function formatOptionsToOrigin(options) {
|
|
|
325
337
|
return options.map(function (d) {
|
|
326
338
|
return {
|
|
327
339
|
num: d.num,
|
|
328
|
-
option_group_item_id: d.
|
|
340
|
+
option_group_item_id: d.option_group_item_id,
|
|
329
341
|
option_group_id: d.option_group_id
|
|
330
342
|
};
|
|
331
343
|
});
|
|
@@ -362,6 +374,7 @@ export var formatBundle = function formatBundle(bundle) {
|
|
|
362
374
|
export var formatBundleToOrigin = function formatBundleToOrigin(bundle) {
|
|
363
375
|
if (!(bundle !== null && bundle !== void 0 && bundle.length)) return [];
|
|
364
376
|
return bundle.map(function (d) {
|
|
377
|
+
var _d$price, _d$price_type, _d$price_type_ext;
|
|
365
378
|
var getBundleValueByKey = function getBundleValueByKey(key) {
|
|
366
379
|
var _d$originBundleItem;
|
|
367
380
|
return (d === null || d === void 0 ? void 0 : d[key]) || (d === null || d === void 0 || (_d$originBundleItem = d.originBundleItem) === null || _d$originBundleItem === void 0 ? void 0 : _d$originBundleItem[key]);
|
|
@@ -370,6 +383,14 @@ export var formatBundleToOrigin = function formatBundleToOrigin(bundle) {
|
|
|
370
383
|
var _cur$metadata2;
|
|
371
384
|
return pre + ((cur === null || cur === void 0 || (_cur$metadata2 = cur.metadata) === null || _cur$metadata2 === void 0 ? void 0 : _cur$metadata2.product_discount_difference) || 0);
|
|
372
385
|
}, 0);
|
|
386
|
+
var normalizedBundle = _objectSpread(_objectSpread({}, d), {}, {
|
|
387
|
+
// 计算 markdown 净额时只传真实毛价;若仅有 bundle_selling_price,则由 helper 当历史净额兜底。
|
|
388
|
+
price: (_d$price = d === null || d === void 0 ? void 0 : d.price) !== null && _d$price !== void 0 ? _d$price : d === null || d === void 0 ? void 0 : d.custom_price,
|
|
389
|
+
bundle_selling_price: d === null || d === void 0 ? void 0 : d.bundle_selling_price,
|
|
390
|
+
price_type: (_d$price_type = d === null || d === void 0 ? void 0 : d.price_type) !== null && _d$price_type !== void 0 ? _d$price_type : d === null || d === void 0 ? void 0 : d.custom_price_type,
|
|
391
|
+
price_type_ext: (_d$price_type_ext = d === null || d === void 0 ? void 0 : d.price_type_ext) !== null && _d$price_type_ext !== void 0 ? _d$price_type_ext : d === null || d === void 0 ? void 0 : d.custom_price_type_ext,
|
|
392
|
+
option: getBundleValueByKey('option')
|
|
393
|
+
});
|
|
373
394
|
return {
|
|
374
395
|
bundle_group_id: getBundleValueByKey('group_id'),
|
|
375
396
|
bundle_id: d.id,
|
|
@@ -380,8 +401,8 @@ export var formatBundleToOrigin = function formatBundleToOrigin(bundle) {
|
|
|
380
401
|
extension_type: getBundleValueByKey('extension_type'),
|
|
381
402
|
option: formatOptionsToOrigin(getBundleValueByKey('option')),
|
|
382
403
|
discount_list: d.discount_list,
|
|
383
|
-
"bundle_selling_price":
|
|
384
|
-
|
|
404
|
+
"bundle_selling_price": getBundleSellingMagnitude(normalizedBundle).toFixed(2),
|
|
405
|
+
"custom_price": d === null || d === void 0 ? void 0 : d.price,
|
|
385
406
|
metadata: {
|
|
386
407
|
custom_product_bundle_map_id: d._id,
|
|
387
408
|
product_discount_difference: product_discount_difference
|
|
@@ -10,7 +10,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
10
10
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
11
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
12
12
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
13
|
-
import
|
|
13
|
+
import { getBundleSellingMagnitude } from "../../Order/utils";
|
|
14
14
|
export function updateAllCartItemPrice(_x, _x2, _x3, _x4, _x5) {
|
|
15
15
|
return _updateAllCartItemPrice.apply(this, arguments);
|
|
16
16
|
}
|
|
@@ -23,8 +23,8 @@ function _updateAllCartItemPrice() {
|
|
|
23
23
|
_iterator = _createForOfIteratorHelper(cartItems);
|
|
24
24
|
_context2.prev = 1;
|
|
25
25
|
_loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() {
|
|
26
|
-
var _item$_productOrigin, _bundle;
|
|
27
|
-
var item, targetProduct, cartProduct, productInfo, bundle, _productInfo$variant;
|
|
26
|
+
var _item$_productOrigin$, _item$_productOrigin, _item$_origin, _targetProduct$varian, _ref, _targetVariant$price, _ref2, _targetVariant$base_p, _item$_productOrigin2, _bundle;
|
|
27
|
+
var item, targetProduct, cartProduct, productInfo, variantId, targetVariant, bundle, _productInfo$variant;
|
|
28
28
|
return _regeneratorRuntime().wrap(function _loop$(_context) {
|
|
29
29
|
while (1) switch (_context.prev = _context.next) {
|
|
30
30
|
case 0:
|
|
@@ -40,10 +40,17 @@ function _updateAllCartItemPrice() {
|
|
|
40
40
|
if (!productInfo) {
|
|
41
41
|
productInfo = item._productOrigin;
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
|
|
44
|
+
// 查找选择的规格id
|
|
45
|
+
variantId = (_item$_productOrigin$ = item === null || item === void 0 || (_item$_productOrigin = item._productOrigin) === null || _item$_productOrigin === void 0 ? void 0 : _item$_productOrigin.product_variant_id) !== null && _item$_productOrigin$ !== void 0 ? _item$_productOrigin$ : item === null || item === void 0 || (_item$_origin = item._origin) === null || _item$_origin === void 0 || (_item$_origin = _item$_origin.product) === null || _item$_origin === void 0 ? void 0 : _item$_origin.product_variant_id;
|
|
46
|
+
targetVariant = targetProduct === null || targetProduct === void 0 || (_targetProduct$varian = targetProduct.variant) === null || _targetProduct$varian === void 0 ? void 0 : _targetProduct$varian.find(function (variant) {
|
|
47
|
+
return Number(variant.id) === Number(variantId);
|
|
48
|
+
});
|
|
49
|
+
bundle = item._bundleOrigin; // productInfo.price = targetProduct?.price;
|
|
50
|
+
// productInfo.base_price = targetProduct?.base_price;
|
|
51
|
+
productInfo.price = (_ref = (_targetVariant$price = targetVariant === null || targetVariant === void 0 ? void 0 : targetVariant.price) !== null && _targetVariant$price !== void 0 ? _targetVariant$price : targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.price) !== null && _ref !== void 0 ? _ref : productInfo.price;
|
|
52
|
+
productInfo.base_price = (_ref2 = (_targetVariant$base_p = targetVariant === null || targetVariant === void 0 ? void 0 : targetVariant.base_price) !== null && _targetVariant$base_p !== void 0 ? _targetVariant$base_p : targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.base_price) !== null && _ref2 !== void 0 ? _ref2 : productInfo.base_price;
|
|
53
|
+
productInfo.product_variant_id = (_item$_productOrigin2 = item._productOrigin) === null || _item$_productOrigin2 === void 0 ? void 0 : _item$_productOrigin2.product_variant_id;
|
|
47
54
|
bundle = (_bundle = bundle) === null || _bundle === void 0 ? void 0 : _bundle.map(function (n) {
|
|
48
55
|
var _targetProduct$bundle;
|
|
49
56
|
// 更新 bundle 的价格
|
|
@@ -54,18 +61,18 @@ function _updateAllCartItemPrice() {
|
|
|
54
61
|
var targetBundleItem = targetBundle.bundle_item.find(function (m) {
|
|
55
62
|
return m.id === n.id;
|
|
56
63
|
});
|
|
57
|
-
if (targetBundleItem.price_type === 'markdown') {
|
|
58
|
-
targetBundleItem.price = new Decimal(targetBundleItem.price || 0).mul(-1).toNumber();
|
|
59
|
-
}
|
|
60
|
-
// 如果有选择 option,还需要加上 option 的价格
|
|
61
|
-
if (n.option) {
|
|
62
|
-
targetBundleItem.price = new Decimal(targetBundleItem.price || 0).add(n.option.reduce(function (pre, cur) {
|
|
63
|
-
return pre + new Decimal(cur.price || 0).mul(cur.num || 1).toNumber();
|
|
64
|
-
}, 0)).toNumber();
|
|
65
|
-
}
|
|
66
64
|
if (targetBundleItem) {
|
|
67
|
-
|
|
65
|
+
var normalizedBundle = _objectSpread(_objectSpread({}, n), {}, {
|
|
68
66
|
price: targetBundleItem.price,
|
|
67
|
+
custom_price: targetBundleItem.price,
|
|
68
|
+
price_type: targetBundleItem.price_type,
|
|
69
|
+
price_type_ext: targetBundleItem.price_type_ext
|
|
70
|
+
});
|
|
71
|
+
var bundleSellingPrice = getBundleSellingMagnitude(normalizedBundle).toFixed(2);
|
|
72
|
+
return _objectSpread(_objectSpread({}, n), {}, {
|
|
73
|
+
custom_price: targetBundleItem.price,
|
|
74
|
+
price: targetBundleItem.price_type === 'markdown' ? bundleSellingPrice : targetBundleItem.price,
|
|
75
|
+
bundle_selling_price: bundleSellingPrice,
|
|
69
76
|
base_price: targetBundleItem.base_price
|
|
70
77
|
});
|
|
71
78
|
}
|
|
@@ -75,8 +82,8 @@ function _updateAllCartItemPrice() {
|
|
|
75
82
|
// 如果有返回variant,则把对应variant的数据也补充进去
|
|
76
83
|
if (targetProduct !== null && targetProduct !== void 0 && targetProduct.variant) {
|
|
77
84
|
productInfo.variant = (_productInfo$variant = productInfo.variant) === null || _productInfo$variant === void 0 ? void 0 : _productInfo$variant.map(function (n) {
|
|
78
|
-
var _targetProduct$
|
|
79
|
-
var targetVariant = (_targetProduct$
|
|
85
|
+
var _targetProduct$varian2;
|
|
86
|
+
var targetVariant = (_targetProduct$varian2 = targetProduct.variant) === null || _targetProduct$varian2 === void 0 ? void 0 : _targetProduct$varian2.find(function (m) {
|
|
80
87
|
return m.id === n.id;
|
|
81
88
|
});
|
|
82
89
|
if (targetVariant) {
|
|
@@ -99,7 +106,7 @@ function _updateAllCartItemPrice() {
|
|
|
99
106
|
bundle: bundle,
|
|
100
107
|
options: item._optionsOrigin
|
|
101
108
|
});
|
|
102
|
-
case
|
|
109
|
+
case 17:
|
|
103
110
|
case "end":
|
|
104
111
|
return _context.stop();
|
|
105
112
|
}
|
|
@@ -7,11 +7,25 @@ export declare class CustomerModule extends BaseModule implements Module, Custom
|
|
|
7
7
|
private store;
|
|
8
8
|
private request;
|
|
9
9
|
private cacheId;
|
|
10
|
+
/**
|
|
11
|
+
* 判断两份选中客户的核心展示字段是否一致,用于避免重复 clone / emit。
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* this.isSameSelectedCustomer(currentCustomer, nextCustomer);
|
|
15
|
+
*/
|
|
16
|
+
private isSameSelectedCustomer;
|
|
10
17
|
private openCache;
|
|
11
18
|
private fatherModule;
|
|
12
19
|
private otherParams;
|
|
13
20
|
constructor(name?: string, version?: string);
|
|
14
21
|
initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* 更新父级解决方案透传的运行态参数,并刷新客户模块缓存配置。
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* customerModule.updateOtherParams({ isFranchisee: true, cacheId: 'cache-2' });
|
|
27
|
+
*/
|
|
28
|
+
updateOtherParams(params: Record<string, any>): void;
|
|
15
29
|
/**
|
|
16
30
|
* 获取客户列表数据(内部方法)
|
|
17
31
|
* @param params 查询参数
|
|
@@ -24,6 +38,12 @@ export declare class CustomerModule extends BaseModule implements Module, Custom
|
|
|
24
38
|
* @param operation 操作名称
|
|
25
39
|
*/
|
|
26
40
|
private handleCustomerListError;
|
|
41
|
+
/**
|
|
42
|
+
* 查询客户列表但不写入 customerList / pagination 状态。
|
|
43
|
+
*
|
|
44
|
+
* 用于按 ID 补齐客户等内部查询,避免把临时的 num/searchParams 污染到滚动列表。
|
|
45
|
+
*/
|
|
46
|
+
queryCustomerList(params?: ShopGetCustomerListParams): Promise<ICustomerListResponse>;
|
|
27
47
|
/**
|
|
28
48
|
* 获取客户列表
|
|
29
49
|
* @param params 查询参数
|