@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,130 +1,129 @@
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/menu/index.ts
20
+ var menu_exports = {};
21
+ __export(menu_exports, {
22
+ MenuModule: () => MenuModule
5
23
  });
6
- exports.MenuModule = void 0;
7
- var _lodashEs = require("lodash-es");
8
- var _BaseModule = require("../../../modules/BaseModule");
9
- var _types = require("./types");
10
- /**
11
- * IndexDB 存储名称
12
- */
13
- const INDEXDB_STORE_NAME = 'menu';
14
-
15
- /**
16
- * 餐牌模块 - 用于管理餐牌数据和根据餐牌过滤商品
17
- */
18
- class MenuModule extends _BaseModule.BaseModule {
19
- defaultName = 'menu';
20
- defaultVersion = '1.0.0';
21
- request;
22
- store;
23
- dbManager; // IndexDBManager 实例
24
- logger; // LoggerManager 实例
25
-
24
+ module.exports = __toCommonJS(menu_exports);
25
+ var import_lodash_es = require("lodash-es");
26
+ var import_BaseModule = require("../../../modules/BaseModule");
27
+ var import_types = require("./types");
28
+ var INDEXDB_STORE_NAME = "menu";
29
+ var MenuModule = class extends import_BaseModule.BaseModule {
30
+ // LoggerManager 实例
26
31
  constructor(name, version) {
27
32
  super(name, version);
33
+ this.defaultName = "menu";
34
+ this.defaultVersion = "1.0.0";
28
35
  }
29
36
  async initialize(core, options) {
37
+ var _a;
30
38
  this.core = core;
31
- this.store = options?.store;
32
-
33
- // 获取依赖的插件
34
- this.request = core.getPlugin('request');
39
+ this.store = options == null ? void 0 : options.store;
40
+ this.request = core.getPlugin("request");
35
41
  if (!this.request) {
36
- throw new Error('MenuModule 需要 request 插件支持');
42
+ throw new Error("MenuModule 需要 request 插件支持");
37
43
  }
38
- if (Array.isArray(options?.initialState?.menuList)) {
39
- this.store.menuList = options?.initialState.menuList;
40
- // 同步更新 Map 缓存
44
+ if (Array.isArray((_a = options == null ? void 0 : options.initialState) == null ? void 0 : _a.menuList)) {
45
+ this.store.menuList = options == null ? void 0 : options.initialState.menuList;
41
46
  this.syncMenuMap();
42
- this.core.effects.emit(_types.MenuHooks.onMenuChanged, this.store.menuList);
47
+ this.core.effects.emit(import_types.MenuHooks.onMenuChanged, this.store.menuList);
43
48
  } else {
44
49
  this.store.menuList = [];
45
- this.store.map = new Map();
50
+ this.store.map = /* @__PURE__ */ new Map();
46
51
  }
47
-
48
- // 获取并存储 dbManager
49
- const appPlugin = core.getPlugin('app');
52
+ const appPlugin = core.getPlugin("app");
50
53
  if (appPlugin) {
51
54
  const app = appPlugin.getApp();
52
55
  this.dbManager = app.dbManager;
53
56
  this.logger = app.logger;
54
- if (this.dbManager) {} else {
55
- console.warn('[Menu] IndexDB Manager 未找到');
57
+ if (this.dbManager) {
58
+ console.log("[Menu] IndexDB Manager 已初始化");
59
+ } else {
60
+ console.warn("[Menu] IndexDB Manager 未找到");
56
61
  }
57
62
  }
58
- this.logInfo('模块初始化完成', {
63
+ this.logInfo("模块初始化完成", {
59
64
  hasDbManager: !!this.dbManager,
60
65
  hasLogger: !!this.logger,
61
66
  initialMenuCount: this.store.menuList.length
62
67
  });
63
68
  }
64
-
65
69
  /**
66
70
  * 加载餐牌列表(从服务器)
67
71
  */
68
72
  async loadMenuList() {
69
- this.logInfo('开始从服务器加载餐牌列表');
73
+ var _a;
74
+ this.logInfo("开始从服务器加载餐牌列表");
70
75
  const startTime = Date.now();
71
76
  try {
72
- const response = await this.request.get(`/form/data/v1`, {
73
- skip: 1,
74
- num: 999,
75
- code: 'menu_list'
76
- }, {
77
- cache: undefined
78
- });
79
- const menuList = response?.data?.list || [];
77
+ const response = await this.request.get(
78
+ `/form/data/v1`,
79
+ {
80
+ skip: 1,
81
+ num: 999,
82
+ code: "menu_list"
83
+ },
84
+ { cache: void 0 }
85
+ );
86
+ const menuList = ((_a = response == null ? void 0 : response.data) == null ? void 0 : _a.list) || [];
80
87
  const duration = Date.now() - startTime;
81
- this.logInfo('从服务器加载餐牌列表成功', {
88
+ this.logInfo("从服务器加载餐牌列表成功", {
82
89
  menuCount: menuList.length,
83
90
  duration: `${duration}ms`
84
91
  });
85
-
86
- // 保存到 IndexDB
87
92
  await this.saveMenuToIndexDB(menuList);
88
93
  await this.setMenuList(menuList);
89
94
  return menuList;
90
95
  } catch (error) {
91
96
  const duration = Date.now() - startTime;
92
97
  const errorMessage = error instanceof Error ? error.message : String(error);
93
- console.error('[Menu] 加载餐牌数据失败:', error);
94
- this.logError('从服务器加载餐牌列表失败', {
98
+ console.error("[Menu] 加载餐牌数据失败:", error);
99
+ this.logError("从服务器加载餐牌列表失败", {
95
100
  duration: `${duration}ms`,
96
101
  error: errorMessage
97
102
  });
98
103
  return [];
99
104
  }
100
105
  }
101
-
102
106
  /**
103
107
  * 设置餐牌列表
104
108
  */
105
109
  async setMenuList(menuList) {
106
110
  this.store.menuList = menuList;
107
- // 同步更新 Map 缓存
108
111
  this.syncMenuMap();
109
- await this.core.effects.emit(_types.MenuHooks.onMenuLoaded, menuList);
112
+ await this.core.effects.emit(import_types.MenuHooks.onMenuLoaded, menuList);
110
113
  }
111
-
112
114
  /**
113
115
  * 获取餐牌列表
114
116
  */
115
117
  getMenuList() {
116
118
  return this.store.menuList;
117
119
  }
118
-
119
120
  /**
120
121
  * 根据 form_record_id 数组获取餐牌详情
121
122
  * 使用 Map 快速查询,时间复杂度 O(m),m 为 ids 数量
122
123
  */
123
124
  getMenuByIds(ids) {
124
125
  if (!ids || ids.length === 0) {
125
- this.logInfo('getMenuByIds: 未提供有效的 ids', {
126
- idsCount: 0
127
- });
126
+ this.logInfo("getMenuByIds: 未提供有效的 ids", { idsCount: 0 });
128
127
  return [];
129
128
  }
130
129
  const result = [];
@@ -134,14 +133,13 @@ class MenuModule extends _BaseModule.BaseModule {
134
133
  result.push(menu);
135
134
  }
136
135
  }
137
- this.logInfo('getMenuByIds: 查询完成', {
136
+ this.logInfo("getMenuByIds: 查询完成", {
138
137
  requestedCount: ids.length,
139
138
  foundCount: result.length,
140
139
  notFoundCount: ids.length - result.length
141
140
  });
142
141
  return result;
143
142
  }
144
-
145
143
  /**
146
144
  * 同步更新餐牌 Map 缓存
147
145
  * 将 menuList 中的餐牌同步到 map,以 form_record_id 为 key
@@ -152,171 +150,151 @@ class MenuModule extends _BaseModule.BaseModule {
152
150
  for (const menu of this.store.menuList) {
153
151
  this.store.map.set(menu.form_record_id, menu);
154
152
  }
153
+ console.log(`[Menu] Map 缓存已同步,共 ${this.store.map.size} 个餐牌`);
155
154
  }
156
-
157
155
  /**
158
156
  * 清空缓存
159
157
  */
160
158
  async clear() {
161
- this.logInfo('开始清空缓存', {
159
+ this.logInfo("开始清空缓存", {
162
160
  currentMenuCount: this.store.menuList.length
163
161
  });
164
162
  this.store.menuList = [];
165
163
  this.store.map.clear();
166
- this.store.currentMenu = undefined;
167
-
168
- // 同时清空 IndexDB 中的数据
164
+ this.store.currentMenu = void 0;
169
165
  if (this.dbManager) {
170
166
  try {
171
167
  await this.dbManager.clear(INDEXDB_STORE_NAME);
172
- this.logInfo('IndexDB 缓存已清空');
168
+ console.log("[Menu] IndexDB 缓存已清空");
169
+ this.logInfo("IndexDB 缓存已清空");
173
170
  } catch (error) {
174
171
  const errorMessage = error instanceof Error ? error.message : String(error);
175
- console.error('[Menu] 清空 IndexDB 缓存失败:', error);
176
- this.logError('清空 IndexDB 缓存失败', {
177
- error: errorMessage
178
- });
172
+ console.error("[Menu] 清空 IndexDB 缓存失败:", error);
173
+ this.logError("清空 IndexDB 缓存失败", { error: errorMessage });
179
174
  }
180
175
  }
181
- this.logInfo('缓存清空完成');
176
+ console.log("[Menu] 缓存已清空");
177
+ this.logInfo("缓存清空完成");
182
178
  }
183
-
184
179
  /**
185
180
  * 从 IndexDB 加载餐牌数据
186
181
  * @private
187
182
  */
188
183
  async loadMenuFromIndexDB() {
189
184
  if (!this.dbManager) {
190
- this.logWarning('loadMenuFromIndexDB: dbManager 不可用');
185
+ this.logWarning("loadMenuFromIndexDB: dbManager 不可用");
191
186
  return [];
192
187
  }
193
188
  try {
194
- // 直接获取所有餐牌记录
195
189
  const menuList = await this.dbManager.getAll(INDEXDB_STORE_NAME);
196
- this.logInfo('从 IndexDB 加载餐牌数据', {
197
- menuCount: menuList?.length ?? 0
190
+ this.logInfo("从 IndexDB 加载餐牌数据", {
191
+ menuCount: (menuList == null ? void 0 : menuList.length) ?? 0
198
192
  });
199
193
  return menuList || [];
200
194
  } catch (error) {
201
195
  const errorMessage = error instanceof Error ? error.message : String(error);
202
- console.error('[Menu] 从 IndexDB 读取数据失败:', error);
203
- this.logError('从 IndexDB 读取数据失败', {
204
- error: errorMessage
205
- });
196
+ console.error("[Menu] 从 IndexDB 读取数据失败:", error);
197
+ this.logError("从 IndexDB 读取数据失败", { error: errorMessage });
206
198
  return [];
207
199
  }
208
200
  }
209
-
210
201
  /**
211
202
  * 保存餐牌数据到 IndexDB
212
203
  * @private
213
204
  */
214
205
  async saveMenuToIndexDB(menuList) {
215
206
  if (!this.dbManager) {
216
- this.logWarning('saveMenuToIndexDB: dbManager 不可用');
207
+ this.logWarning("saveMenuToIndexDB: dbManager 不可用");
217
208
  return;
218
209
  }
219
- this.logInfo('开始保存餐牌数据到 IndexDB', {
220
- menuCount: menuList.length
221
- });
210
+ this.logInfo("开始保存餐牌数据到 IndexDB", { menuCount: menuList.length });
222
211
  try {
223
- // 先清空现有的餐牌数据
224
212
  await this.dbManager.clear(INDEXDB_STORE_NAME);
225
-
226
- // 逐个保存餐牌(每个餐牌是独立的记录)
227
- const savePromises = menuList.map(menu => this.dbManager.add(INDEXDB_STORE_NAME, menu));
213
+ const savePromises = menuList.map(
214
+ (menu) => this.dbManager.add(INDEXDB_STORE_NAME, menu)
215
+ );
228
216
  await Promise.all(savePromises);
229
- this.logInfo('餐牌数据已保存到 IndexDB', {
230
- menuCount: menuList.length
231
- });
217
+ console.log(`[Menu] 已将 ${menuList.length} 条餐牌数据保存到 IndexDB`);
218
+ this.logInfo("餐牌数据已保存到 IndexDB", { menuCount: menuList.length });
232
219
  } catch (error) {
233
220
  const errorMessage = error instanceof Error ? error.message : String(error);
234
- console.error('[Menu] 保存数据到 IndexDB 失败:', error);
235
- this.logError('保存数据到 IndexDB 失败', {
221
+ console.error("[Menu] 保存数据到 IndexDB 失败:", error);
222
+ this.logError("保存数据到 IndexDB 失败", {
236
223
  menuCount: menuList.length,
237
224
  error: errorMessage
238
225
  });
239
226
  }
240
227
  }
241
-
242
228
  /**
243
229
  * 预加载模块数据(统一接口)
244
230
  * 在模块注册后自动调用
245
231
  */
246
232
  async preload() {
233
+ console.log("[Menu] 开始预加载数据...");
247
234
  const startTime = Date.now();
248
- this.logInfo('开始预加载数据');
235
+ this.logInfo("开始预加载数据");
249
236
  try {
250
- // 1. 尝试从 IndexDB 加载数据
251
237
  const cachedData = await this.loadMenuFromIndexDB();
252
238
  if (cachedData && cachedData.length > 0) {
253
- // 将缓存数据放入 store
254
- this.store.menuList = (0, _lodashEs.cloneDeep)(cachedData);
255
- // 同步更新 Map 缓存
239
+ console.log(`[Menu] 从 IndexDB 加载了 ${cachedData.length} 条餐牌数据`);
240
+ this.store.menuList = (0, import_lodash_es.cloneDeep)(cachedData);
256
241
  this.syncMenuMap();
257
- this.core.effects.emit(_types.MenuHooks.onMenuChanged, this.store.menuList);
242
+ this.core.effects.emit(import_types.MenuHooks.onMenuChanged, this.store.menuList);
258
243
  const duration = Date.now() - startTime;
259
- this.logInfo('预加载完成(从 IndexDB)', {
244
+ this.logInfo("预加载完成(从 IndexDB)", {
260
245
  menuCount: cachedData.length,
261
246
  duration: `${duration}ms`,
262
- source: 'IndexDB'
247
+ source: "IndexDB"
263
248
  });
264
249
  return;
265
250
  }
266
- this.logInfo('IndexDB 中没有缓存数据,准备从服务器加载');
251
+ console.log("[Menu] IndexDB 中没有缓存数据,从服务器加载...");
252
+ this.logInfo("IndexDB 中没有缓存数据,准备从服务器加载");
267
253
  } catch (error) {
268
254
  const errorMessage = error instanceof Error ? error.message : String(error);
269
- console.warn('[Menu] 从 IndexDB 加载数据失败:', error);
270
- this.logWarning('从 IndexDB 加载数据失败,准备从服务器加载', {
271
- error: errorMessage
272
- });
255
+ console.warn("[Menu] 从 IndexDB 加载数据失败:", error);
256
+ this.logWarning("从 IndexDB 加载数据失败,准备从服务器加载", { error: errorMessage });
273
257
  }
274
-
275
- // 2. 如果 IndexDB 中没有数据,从服务器加载
276
258
  const menuList = await this.loadMenuList();
277
-
278
- // 3. 将服务器数据保存到 IndexDB 和 store
279
259
  if (menuList && menuList.length > 0) {
280
260
  await this.saveMenuToIndexDB(menuList);
281
- this.store.menuList = (0, _lodashEs.cloneDeep)(menuList);
282
- // 同步更新 Map 缓存
261
+ this.store.menuList = (0, import_lodash_es.cloneDeep)(menuList);
283
262
  this.syncMenuMap();
284
- this.core.effects.emit(_types.MenuHooks.onMenuChanged, this.store.menuList);
263
+ this.core.effects.emit(import_types.MenuHooks.onMenuChanged, this.store.menuList);
285
264
  const duration = Date.now() - startTime;
286
- this.logInfo('预加载完成(从服务器)', {
265
+ this.logInfo("预加载完成(从服务器)", {
287
266
  menuCount: menuList.length,
288
267
  duration: `${duration}ms`,
289
- source: 'Server'
268
+ source: "Server"
290
269
  });
291
270
  } else {
292
271
  const duration = Date.now() - startTime;
293
- this.logWarning('预加载完成但未获取到数据', {
272
+ this.logWarning("预加载完成但未获取到数据", {
294
273
  duration: `${duration}ms`
295
274
  });
296
275
  }
297
276
  }
298
-
299
277
  /**
300
278
  * 获取模块的路由定义
301
279
  * 返回该模块需要注册的 API 路由
302
280
  */
303
281
  getRoutes() {
304
282
  return [
305
- // GET /api/menu - 获取所有餐牌
306
- {
307
- method: 'get',
308
- path: '/api/menu',
309
- handler: async () => {
310
- const menuList = this.getMenuList();
311
- return {
312
- success: true,
313
- data: menuList,
314
- total: menuList.length
315
- };
283
+ // GET /api/menu - 获取所有餐牌
284
+ {
285
+ method: "get",
286
+ path: "/api/menu",
287
+ handler: async () => {
288
+ const menuList = this.getMenuList();
289
+ return {
290
+ success: true,
291
+ data: menuList,
292
+ total: menuList.length
293
+ };
294
+ }
316
295
  }
317
- }];
296
+ ];
318
297
  }
319
-
320
298
  /**
321
299
  * 记录信息日志
322
300
  * @param title 日志标题
@@ -326,16 +304,14 @@ class MenuModule extends _BaseModule.BaseModule {
326
304
  try {
327
305
  if (this.logger) {
328
306
  this.logger.addLog({
329
- type: 'info',
307
+ type: "info",
330
308
  title: `[MenuModule] ${title}`,
331
309
  metadata: metadata || {}
332
310
  });
333
311
  }
334
312
  } catch {
335
- // 日志记录失败不影响主流程
336
313
  }
337
314
  }
338
-
339
315
  /**
340
316
  * 记录警告日志
341
317
  * @param title 日志标题
@@ -345,16 +321,14 @@ class MenuModule extends _BaseModule.BaseModule {
345
321
  try {
346
322
  if (this.logger) {
347
323
  this.logger.addLog({
348
- type: 'warning',
324
+ type: "warning",
349
325
  title: `[MenuModule] ${title}`,
350
326
  metadata: metadata || {}
351
327
  });
352
328
  }
353
329
  } catch {
354
- // 日志记录失败不影响主流程
355
330
  }
356
331
  }
357
-
358
332
  /**
359
333
  * 记录错误日志
360
334
  * @param title 日志标题
@@ -364,14 +338,16 @@ class MenuModule extends _BaseModule.BaseModule {
364
338
  try {
365
339
  if (this.logger) {
366
340
  this.logger.addLog({
367
- type: 'error',
341
+ type: "error",
368
342
  title: `[MenuModule] ${title}`,
369
343
  metadata: metadata || {}
370
344
  });
371
345
  }
372
346
  } catch {
373
- // 日志记录失败不影响主流程
374
347
  }
375
348
  }
376
- }
377
- exports.MenuModule = MenuModule;
349
+ };
350
+ // Annotate the CommonJS export names for ESM import in node:
351
+ 0 && (module.exports = {
352
+ MenuModule
353
+ });
@@ -1,20 +1,33 @@
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/menu/types.ts
20
+ var types_exports = {};
21
+ __export(types_exports, {
22
+ MenuHooks: () => MenuHooks
23
+ });
24
+ module.exports = __toCommonJS(types_exports);
25
+ var MenuHooks = /* @__PURE__ */ ((MenuHooks2) => {
26
+ MenuHooks2["onMenuLoaded"] = "menu:onMenuLoaded";
27
+ MenuHooks2["onMenuChanged"] = "menu:onMenuChanged";
28
+ return MenuHooks2;
29
+ })(MenuHooks || {});
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ MenuHooks
5
33
  });
6
- exports.MenuHooks = void 0;
7
- /**
8
- * 餐牌模块状态
9
- */
10
- /**
11
- * 餐牌数据结构
12
- */
13
- /**
14
- * 餐牌模块钩子
15
- */
16
- let MenuHooks = exports.MenuHooks = /*#__PURE__*/function (MenuHooks) {
17
- MenuHooks["onMenuLoaded"] = "menu:onMenuLoaded";
18
- MenuHooks["onMenuChanged"] = "menu:onMenuChanged";
19
- return MenuHooks;
20
- }({});