@pisell/pisellos 0.0.567 → 0.0.569
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/core/index.js +6 -9
- package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
- package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
- package/dist/model/strategy/adapter/walletPass/example.js +3 -26
- package/dist/model/strategy/adapter/walletPass/utils.js +7 -7
- package/dist/model/strategy/strategy-example.js +5 -19
- 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/index.js +0 -3
- package/dist/modules/Cart/utils/cartProduct.js +26 -6
- 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 +2 -0
- package/dist/modules/Date/index.js +1 -5
- package/dist/modules/Discount/index.d.ts +2 -1
- package/dist/modules/Discount/index.js +37 -12
- package/dist/modules/Discount/types.d.ts +1 -0
- package/dist/modules/OpenData/index.d.ts +8 -0
- package/dist/modules/OpenData/index.js +35 -17
- package/dist/modules/Order/index.d.ts +449 -24
- package/dist/modules/Order/index.js +5437 -608
- 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 +508 -874
- package/dist/modules/Payment/types.d.ts +40 -16
- package/dist/modules/Payment/utils.d.ts +1 -1
- package/dist/modules/Payment/utils.js +4 -3
- package/dist/modules/Payment/walletpass.js +48 -34
- 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 +219 -114
- package/dist/modules/Rules/types.d.ts +14 -3
- 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/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/types.d.ts +2 -0
- package/dist/modules/Schedule/utils.js +0 -1
- package/dist/modules/Step/index.js +0 -1
- 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 +1 -0
- package/dist/plugins/request.js +1 -4
- package/dist/plugins/window.js +2 -6
- package/dist/server/index.d.ts +462 -8
- package/dist/server/index.js +6137 -714
- 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/index.js +32 -41
- 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 +76 -5
- 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 +1397 -540
- package/dist/server/modules/products/types.d.ts +34 -1
- 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 +289 -86
- package/dist/server/modules/resource/index.d.ts +2 -3
- package/dist/server/modules/resource/index.js +105 -84
- package/dist/server/modules/schedule/index.d.ts +6 -4
- package/dist/server/modules/schedule/index.js +137 -114
- package/dist/server/test.json +713 -0
- package/dist/server/types.d.ts +2 -0
- package/dist/server/utils/product.js +2 -3
- 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.js +7 -59
- package/dist/solution/BookingByStep/utils/capacity.js +1 -11
- package/dist/solution/BookingByStep/utils/resources.js +1 -3
- package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
- package/dist/solution/BookingTicket/index.d.ts +393 -24
- package/dist/solution/BookingTicket/index.js +2506 -445
- 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 +36 -34
- package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
- package/dist/solution/BookingTicket/utils/scan/index.js +26 -18
- 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/BuyTickets/index.js +9 -12
- package/dist/solution/Checkout/index.d.ts +1 -0
- package/dist/solution/Checkout/index.js +199 -277
- package/dist/solution/Checkout/utils/index.js +8 -20
- package/dist/solution/RegisterAndLogin/config.js +2 -10
- package/dist/solution/RegisterAndLogin/index.js +30 -76
- package/dist/solution/Sales/index.d.ts +50 -5
- package/dist/solution/Sales/index.js +484 -92
- package/dist/solution/Sales/types.d.ts +26 -2
- package/dist/solution/ScanOrder/index.d.ts +27 -21
- package/dist/solution/ScanOrder/index.js +509 -454
- package/dist/solution/ScanOrder/types.d.ts +33 -11
- 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 +6 -11
- 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 +34 -20
- package/dist/solution/VenueBooking/index.js +630 -505
- package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
- 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 +11 -1
- package/dist/utils/task.js +15 -18
- package/dist/utils/watch.js +0 -1
- package/lib/apis/picoding.js +2 -0
- package/lib/core/index.js +130 -131
- package/lib/effects/index.js +46 -57
- package/lib/index.js +92 -53
- package/lib/model/index.js +14 -21
- package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
- package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
- package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
- package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
- package/lib/model/strategy/adapter/index.js +100 -64
- package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
- package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
- package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
- package/lib/model/strategy/adapter/itemRule/index.js +83 -57
- package/lib/model/strategy/adapter/itemRule/type.js +97 -36
- package/lib/model/strategy/adapter/promotion/adapter.js +84 -63
- package/lib/model/strategy/adapter/promotion/evaluator.js +383 -232
- package/lib/model/strategy/adapter/promotion/examples.js +139 -159
- package/lib/model/strategy/adapter/promotion/index.js +1 -49
- package/lib/model/strategy/adapter/promotion/type.js +199 -35
- package/lib/model/strategy/adapter/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
- package/lib/model/strategy/adapter/walletPass/example.js +217 -190
- package/lib/model/strategy/adapter/walletPass/index.js +75 -51
- package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
- package/lib/model/strategy/adapter/walletPass/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/utils.js +654 -402
- package/lib/model/strategy/engine.js +270 -168
- package/lib/model/strategy/index.js +49 -34
- package/lib/model/strategy/strategy-example.js +243 -239
- package/lib/model/strategy/type.js +100 -40
- package/lib/modules/Account/index.js +39 -53
- package/lib/modules/Account/types.js +20 -33
- package/lib/modules/AccountList/index.js +116 -154
- package/lib/modules/AccountList/types.js +30 -31
- package/lib/modules/AccountList/utils.js +18 -30
- package/lib/modules/BaseModule.d.ts +2 -2
- package/lib/modules/BaseModule.js +26 -49
- 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/index.js +170 -124
- package/lib/modules/Cart/types.js +46 -51
- package/lib/modules/Cart/utils/cartAccount.js +40 -39
- package/lib/modules/Cart/utils/cartDate.js +56 -61
- package/lib/modules/Cart/utils/cartDiscount.js +28 -33
- package/lib/modules/Cart/utils/cartNote.js +27 -32
- package/lib/modules/Cart/utils/cartProduct.js +331 -244
- package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
- package/lib/modules/Cart/utils/cartResource.js +72 -78
- package/lib/modules/Cart/utils/changePrice.js +37 -67
- package/lib/modules/Cart/utils/index.js +106 -48
- package/lib/modules/Customer/constants.js +13 -34
- package/lib/modules/Customer/index.d.ts +20 -0
- package/lib/modules/Customer/index.js +270 -154
- package/lib/modules/Customer/types.d.ts +2 -0
- package/lib/modules/Customer/types.js +38 -35
- package/lib/modules/Date/index.js +116 -115
- package/lib/modules/Date/types.js +16 -28
- package/lib/modules/Date/utils.js +174 -123
- package/lib/modules/Discount/index.d.ts +2 -1
- package/lib/modules/Discount/index.js +133 -113
- package/lib/modules/Discount/types.d.ts +1 -0
- package/lib/modules/Discount/types.js +9 -31
- package/lib/modules/Guests/index.js +30 -56
- package/lib/modules/Guests/types.js +23 -33
- package/lib/modules/Holder/index.js +209 -189
- package/lib/modules/Holder/types.js +4 -16
- package/lib/modules/Holder/utils.js +20 -49
- package/lib/modules/OpenData/index.d.ts +8 -0
- package/lib/modules/OpenData/index.js +81 -74
- package/lib/modules/OpenData/types.js +4 -16
- package/lib/modules/OpenData/utils.js +44 -78
- package/lib/modules/Order/index.d.ts +449 -24
- package/lib/modules/Order/index.js +3834 -489
- package/lib/modules/Order/types.d.ts +693 -88
- package/lib/modules/Order/types.js +78 -33
- 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 +1247 -345
- package/lib/modules/Payment/cash.js +20 -33
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
- package/lib/modules/Payment/eftpos.js +16 -30
- package/lib/modules/Payment/index.d.ts +10 -9
- package/lib/modules/Payment/index.js +542 -502
- package/lib/modules/Payment/mx51.js +1 -0
- package/lib/modules/Payment/types.d.ts +40 -16
- package/lib/modules/Payment/types.js +216 -107
- package/lib/modules/Payment/utils.d.ts +1 -1
- package/lib/modules/Payment/utils.js +53 -49
- package/lib/modules/Payment/walletpass.js +231 -203
- package/lib/modules/Product/index.js +51 -46
- package/lib/modules/Product/types.d.ts +29 -7
- package/lib/modules/Product/types.js +4 -16
- package/lib/modules/Product/utils.js +32 -33
- package/lib/modules/ProductList/index.d.ts +17 -13
- package/lib/modules/ProductList/index.js +160 -118
- package/lib/modules/ProductList/types.d.ts +17 -0
- package/lib/modules/ProductList/types.js +9 -31
- package/lib/modules/Quotation/index.d.ts +22 -2
- package/lib/modules/Quotation/index.js +123 -89
- package/lib/modules/Quotation/types.d.ts +19 -0
- package/lib/modules/Quotation/types.js +4 -16
- package/lib/modules/Resource/index.js +27 -59
- package/lib/modules/Resource/types.js +22 -32
- package/lib/modules/Resource/utils.js +30 -38
- 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 +1286 -894
- package/lib/modules/Rules/types.d.ts +14 -3
- package/lib/modules/Rules/types.js +17 -40
- package/lib/modules/SalesSummary/index.d.ts +23 -26
- package/lib/modules/SalesSummary/index.js +130 -71
- package/lib/modules/SalesSummary/types.d.ts +9 -1
- package/lib/modules/SalesSummary/types.js +4 -16
- package/lib/modules/SalesSummary/utils.d.ts +3 -22
- package/lib/modules/SalesSummary/utils.js +738 -250
- package/lib/modules/ScanOrderLogger/index.js +59 -79
- package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
- package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
- package/lib/modules/ScanOrderLogger/types.js +4 -16
- package/lib/modules/Schedule/getDateIsInSchedule.js +345 -171
- package/lib/modules/Schedule/index.d.ts +18 -5
- package/lib/modules/Schedule/index.js +139 -114
- package/lib/modules/Schedule/type.js +4 -16
- package/lib/modules/Schedule/types.d.ts +2 -0
- package/lib/modules/Schedule/types.js +4 -16
- package/lib/modules/Schedule/utils.js +433 -291
- package/lib/modules/Step/index.js +40 -52
- package/lib/modules/Step/tyeps.js +4 -16
- package/lib/modules/Summary/index.js +66 -70
- package/lib/modules/Summary/types.js +4 -16
- package/lib/modules/Summary/utils.js +782 -429
- 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 +245 -57
- package/lib/plugins/app.d.ts +2 -0
- package/lib/plugins/app.js +4 -16
- package/lib/plugins/index.js +36 -25
- package/lib/plugins/request.d.ts +1 -0
- package/lib/plugins/request.js +137 -126
- package/lib/plugins/shopStore.js +4 -16
- package/lib/plugins/user.js +4 -16
- package/lib/plugins/window.js +171 -179
- package/lib/server/index.d.ts +462 -8
- package/lib/server/index.js +4668 -713
- 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 +106 -59
- package/lib/server/modules/menu/index.js +146 -122
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.d.ts +207 -14
- package/lib/server/modules/order/index.js +1463 -316
- package/lib/server/modules/order/types.d.ts +76 -5
- package/lib/server/modules/order/types.js +117 -32
- package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
- package/lib/server/modules/order/utils/filterBookings.js +288 -146
- package/lib/server/modules/order/utils/filterOrders.js +318 -64
- 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 +969 -383
- package/lib/server/modules/products/types.d.ts +34 -1
- package/lib/server/modules/products/types.js +44 -34
- package/lib/server/modules/quotation/index.d.ts +39 -0
- package/lib/server/modules/quotation/index.js +220 -77
- package/lib/server/modules/quotation/types.js +21 -31
- package/lib/server/modules/resource/index.d.ts +2 -3
- package/lib/server/modules/resource/index.js +269 -214
- package/lib/server/modules/resource/types.js +42 -33
- package/lib/server/modules/schedule/index.d.ts +6 -4
- package/lib/server/modules/schedule/index.js +158 -132
- package/lib/server/modules/schedule/types.js +14 -21
- package/lib/server/modules/schedule/utils.js +334 -163
- package/lib/server/test.json +713 -0
- package/lib/server/types.d.ts +2 -0
- package/lib/server/types.js +4 -16
- package/lib/server/utils/index.js +25 -23
- package/lib/server/utils/product.js +197 -140
- package/lib/server/utils/schedule.js +34 -41
- package/lib/server/utils/small-ticket.d.ts +71 -0
- package/lib/server/utils/small-ticket.js +926 -0
- package/lib/server/utils/time.js +40 -49
- 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.js +1530 -1343
- package/lib/solution/BookingByStep/types.js +40 -99
- package/lib/solution/BookingByStep/utils/capacity.js +192 -160
- package/lib/solution/BookingByStep/utils/products.js +42 -52
- package/lib/solution/BookingByStep/utils/resources.js +527 -330
- package/lib/solution/BookingByStep/utils/stock.js +65 -44
- package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
- package/lib/solution/BookingTicket/index.d.ts +393 -24
- package/lib/solution/BookingTicket/index.js +1459 -160
- package/lib/solution/BookingTicket/types.d.ts +191 -6
- package/lib/solution/BookingTicket/types.js +101 -66
- 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 +85 -80
- 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 +84 -80
- package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
- package/lib/solution/BookingTicket/utils/scan/index.js +103 -95
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
- 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/BuyTickets/index.js +67 -70
- package/lib/solution/BuyTickets/types.js +22 -38
- package/lib/solution/Checkout/index.d.ts +1 -0
- package/lib/solution/Checkout/index.js +1461 -1169
- package/lib/solution/Checkout/types.js +91 -61
- package/lib/solution/Checkout/utils/index.js +228 -159
- package/lib/solution/PlaceOrder/index.js +55 -0
- package/lib/solution/RegisterAndLogin/config.js +495 -470
- package/lib/solution/RegisterAndLogin/index.js +633 -630
- package/lib/solution/RegisterAndLogin/types.js +189 -76
- package/lib/solution/RegisterAndLogin/utils.js +183 -125
- package/lib/solution/Sales/index.d.ts +50 -5
- package/lib/solution/Sales/index.js +495 -220
- package/lib/solution/Sales/types.d.ts +26 -2
- package/lib/solution/Sales/types.js +27 -33
- package/lib/solution/ScanOrder/index.d.ts +27 -21
- package/lib/solution/ScanOrder/index.js +908 -904
- package/lib/solution/ScanOrder/types.d.ts +33 -11
- package/lib/solution/ScanOrder/types.js +33 -34
- package/lib/solution/ScanOrder/utils.d.ts +4 -1
- package/lib/solution/ScanOrder/utils.js +457 -344
- package/lib/solution/ShopDiscount/index.js +230 -236
- package/lib/solution/ShopDiscount/types.js +15 -37
- package/lib/solution/ShopDiscount/utils.js +309 -172
- 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 +34 -20
- package/lib/solution/VenueBooking/index.js +982 -950
- package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
- package/lib/solution/VenueBooking/types.js +20 -40
- package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
- package/lib/solution/VenueBooking/utils/resource.js +31 -54
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
- package/lib/solution/VenueBooking/utils/slotMerge.js +96 -108
- package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
- package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
- package/lib/solution/VenueBooking/utils.js +130 -67
- package/lib/solution/index.d.ts +2 -0
- package/lib/solution/index.js +124 -37
- package/lib/store/createStore.js +32 -29
- package/lib/types/index.d.ts +11 -1
- package/lib/types/index.js +4 -16
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +81 -47
- package/package.json +2 -1
- package/dist/solution/Checkout/appointmentDemo.json +0 -1
- package/lib/solution/Checkout/appointmentDemo.json +0 -1
|
@@ -1,35 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(types_exports, {
|
|
22
|
-
ResourceHooks: () => ResourceHooks
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(types_exports);
|
|
25
|
-
var ResourceHooks = /* @__PURE__ */ ((ResourceHooks2) => {
|
|
26
|
-
ResourceHooks2["onResourcesLoaded"] = "resource:onResourcesLoaded";
|
|
27
|
-
ResourceHooks2["onResourcesChanged"] = "resource:onResourcesChanged";
|
|
28
|
-
ResourceHooks2["onResourcesSyncCompleted"] = "resource:onResourcesSyncCompleted";
|
|
29
|
-
ResourceHooks2["onBookingsChanged"] = "resource:onBookingsChanged";
|
|
30
|
-
return ResourceHooks2;
|
|
31
|
-
})(ResourceHooks || {});
|
|
32
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
-
0 && (module.exports = {
|
|
34
|
-
ResourceHooks
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
35
5
|
});
|
|
6
|
+
exports.ResourceHooks = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Resource 模块主键类型
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Sales / ScheduleEventResource:预约条目内关联资源(仅 ID 与占用,详情由设备端基准数据解析)
|
|
12
|
+
* @see 统一 Sales 数据协议 3.4.1 resources
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* 资源预订数据结构
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* 资源数据结构(兼容历史数据)
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* 查询选项
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Resource 模块状态
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* 与 ResourceDataSource 对齐的分页查询参数
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* 与 ResourceDataSource 对齐的分页返回结构
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* ResourceSyncMessage - pubsub 同步消息结构
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Resource 模块钩子
|
|
37
|
+
*/
|
|
38
|
+
let ResourceHooks = exports.ResourceHooks = /*#__PURE__*/function (ResourceHooks) {
|
|
39
|
+
ResourceHooks["onResourcesLoaded"] = "resource:onResourcesLoaded";
|
|
40
|
+
ResourceHooks["onResourcesChanged"] = "resource:onResourcesChanged";
|
|
41
|
+
ResourceHooks["onResourcesSyncCompleted"] = "resource:onResourcesSyncCompleted";
|
|
42
|
+
ResourceHooks["onBookingsChanged"] = "resource:onBookingsChanged";
|
|
43
|
+
return ResourceHooks;
|
|
44
|
+
}({});
|
|
@@ -12,6 +12,7 @@ export declare class ScheduleModuleEx extends BaseModule implements Module, Sche
|
|
|
12
12
|
private store;
|
|
13
13
|
private dbManager;
|
|
14
14
|
private logger;
|
|
15
|
+
private hasLoadedScheduleList;
|
|
15
16
|
constructor(name?: string, version?: string);
|
|
16
17
|
/**
|
|
17
18
|
* 记录信息日志
|
|
@@ -41,6 +42,7 @@ export declare class ScheduleModuleEx extends BaseModule implements Module, Sche
|
|
|
41
42
|
* 获取所有日程列表
|
|
42
43
|
*/
|
|
43
44
|
getScheduleList(): ScheduleItem[];
|
|
45
|
+
isScheduleListLoaded(): boolean;
|
|
44
46
|
/**
|
|
45
47
|
* 根据 schedule IDs 获取日程数据
|
|
46
48
|
* 使用 Map 快速查询,时间复杂度 O(m),m 为 ids 数量
|
|
@@ -64,15 +66,15 @@ export declare class ScheduleModuleEx extends BaseModule implements Module, Sche
|
|
|
64
66
|
*/
|
|
65
67
|
getDateIsInSchedule(date: string, scheduleList: (ScheduleItem | number)[]): boolean;
|
|
66
68
|
/**
|
|
67
|
-
* 从
|
|
69
|
+
* 从 SQLite 加载日程数据
|
|
68
70
|
* @private
|
|
69
71
|
*/
|
|
70
|
-
private
|
|
72
|
+
private loadScheduleFromSQLite;
|
|
71
73
|
/**
|
|
72
|
-
* 保存日程数据到
|
|
74
|
+
* 保存日程数据到 SQLite
|
|
73
75
|
* @private
|
|
74
76
|
*/
|
|
75
|
-
private
|
|
77
|
+
private saveScheduleToSQLite;
|
|
76
78
|
/**
|
|
77
79
|
* 预加载模块数据(统一接口)
|
|
78
80
|
* 在模块注册后自动调用
|
|
@@ -1,54 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
__export(schedule_exports, {
|
|
32
|
-
ScheduleModuleEx: () => ScheduleModuleEx
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
33
5
|
});
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
6
|
+
exports.ScheduleModuleEx = void 0;
|
|
7
|
+
var _lodashEs = require("lodash-es");
|
|
8
|
+
var _BaseModule = require("../../../modules/BaseModule");
|
|
9
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
10
|
+
var _isSameOrBefore = _interopRequireDefault(require("dayjs/plugin/isSameOrBefore"));
|
|
11
|
+
var _isSameOrAfter = _interopRequireDefault(require("dayjs/plugin/isSameOrAfter"));
|
|
12
|
+
var _utils = require("../../../solution/ShopDiscount/utils");
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
_dayjs.default.extend(_isSameOrBefore.default);
|
|
15
|
+
_dayjs.default.extend(_isSameOrAfter.default);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* SQLite 存储名称
|
|
19
|
+
*/
|
|
20
|
+
const SCHEDULE_STORE_NAME = 'schedule';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Schedule 模块(扩展版本)
|
|
24
|
+
* 在原有基础上添加了 getAvailableScheduleIds 方法
|
|
25
|
+
*/
|
|
26
|
+
class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
27
|
+
defaultName = 'schedule';
|
|
28
|
+
defaultVersion = '1.1.0';
|
|
29
|
+
request;
|
|
30
|
+
store = {};
|
|
31
|
+
dbManager; // SQLiteAdapter 实例
|
|
32
|
+
logger; // LoggerManager 实例
|
|
33
|
+
hasLoadedScheduleList = false;
|
|
46
34
|
constructor(name, version) {
|
|
47
35
|
super(name, version);
|
|
48
|
-
this.defaultName = "schedule";
|
|
49
|
-
this.defaultVersion = "1.1.0";
|
|
50
|
-
this.store = {};
|
|
51
36
|
}
|
|
37
|
+
|
|
52
38
|
/**
|
|
53
39
|
* 记录信息日志
|
|
54
40
|
* @param title 日志标题
|
|
@@ -58,14 +44,16 @@ var ScheduleModuleEx = class extends import_BaseModule.BaseModule {
|
|
|
58
44
|
try {
|
|
59
45
|
if (this.logger) {
|
|
60
46
|
this.logger.addLog({
|
|
61
|
-
type:
|
|
47
|
+
type: 'info',
|
|
62
48
|
title: `[ScheduleModule] ${title}`,
|
|
63
49
|
metadata: metadata || {}
|
|
64
50
|
});
|
|
65
51
|
}
|
|
66
52
|
} catch {
|
|
53
|
+
// 日志记录失败不影响主流程
|
|
67
54
|
}
|
|
68
55
|
}
|
|
56
|
+
|
|
69
57
|
/**
|
|
70
58
|
* 记录警告日志
|
|
71
59
|
* @param title 日志标题
|
|
@@ -75,14 +63,16 @@ var ScheduleModuleEx = class extends import_BaseModule.BaseModule {
|
|
|
75
63
|
try {
|
|
76
64
|
if (this.logger) {
|
|
77
65
|
this.logger.addLog({
|
|
78
|
-
type:
|
|
66
|
+
type: 'warning',
|
|
79
67
|
title: `[ScheduleModule] ${title}`,
|
|
80
68
|
metadata: metadata || {}
|
|
81
69
|
});
|
|
82
70
|
}
|
|
83
71
|
} catch {
|
|
72
|
+
// 日志记录失败不影响主流程
|
|
84
73
|
}
|
|
85
74
|
}
|
|
75
|
+
|
|
86
76
|
/**
|
|
87
77
|
* 记录错误日志
|
|
88
78
|
* @param title 日志标题
|
|
@@ -92,71 +82,79 @@ var ScheduleModuleEx = class extends import_BaseModule.BaseModule {
|
|
|
92
82
|
try {
|
|
93
83
|
if (this.logger) {
|
|
94
84
|
this.logger.addLog({
|
|
95
|
-
type:
|
|
85
|
+
type: 'error',
|
|
96
86
|
title: `[ScheduleModule] ${title}`,
|
|
97
87
|
metadata: metadata || {}
|
|
98
88
|
});
|
|
99
89
|
}
|
|
100
90
|
} catch {
|
|
91
|
+
// 日志记录失败不影响主流程
|
|
101
92
|
}
|
|
102
93
|
}
|
|
103
94
|
async initialize(core, options) {
|
|
104
95
|
this.core = core;
|
|
105
|
-
|
|
96
|
+
|
|
97
|
+
// 获取依赖的插件
|
|
98
|
+
this.request = core.getPlugin('request');
|
|
106
99
|
if (!this.request) {
|
|
107
|
-
throw new Error(
|
|
100
|
+
throw new Error('ScheduleModule 需要 request 插件支持');
|
|
108
101
|
}
|
|
109
|
-
this.store = options
|
|
102
|
+
this.store = options?.store;
|
|
110
103
|
if (options.initialState) {
|
|
111
104
|
this.store.scheduleList = options.initialState.scheduleList;
|
|
105
|
+
// 同步更新 Map 缓存
|
|
112
106
|
this.syncScheduleMap();
|
|
107
|
+
this.hasLoadedScheduleList = Array.isArray(options.initialState.scheduleList);
|
|
113
108
|
} else {
|
|
114
109
|
this.store.scheduleList = [];
|
|
115
|
-
this.store.map =
|
|
110
|
+
this.store.map = new Map();
|
|
111
|
+
this.hasLoadedScheduleList = false;
|
|
116
112
|
}
|
|
117
|
-
|
|
113
|
+
|
|
114
|
+
// 获取并存储 SQLite 和 logger
|
|
115
|
+
const appPlugin = core.getPlugin('app');
|
|
118
116
|
if (appPlugin) {
|
|
119
117
|
const app = appPlugin.getApp();
|
|
120
|
-
this.dbManager = app.
|
|
118
|
+
this.dbManager = app.sqlite;
|
|
121
119
|
this.logger = app.logger;
|
|
122
|
-
if (this.dbManager) {
|
|
123
|
-
console.
|
|
124
|
-
} else {
|
|
125
|
-
console.warn("[Schedule] IndexDB Manager 未找到");
|
|
120
|
+
if (this.dbManager) {} else {
|
|
121
|
+
console.warn('[Schedule] SQLite 未找到');
|
|
126
122
|
}
|
|
127
123
|
}
|
|
128
|
-
this.logInfo(
|
|
124
|
+
this.logInfo('模块初始化完成', {
|
|
129
125
|
hasDbManager: !!this.dbManager,
|
|
130
126
|
hasLogger: !!this.logger,
|
|
131
127
|
initialScheduleCount: this.store.scheduleList.length
|
|
132
128
|
});
|
|
133
129
|
}
|
|
130
|
+
|
|
134
131
|
/**
|
|
135
132
|
* 加载当前店铺下所有 schedule(从服务器)
|
|
136
133
|
*/
|
|
137
134
|
async loadAllSchedule() {
|
|
138
|
-
|
|
139
|
-
this.logInfo("开始从服务器加载日程列表");
|
|
135
|
+
this.logInfo('开始从服务器加载日程列表');
|
|
140
136
|
const startTime = Date.now();
|
|
141
137
|
try {
|
|
142
|
-
const scheduleList = await this.request.get(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
);
|
|
147
|
-
const list =
|
|
138
|
+
const scheduleList = await this.request.get(`/schedule`, {
|
|
139
|
+
num: 999
|
|
140
|
+
}, {
|
|
141
|
+
cache: undefined
|
|
142
|
+
});
|
|
143
|
+
const list = scheduleList.data?.list || [];
|
|
148
144
|
const duration = Date.now() - startTime;
|
|
149
|
-
this.logInfo(
|
|
145
|
+
this.logInfo('从服务器加载日程列表成功', {
|
|
150
146
|
scheduleCount: list.length,
|
|
151
147
|
duration: `${duration}ms`
|
|
152
148
|
});
|
|
153
|
-
|
|
149
|
+
|
|
150
|
+
// 保存到 SQLite
|
|
151
|
+
await this.saveScheduleToSQLite(list);
|
|
154
152
|
this.setScheduleList(list);
|
|
155
153
|
return list;
|
|
156
154
|
} catch (error) {
|
|
157
155
|
const duration = Date.now() - startTime;
|
|
158
156
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
159
|
-
this.logError(
|
|
157
|
+
this.logError('从服务器加载日程列表失败', {
|
|
160
158
|
duration: `${duration}ms`,
|
|
161
159
|
error: errorMessage
|
|
162
160
|
});
|
|
@@ -165,37 +163,48 @@ var ScheduleModuleEx = class extends import_BaseModule.BaseModule {
|
|
|
165
163
|
}
|
|
166
164
|
setScheduleList(list) {
|
|
167
165
|
this.store.scheduleList = list;
|
|
166
|
+
this.hasLoadedScheduleList = true;
|
|
167
|
+
// 同步更新 Map 缓存
|
|
168
168
|
this.syncScheduleMap();
|
|
169
169
|
}
|
|
170
|
+
|
|
170
171
|
/**
|
|
171
172
|
* 获取所有日程列表
|
|
172
173
|
*/
|
|
173
174
|
getScheduleList() {
|
|
174
175
|
return this.store.scheduleList;
|
|
175
176
|
}
|
|
177
|
+
isScheduleListLoaded() {
|
|
178
|
+
return this.hasLoadedScheduleList;
|
|
179
|
+
}
|
|
180
|
+
|
|
176
181
|
/**
|
|
177
182
|
* 根据 schedule IDs 获取日程数据
|
|
178
183
|
* 使用 Map 快速查询,时间复杂度 O(m),m 为 ids 数量
|
|
179
184
|
*/
|
|
180
185
|
getScheduleByIds(ids) {
|
|
181
186
|
if (!ids || ids.length === 0) {
|
|
182
|
-
this.logInfo(
|
|
187
|
+
this.logInfo('getScheduleByIds: 未提供有效的 ids', {
|
|
188
|
+
idsCount: 0
|
|
189
|
+
});
|
|
183
190
|
return [];
|
|
184
191
|
}
|
|
185
192
|
const result = [];
|
|
193
|
+
const scheduleList = this.store.scheduleList || [];
|
|
186
194
|
for (const id of ids) {
|
|
187
|
-
const schedule = this.store.map.get(id);
|
|
195
|
+
const schedule = this.store.map.get(id) || scheduleList.find(item => String(item.id) === String(id));
|
|
188
196
|
if (schedule) {
|
|
189
197
|
result.push(schedule);
|
|
190
198
|
}
|
|
191
199
|
}
|
|
192
|
-
this.logInfo(
|
|
200
|
+
this.logInfo('getScheduleByIds: 查询完成', {
|
|
193
201
|
requestedCount: ids.length,
|
|
194
202
|
foundCount: result.length,
|
|
195
203
|
notFoundCount: ids.length - result.length
|
|
196
204
|
});
|
|
197
205
|
return result;
|
|
198
206
|
}
|
|
207
|
+
|
|
199
208
|
/**
|
|
200
209
|
* 同步更新日程 Map 缓存
|
|
201
210
|
* 将 scheduleList 中的日程同步到 map,以 id 为 key
|
|
@@ -206,30 +215,33 @@ var ScheduleModuleEx = class extends import_BaseModule.BaseModule {
|
|
|
206
215
|
for (const schedule of this.store.scheduleList) {
|
|
207
216
|
this.store.map.set(schedule.id, schedule);
|
|
208
217
|
}
|
|
209
|
-
console.log(`[Schedule] Map 缓存已同步,共 ${this.store.map.size} 个日程`);
|
|
210
218
|
}
|
|
219
|
+
|
|
211
220
|
/**
|
|
212
221
|
* 清除缓存
|
|
213
222
|
*/
|
|
214
223
|
async clear() {
|
|
215
|
-
this.logInfo(
|
|
224
|
+
this.logInfo('开始清空缓存', {
|
|
216
225
|
currentScheduleCount: this.store.scheduleList.length
|
|
217
226
|
});
|
|
218
227
|
this.store.scheduleList = [];
|
|
219
228
|
this.store.map.clear();
|
|
229
|
+
// 同时清空 SQLite 中的数据
|
|
220
230
|
if (this.dbManager) {
|
|
221
231
|
try {
|
|
222
|
-
await this.dbManager.clear(
|
|
223
|
-
|
|
224
|
-
this.logInfo("IndexDB 缓存已清空");
|
|
232
|
+
await this.dbManager.clear(SCHEDULE_STORE_NAME);
|
|
233
|
+
this.logInfo('SQLite 缓存已清空');
|
|
225
234
|
} catch (error) {
|
|
226
235
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
227
|
-
console.error(
|
|
228
|
-
this.logError(
|
|
236
|
+
console.error('[Schedule] 清空 SQLite 缓存失败:', error);
|
|
237
|
+
this.logError('清空 SQLite 缓存失败', {
|
|
238
|
+
error: errorMessage
|
|
239
|
+
});
|
|
229
240
|
}
|
|
230
241
|
}
|
|
231
|
-
this.logInfo(
|
|
242
|
+
this.logInfo('缓存清空完成');
|
|
232
243
|
}
|
|
244
|
+
|
|
233
245
|
/**
|
|
234
246
|
* 判断日期是否在日程范围内
|
|
235
247
|
* @param date 日期
|
|
@@ -238,123 +250,137 @@ var ScheduleModuleEx = class extends import_BaseModule.BaseModule {
|
|
|
238
250
|
*/
|
|
239
251
|
getDateIsInSchedule(date, scheduleList) {
|
|
240
252
|
const scheduleListData = [];
|
|
241
|
-
scheduleList.forEach(
|
|
242
|
-
if (typeof item ===
|
|
253
|
+
scheduleList.forEach(item => {
|
|
254
|
+
if (typeof item === 'number') {
|
|
243
255
|
scheduleListData.push(...this.getScheduleByIds([item]));
|
|
244
256
|
} else {
|
|
245
257
|
scheduleListData.push(item);
|
|
246
258
|
}
|
|
247
259
|
});
|
|
248
|
-
const result = (0,
|
|
249
|
-
this.logInfo(
|
|
260
|
+
const result = (0, _utils.getDateIsInSchedule)(date, scheduleListData);
|
|
261
|
+
this.logInfo('getDateIsInSchedule: 判断日期是否在日程范围内', {
|
|
250
262
|
date,
|
|
251
263
|
scheduleCount: scheduleListData.length,
|
|
252
264
|
isInSchedule: result
|
|
253
265
|
});
|
|
254
266
|
return result;
|
|
255
267
|
}
|
|
268
|
+
|
|
256
269
|
/**
|
|
257
|
-
* 从
|
|
270
|
+
* 从 SQLite 加载日程数据
|
|
258
271
|
* @private
|
|
259
272
|
*/
|
|
260
|
-
async
|
|
273
|
+
async loadScheduleFromSQLite() {
|
|
261
274
|
if (!this.dbManager) {
|
|
262
|
-
this.logWarning(
|
|
275
|
+
this.logWarning('loadScheduleFromSQLite: SQLite 不可用');
|
|
263
276
|
return [];
|
|
264
277
|
}
|
|
265
278
|
try {
|
|
266
|
-
|
|
267
|
-
this.
|
|
268
|
-
|
|
279
|
+
// 直接获取所有日程记录
|
|
280
|
+
const scheduleList = await this.dbManager.getAll(SCHEDULE_STORE_NAME);
|
|
281
|
+
this.logInfo('从 SQLite 加载日程数据', {
|
|
282
|
+
scheduleCount: scheduleList?.length ?? 0
|
|
269
283
|
});
|
|
270
284
|
return scheduleList || [];
|
|
271
285
|
} catch (error) {
|
|
272
286
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
273
|
-
console.error(
|
|
274
|
-
this.logError(
|
|
287
|
+
console.error('[Schedule] 从 SQLite 读取数据失败:', error);
|
|
288
|
+
this.logError('从 SQLite 读取数据失败', {
|
|
289
|
+
error: errorMessage
|
|
290
|
+
});
|
|
275
291
|
return [];
|
|
276
292
|
}
|
|
277
293
|
}
|
|
294
|
+
|
|
278
295
|
/**
|
|
279
|
-
* 保存日程数据到
|
|
296
|
+
* 保存日程数据到 SQLite
|
|
280
297
|
* @private
|
|
281
298
|
*/
|
|
282
|
-
async
|
|
299
|
+
async saveScheduleToSQLite(scheduleList) {
|
|
283
300
|
if (!this.dbManager) {
|
|
284
|
-
this.logWarning(
|
|
301
|
+
this.logWarning('saveScheduleToSQLite: SQLite 不可用');
|
|
285
302
|
return;
|
|
286
303
|
}
|
|
287
|
-
this.logInfo(
|
|
304
|
+
this.logInfo('开始保存日程数据到 SQLite', {
|
|
305
|
+
scheduleCount: scheduleList.length
|
|
306
|
+
});
|
|
288
307
|
try {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
308
|
+
// 先清空现有的日程数据
|
|
309
|
+
await this.dbManager.clear(SCHEDULE_STORE_NAME);
|
|
310
|
+
if (scheduleList.length > 0) {
|
|
311
|
+
if (typeof this.dbManager.bulkAdd === 'function') {
|
|
312
|
+
await this.dbManager.bulkAdd(SCHEDULE_STORE_NAME, scheduleList);
|
|
313
|
+
} else if (typeof this.dbManager.bulkUpdate === 'function') {
|
|
314
|
+
await this.dbManager.bulkUpdate(SCHEDULE_STORE_NAME, scheduleList);
|
|
315
|
+
} else {
|
|
316
|
+
await Promise.all(scheduleList.map(schedule => this.dbManager.add(SCHEDULE_STORE_NAME, schedule)));
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
this.logInfo('日程数据已保存到 SQLite', {
|
|
320
|
+
scheduleCount: scheduleList.length
|
|
321
|
+
});
|
|
298
322
|
} catch (error) {
|
|
299
323
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
300
|
-
console.error(
|
|
301
|
-
this.logError(
|
|
324
|
+
console.error('[Schedule] 保存数据到 SQLite 失败:', error);
|
|
325
|
+
this.logError('保存数据到 SQLite 失败', {
|
|
302
326
|
scheduleCount: scheduleList.length,
|
|
303
327
|
error: errorMessage
|
|
304
328
|
});
|
|
305
329
|
}
|
|
306
330
|
}
|
|
331
|
+
|
|
307
332
|
/**
|
|
308
333
|
* 预加载模块数据(统一接口)
|
|
309
334
|
* 在模块注册后自动调用
|
|
310
335
|
*/
|
|
311
336
|
async preload() {
|
|
312
|
-
console.log("[Schedule] 开始预加载数据...");
|
|
313
337
|
const startTime = Date.now();
|
|
314
|
-
this.logInfo(
|
|
338
|
+
this.logInfo('开始预加载数据');
|
|
315
339
|
try {
|
|
316
|
-
|
|
340
|
+
// 1. 尝试从 SQLite 加载数据
|
|
341
|
+
const cachedData = await this.loadScheduleFromSQLite();
|
|
317
342
|
if (cachedData && cachedData.length > 0) {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
this.store.scheduleList = (0, import_lodash_es.cloneDeep)(cachedData);
|
|
343
|
+
// 将缓存数据放入 store
|
|
344
|
+
this.store.scheduleList = (0, _lodashEs.cloneDeep)(cachedData);
|
|
345
|
+
// 同步更新 Map 缓存
|
|
322
346
|
this.syncScheduleMap();
|
|
323
347
|
const duration = Date.now() - startTime;
|
|
324
|
-
this.logInfo(
|
|
348
|
+
this.logInfo('预加载完成(从 SQLite)', {
|
|
325
349
|
scheduleCount: cachedData.length,
|
|
326
350
|
duration: `${duration}ms`,
|
|
327
|
-
source:
|
|
351
|
+
source: 'SQLite'
|
|
328
352
|
});
|
|
329
353
|
return;
|
|
330
354
|
}
|
|
331
|
-
|
|
332
|
-
this.logInfo("IndexDB 中没有缓存数据,准备从服务器加载");
|
|
355
|
+
this.logInfo('SQLite 中没有缓存数据,准备从服务器加载');
|
|
333
356
|
} catch (error) {
|
|
334
357
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
335
|
-
console.warn(
|
|
336
|
-
this.logWarning(
|
|
358
|
+
console.warn('[Schedule] 从 SQLite 加载数据失败:', error);
|
|
359
|
+
this.logWarning('从 SQLite 加载数据失败,准备从服务器加载', {
|
|
360
|
+
error: errorMessage
|
|
361
|
+
});
|
|
337
362
|
}
|
|
363
|
+
|
|
364
|
+
// 2. 如果 SQLite 中没有数据,从服务器加载
|
|
338
365
|
const scheduleList = await this.loadAllSchedule();
|
|
366
|
+
|
|
367
|
+
// 3. 将服务器数据放入 store
|
|
339
368
|
if (scheduleList && scheduleList.length > 0) {
|
|
340
|
-
|
|
341
|
-
|
|
369
|
+
this.store.scheduleList = (0, _lodashEs.cloneDeep)(scheduleList);
|
|
370
|
+
// 同步更新 Map 缓存
|
|
342
371
|
this.syncScheduleMap();
|
|
343
372
|
const duration = Date.now() - startTime;
|
|
344
|
-
this.logInfo(
|
|
373
|
+
this.logInfo('预加载完成(从服务器)', {
|
|
345
374
|
scheduleCount: scheduleList.length,
|
|
346
375
|
duration: `${duration}ms`,
|
|
347
|
-
source:
|
|
376
|
+
source: 'Server'
|
|
348
377
|
});
|
|
349
378
|
} else {
|
|
350
379
|
const duration = Date.now() - startTime;
|
|
351
|
-
this.logWarning(
|
|
380
|
+
this.logWarning('预加载完成但未获取到数据', {
|
|
352
381
|
duration: `${duration}ms`
|
|
353
382
|
});
|
|
354
383
|
}
|
|
355
384
|
}
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
0 && (module.exports = {
|
|
359
|
-
ScheduleModuleEx
|
|
360
|
-
});
|
|
385
|
+
}
|
|
386
|
+
exports.ScheduleModuleEx = ScheduleModuleEx;
|
|
@@ -1,23 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
-
}
|
|
11
|
-
return to;
|
|
12
|
-
};
|
|
13
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
15
2
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
module.exports = __toCommonJS(types_exports);
|
|
19
|
-
__reExport(types_exports, require("../../../modules/Schedule/types"), module.exports);
|
|
20
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
-
0 && (module.exports = {
|
|
22
|
-
...require("../../../modules/Schedule/types")
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
6
|
+
var _types = require("../../../modules/Schedule/types");
|
|
7
|
+
Object.keys(_types).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _types[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|