@pisell/pisellos 0.0.568 → 0.10.1

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.
Files changed (588) hide show
  1. package/dist/core/index.js +10 -6
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -3
  4. package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
  5. package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
  6. package/dist/model/strategy/adapter/walletPass/example.js +26 -3
  7. package/dist/model/strategy/adapter/walletPass/index.js +5 -5
  8. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
  9. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  10. package/dist/model/strategy/adapter/walletPass/utils.js +24 -96
  11. package/dist/model/strategy/strategy-example.js +19 -5
  12. package/dist/modules/BaseModule.d.ts +2 -2
  13. package/dist/modules/BaseModule.js +12 -14
  14. package/dist/modules/BookingContext/index.d.ts +48 -0
  15. package/dist/modules/BookingContext/index.js +566 -0
  16. package/dist/modules/BookingContext/types.d.ts +102 -0
  17. package/dist/modules/BookingContext/types.js +51 -0
  18. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  19. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
  20. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  21. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
  22. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  23. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
  24. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  25. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  26. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  27. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  28. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  29. package/dist/modules/BookingContext/utils/index.js +11 -0
  30. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  31. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  32. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  33. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  34. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  35. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  36. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  37. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  38. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  39. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  40. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  41. package/dist/modules/BookingContext/utils/resources.js +486 -0
  42. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  43. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  44. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  45. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  46. package/dist/modules/Cart/index.js +3 -0
  47. package/dist/modules/Cart/utils/cartProduct.js +27 -5
  48. package/dist/modules/Cart/utils/cartResource.js +0 -2
  49. package/dist/modules/Cart/utils/changePrice.js +11 -11
  50. package/dist/modules/Customer/index.d.ts +20 -0
  51. package/dist/modules/Customer/index.js +172 -83
  52. package/dist/modules/Customer/types.d.ts +2 -0
  53. package/dist/modules/Date/index.js +5 -1
  54. package/dist/modules/Discount/index.d.ts +2 -2
  55. package/dist/modules/Discount/index.js +43 -30
  56. package/dist/modules/Discount/types.d.ts +1 -1
  57. package/dist/modules/OpenData/index.d.ts +8 -0
  58. package/dist/modules/OpenData/index.js +38 -16
  59. package/dist/modules/Order/index.d.ts +449 -24
  60. package/dist/modules/Order/index.js +5460 -574
  61. package/dist/modules/Order/types.d.ts +693 -88
  62. package/dist/modules/Order/types.js +68 -1
  63. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  64. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  65. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  66. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  67. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  68. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  69. package/dist/modules/Order/utils.d.ts +167 -18
  70. package/dist/modules/Order/utils.js +960 -165
  71. package/dist/modules/Payment/index.d.ts +10 -9
  72. package/dist/modules/Payment/index.js +573 -746
  73. package/dist/modules/Payment/types.d.ts +44 -24
  74. package/dist/modules/Payment/utils.d.ts +1 -1
  75. package/dist/modules/Payment/utils.js +4 -3
  76. package/dist/modules/Payment/walletpass.d.ts +0 -2
  77. package/dist/modules/Payment/walletpass.js +49 -33
  78. package/dist/modules/Product/types.d.ts +29 -7
  79. package/dist/modules/ProductList/index.d.ts +17 -13
  80. package/dist/modules/ProductList/index.js +182 -81
  81. package/dist/modules/ProductList/types.d.ts +16 -0
  82. package/dist/modules/Quotation/index.d.ts +22 -2
  83. package/dist/modules/Quotation/index.js +108 -42
  84. package/dist/modules/Quotation/types.d.ts +19 -0
  85. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  86. package/dist/modules/ResourcePlanner/index.js +181 -0
  87. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  88. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  89. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  90. package/dist/modules/ResourcePlanner/types.js +1 -0
  91. package/dist/modules/Rules/index.d.ts +8 -10
  92. package/dist/modules/Rules/index.js +324 -513
  93. package/dist/modules/Rules/types.d.ts +14 -3
  94. package/dist/modules/SalesSummary/index.d.ts +23 -26
  95. package/dist/modules/SalesSummary/index.js +152 -46
  96. package/dist/modules/SalesSummary/types.d.ts +9 -1
  97. package/dist/modules/SalesSummary/utils.d.ts +3 -22
  98. package/dist/modules/SalesSummary/utils.js +804 -165
  99. package/dist/modules/Schedule/getDateIsInSchedule.js +14 -12
  100. package/dist/modules/Schedule/index.d.ts +18 -5
  101. package/dist/modules/Schedule/index.js +79 -24
  102. package/dist/modules/Schedule/types.d.ts +2 -0
  103. package/dist/modules/Schedule/utils.js +1 -0
  104. package/dist/modules/Step/index.js +1 -0
  105. package/dist/modules/Summary/index.js +4 -3
  106. package/dist/modules/Summary/utils.js +22 -43
  107. package/dist/modules/SurchargeList/index.d.ts +18 -0
  108. package/dist/modules/SurchargeList/index.js +185 -0
  109. package/dist/modules/SurchargeList/types.d.ts +15 -0
  110. package/dist/modules/SurchargeList/types.js +1 -0
  111. package/dist/modules/index.d.ts +3 -0
  112. package/dist/modules/index.js +4 -1
  113. package/dist/plugins/app.d.ts +2 -0
  114. package/dist/plugins/request.d.ts +1 -0
  115. package/dist/plugins/request.js +4 -1
  116. package/dist/plugins/window.js +6 -2
  117. package/dist/server/index.d.ts +462 -8
  118. package/dist/server/index.js +6168 -680
  119. package/dist/server/modules/floor-plan/index.d.ts +39 -0
  120. package/dist/server/modules/floor-plan/index.js +595 -0
  121. package/dist/server/modules/floor-plan/types.d.ts +43 -0
  122. package/dist/server/modules/floor-plan/types.js +13 -0
  123. package/dist/server/modules/index.d.ts +7 -2
  124. package/dist/server/modules/index.js +6 -0
  125. package/dist/server/modules/menu/index.js +41 -32
  126. package/dist/server/modules/order/index.d.ts +207 -14
  127. package/dist/server/modules/order/index.js +2328 -379
  128. package/dist/server/modules/order/types.d.ts +76 -5
  129. package/dist/server/modules/order/types.js +14 -1
  130. package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
  131. package/dist/server/modules/order/utils/filterBookings.js +118 -11
  132. package/dist/server/modules/order/utils/filterOrders.js +242 -14
  133. package/dist/server/modules/payment/index.d.ts +28 -0
  134. package/dist/server/modules/payment/index.js +305 -0
  135. package/dist/server/modules/payment/types.d.ts +9 -0
  136. package/dist/server/modules/payment/types.js +1 -0
  137. package/dist/server/modules/products/index.d.ts +105 -14
  138. package/dist/server/modules/products/index.js +1416 -521
  139. package/dist/server/modules/products/types.d.ts +34 -1
  140. package/dist/server/modules/products/types.js +4 -0
  141. package/dist/server/modules/quotation/index.d.ts +39 -0
  142. package/dist/server/modules/quotation/index.js +298 -77
  143. package/dist/server/modules/resource/index.d.ts +2 -3
  144. package/dist/server/modules/resource/index.js +109 -86
  145. package/dist/server/modules/schedule/index.d.ts +6 -4
  146. package/dist/server/modules/schedule/index.js +145 -106
  147. package/dist/server/test.json +713 -0
  148. package/dist/server/types.d.ts +2 -0
  149. package/dist/server/utils/product.js +3 -2
  150. package/dist/server/utils/small-ticket.d.ts +71 -0
  151. package/dist/server/utils/small-ticket.js +963 -0
  152. package/dist/solution/BaseSales/index.d.ts +378 -0
  153. package/dist/solution/BaseSales/index.js +4009 -0
  154. package/dist/solution/BaseSales/types.d.ts +394 -0
  155. package/dist/solution/BaseSales/types.js +40 -0
  156. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  157. package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
  158. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  159. package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
  160. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  161. package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
  162. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  163. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
  164. package/dist/solution/BaseSales/utils.d.ts +40 -0
  165. package/dist/solution/BaseSales/utils.js +263 -0
  166. package/dist/solution/BookingByStep/index.d.ts +1 -1
  167. package/dist/solution/BookingByStep/index.js +60 -11
  168. package/dist/solution/BookingByStep/utils/capacity.js +11 -1
  169. package/dist/solution/BookingByStep/utils/resources.js +3 -1
  170. package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
  171. package/dist/solution/BookingTicket/index.d.ts +393 -24
  172. package/dist/solution/BookingTicket/index.js +2508 -443
  173. package/dist/solution/BookingTicket/types.d.ts +191 -6
  174. package/dist/solution/BookingTicket/types.js +83 -10
  175. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  176. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  177. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  178. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  179. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  180. package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
  181. package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
  182. package/dist/solution/BookingTicket/utils/cartView.js +209 -0
  183. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  184. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  185. package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  186. package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
  187. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  188. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  189. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  190. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  191. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  192. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +42 -1
  193. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  194. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  195. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  196. package/dist/solution/BookingTicket/utils/scan/handleScan.js +42 -28
  197. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  198. package/dist/solution/BookingTicket/utils/scan/index.js +30 -14
  199. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  200. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  201. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  202. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  203. package/dist/solution/BuyTickets/index.js +12 -9
  204. package/dist/solution/Checkout/index.d.ts +1 -0
  205. package/dist/solution/Checkout/index.js +275 -209
  206. package/dist/solution/Checkout/utils/index.js +20 -8
  207. package/dist/solution/RegisterAndLogin/config.js +2 -10
  208. package/dist/solution/RegisterAndLogin/index.js +76 -30
  209. package/dist/solution/Sales/index.d.ts +50 -5
  210. package/dist/solution/Sales/index.js +484 -92
  211. package/dist/solution/Sales/types.d.ts +26 -2
  212. package/dist/solution/ScanOrder/index.d.ts +27 -21
  213. package/dist/solution/ScanOrder/index.js +519 -444
  214. package/dist/solution/ScanOrder/types.d.ts +33 -11
  215. package/dist/solution/ScanOrder/types.js +4 -5
  216. package/dist/solution/ScanOrder/utils.d.ts +4 -1
  217. package/dist/solution/ScanOrder/utils.js +109 -34
  218. package/dist/solution/ShopDiscount/index.js +18 -19
  219. package/dist/solution/ShopDiscount/types.d.ts +4 -5
  220. package/dist/solution/ShopDiscount/utils.d.ts +0 -9
  221. package/dist/solution/ShopDiscount/utils.js +0 -9
  222. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  223. package/dist/solution/UnifiedBookingSales/index.js +1871 -0
  224. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  225. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  226. package/dist/solution/VenueBooking/index.d.ts +32 -51
  227. package/dist/solution/VenueBooking/index.js +741 -808
  228. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  229. package/dist/solution/VenueBooking/types.d.ts +1 -3
  230. package/dist/solution/VenueBooking/types.js +0 -1
  231. package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  232. package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
  233. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  234. package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
  235. package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  236. package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
  237. package/dist/solution/index.d.ts +2 -0
  238. package/dist/solution/index.js +3 -1
  239. package/dist/types/index.d.ts +12 -2
  240. package/dist/utils/task.js +18 -15
  241. package/dist/utils/watch.js +1 -0
  242. package/lib/apis/picoding.js +0 -2
  243. package/lib/core/index.js +132 -130
  244. package/lib/effects/index.js +57 -46
  245. package/lib/index.d.ts +0 -1
  246. package/lib/index.js +50 -92
  247. package/lib/model/index.js +21 -14
  248. package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
  249. package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
  250. package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
  251. package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
  252. package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
  253. package/lib/model/strategy/adapter/index.js +64 -100
  254. package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
  255. package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
  256. package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
  257. package/lib/model/strategy/adapter/itemRule/index.js +57 -83
  258. package/lib/model/strategy/adapter/itemRule/type.js +36 -97
  259. package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
  260. package/lib/model/strategy/adapter/promotion/evaluator.js +233 -382
  261. package/lib/model/strategy/adapter/promotion/examples.js +159 -139
  262. package/lib/model/strategy/adapter/promotion/index.js +0 -1
  263. package/lib/model/strategy/adapter/promotion/type.js +35 -199
  264. package/lib/model/strategy/adapter/type.js +16 -4
  265. package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
  266. package/lib/model/strategy/adapter/walletPass/example.js +190 -217
  267. package/lib/model/strategy/adapter/walletPass/index.js +51 -75
  268. package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
  269. package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
  270. package/lib/model/strategy/adapter/walletPass/type.js +16 -4
  271. package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  272. package/lib/model/strategy/adapter/walletPass/utils.js +383 -676
  273. package/lib/model/strategy/engine.js +168 -270
  274. package/lib/model/strategy/index.js +34 -49
  275. package/lib/model/strategy/strategy-example.js +239 -243
  276. package/lib/model/strategy/type.js +40 -100
  277. package/lib/modules/Account/index.js +53 -39
  278. package/lib/modules/Account/types.js +33 -20
  279. package/lib/modules/AccountList/index.js +154 -116
  280. package/lib/modules/AccountList/types.js +31 -30
  281. package/lib/modules/AccountList/utils.js +30 -18
  282. package/lib/modules/BaseModule.d.ts +2 -2
  283. package/lib/modules/BaseModule.js +50 -29
  284. package/lib/modules/BookingContext/index.d.ts +48 -0
  285. package/lib/modules/BookingContext/index.js +368 -0
  286. package/lib/modules/BookingContext/types.d.ts +102 -0
  287. package/lib/modules/BookingContext/types.js +34 -0
  288. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  289. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +298 -0
  290. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  291. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +155 -0
  292. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  293. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +222 -0
  294. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  295. package/lib/modules/BookingContext/utils/flexible.js +80 -0
  296. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  297. package/lib/modules/BookingContext/utils/formatResourceList.js +50 -0
  298. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  299. package/lib/modules/BookingContext/utils/index.js +43 -0
  300. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  301. package/lib/modules/BookingContext/utils/noResource.js +90 -0
  302. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  303. package/lib/modules/BookingContext/utils/orderLineDisplay.js +56 -0
  304. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  305. package/lib/modules/BookingContext/utils/productExtend.js +283 -0
  306. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  307. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  308. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  309. package/lib/modules/BookingContext/utils/resourceSelection.js +46 -0
  310. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  311. package/lib/modules/BookingContext/utils/resources.js +377 -0
  312. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  313. package/lib/modules/BookingContext/utils/serviceTimes.js +162 -0
  314. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  315. package/lib/modules/BookingContext/utils/timeSlices.js +124 -0
  316. package/lib/modules/Cart/index.js +124 -170
  317. package/lib/modules/Cart/types.js +51 -46
  318. package/lib/modules/Cart/utils/cartAccount.js +39 -40
  319. package/lib/modules/Cart/utils/cartDate.js +61 -56
  320. package/lib/modules/Cart/utils/cartDiscount.js +33 -28
  321. package/lib/modules/Cart/utils/cartNote.js +32 -27
  322. package/lib/modules/Cart/utils/cartProduct.js +261 -309
  323. package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
  324. package/lib/modules/Cart/utils/cartResource.js +78 -72
  325. package/lib/modules/Cart/utils/changePrice.js +59 -31
  326. package/lib/modules/Cart/utils/index.js +48 -106
  327. package/lib/modules/Customer/constants.js +34 -13
  328. package/lib/modules/Customer/index.d.ts +20 -0
  329. package/lib/modules/Customer/index.js +207 -217
  330. package/lib/modules/Customer/types.d.ts +2 -0
  331. package/lib/modules/Customer/types.js +35 -38
  332. package/lib/modules/Date/index.js +115 -116
  333. package/lib/modules/Date/types.js +28 -16
  334. package/lib/modules/Date/utils.js +123 -174
  335. package/lib/modules/Discount/index.d.ts +2 -2
  336. package/lib/modules/Discount/index.js +133 -119
  337. package/lib/modules/Discount/types.d.ts +1 -1
  338. package/lib/modules/Discount/types.js +31 -9
  339. package/lib/modules/Guests/index.js +56 -30
  340. package/lib/modules/Guests/types.js +33 -23
  341. package/lib/modules/Holder/index.js +189 -209
  342. package/lib/modules/Holder/types.js +16 -4
  343. package/lib/modules/Holder/utils.js +49 -20
  344. package/lib/modules/OpenData/index.d.ts +8 -0
  345. package/lib/modules/OpenData/index.js +88 -63
  346. package/lib/modules/OpenData/types.js +16 -4
  347. package/lib/modules/OpenData/utils.js +78 -44
  348. package/lib/modules/Order/index.d.ts +449 -24
  349. package/lib/modules/Order/index.js +4184 -514
  350. package/lib/modules/Order/types.d.ts +693 -88
  351. package/lib/modules/Order/types.js +35 -24
  352. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  353. package/lib/modules/Order/utils/bundleDiscountHydration.js +139 -0
  354. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  355. package/lib/modules/Order/utils/manualProductDiscount.js +206 -0
  356. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  357. package/lib/modules/Order/utils/orderCollectionIdentity.js +415 -0
  358. package/lib/modules/Order/utils.d.ts +167 -18
  359. package/lib/modules/Order/utils.js +1085 -414
  360. package/lib/modules/Payment/cash.js +33 -20
  361. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  362. package/lib/modules/Payment/eftpos.js +30 -16
  363. package/lib/modules/Payment/index.d.ts +10 -9
  364. package/lib/modules/Payment/index.js +402 -636
  365. package/lib/modules/Payment/mx51.js +0 -1
  366. package/lib/modules/Payment/types.d.ts +44 -24
  367. package/lib/modules/Payment/types.js +107 -216
  368. package/lib/modules/Payment/utils.d.ts +1 -1
  369. package/lib/modules/Payment/utils.js +50 -52
  370. package/lib/modules/Payment/walletpass.d.ts +0 -2
  371. package/lib/modules/Payment/walletpass.js +216 -221
  372. package/lib/modules/Product/index.js +46 -51
  373. package/lib/modules/Product/types.d.ts +29 -7
  374. package/lib/modules/Product/types.js +16 -4
  375. package/lib/modules/Product/utils.js +33 -32
  376. package/lib/modules/ProductList/index.d.ts +17 -13
  377. package/lib/modules/ProductList/index.js +161 -120
  378. package/lib/modules/ProductList/types.d.ts +16 -0
  379. package/lib/modules/ProductList/types.js +31 -9
  380. package/lib/modules/Quotation/index.d.ts +22 -2
  381. package/lib/modules/Quotation/index.js +154 -64
  382. package/lib/modules/Quotation/types.d.ts +19 -0
  383. package/lib/modules/Quotation/types.js +16 -4
  384. package/lib/modules/Resource/index.js +59 -27
  385. package/lib/modules/Resource/types.js +32 -22
  386. package/lib/modules/Resource/utils.js +38 -30
  387. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  388. package/lib/modules/ResourcePlanner/index.js +148 -0
  389. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  390. package/lib/modules/ResourcePlanner/planner.js +933 -0
  391. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  392. package/lib/modules/ResourcePlanner/types.js +17 -0
  393. package/lib/modules/Rules/index.d.ts +8 -10
  394. package/lib/modules/Rules/index.js +960 -1440
  395. package/lib/modules/Rules/types.d.ts +14 -3
  396. package/lib/modules/Rules/types.js +40 -17
  397. package/lib/modules/SalesSummary/index.d.ts +23 -26
  398. package/lib/modules/SalesSummary/index.js +134 -61
  399. package/lib/modules/SalesSummary/types.d.ts +9 -1
  400. package/lib/modules/SalesSummary/types.js +16 -4
  401. package/lib/modules/SalesSummary/utils.d.ts +3 -22
  402. package/lib/modules/SalesSummary/utils.js +814 -233
  403. package/lib/modules/ScanOrderLogger/index.js +79 -59
  404. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  405. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  406. package/lib/modules/ScanOrderLogger/types.js +16 -4
  407. package/lib/modules/Schedule/getDateIsInSchedule.js +169 -338
  408. package/lib/modules/Schedule/index.d.ts +18 -5
  409. package/lib/modules/Schedule/index.js +153 -104
  410. package/lib/modules/Schedule/type.js +16 -4
  411. package/lib/modules/Schedule/types.d.ts +2 -0
  412. package/lib/modules/Schedule/types.js +16 -4
  413. package/lib/modules/Schedule/utils.js +291 -433
  414. package/lib/modules/Step/index.js +52 -40
  415. package/lib/modules/Step/tyeps.js +16 -4
  416. package/lib/modules/Summary/index.js +71 -66
  417. package/lib/modules/Summary/types.js +16 -4
  418. package/lib/modules/Summary/utils.js +418 -791
  419. package/lib/modules/SurchargeList/index.d.ts +18 -0
  420. package/lib/modules/SurchargeList/index.js +109 -0
  421. package/lib/modules/SurchargeList/types.d.ts +15 -0
  422. package/lib/modules/SurchargeList/types.js +17 -0
  423. package/lib/modules/index.d.ts +3 -0
  424. package/lib/modules/index.js +63 -212
  425. package/lib/plugins/app.d.ts +2 -0
  426. package/lib/plugins/app.js +16 -4
  427. package/lib/plugins/index.js +25 -36
  428. package/lib/plugins/request.d.ts +1 -0
  429. package/lib/plugins/request.js +126 -137
  430. package/lib/plugins/shopStore.js +16 -4
  431. package/lib/plugins/user.js +16 -4
  432. package/lib/plugins/window.js +179 -171
  433. package/lib/server/index.d.ts +462 -8
  434. package/lib/server/index.js +4520 -1162
  435. package/lib/server/modules/floor-plan/index.d.ts +39 -0
  436. package/lib/server/modules/floor-plan/index.js +327 -0
  437. package/lib/server/modules/floor-plan/types.d.ts +43 -0
  438. package/lib/server/modules/floor-plan/types.js +34 -0
  439. package/lib/server/modules/index.d.ts +7 -2
  440. package/lib/server/modules/index.js +67 -84
  441. package/lib/server/modules/menu/index.js +122 -146
  442. package/lib/server/modules/menu/types.js +31 -18
  443. package/lib/server/modules/order/index.d.ts +207 -14
  444. package/lib/server/modules/order/index.js +1543 -285
  445. package/lib/server/modules/order/types.d.ts +76 -5
  446. package/lib/server/modules/order/types.js +32 -107
  447. package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
  448. package/lib/server/modules/order/utils/filterBookings.js +259 -176
  449. package/lib/server/modules/order/utils/filterOrders.js +293 -94
  450. package/lib/server/modules/payment/index.d.ts +28 -0
  451. package/lib/server/modules/payment/index.js +192 -0
  452. package/lib/server/modules/payment/types.d.ts +9 -0
  453. package/lib/server/modules/payment/types.js +17 -0
  454. package/lib/server/modules/products/index.d.ts +105 -14
  455. package/lib/server/modules/products/index.js +850 -475
  456. package/lib/server/modules/products/types.d.ts +34 -1
  457. package/lib/server/modules/products/types.js +34 -41
  458. package/lib/server/modules/quotation/index.d.ts +39 -0
  459. package/lib/server/modules/quotation/index.js +254 -75
  460. package/lib/server/modules/quotation/types.js +31 -21
  461. package/lib/server/modules/resource/index.d.ts +2 -3
  462. package/lib/server/modules/resource/index.js +240 -243
  463. package/lib/server/modules/resource/types.js +33 -42
  464. package/lib/server/modules/schedule/index.d.ts +6 -4
  465. package/lib/server/modules/schedule/index.js +146 -147
  466. package/lib/server/modules/schedule/types.js +21 -14
  467. package/lib/server/modules/schedule/utils.js +163 -334
  468. package/lib/server/test.json +713 -0
  469. package/lib/server/types.d.ts +2 -0
  470. package/lib/server/types.js +16 -4
  471. package/lib/server/utils/index.js +23 -25
  472. package/lib/server/utils/product.js +140 -197
  473. package/lib/server/utils/schedule.js +41 -34
  474. package/lib/server/utils/small-ticket.d.ts +71 -0
  475. package/lib/server/utils/small-ticket.js +904 -0
  476. package/lib/server/utils/time.js +49 -40
  477. package/lib/solution/BaseSales/index.d.ts +378 -0
  478. package/lib/solution/BaseSales/index.js +2533 -0
  479. package/lib/solution/BaseSales/types.d.ts +394 -0
  480. package/lib/solution/BaseSales/types.js +43 -0
  481. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  482. package/lib/solution/BaseSales/utils/cartPromotion.js +1004 -0
  483. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  484. package/lib/solution/BaseSales/utils/parseSalesResponse.js +160 -0
  485. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  486. package/lib/solution/BaseSales/utils/quotationPrice.js +289 -0
  487. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  488. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +256 -0
  489. package/lib/solution/BaseSales/utils.d.ts +40 -0
  490. package/lib/solution/BaseSales/utils.js +244 -0
  491. package/lib/solution/BookingByStep/index.d.ts +1 -1
  492. package/lib/solution/BookingByStep/index.js +1340 -1530
  493. package/lib/solution/BookingByStep/types.js +99 -40
  494. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  495. package/lib/solution/BookingByStep/utils/products.js +52 -42
  496. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  497. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  498. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  499. package/lib/solution/BookingTicket/index.d.ts +393 -24
  500. package/lib/solution/BookingTicket/index.js +1374 -184
  501. package/lib/solution/BookingTicket/types.d.ts +191 -6
  502. package/lib/solution/BookingTicket/types.js +79 -40
  503. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  504. package/lib/solution/BookingTicket/utils/addProductDecision.js +318 -0
  505. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  506. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +125 -0
  507. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  508. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -0
  509. package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
  510. package/lib/solution/BookingTicket/utils/cartView.js +184 -0
  511. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  512. package/lib/solution/BookingTicket/utils/exampleData.js +0 -0
  513. package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  514. package/lib/solution/BookingTicket/utils/orderCustomer.js +58 -0
  515. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  516. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +254 -0
  517. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  518. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +169 -0
  519. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  520. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +97 -64
  521. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  522. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +51 -0
  523. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  524. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -82
  525. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  526. package/lib/solution/BookingTicket/utils/scan/index.js +109 -91
  527. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  528. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  529. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +127 -0
  530. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  531. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +85 -0
  532. package/lib/solution/BuyTickets/index.js +70 -67
  533. package/lib/solution/BuyTickets/types.js +38 -22
  534. package/lib/solution/Checkout/index.d.ts +1 -0
  535. package/lib/solution/Checkout/index.js +1169 -1463
  536. package/lib/solution/Checkout/types.js +61 -91
  537. package/lib/solution/Checkout/utils/index.js +156 -228
  538. package/lib/solution/PlaceOrder/index.js +0 -55
  539. package/lib/solution/RegisterAndLogin/config.js +462 -503
  540. package/lib/solution/RegisterAndLogin/index.js +630 -633
  541. package/lib/solution/RegisterAndLogin/types.js +76 -189
  542. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  543. package/lib/solution/Sales/index.d.ts +50 -5
  544. package/lib/solution/Sales/index.js +498 -238
  545. package/lib/solution/Sales/types.d.ts +26 -2
  546. package/lib/solution/Sales/types.js +33 -27
  547. package/lib/solution/ScanOrder/index.d.ts +27 -21
  548. package/lib/solution/ScanOrder/index.js +936 -864
  549. package/lib/solution/ScanOrder/types.d.ts +33 -11
  550. package/lib/solution/ScanOrder/types.js +34 -34
  551. package/lib/solution/ScanOrder/utils.d.ts +4 -1
  552. package/lib/solution/ScanOrder/utils.js +422 -385
  553. package/lib/solution/ShopDiscount/index.js +233 -235
  554. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  555. package/lib/solution/ShopDiscount/types.js +37 -15
  556. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  557. package/lib/solution/ShopDiscount/utils.js +172 -309
  558. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  559. package/lib/solution/UnifiedBookingSales/index.js +1076 -0
  560. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  561. package/lib/solution/UnifiedBookingSales/types.js +33 -0
  562. package/lib/solution/VenueBooking/index.d.ts +32 -51
  563. package/lib/solution/VenueBooking/index.js +1008 -984
  564. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  565. package/lib/solution/VenueBooking/types.d.ts +1 -3
  566. package/lib/solution/VenueBooking/types.js +39 -20
  567. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  568. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  569. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  570. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  571. package/lib/solution/VenueBooking/utils/slotMerge.js +109 -90
  572. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  573. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  574. package/lib/solution/VenueBooking/utils.js +67 -130
  575. package/lib/solution/index.d.ts +2 -0
  576. package/lib/solution/index.js +41 -102
  577. package/lib/store/createStore.js +29 -32
  578. package/lib/types/index.d.ts +12 -2
  579. package/lib/types/index.js +16 -4
  580. package/lib/utils/task.js +36 -36
  581. package/lib/utils/watch.js +47 -81
  582. package/package.json +2 -4
  583. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  584. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  585. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  586. package/lib/solution/Checkout/appointmentDemo.json +0 -1
  587. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  588. package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
