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