@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,265 +1,289 @@
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/modules/Discount/index.ts
30
- var Discount_exports = {};
31
- __export(Discount_exports, {
32
- DiscountModule: () => DiscountModule
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
34
- module.exports = __toCommonJS(Discount_exports);
35
- var import_utils = require("../../solution/ShopDiscount/utils");
36
- var import_BaseModule = require("../BaseModule");
37
- var import_types = require("./types");
38
- var import_decimal = __toESM(require("decimal.js"));
39
- var DiscountModule = class extends import_BaseModule.BaseModule {
6
+ exports.DiscountModule = void 0;
7
+ var _utils = require("../../solution/ShopDiscount/utils");
8
+ var _BaseModule = require("../BaseModule");
9
+ var _types = require("./types");
10
+ var _decimal = _interopRequireDefault(require("decimal.js"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ class DiscountModule extends _BaseModule.BaseModule {
13
+ defaultName = 'discount';
14
+ defaultVersion = '1.0.0';
15
+ request;
16
+ window;
17
+ store;
18
+ cacheId;
19
+ openCache = false;
20
+ fatherModule;
40
21
  constructor(name, version) {
41
22
  super(name, version);
42
- this.defaultName = "discount";
43
- this.defaultVersion = "1.0.0";
44
- this.openCache = false;
45
23
  }
46
24
  async initialize(core, options) {
47
- var _a, _b, _c, _d;
48
25
  this.core = core;
49
- this.store = options == null ? void 0 : options.store;
50
- if (Array.isArray((_a = options == null ? void 0 : options.initialState) == null ? void 0 : _a.discountList)) {
51
- this.store.discountList = options == null ? void 0 : options.initialState.discountList;
26
+ this.store = options?.store;
27
+ if (Array.isArray(options?.initialState?.discountList)) {
28
+ this.store.discountList = options?.initialState.discountList;
52
29
  } else {
53
30
  this.store.discountList = [];
54
31
  }
55
- if (Array.isArray((_b = options == null ? void 0 : options.initialState) == null ? void 0 : _b.originalDiscountList)) {
56
- this.store.originalDiscountList = options == null ? void 0 : options.initialState.originalDiscountList;
32
+ if (Array.isArray(options?.initialState?.originalDiscountList)) {
33
+ this.store.originalDiscountList = options?.initialState.originalDiscountList;
57
34
  } else {
58
35
  this.store.originalDiscountList = [];
59
36
  }
60
- if ((_c = options == null ? void 0 : options.otherParams) == null ? void 0 : _c.cacheId) {
37
+ if (options?.otherParams?.cacheId) {
61
38
  this.openCache = options.otherParams.openCache;
62
39
  this.cacheId = options.otherParams.cacheId;
63
40
  }
64
- if ((_d = options == null ? void 0 : options.otherParams) == null ? void 0 : _d.fatherModule) {
41
+ if (options?.otherParams?.fatherModule) {
65
42
  this.fatherModule = options.otherParams.fatherModule;
66
43
  }
67
- this.request = core.getPlugin("request");
68
- this.window = core.getPlugin("window");
44
+
45
+ // 获取依赖的插件
46
+ this.request = core.getPlugin('request');
47
+ this.window = core.getPlugin('window');
69
48
  if (!this.request) {
70
- throw new Error("discount模块需要 request 插件支持");
49
+ throw new Error('discount模块需要 request 插件支持');
71
50
  }
72
51
  if (!this.window) {
73
- throw new Error("discount模块需要 window 插件支持");
52
+ throw new Error('discount模块需要 window 插件支持');
74
53
  }
75
54
  }
76
55
  async setDiscountList(discountList) {
77
56
  this.store.discountList = discountList;
78
- await this.core.effects.emit(
79
- import_types.DiscountHooks.OnDiscountListChange,
80
- discountList
81
- );
57
+ await this.core.effects.emit(_types.DiscountHooks.OnDiscountListChange, discountList);
82
58
  }
83
59
  getDiscountList() {
84
60
  return this.store.discountList;
85
61
  }
62
+
86
63
  // 设置原始优惠券列表
87
64
  async setOriginalDiscountList(originalDiscountList) {
88
65
  this.store.originalDiscountList = originalDiscountList;
89
66
  }
67
+
90
68
  // 获取原始优惠券列表
91
69
  getOriginalDiscountList() {
92
70
  return this.store.originalDiscountList || [];
93
71
  }
72
+ normalizePositiveNumberIds(values) {
73
+ const ids = values.map(value => Number(value)).filter(value => Number.isFinite(value) && value > 0);
74
+ return Array.from(new Set(ids));
75
+ }
94
76
  async loadPrepareConfig(params) {
95
- var _a, _b;
96
- const prepareConfig = await this.request.post(
97
- `/order/prepare/config`,
98
- params
99
- );
100
- const goodPassList = this.filterEnabledDiscountList(
101
- [...((_a = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _a.good_pass_list) || [], ...((_b = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _b.discount_card_list) || []]
102
- ) || [];
77
+ if (typeof params.order_id === 'string' && params.order_id.startsWith('LOCAL_')) {
78
+ params.order_id = undefined;
79
+ }
80
+ const prepareConfig = await this.request.post(`/order/prepare/config`, {
81
+ ...params,
82
+ with_available_wallet_flag: params.with_available_wallet_flag ?? 1,
83
+ with_available_wallet_pass_flag: params.with_available_wallet_pass_flag ?? 1
84
+ });
85
+ const rawDiscountList = [...(prepareConfig?.data?.good_pass_list || []), ...(prepareConfig?.data?.discount_card_list || [])];
86
+ const availableWalletList = [...(prepareConfig?.data?.avaiable_wallet_list || []), ...(prepareConfig?.data?.available_wallet_list || [])];
87
+ const availableWalletPassList = prepareConfig?.data?.available_wallet_pass_list || [];
88
+ const availableWalletIds = this.normalizePositiveNumberIds([...availableWalletList.map(item => item?.wallet_id), ...availableWalletPassList.map(item => item?.product_id)]);
89
+ const goodPassList = this.filterEnabledDiscountList(rawDiscountList) || [];
90
+
91
+ // this.setDiscountList(goodPassList);
92
+
103
93
  return {
104
94
  discountList: goodPassList,
105
- availableWalletIds: this.extractAvailableWalletIds(prepareConfig == null ? void 0 : prepareConfig.data)
95
+ availableWalletIds: this.extractAvailableWalletIds(prepareConfig?.data)
106
96
  };
107
97
  }
108
98
  extractAvailableWalletIds(data) {
109
- const availableWalletList = Array.isArray(data == null ? void 0 : data.avaiable_wallet_list) ? data.avaiable_wallet_list : Array.isArray(data == null ? void 0 : data.available_wallet_list) ? data.available_wallet_list : [];
110
- const availableWalletPassList = Array.isArray(data == null ? void 0 : data.available_wallet_pass_list) ? data.available_wallet_pass_list : [];
111
- const walletIds = availableWalletList.map((item) => Number(item == null ? void 0 : item.id)).filter((id) => Number.isFinite(id) && id > 0);
112
- const walletPassProductIds = availableWalletPassList.map((item) => Number(item == null ? void 0 : item.product_id)).filter((id) => Number.isFinite(id) && id > 0);
113
- return Array.from(/* @__PURE__ */ new Set([...walletIds, ...walletPassProductIds]));
99
+ const availableWalletList = Array.isArray(data?.avaiable_wallet_list) ? data.avaiable_wallet_list : Array.isArray(data?.available_wallet_list) ? data.available_wallet_list : [];
100
+ const availableWalletPassList = Array.isArray(data?.available_wallet_pass_list) ? data.available_wallet_pass_list : [];
101
+ const walletIds = availableWalletList.map(item => Number(item?.id)).filter(id => Number.isFinite(id) && id > 0);
102
+ const walletPassProductIds = availableWalletPassList.map(item => Number(item?.product_id)).filter(id => Number.isFinite(id) && id > 0);
103
+ return Array.from(new Set([...walletIds, ...walletPassProductIds]));
114
104
  }
115
105
  async batchSearch(code, options) {
116
- const { customerId, orderId } = options || {};
106
+ const {
107
+ customerId,
108
+ orderId
109
+ } = options || {};
117
110
  const result = await this.request.get(`/machinecode/batch-search`, {
118
111
  code,
119
112
  translate_flag: 1,
120
- tags: ["good_pass", "product_discount_card"],
113
+ tags: ['good_pass', 'product_discount_card'],
121
114
  // available: 1,
122
115
  relation_product: 1,
123
- with: ["extensionData", "customScheduleSnapshot", "holder.detail"],
116
+ with: ['extensionData', 'customScheduleSnapshot', 'holder.detail'],
124
117
  order_behavior_count: 1,
125
118
  order_behavior_count_customer_id: customerId || 1,
126
119
  unified_status_info_flag: 1,
127
- ...orderId ? { order_behavior_count_order_id: orderId } : {},
120
+ ...(orderId ? {
121
+ order_behavior_count_order_id: orderId
122
+ } : {}),
128
123
  request_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
129
124
  });
130
- const resultDiscountWithReason = this.filterEnabledDiscountListWithReason((result == null ? void 0 : result.data) || []) || [];
125
+ const resultDiscountWithReason = this.filterEnabledDiscountListWithReason(result?.data || []) || [];
131
126
  return resultDiscountWithReason;
132
127
  }
133
128
  async batchSearchByProductIds(productIds) {
134
129
  const result = await this.request.get(`/machinecode/batch-search`, {
135
130
  ids: productIds,
136
131
  translate_flag: 1,
137
- tags: ["good_pass", "product_discount_card"],
132
+ tags: ['good_pass', 'product_discount_card'],
138
133
  relation_product: 1
139
134
  });
140
- return (result == null ? void 0 : result.data) || [];
135
+ return result?.data || [];
141
136
  }
142
137
  filterEnabledDiscountList(discountList) {
143
- return discountList.filter(
144
- (discount) => discount.limit_status === "enable" && new import_decimal.default((discount == null ? void 0 : discount.par_value) || 0).minus(new import_decimal.default((discount == null ? void 0 : discount.used_par_value) || 0)).greaterThan(0) && this.checkUsageCreditsLimit(discount)
145
- );
138
+ return discountList.filter(discount => discount.limit_status === 'enable' && new _decimal.default(discount?.par_value || 0).minus(new _decimal.default(discount?.used_par_value || 0)).greaterThan(0) && this.checkUsageCreditsLimit(discount));
146
139
  }
140
+
147
141
  // 检查使用次数限制
148
142
  checkUsageCreditsLimit(discount) {
143
+ // 如果没有 extension_data,则不需要限制
149
144
  if (!discount.extension_data || discount.extension_data.length === 0) {
150
145
  return true;
151
146
  }
152
- const usageCreditsData = discount.extension_data.find(
153
- (data) => data.field_key === "usage_credits"
154
- );
147
+
148
+ // 查找 field_key 为 usage_credits 的数据
149
+ const usageCreditsData = discount.extension_data.find(data => data.field_key === 'usage_credits');
150
+
151
+ // 如果没有找到 usage_credits 数据,则不需要限制
155
152
  if (!usageCreditsData) {
156
153
  return true;
157
154
  }
158
155
  const value = usageCreditsData.value;
156
+
157
+ // 检查总次数限制
159
158
  if (value.total_credits && value.total_credits > 0) {
160
159
  if ((discount.total_order_behavior_count || 0) >= value.total_credits) {
161
160
  return false;
162
161
  }
163
162
  }
163
+
164
+ // 检查单用户限制
164
165
  if (value.per_user_limit && value.per_user_limit > 0) {
165
166
  if ((discount.customer_order_behavior_count || 0) >= value.per_user_limit) {
166
167
  return false;
167
168
  }
168
169
  }
170
+
171
+ // 检查单日限制
169
172
  if (value.max_per_day && value.max_per_day > 0) {
170
173
  if ((discount.today_order_behavior_count || 0) >= value.max_per_day) {
171
174
  return false;
172
175
  }
173
176
  }
177
+
178
+ // 检查单周限制
174
179
  if (value.max_per_week && value.max_per_week > 0) {
175
180
  if ((discount.week_order_behavior_count || 0) >= value.max_per_week) {
176
181
  return false;
177
182
  }
178
183
  }
184
+
185
+ // 检查单月限制
179
186
  if (value.max_per_month && value.max_per_month > 0) {
180
187
  if ((discount.month_order_behavior_count || 0) >= value.max_per_month) {
181
188
  return false;
182
189
  }
183
190
  }
191
+
192
+ // 所有检查都通过
184
193
  return true;
185
194
  }
195
+
186
196
  // 过滤启用且可用的优惠券,并返回校验失败原因
187
197
  filterEnabledDiscountListWithReason(discountList) {
188
- let lists = discountList.filter((discount) => discount.limit_status === "enable").filter((discount) => {
189
- const remaining = new import_decimal.default((discount == null ? void 0 : discount.par_value) || 0).minus(new import_decimal.default((discount == null ? void 0 : discount.used_par_value) || 0)).greaterThan(0);
198
+ let lists = discountList.filter(discount => discount.limit_status === 'enable').filter(discount => {
199
+ const remaining = new _decimal.default(discount?.par_value || 0).minus(new _decimal.default(discount?.used_par_value || 0)).greaterThan(0);
190
200
  return remaining;
191
- }).map((discount) => {
201
+ }).map(discount => {
192
202
  const limitFailKey = this.checkUsageCreditsLimitWithFailKey(discount);
193
203
  return {
194
204
  ...discount,
195
205
  usageLimitFailKey: limitFailKey
196
206
  };
197
207
  });
198
- const availableLists = lists.filter((item) => !item.usageLimitFailKey && item.unified_available_status !== 0);
199
- const currentFailDiscount = lists.find((item) => item.usageLimitFailKey);
208
+
209
+ // 可用的列表
210
+ const availableLists = lists.filter(item => !item.usageLimitFailKey && item.unified_available_status !== 0);
211
+ // 不可用数据
212
+ const currentFailDiscount = lists.find(item => item.usageLimitFailKey);
200
213
  return {
201
214
  discountList: availableLists,
202
- unavailableReasonKey: currentFailDiscount == null ? void 0 : currentFailDiscount.usageLimitFailKey
215
+ unavailableReasonKey: currentFailDiscount?.usageLimitFailKey
203
216
  };
204
217
  }
218
+
205
219
  // 检查使用次数限制,并返回校验失败原因
206
220
  checkUsageCreditsLimitWithFailKey(discount) {
207
221
  if (!discount.extension_data || discount.extension_data.length === 0) {
208
222
  return null;
209
223
  }
210
- const usageCreditsData = discount.extension_data.find(
211
- (data) => data.field_key === "usage_credits"
212
- );
224
+ const usageCreditsData = discount.extension_data.find(data => data.field_key === 'usage_credits');
213
225
  if (!usageCreditsData) {
214
226
  return null;
215
227
  }
216
228
  const value = usageCreditsData.value;
229
+
230
+ // 总次数限制
217
231
  if (value.total_credits && value.total_credits > 0) {
218
232
  if ((discount.total_order_behavior_count || 0) >= value.total_credits) {
219
- return "total_credits";
233
+ return 'total_credits';
220
234
  }
221
235
  }
236
+
237
+ // 单用户限制
222
238
  if (value.per_user_limit && value.per_user_limit > 0) {
223
239
  if ((discount.customer_order_behavior_count || 0) >= value.per_user_limit) {
224
- return "per_user_limit";
240
+ return 'per_user_limit';
225
241
  }
226
242
  }
243
+
244
+ // 单日限制
227
245
  if (value.max_per_day && value.max_per_day > 0) {
228
246
  if ((discount.today_order_behavior_count || 0) >= value.max_per_day) {
229
- return "max_per_day";
247
+ return 'max_per_day';
230
248
  }
231
249
  }
250
+
251
+ // 单周限制
232
252
  if (value.max_per_week && value.max_per_week > 0) {
233
253
  if ((discount.week_order_behavior_count || 0) >= value.max_per_week) {
234
- return "max_per_week";
254
+ return 'max_per_week';
235
255
  }
236
256
  }
257
+
258
+ // 单月限制
237
259
  if (value.max_per_month && value.max_per_month > 0) {
238
260
  if ((discount.month_order_behavior_count || 0) >= value.max_per_month) {
239
- return "max_per_month";
261
+ return 'max_per_month';
240
262
  }
241
263
  }
264
+
265
+ // 全部通过
242
266
  return null;
243
267
  }
268
+
244
269
  // 根据productIds去重
245
270
  uniqueByProductId(discountList) {
246
- return (0, import_utils.uniqueById)(discountList, "product_id");
271
+ return (0, _utils.uniqueById)(discountList, 'product_id');
247
272
  }
248
273
  filterDiscountListByProductIds(discountList, productIds) {
249
- return discountList.filter((discount) => {
274
+ return discountList.filter(discount => {
250
275
  const applicableProductIds = discount.applicableProductIds || [];
251
- return applicableProductIds.some((id) => productIds.includes(id));
276
+ return applicableProductIds.some(id => productIds.includes(id));
252
277
  });
253
278
  }
254
279
  calcDiscountApplicableProductTotalPrice(discount) {
255
- if (discount == null ? void 0 : discount.savedAmount) {
256
- return (discount == null ? void 0 : discount.savedAmount) || 0;
280
+ if (discount?.savedAmount) {
281
+ return discount?.savedAmount || 0;
257
282
  }
258
283
  if (discount.appliedProductDetails) {
259
284
  return discount.appliedProductDetails.reduce((total, product) => {
260
- var _a, _b;
261
- const price = new import_decimal.default(((_a = product == null ? void 0 : product.discount) == null ? void 0 : _a.fixed_amount) || 0).mul((product == null ? void 0 : product._num) || 1);
262
- return new import_decimal.default(total).plus(price).add(((_b = product == null ? void 0 : product.metadata) == null ? void 0 : _b.product_discount_difference) || 0).toNumber();
285
+ const price = new _decimal.default(product?.discount?.fixed_amount || 0).mul(product?._num || 1);
286
+ return new _decimal.default(total).plus(price).add(product?.metadata?.product_discount_difference || 0).toNumber();
263
287
  }, 0);
264
288
  }
265
289
  }
@@ -267,12 +291,11 @@ var DiscountModule = class extends import_BaseModule.BaseModule {
267
291
  this.store.discountList = [];
268
292
  this.core.effects.offByModuleDestroy(this.name);
269
293
  await this.core.effects.emit(`${this.name}:onDestroy`, {});
270
- console.log("[Discount] 已销毁");
294
+ super.destroy();
271
295
  }
272
296
  async clear() {
273
297
  this.store.discountList = [];
274
298
  this.store.originalDiscountList = [];
275
- console.log("[Discount] clear");
276
299
  }
277
300
  storeChange() {
278
301
  if (this.openCache) {
@@ -280,12 +303,9 @@ var DiscountModule = class extends import_BaseModule.BaseModule {
280
303
  cacheId: this.cacheId,
281
304
  fatherModule: this.fatherModule,
282
305
  store: this.store,
283
- cacheKey: ["discountList"]
306
+ cacheKey: ['discountList']
284
307
  });
285
308
  }
286
309
  }
287
- };
288
- // Annotate the CommonJS export names for ESM import in node:
289
- 0 && (module.exports = {
290
- DiscountModule
291
- });
310
+ }
311
+ exports.DiscountModule = DiscountModule;
@@ -145,6 +145,7 @@ export interface Discount {
145
145
  appliedProductDetails: ApplicableProductDetails[];
146
146
  isDisabledForProductUsed?: boolean;
147
147
  amount?: number;
148
+ customer_id?: number | string | null;
148
149
  extension_data?: ExtensionData[];
149
150
  total_order_behavior_count?: number;
150
151
  today_order_behavior_count?: number;
@@ -1,33 +1,11 @@
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/modules/Discount/types.ts
20
- var types_exports = {};
21
- __export(types_exports, {
22
- DiscountHooks: () => DiscountHooks
23
- });
24
- module.exports = __toCommonJS(types_exports);
25
- var DiscountHooks = /* @__PURE__ */ ((DiscountHooks2) => {
26
- DiscountHooks2["OnDiscountListChange"] = "discount:onDiscountListChange";
27
- DiscountHooks2["OnDestroy"] = "discount:onDestroy";
28
- return DiscountHooks2;
29
- })(DiscountHooks || {});
30
- // Annotate the CommonJS export names for ESM import in node:
31
- 0 && (module.exports = {
32
- DiscountHooks
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
6
+ exports.DiscountHooks = void 0;
7
+ let DiscountHooks = exports.DiscountHooks = /*#__PURE__*/function (DiscountHooks) {
8
+ DiscountHooks["OnDiscountListChange"] = "discount:onDiscountListChange";
9
+ DiscountHooks["OnDestroy"] = "discount:onDestroy";
10
+ return DiscountHooks;
11
+ }({});
@@ -1,42 +1,27 @@
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/modules/Guests/index.ts
20
- var Guests_exports = {};
21
- __export(Guests_exports, {
22
- GuestListModule: () => GuestListModule
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(Guests_exports);
25
- var import_BaseModule = require("../BaseModule");
26
- var import_types = require("./types");
27
- var GuestListModule = class extends import_BaseModule.BaseModule {
6
+ exports.GuestListModule = void 0;
7
+ var _BaseModule = require("../BaseModule");
8
+ var _types = require("./types");
9
+ class GuestListModule extends _BaseModule.BaseModule {
10
+ defaultName = 'guestList';
11
+ defaultVersion = '1.0.0';
12
+ state = {
13
+ list: []
14
+ };
28
15
  constructor(name, version) {
29
16
  super(name, version);
30
- this.defaultName = "guestList";
31
- this.defaultVersion = "1.0.0";
32
- this.state = {
33
- list: []
34
- };
35
17
  }
36
18
  async initialize(core, options) {
37
19
  this.core = core;
38
- if (options == null ? void 0 : options.initialState) {
39
- this.state = { ...this.state, ...options.initialState };
20
+ if (options?.initialState) {
21
+ this.state = {
22
+ ...this.state,
23
+ ...options.initialState
24
+ };
40
25
  }
41
26
  }
42
27
  async addGuest(guest) {
@@ -45,23 +30,18 @@ var GuestListModule = class extends import_BaseModule.BaseModule {
45
30
  await this.core.effects.emit(`${this.name}:onGuestChange`, this.state.list);
46
31
  }
47
32
  async updateGuest(id, updates) {
48
- const index = this.state.list.findIndex((g) => g.id === id);
49
- if (index === -1)
50
- return;
33
+ const index = this.state.list.findIndex(g => g.id === id);
34
+ if (index === -1) return;
51
35
  this.state.list[index] = {
52
36
  ...this.state.list[index],
53
37
  ...updates
54
38
  };
55
- await this.core.effects.emit(
56
- import_types.GuestHooks.OnGuestUpdate,
57
- this.state.list[index]
58
- );
39
+ await this.core.effects.emit(_types.GuestHooks.OnGuestUpdate, this.state.list[index]);
59
40
  await this.core.effects.emit(`${this.name}:onGuestChange`, this.state.list);
60
41
  }
61
42
  async removeGuest(id) {
62
- const index = this.state.list.findIndex((g) => g.id === id);
63
- if (index === -1)
64
- return;
43
+ const index = this.state.list.findIndex(g => g.id === id);
44
+ if (index === -1) return;
65
45
  const [removed] = this.state.list.splice(index, 1);
66
46
  await this.core.effects.emit(`${this.name}:onGuestRemove`, removed);
67
47
  await this.core.effects.emit(`${this.name}:onGuestChange`, this.state.list);
@@ -73,26 +53,20 @@ var GuestListModule = class extends import_BaseModule.BaseModule {
73
53
  return this.state.list.length;
74
54
  }
75
55
  async addItemToGuest(guestId, item) {
76
- const guest = this.state.list.find((g) => g.id === guestId);
77
- if (!guest)
78
- return;
56
+ const guest = this.state.list.find(g => g.id === guestId);
57
+ if (!guest) return;
79
58
  guest.items.push(item);
80
59
  await this.core.effects.emit(`${this.name}:onGuestUpdate`, guest);
81
60
  await this.core.effects.emit(`${this.name}:onGuestChange`, this.state.list);
82
61
  }
83
62
  async removeItemFromGuest(guestId, itemId) {
84
- const guest = this.state.list.find((g) => g.id === guestId);
85
- if (!guest)
86
- return;
87
- const index = guest.items.findIndex((i) => i.id === itemId);
88
- if (index === -1)
89
- return;
63
+ const guest = this.state.list.find(g => g.id === guestId);
64
+ if (!guest) return;
65
+ const index = guest.items.findIndex(i => i.id === itemId);
66
+ if (index === -1) return;
90
67
  guest.items.splice(index, 1);
91
68
  await this.core.effects.emit(`${this.name}:onGuestUpdate`, guest);
92
69
  await this.core.effects.emit(`${this.name}:onGuestChange`, this.state.list);
93
70
  }
94
- };
95
- // Annotate the CommonJS export names for ESM import in node:
96
- 0 && (module.exports = {
97
- GuestListModule
98
- });
71
+ }
72
+ exports.GuestListModule = GuestListModule;
@@ -1,35 +1,25 @@
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/modules/Guests/types.ts
20
- var types_exports = {};
21
- __export(types_exports, {
22
- GuestHooks: () => GuestHooks
23
- });
24
- module.exports = __toCommonJS(types_exports);
25
- var GuestHooks = /* @__PURE__ */ ((GuestHooks2) => {
26
- GuestHooks2["OnGuestAdd"] = "guest:onGuestAdd";
27
- GuestHooks2["OnGuestUpdate"] = "guest:onGuestUpdate";
28
- GuestHooks2["OnGuestRemove"] = "guest:onGuestRemove";
29
- GuestHooks2["OnGuestChange"] = "guest:onGuestChange";
30
- return GuestHooks2;
31
- })(GuestHooks || {});
32
- // Annotate the CommonJS export names for ESM import in node:
33
- 0 && (module.exports = {
34
- GuestHooks
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
35
5
  });
6
+ exports.GuestHooks = void 0;
7
+ let GuestHooks = exports.GuestHooks = /*#__PURE__*/function (GuestHooks) {
8
+ GuestHooks["OnGuestAdd"] = "guest:onGuestAdd";
9
+ GuestHooks["OnGuestUpdate"] = "guest:onGuestUpdate";
10
+ GuestHooks["OnGuestRemove"] = "guest:onGuestRemove";
11
+ GuestHooks["OnGuestChange"] = "guest:onGuestChange";
12
+ return GuestHooks;
13
+ }({});
14
+ /**
15
+ * 预约人选择的商品/服务
16
+ */
17
+ /**
18
+ * 预约人信息
19
+ */
20
+ /**
21
+ * 预约人列表状态
22
+ */
23
+ /**
24
+ * 预约人列表模块 API
25
+ */