@@ -1,44 +1,35 @@
1
- "use strict";
1
+ var __defProp = Object.defineProperty;
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);
2
18
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
19
+ // src/server/modules/resource/types.ts
20
+ var types_exports = {};
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
5
35
  });
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
- * 从 IndexDB 加载日程数据
69
+ * 从 SQLite 加载日程数据
68
70
  * @private
69
71
  */
70
- private loadScheduleFromIndexDB;
72
+ private loadScheduleFromSQLite;
71
73
  /**
72
- * 保存日程数据到 IndexDB
74
+ * 保存日程数据到 SQLite
73
75
  * @private
74
76
  */
75
- private saveScheduleToIndexDB;
77
+ private saveScheduleToSQLite;
76
78
  /**
77
79
  * 预加载模块数据(统一接口)
78
80
  * 在模块注册后自动调用
@@ -1,40 +1,55 @@
1
- "use strict";
1
+ var __create = Object.create;
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);
2
28
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
29
+ // src/server/modules/schedule/index.ts
30
+ var schedule_exports = {};
31
+ __export(schedule_exports, {
32
+ ScheduleModuleEx: () => ScheduleModuleEx
5
33
  });
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
- * IndexDB 存储名称
19
- */
20
- const INDEXDB_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; // IndexDBManager 实例
32
- logger; // LoggerManager 实例
33
-
34
+ module.exports = __toCommonJS(schedule_exports);
35
+ var import_lodash_es = require("lodash-es");
36
+ var import_BaseModule = require("../../../modules/BaseModule");
37
+ var import_dayjs = __toESM(require("dayjs"));
38
+ var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore"));
39
+ var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter"));
40
+ var import_utils = require("../../../solution/ShopDiscount/utils");
41
+ import_dayjs.default.extend(import_isSameOrBefore.default);
42
+ import_dayjs.default.extend(import_isSameOrAfter.default);
43
+ var SCHEDULE_STORE_NAME = "schedule";
44
+ var ScheduleModuleEx = class extends import_BaseModule.BaseModule {
34
45
  constructor(name, version) {
35
46
  super(name, version);
47
+ this.defaultName = "schedule";
48
+ this.defaultVersion = "1.1.0";
49
+ this.store = {};
50
+ // LoggerManager 实例
51
+ this.hasLoadedScheduleList = false;
36
52
  }
37
-
38
53
  /**
39
54
  * 记录信息日志
40
55
  * @param title 日志标题
@@ -44,16 +59,14 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
44
59
  try {
45
60
  if (this.logger) {
46
61
  this.logger.addLog({
47
- type: 'info',
62
+ type: "info",
48
63
  title: `[ScheduleModule] ${title}`,
49
64
  metadata: metadata || {}
50
65
  });
51
66
  }
52
67
  } catch {
53
- // 日志记录失败不影响主流程
54
68
  }
55
69
  }
56
-
57
70
  /**
58
71
  * 记录警告日志
59
72
  * @param title 日志标题
@@ -63,16 +76,14 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
63
76
  try {
64
77
  if (this.logger) {
65
78
  this.logger.addLog({
66
- type: 'warning',
79
+ type: "warning",
67
80
  title: `[ScheduleModule] ${title}`,
68
81
  metadata: metadata || {}
69
82
  });
70
83
  }
71
84
  } catch {
72
- // 日志记录失败不影响主流程
73
85
  }
74
86
  }
75
-
76
87
  /**
77
88
  * 记录错误日志
78
89
  * @param title 日志标题
@@ -82,77 +93,73 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
82
93
  try {
83
94
  if (this.logger) {
84
95
  this.logger.addLog({
85
- type: 'error',
96
+ type: "error",
86
97
  title: `[ScheduleModule] ${title}`,
87
98
  metadata: metadata || {}
88
99
  });
89
100
  }
90
101
  } catch {
91
- // 日志记录失败不影响主流程
92
102
  }
93
103
  }
94
104
  async initialize(core, options) {
95
105
  this.core = core;
96
-
97
- // 获取依赖的插件
98
- this.request = core.getPlugin('request');
106
+ this.request = core.getPlugin("request");
99
107
  if (!this.request) {
100
- throw new Error('ScheduleModule 需要 request 插件支持');
108
+ throw new Error("ScheduleModule 需要 request 插件支持");
101
109
  }
102
- this.store = options?.store;
110
+ this.store = options == null ? void 0 : options.store;
103
111
  if (options.initialState) {
104
112
  this.store.scheduleList = options.initialState.scheduleList;
105
- // 同步更新 Map 缓存
106
113
  this.syncScheduleMap();
114
+ this.hasLoadedScheduleList = Array.isArray(options.initialState.scheduleList);
107
115
  } else {
108
116
  this.store.scheduleList = [];
109
- this.store.map = new Map();
117
+ this.store.map = /* @__PURE__ */ new Map();
118
+ this.hasLoadedScheduleList = false;
110
119
  }
