@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,15 +1,42 @@
1
- "use strict";
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
28
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
29
+ // src/model/strategy/adapter/walletPass/evaluator.ts
30
+ var evaluator_exports = {};
31
+ __export(evaluator_exports, {
32
+ WalletPassEvaluator: () => WalletPassEvaluator
5
33
  });
6
- exports.WalletPassEvaluator = void 0;
7
- var _index = require("../../index");
8
- var _utils = require("./utils");
9
- var _locales = require("./locales");
10
- var _decimal = _interopRequireDefault(require("decimal.js"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- const defaultStrategyMetadataCustom = {
34
+ module.exports = __toCommonJS(evaluator_exports);
35
+ var import__ = require("../../index");
36
+ var import_utils = require("./utils");
37
+ var import_locales = require("./locales");
38
+ var import_decimal = __toESM(require("decimal.js"));
39
+ var defaultStrategyMetadataCustom = {
13
40
  maxDeductionAmount: 99999,
14
41
  maxUsagePerOrder: 0,
15
42
  allowCrossProduct: true,
@@ -18,54 +45,34 @@ const defaultStrategyMetadataCustom = {
18
45
  maxPassesPerItem: 0,
19
46
  deductOptionPrice: false
20
47
  };
21
-
22
- /**
23
- * 条件 field → reasonCode 映射
24
- * 用于将策略引擎返回的 failedField 转换为本地化文案 key
25
- */
26
- const FIELD_REASON_CODE_MAP = {
27
- orderTotalAmount: 'order_total_amount_not_enough',
28
- applicableProductTotalAmount: 'applicable_product_total_amount_not_enough',
29
- applicableProductCount: 'applicable_product_count_not_enough'
48
+ var FIELD_REASON_CODE_MAP = {
49
+ orderTotalAmount: "order_total_amount_not_enough",
50
+ applicableProductTotalAmount: "applicable_product_total_amount_not_enough",
51
+ applicableProductCount: "applicable_product_count_not_enough"
30
52
  };
31
-
32
- /**
33
- * 金额类型 field 集合(需要在文案前拼货币符号)
34
- */
35
- const AMOUNT_FIELDS = new Set(['orderTotalAmount', 'applicableProductTotalAmount']);
36
-
37
- /**
38
- * 用阈值与货币符号替换文案中的占位符
39
- * 支持占位符:{value} / ${value} / {currency}
40
- */
41
- function formatReason(template, value, currency = '') {
42
- if (!template) return template;
43
- const v = value === undefined || value === null ? '' : String(value);
44
- const c = currency === undefined || currency === null ? '' : String(currency);
45
- // 注意:必须先替换 value,再替换 currency
46
- // 否则 currency 注入的 "$" 会被后续的 /\$\{value\}/ 正则误吞
47
- // 使用函数作为替换参数,避免替换串中的 "$" 被 String.prototype.replace
48
- // 当作特殊序列(如 $$ -> $、$& 等)处理
53
+ var AMOUNT_FIELDS = /* @__PURE__ */ new Set([
54
+ "orderTotalAmount",
55
+ "applicableProductTotalAmount"
56
+ ]);
57
+ function formatReason(template, value, currency = "") {
58
+ if (!template)
59
+ return template;
60
+ const v = value === void 0 || value === null ? "" : String(value);
61
+ const c = currency === void 0 || currency === null ? "" : String(currency);
49
62
  return template.replace(/\$\{value\}/g, () => v).replace(/\{value\}/g, () => v).replace(/\{currency\}/g, () => c);
50
63
  }
51
-
52
- /**
53
- * Wallet Pass 评估器
54
- * 用于评估哪些 voucher 可以在当前订单中使用
55
- */
56
- class WalletPassEvaluator {
57
- engine;
58
- strategyConfigs = [];
59
- locale = 'en';
60
- otherParams = {};
64
+ var WalletPassEvaluator = class {
61
65
  constructor() {
62
- this.engine = new _index.StrategyEngine({
66
+ this.strategyConfigs = [];
67
+ this.locale = "en";
68
+ this.otherParams = {};
69
+ this.engine = new import__.StrategyEngine({
63
70
  debug: false,
64
71
  enableTrace: false
65
72
  });
66
73
  }
67
74
  setStrategyConfigs(strategyConfigs) {
68
- const newStrategyConfigs = strategyConfigs.filter(item => item.metadata.type === 'wallet_pass');
75
+ const newStrategyConfigs = strategyConfigs.filter((item) => item.metadata.type === "wallet_pass");
69
76
  this.strategyConfigs = newStrategyConfigs;
70
77
  }
71
78
  getStrategyConfigs() {
@@ -78,9 +85,9 @@ class WalletPassEvaluator {
78
85
  this.otherParams = otherParams;
79
86
  }
80
87
  getText(key) {
81
- return _locales.locales?.[this.locale]?.[key];
88
+ var _a, _b;
89
+ return (_b = (_a = import_locales.locales) == null ? void 0 : _a[this.locale]) == null ? void 0 : _b[key];
82
90
  }
83
-
84
91
  /**
85
92
  * 搜索券的格式
86
93
  * @param input 输入
@@ -88,19 +95,20 @@ class WalletPassEvaluator {
88
95
  */
89
96
  searchVoucherFormat(input) {
90
97
  const results = this.evaluate(input);
91
- return results.map(item => {
98
+ return results.map((item) => {
99
+ var _a, _b;
92
100
  if (item.isApplicable) {
93
101
  return {
94
102
  ...item.voucher,
95
103
  config: {
96
- ...item?.strategyResult?.config.metadata.custom
104
+ ...(_a = item == null ? void 0 : item.strategyResult) == null ? void 0 : _a.config.metadata.custom
97
105
  }
98
106
  };
99
107
  } else {
100
108
  return {
101
109
  ...item.voucher,
102
110
  config: {
103
- ...item?.strategyResult?.config.metadata.custom
111
+ ...(_b = item == null ? void 0 : item.strategyResult) == null ? void 0 : _b.config.metadata.custom
104
112
  },
105
113
  _unified_available_status: 0,
106
114
  reason: item.reason,
@@ -109,28 +117,20 @@ class WalletPassEvaluator {
109
117
  }
110
118
  });
111
119
  }
112
-
113
120
  /**
114
121
  * 评估可用的 vouchers
115
122
  */
116
123
  evaluate(input) {
117
- const {
118
- orderTotalAmount,
119
- products,
120
- vouchers,
121
- strategyConfigs
122
- } = input;
123
-
124
- // 提取订单中的商品ID
125
- const productIds = products.map(p => p.product_id);
124
+ var _a, _b, _c, _d, _e, _f, _g;
125
+ const { orderTotalAmount, products, vouchers, strategyConfigs } = input;
126
+ const productIds = products.map((p) => p.product_id);
126
127
  const results = [];
127
-
128
- // 遍历每个 voucher 进行评估
129
128
  for (const voucher of vouchers) {
130
- // 查找适用此 voucher 的策略配置
131
- const applicableStrategies = this.findApplicableStrategies(voucher, strategyConfigs || this.strategyConfigs);
129
+ const applicableStrategies = this.findApplicableStrategies(
130
+ voucher,
131
+ strategyConfigs || this.strategyConfigs
132
+ );
132
133
  if (applicableStrategies.length === 0) {
133
- // 没有匹配的策略 默认可用
134
134
  results.push({
135
135
  voucher,
136
136
  isApplicable: true,
@@ -138,8 +138,8 @@ class WalletPassEvaluator {
138
138
  maxDeduction: 0,
139
139
  deductTaxAndFee: true,
140
140
  applicableProductIds: [],
141
- reason: '',
142
- reasonCode: '',
141
+ reason: "",
142
+ reasonCode: "",
143
143
  strategyResult: {
144
144
  config: {
145
145
  metadata: {
@@ -152,20 +152,13 @@ class WalletPassEvaluator {
152
152
  });
153
153
  continue;
154
154
  }
155
-
156
- // 对每个策略进行评估(取第一个匹配的策略)
157
155
  const strategy = applicableStrategies[0];
158
-
159
- // 从 voucher 中获取适用商品ID
160
- const applicableProductIds = (0, _utils.getApplicableProductIds)(voucher);
161
-
162
- // 计算适用商品的总金额和数量
163
- const {
164
- applicableTotal,
165
- applicableCount
166
- } = this.calculateApplicableProducts(products, applicableProductIds, strategy?.metadata?.custom?.deductTaxAndFee ?? true);
167
-
168
- // 准备运行时上下文
156
+ const applicableProductIds = (0, import_utils.getApplicableProductIds)(voucher);
157
+ const { applicableTotal, applicableCount } = this.calculateApplicableProducts(
158
+ products,
159
+ applicableProductIds,
160
+ ((_b = (_a = strategy == null ? void 0 : strategy.metadata) == null ? void 0 : _a.custom) == null ? void 0 : _b.deductTaxAndFee) ?? true
161
+ );
169
162
  const context = {
170
163
  entities: {
171
164
  voucher,
@@ -176,7 +169,7 @@ class WalletPassEvaluator {
176
169
  }
177
170
  },
178
171
  attributes: {
179
- orderTotalAmount: orderTotalAmount,
172
+ orderTotalAmount,
180
173
  applicableProductTotalAmount: applicableTotal,
181
174
  applicableProductCount: applicableCount,
182
175
  voucherProductId: voucher.product_id,
@@ -186,11 +179,7 @@ class WalletPassEvaluator {
186
179
  timestamp: Date.now()
187
180
  }
188
181
  };
189
-
190
- // 执行策略评估
191
182
  const evaluationResult = this.engine.evaluate(strategy, context);
192
-
193
- // 从策略配置中获取业务配置
194
183
  const businessConfig = strategy.metadata.custom || {};
195
184
  const maxDeduction = businessConfig.maxDeductionAmount || 0;
196
185
  const canUseCount = businessConfig.maxUsagePerOrder || 0;
@@ -206,29 +195,27 @@ class WalletPassEvaluator {
206
195
  strategyResult: evaluationResult
207
196
  });
208
197
  } else {
209
- // 优先根据失败的 field 映射到具体的 reasonCode(更精确的失败原因)
210
- let reasonCode = 'not_meet_the_required_conditions';
211
- let thresholdValue = undefined;
212
- const failedField = evaluationResult.matched?.failedField;
213
- const failedRule = evaluationResult.matched?.failedRules?.[0];
198
+ let reasonCode = "not_meet_the_required_conditions";
199
+ let thresholdValue = void 0;
200
+ const failedField = (_c = evaluationResult.matched) == null ? void 0 : _c.failedField;
201
+ const failedRule = (_e = (_d = evaluationResult.matched) == null ? void 0 : _d.failedRules) == null ? void 0 : _e[0];
214
202
  if (failedField && FIELD_REASON_CODE_MAP[failedField]) {
215
203
  reasonCode = FIELD_REASON_CODE_MAP[failedField];
216
- thresholdValue = failedRule?.value;
204
+ thresholdValue = failedRule == null ? void 0 : failedRule.value;
217
205
  } else if (evaluationResult.code) {
218
- // 兜底:保留原有 code → reasonCode 映射
219
206
  const codeMapping = {
220
- INSUFFICIENT_AMOUNT: 'not_meet_the_required_conditions',
221
- USAGE_LIMIT_EXCEEDED: 'usage_limit_reached',
222
- CHANNEL_NOT_ALLOWED: 'not_available_for_this_channel',
223
- ORDER_TYPE_NOT_ALLOWED: 'not_valid_for_this_order_type',
224
- DEDUCTION_LIMIT_EXCEEDED: 'exceeds_the_maximum_deduction_limit'
207
+ INSUFFICIENT_AMOUNT: "not_meet_the_required_conditions",
208
+ USAGE_LIMIT_EXCEEDED: "usage_limit_reached",
209
+ CHANNEL_NOT_ALLOWED: "not_available_for_this_channel",
210
+ ORDER_TYPE_NOT_ALLOWED: "not_valid_for_this_order_type",
211
+ DEDUCTION_LIMIT_EXCEEDED: "exceeds_the_maximum_deduction_limit"
225
212
  };
226
- reasonCode = codeMapping[evaluationResult.code] || 'not_meet_the_required_conditions';
213
+ reasonCode = codeMapping[evaluationResult.code] || "not_meet_the_required_conditions";
227
214
  }
228
215
  const rawText = this.getText(reasonCode);
229
- // 金额类型字段:从 otherParams.getData 取货币符号;非金额或取不到则留空
230
- const currency = failedField && AMOUNT_FIELDS.has(failedField) ? this.otherParams?.getData?.('shop_symbol') || '' : '';
231
- const reason = thresholdValue !== undefined ? formatReason(rawText, thresholdValue, currency) : rawText;
216
+ const currency = failedField && AMOUNT_FIELDS.has(failedField) ? ((_g = (_f = this.otherParams) == null ? void 0 : _f.getData) == null ? void 0 : _g.call(_f, "shop_symbol")) || "" : "";
217
+ console.log(currency, "currency12345");
218
+ const reason = thresholdValue !== void 0 ? formatReason(rawText, thresholdValue, currency) : rawText;
232
219
  results.push({
233
220
  voucher,
234
221
  isApplicable: false,
@@ -237,47 +224,36 @@ class WalletPassEvaluator {
237
224
  deductTaxAndFee: false,
238
225
  applicableProductIds: [],
239
226
  reason,
240
- reasonCode: reasonCode,
227
+ reasonCode,
241
228
  strategyResult: evaluationResult
242
229
  });
243
230
  }
244
231
  }
245
232
  return results;
246
233
  }
247
-
248
234
  /** 检查代金券/折扣卡是否可用 并返回config */
249
235
  checkVoucherAvailability(input) {
250
- const {
251
- orderTotalAmount,
252
- products,
253
- vouchers
254
- } = input;
236
+ var _a, _b, _c, _d, _e;
237
+ const { orderTotalAmount, products, vouchers } = input;
255
238
  const results = this.evaluate(input);
256
- const isAvailable = results[0]?.isApplicable || false;
239
+ const isAvailable = ((_a = results[0]) == null ? void 0 : _a.isApplicable) || false;
257
240
  return {
258
241
  isAvailable,
259
242
  config: {
260
- ...results[0]?.strategyResult?.config?.metadata?.custom
243
+ ...(_e = (_d = (_c = (_b = results[0]) == null ? void 0 : _b.strategyResult) == null ? void 0 : _c.config) == null ? void 0 : _d.metadata) == null ? void 0 : _e.custom
261
244
  }
262
245
  };
263
246
  }
264
-
265
247
  /**
266
248
  * 获取推荐券
267
249
  * @param input 输入
268
250
  * @returns 返回推荐券列表
269
251
  */
270
252
  getRecommendedVouchers(input) {
271
- const {
272
- orderTotalAmount,
273
- products,
274
- vouchers
275
- } = input;
276
- // 基于后端返回的状态不可用券
253
+ const { orderTotalAmount, products, vouchers } = input;
277
254
  const noApplicableVoucher = [];
278
- // 基于后端返回的状态可用券
279
255
  const applicableVoucher = [];
280
- vouchers.forEach(voucher => {
256
+ vouchers.forEach((voucher) => {
281
257
  if (voucher.unified_available_status === 1) {
282
258
  applicableVoucher.push(voucher);
283
259
  } else {
@@ -289,17 +265,17 @@ class WalletPassEvaluator {
289
265
  vouchers: applicableVoucher
290
266
  });
291
267
  const newVouchers = [];
292
- results.forEach(item => {
268
+ results.forEach((item) => {
269
+ var _a, _b, _c;
293
270
  if (item.isApplicable) {
294
271
  newVouchers.push({
295
272
  ...item.voucher,
296
273
  config: {
297
274
  ...defaultStrategyMetadataCustom,
298
- ...(item?.strategyResult?.config?.metadata?.custom || {})
275
+ ...((_c = (_b = (_a = item == null ? void 0 : item.strategyResult) == null ? void 0 : _a.config) == null ? void 0 : _b.metadata) == null ? void 0 : _c.custom) || {}
299
276
  }
300
277
  });
301
278
  } else {
302
- // 不可用的券,添加原因信息
303
279
  noApplicableVoucher.push({
304
280
  ...item.voucher,
305
281
  _unified_available_status: 0,
@@ -308,12 +284,13 @@ class WalletPassEvaluator {
308
284
  });
309
285
  }
310
286
  });
311
- const {
312
- recommended,
313
- transformList
314
- } = this.processVouchers(newVouchers, orderTotalAmount, products);
287
+ const { recommended, transformList } = this.processVouchers(
288
+ newVouchers,
289
+ orderTotalAmount,
290
+ products
291
+ );
315
292
  const recommendedAmount = recommended.reduce((sum, item) => {
316
- return new _decimal.default(sum).add(item._available_max_amount || 0).toNumber();
293
+ return new import_decimal.default(sum).add(item._available_max_amount || 0).toNumber();
317
294
  }, 0);
318
295
  return {
319
296
  // 推荐券总金额
@@ -335,7 +312,6 @@ class WalletPassEvaluator {
335
312
  }
336
313
  return voucher;
337
314
  }
338
-
339
315
  /**
340
316
  * 优惠券处理函数
341
317
  * @param applicableVouchers 可用的券列表
@@ -344,13 +320,16 @@ class WalletPassEvaluator {
344
320
  * @returns 返回推荐券列表和全部列表,每个券包含 _available_max_amount 和 _unified_available_status
345
321
  */
346
322
  processVouchers(vouchers, orderTotalAmount, products) {
347
- const result = (0, _utils.processVouchers)(vouchers, orderTotalAmount, products);
323
+ const result = (0, import_utils.processVouchers)(vouchers, orderTotalAmount, products);
348
324
  return {
349
- recommended: result.recommended.map(item => this.enhanceWithReason(item)),
350
- transformList: result.transformList.map(item => this.enhanceWithReason(item))
325
+ recommended: result.recommended.map(
326
+ (item) => this.enhanceWithReason(item)
327
+ ),
328
+ transformList: result.transformList.map(
329
+ (item) => this.enhanceWithReason(item)
330
+ )
351
331
  };
352
332
  }
353
-
354
333
  /**
355
334
  * 重新计算优惠券状态(基于已选券的增量计算)
356
335
  * @param allVouchers 所有原始券列表
@@ -360,44 +339,47 @@ class WalletPassEvaluator {
360
339
  * @returns 返回更新后的所有券列表和已选券的详细抵扣信息
361
340
  */
362
341
  recalculateVouchers(allVouchers, selectedVouchers, orderTotalAmount, products) {
363
- const result = (0, _utils.recalculateVouchers)(allVouchers, selectedVouchers, orderTotalAmount, products);
342
+ const result = (0, import_utils.recalculateVouchers)(
343
+ allVouchers,
344
+ selectedVouchers,
345
+ orderTotalAmount,
346
+ products
347
+ );
364
348
  return {
365
- allWithUpdatedStatus: result.allWithUpdatedStatus.map(item => this.enhanceWithReason(item)),
366
- selectedWithDetails: result.selectedWithDetails.map(item => this.enhanceWithReason(item))
349
+ allWithUpdatedStatus: result.allWithUpdatedStatus.map(
350
+ (item) => this.enhanceWithReason(item)
351
+ ),
352
+ selectedWithDetails: result.selectedWithDetails.map(
353
+ (item) => this.enhanceWithReason(item)
354
+ )
367
355
  };
368
356
  }
369
-
370
357
  /**
371
358
  * 查找适用于指定 voucher 的策略配置
372
359
  */
373
360
  findApplicableStrategies(voucher, strategyConfigs) {
374
- return strategyConfigs.filter(config => {
375
- // 检查策略的 conditions 中是否包含匹配此 voucher 的规则
361
+ return strategyConfigs.filter((config) => {
376
362
  return this.checkVoucherInStrategy(voucher.product_id, config);
377
363
  });
378
364
  }
379
-
380
365
  /**
381
366
  * 检查策略中是否包含指定的 voucher ID
382
367
  */
383
368
  checkVoucherInStrategy(voucherProductId, config) {
384
369
  const rules = config.conditions.rules;
385
370
  for (const rule of rules) {
386
- // 如果是条件组,递归检查
387
- if ('operator' in rule && 'rules' in rule) {
371
+ if ("operator" in rule && "rules" in rule) {
388
372
  if (this.checkVoucherInConditionGroup(voucherProductId, rule)) {
389
373
  return true;
390
374
  }
391
375
  } else {
392
- // 检查是否是 voucherProductId 字段的规则
393
376
  const conditionRule = rule;
394
- if (conditionRule.field === 'voucherProductId' && conditionRule.operator === 'in' && Array.isArray(conditionRule.value)) {
377
+ if (conditionRule.field === "voucherProductId" && conditionRule.operator === "in" && Array.isArray(conditionRule.value)) {
395
378
  if (conditionRule.value.includes(voucherProductId)) {
396
379
  return true;
397
380
  }
398
381
  }
399
- // 支持等于判断
400
- if (conditionRule.field === 'voucherProductId' && (conditionRule.operator === '=' || conditionRule.operator === '==')) {
382
+ if (conditionRule.field === "voucherProductId" && (conditionRule.operator === "=" || conditionRule.operator === "==")) {
401
383
  if (conditionRule.value === voucherProductId) {
402
384
  return true;
403
385
  }
@@ -406,23 +388,22 @@ class WalletPassEvaluator {
406
388
  }
407
389
  return false;
408
390
  }
409
-
410
391
  /**
411
392
  * 递归检查条件组中是否包含 voucher ID
412
393
  */
413
394
  checkVoucherInConditionGroup(voucherProductId, group) {
414
395
  for (const rule of group.rules) {
415
- if ('operator' in rule && 'rules' in rule) {
396
+ if ("operator" in rule && "rules" in rule) {
416
397
  if (this.checkVoucherInConditionGroup(voucherProductId, rule)) {
417
398
  return true;
418
399
  }
419
400
  } else {
420
- if (rule.field === 'voucherProductId' && rule.operator === 'in' && Array.isArray(rule.value)) {
401
+ if (rule.field === "voucherProductId" && rule.operator === "in" && Array.isArray(rule.value)) {
421
402
  if (rule.value.includes(voucherProductId)) {
422
403
  return true;
423
404
  }
424
405
  }
425
- if (rule.field === 'voucherProductId' && (rule.operator === '=' || rule.operator === '==')) {
406
+ if (rule.field === "voucherProductId" && (rule.operator === "=" || rule.operator === "==")) {
426
407
  if (rule.value === voucherProductId) {
427
408
  return true;
428
409
  }
@@ -431,53 +412,44 @@ class WalletPassEvaluator {
431
412
  }
432
413
  return false;
433
414
  }
434
-
435
415
  /**
436
416
  * 计算适用商品的总金额和数量
437
417
  */
438
418
  calculateApplicableProducts(products, applicableProductIds, deductTaxAndFee) {
419
+ console.log(products, "products1234");
439
420
  let total = 0;
440
421
  let count = 0;
441
-
442
- // 如果为空数组,不适用任何商品
443
422
  if (applicableProductIds !== null && applicableProductIds.length === 0) {
444
- return {
445
- applicableTotal: 0,
446
- applicableCount: 0
447
- };
423
+ return { applicableTotal: 0, applicableCount: 0 };
448
424
  }
449
- products.forEach(product => {
450
- const productQuantity = (0, _utils.getProductQuantity)(product);
451
-
452
- // 检查主商品是否适用
425
+ products.forEach((product) => {
426
+ const productQuantity = (0, import_utils.getProductQuantity)(product);
453
427
  const isMainProductApplicable = applicableProductIds === null || applicableProductIds.includes(product.product_id);
454
428
  if (isMainProductApplicable) {
455
- // 计算主商品价格(包含加减价子商品)= 单价 * 数量 + 舍入余数 - 商品差额
456
- total += (0, _utils.getMainProductPrice)(product, deductTaxAndFee) * productQuantity + (0, _utils.getTaxAndFeeRoundingRemainder)(product, deductTaxAndFee) - (0, _utils.getProductDiscountDifference)(product);
429
+ total += (0, import_utils.getMainProductPrice)(product, deductTaxAndFee) * productQuantity;
457
430
  count += productQuantity;
458
431
  }
459
-
460
- // 检查原价子商品(需要单独判断适用性)
461
432
  if (product.product_bundle && product.product_bundle.length > 0) {
462
- product.product_bundle.forEach(bundleItem => {
463
- // 只处理原价子商品,加减价子商品已包含在主商品价格中
464
- if ((0, _utils.getBundleItemIsOriginalPrice)(bundleItem)) {
465
- // 检查子商品是否适用
433
+ product.product_bundle.forEach((bundleItem) => {
434
+ if ((0, import_utils.getBundleItemIsOriginalPrice)(bundleItem)) {
466
435
  const isBundleItemApplicable = applicableProductIds === null || applicableProductIds.includes(bundleItem.bundle_product_id);
467
436
  if (isBundleItemApplicable) {
468
- // 计算原价子商品价格 = 总价 + 舍入余数 - 商品差额
469
437
  const bundleItemQuantity = bundleItem.num * productQuantity;
470
- total += (0, _utils.getBundleItemPrice)(bundleItem, productQuantity, deductTaxAndFee) + (0, _utils.getBundleItemTaxAndFeeRoundingRemainder)(bundleItem, deductTaxAndFee) - (0, _utils.getBundleItemDiscountDifference)(bundleItem);
438
+ total += (0, import_utils.getBundleItemPrice)(
439
+ bundleItem,
440
+ productQuantity,
441
+ deductTaxAndFee
442
+ );
471
443
  count += bundleItemQuantity;
472
444
  }
473
445
  }
474
446
  });
475
447
  }
476
448
  });
477
- return {
478
- applicableTotal: total,
479
- applicableCount: count
480
- };
449
+ return { applicableTotal: total, applicableCount: count };
481
450
  }
482
- }
483
- exports.WalletPassEvaluator = WalletPassEvaluator;
451
+ };
452
+ // Annotate the CommonJS export names for ESM import in node:
453
+ 0 && (module.exports = {
454
+ WalletPassEvaluator
455
+ });