111
-
112
- // 获取并存储 dbManager 和 logger
113
- const appPlugin = core.getPlugin('app');
120
+ const appPlugin = core.getPlugin("app");
114
121
  if (appPlugin) {
115
122
  const app = appPlugin.getApp();
116
- this.dbManager = app.dbManager;
123
+ this.dbManager = app.sqlite;
117
124
  this.logger = app.logger;
118
- if (this.dbManager) {} else {
119
- console.warn('[Schedule] IndexDB Manager 未找到');
125
+ if (this.dbManager) {
126
+ console.log("[Schedule] SQLite 已初始化");
127
+ } else {
128
+ console.warn("[Schedule] SQLite 未找到");
120
129
  }
121
130
  }
122
- this.logInfo('模块初始化完成', {
131
+ this.logInfo("模块初始化完成", {
123
132
  hasDbManager: !!this.dbManager,
124
133
  hasLogger: !!this.logger,
125
134
  initialScheduleCount: this.store.scheduleList.length
126
135
  });
127
136
  }
128
-
129
137
  /**
130
138
  * 加载当前店铺下所有 schedule(从服务器)
131
139
  */
132
140
  async loadAllSchedule() {
133
- this.logInfo('开始从服务器加载日程列表');
141
+ var _a;
142
+ this.logInfo("开始从服务器加载日程列表");
134
143
  const startTime = Date.now();
135
144
  try {
136
- const scheduleList = await this.request.get(`/schedule`, {
137
- num: 999
138
- }, {
139
- cache: undefined
140
- });
141
- const list = scheduleList.data?.list || [];
145
+ const scheduleList = await this.request.get(
146
+ `/schedule`,
147
+ { num: 999 },
148
+ { cache: void 0 }
149
+ );
150
+ const list = ((_a = scheduleList.data) == null ? void 0 : _a.list) || [];
142
151
  const duration = Date.now() - startTime;
143
- this.logInfo('从服务器加载日程列表成功', {
152
+ this.logInfo("从服务器加载日程列表成功", {
144
153
  scheduleCount: list.length,
145
154
  duration: `${duration}ms`
146
155
  });
147
-
148
- // 保存到 IndexDB
149
- await this.saveScheduleToIndexDB(list);
156
+ await this.saveScheduleToSQLite(list);
150
157
  this.setScheduleList(list);
151
158
  return list;
152
159
  } catch (error) {
153
160
  const duration = Date.now() - startTime;
154
161
  const errorMessage = error instanceof Error ? error.message : String(error);
155
- this.logError('从服务器加载日程列表失败', {
162
+ this.logError("从服务器加载日程列表失败", {
156
163
  duration: `${duration}ms`,
157
164
  error: errorMessage
158
165
  });
@@ -161,43 +168,42 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
161
168
  }
162
169
  setScheduleList(list) {
163
170
  this.store.scheduleList = list;
164
- // 同步更新 Map 缓存
171
+ this.hasLoadedScheduleList = true;
165
172
  this.syncScheduleMap();
166
173
  }
167
-
168
174
  /**
169
175
  * 获取所有日程列表
170
176
  */
171
177
  getScheduleList() {
172
178
  return this.store.scheduleList;
173
179
  }
174
-
180
+ isScheduleListLoaded() {
181
+ return this.hasLoadedScheduleList;
182
+ }
175
183
  /**
176
184
  * 根据 schedule IDs 获取日程数据
177
185
  * 使用 Map 快速查询,时间复杂度 O(m),m 为 ids 数量
178
186
  */
179
187
  getScheduleByIds(ids) {
180
188
  if (!ids || ids.length === 0) {
181
- this.logInfo('getScheduleByIds: 未提供有效的 ids', {
182
- idsCount: 0
183
- });
189
+ this.logInfo("getScheduleByIds: 未提供有效的 ids", { idsCount: 0 });
184
190
  return [];
185
191
  }
186
192
  const result = [];
193
+ const scheduleList = this.store.scheduleList || [];
187
194
  for (const id of ids) {
188
- const schedule = this.store.map.get(id);
195
+ const schedule = this.store.map.get(id) || scheduleList.find((item) => String(item.id) === String(id));
189
196
  if (schedule) {
190
197
  result.push(schedule);
191
198
  }
192
199
  }
193
- this.logInfo('getScheduleByIds: 查询完成', {
200
+ this.logInfo("getScheduleByIds: 查询完成", {
194
201
  requestedCount: ids.length,
195
202
  foundCount: result.length,
196
203
  notFoundCount: ids.length - result.length
197
204
  });
198
205
  return result;
199
206
  }
200
-
201
207
  /**
202
208
  * 同步更新日程 Map 缓存
203
209
  * 将 scheduleList 中的日程同步到 map,以 id 为 key
@@ -208,33 +214,30 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
208
214
  for (const schedule of this.store.scheduleList) {
209
215
  this.store.map.set(schedule.id, schedule);
210
216
  }
217
+ console.log(`[Schedule] Map 缓存已同步,共 ${this.store.map.size} 个日程`);
211
218
  }
212
-
213
219
  /**
214
220
  * 清除缓存
215
221
  */
216
222
  async clear() {
217
- this.logInfo('开始清空缓存', {
223
+ this.logInfo("开始清空缓存", {
218
224
  currentScheduleCount: this.store.scheduleList.length
219
225
  });
220
226
  this.store.scheduleList = [];
221
227
  this.store.map.clear();
222
- // 同时清空 IndexDB 中的数据
223
228
  if (this.dbManager) {
224
229
  try {
225
- await this.dbManager.clear(INDEXDB_STORE_NAME);
226
- this.logInfo('IndexDB 缓存已清空');
230
+ await this.dbManager.clear(SCHEDULE_STORE_NAME);
231
+ console.log("[Schedule] SQLite 缓存已清空");
232
+ this.logInfo("SQLite 缓存已清空");
227
233
  } catch (error) {
228
234
  const errorMessage = error instanceof Error ? error.message : String(error);
229
- console.error('[Schedule] 清空 IndexDB 缓存失败:', error);
230
- this.logError('清空 IndexDB 缓存失败', {
231
- error: errorMessage
232
- });
235
+ console.error("[Schedule] 清空 SQLite 缓存失败:", error);
236
+ this.logError("清空 SQLite 缓存失败", { error: errorMessage });
233
237
  }
234
238
  }
235
- this.logInfo('缓存清空完成');
239
+ this.logInfo("缓存清空完成");
236
240
  }
237
-
238
241
  /**
239
242
  * 判断日期是否在日程范围内
240
243
  * @param date 日期
@@ -243,133 +246,129 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
243
246
  */
244
247
  getDateIsInSchedule(date, scheduleList) {
245
248
  const scheduleListData = [];
246
- scheduleList.forEach(item => {
247
- if (typeof item === 'number') {
249
+ scheduleList.forEach((item) => {
250
+ if (typeof item === "number") {
248
251
  scheduleListData.push(...this.getScheduleByIds([item]));
249
252
  } else {
250
253
  scheduleListData.push(item);
251
254
  }
252
255
  });
253
- const result = (0, _utils.getDateIsInSchedule)(date, scheduleListData);
254
- this.logInfo('getDateIsInSchedule: 判断日期是否在日程范围内', {
256
+ const result = (0, import_utils.getDateIsInSchedule)(date, scheduleListData);
257
+ this.logInfo("getDateIsInSchedule: 判断日期是否在日程范围内", {
255
258
  date,
256
259
  scheduleCount: scheduleListData.length,
257
260
  isInSchedule: result
258
261
  });
259
262
  return result;
260
263
  }
261
-
262
264
  /**
263
- * 从 IndexDB 加载日程数据
265
+ * 从 SQLite 加载日程数据
264
266
  * @private
265
267
  */
266
- async loadScheduleFromIndexDB() {
268
+ async loadScheduleFromSQLite() {
267
269
  if (!this.dbManager) {
268
- this.logWarning('loadScheduleFromIndexDB: dbManager 不可用');
270
+ this.logWarning("loadScheduleFromSQLite: SQLite 不可用");
269
271
  return [];
270
272
  }
271
273
  try {
272
- // 直接获取所有日程记录
273
- const scheduleList = await this.dbManager.getAll(INDEXDB_STORE_NAME);
274
- this.logInfo('从 IndexDB 加载日程数据', {
275
- scheduleCount: scheduleList?.length ?? 0
274
+ const scheduleList = await this.dbManager.getAll(SCHEDULE_STORE_NAME);
275
+ this.logInfo("从 SQLite 加载日程数据", {
276
+ scheduleCount: (scheduleList == null ? void 0 : scheduleList.length) ?? 0
276
277
  });
277
278
  return scheduleList || [];
278
279
  } catch (error) {
279
280
  const errorMessage = error instanceof Error ? error.message : String(error);
280
- console.error('[Schedule] 从 IndexDB 读取数据失败:', error);
281
- this.logError('从 IndexDB 读取数据失败', {
282
- error: errorMessage
283
- });
281
+ console.error("[Schedule] 从 SQLite 读取数据失败:", error);
282
+ this.logError("从 SQLite 读取数据失败", { error: errorMessage });
284
283
  return [];
285
284
  }
286
285
  }
287
-
288
286
  /**
289
- * 保存日程数据到 IndexDB
287
+ * 保存日程数据到 SQLite
290
288
  * @private
291
289
  */
292
- async saveScheduleToIndexDB(scheduleList) {
290
+ async saveScheduleToSQLite(scheduleList) {
293
291
  if (!this.dbManager) {
294
- this.logWarning('saveScheduleToIndexDB: dbManager 不可用');
292
+ this.logWarning("saveScheduleToSQLite: SQLite 不可用");
295
293
  return;
296
294
  }
297
- this.logInfo('开始保存日程数据到 IndexDB', {
298
- scheduleCount: scheduleList.length
299
- });
295
+ this.logInfo("开始保存日程数据到 SQLite", { scheduleCount: scheduleList.length });
300
296
  try {
301
- // 先清空现有的日程数据
302
- await this.dbManager.clear(INDEXDB_STORE_NAME);
303
-
304
- // 逐个保存日程(每个日程是独立的记录)
305
- const savePromises = scheduleList.map(schedule => this.dbManager.add(INDEXDB_STORE_NAME, schedule));
306
- await Promise.all(savePromises);
307
- this.logInfo('日程数据已保存到 IndexDB', {
308
- scheduleCount: scheduleList.length
309
- });
297
+ await this.dbManager.clear(SCHEDULE_STORE_NAME);
298
+ if (scheduleList.length > 0) {
299
+ if (typeof this.dbManager.bulkAdd === "function") {
300
+ await this.dbManager.bulkAdd(SCHEDULE_STORE_NAME, scheduleList);
301
+ } else if (typeof this.dbManager.bulkUpdate === "function") {
302
+ await this.dbManager.bulkUpdate(SCHEDULE_STORE_NAME, scheduleList);
303
+ } else {
304
+ await Promise.all(scheduleList.map(
305
+ (schedule) => this.dbManager.add(SCHEDULE_STORE_NAME, schedule)
306
+ ));
307
+ }
308
+ }
309
+ console.log(
310
+ `[Schedule] 已将 ${scheduleList.length} 条日程数据保存到 SQLite`
311
+ );
312
+ this.logInfo("日程数据已保存到 SQLite", { scheduleCount: scheduleList.length });
310
313
  } catch (error) {
311
314
  const errorMessage = error instanceof Error ? error.message : String(error);
312
- console.error('[Schedule] 保存数据到 IndexDB 失败:', error);
313
- this.logError('保存数据到 IndexDB 失败', {
315
+ console.error("[Schedule] 保存数据到 SQLite 失败:", error);
316
+ this.logError("保存数据到 SQLite 失败", {
314
317
  scheduleCount: scheduleList.length,
315
318
  error: errorMessage
316
319
  });
317
320
  }
318
321
  }
319
-
320
322
  /**
321
323
  * 预加载模块数据(统一接口)
322
324
  * 在模块注册后自动调用
323
325
  */
324
326
  async preload() {
327
+ console.log("[Schedule] 开始预加载数据...");
325
328
  const startTime = Date.now();
326
- this.logInfo('开始预加载数据');
329
+ this.logInfo("开始预加载数据");
327
330
  try {
328
- // 1. 尝试从 IndexDB 加载数据
329
- const cachedData = await this.loadScheduleFromIndexDB();
331
+ const cachedData = await this.loadScheduleFromSQLite();
330
332
  if (cachedData && cachedData.length > 0) {
331
- // 将缓存数据放入 store
332
- this.store.scheduleList = (0, _lodashEs.cloneDeep)(cachedData);
333
- // 同步更新 Map 缓存
333
+ console.log(
334
+ `[Schedule] 从 SQLite 加载了 ${cachedData.length} 条日程数据`
335
+ );
336
+ this.store.scheduleList = (0, import_lodash_es.cloneDeep)(cachedData);
334
337
  this.syncScheduleMap();
335
338
  const duration = Date.now() - startTime;
336
- this.logInfo('预加载完成(从 IndexDB)', {
339
+ this.logInfo("预加载完成(从 SQLite)", {
337
340
  scheduleCount: cachedData.length,
338
341
  duration: `${duration}ms`,
339
- source: 'IndexDB'
342
+ source: "SQLite"
340
343
  });
341
344
  return;
342
345
  }
343
- this.logInfo('IndexDB 中没有缓存数据,准备从服务器加载');
346
+ console.log("[Schedule] SQLite 中没有缓存数据,从服务器加载...");
347
+ this.logInfo("SQLite 中没有缓存数据,准备从服务器加载");
344
348
  } catch (error) {
345
349
  const errorMessage = error instanceof Error ? error.message : String(error);
346
- console.warn('[Schedule] 从 IndexDB 加载数据失败:', error);
347
- this.logWarning('从 IndexDB 加载数据失败,准备从服务器加载', {
348
- error: errorMessage
349
- });
350
+ console.warn("[Schedule] 从 SQLite 加载数据失败:", error);
351
+ this.logWarning("从 SQLite 加载数据失败,准备从服务器加载", { error: errorMessage });
350
352
  }
351
-
352
- // 2. 如果 IndexDB 中没有数据,从服务器加载
353
353
  const scheduleList = await this.loadAllSchedule();
354
-
355
- // 3. 将服务器数据保存到 IndexDB 和 store
356
354
  if (scheduleList && scheduleList.length > 0) {
357
- await this.saveScheduleToIndexDB(scheduleList);
358
- this.store.scheduleList = (0, _lodashEs.cloneDeep)(scheduleList);
359
- // 同步更新 Map 缓存
355
+ this.store.scheduleList = (0, import_lodash_es.cloneDeep)(scheduleList);
360
356
  this.syncScheduleMap();
361
357
  const duration = Date.now() - startTime;
362
- this.logInfo('预加载完成(从服务器)', {
358
+ this.logInfo("预加载完成(从服务器)", {
363
359
  scheduleCount: scheduleList.length,
364
360
  duration: `${duration}ms`,
365
- source: 'Server'
361
+ source: "Server"
366
362
  });
367
363
  } else {
368
364
  const duration = Date.now() - startTime;
369
- this.logWarning('预加载完成但未获取到数据', {
365
+ this.logWarning("预加载完成但未获取到数据", {
370
366
  duration: `${duration}ms`
371
367
  });
372
368
  }
373
369
  }
374
- }
375
- exports.ScheduleModuleEx = ScheduleModuleEx;
370
+ };
371
+ // Annotate the CommonJS export names for ESM import in node:
372
+ 0 && (module.exports = {
373
+ ScheduleModuleEx
374
+ });
@@ -1,16 +1,23 @@
1
- "use strict";
1
+ var __defProp = Object.defineProperty;
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);
2
15
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
16
+ // src/server/modules/schedule/types.ts
17
+ var types_exports = {};
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")
5
23
  });
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
- });