@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,157 +1,179 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- CustomerModule: true
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
8
  };
9
- exports.CustomerModule = void 0;
10
- var _lodashEs = require("lodash-es");
11
- var _BaseModule = require("../BaseModule");
12
- var _plugins = require("../../plugins");
13
- var _constants = require("./constants");
14
- var _types = require("./types");
15
- Object.keys(_types).forEach(function (key) {
16
- if (key === "default" || key === "__esModule") return;
17
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
- if (key in exports && exports[key] === _types[key]) return;
19
- Object.defineProperty(exports, key, {
20
- enumerable: true,
21
- get: function () {
22
- return _types[key];
23
- }
24
- });
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/modules/Customer/index.ts
21
+ var Customer_exports = {};
22
+ __export(Customer_exports, {
23
+ CustomerModule: () => CustomerModule
25
24
  });
26
- class CustomerModule extends _BaseModule.BaseModule {
27
- defaultName = 'customer';
28
- defaultVersion = '1.0.0';
29
- store = {
30
- customerList: [],
31
- selectedCustomer: null,
32
- total: 0,
33
- currentPage: 1,
34
- pageSize: _constants.DEFAULT_PAGE_SIZE,
35
- loading: false,
36
- error: null,
37
- hasMore: true,
38
- loadingMore: false,
39
- searchParams: {}
40
- };
41
- request;
42
- cacheId;
43
- openCache = false;
44
- fatherModule;
45
- otherParams = {};
25
+ module.exports = __toCommonJS(Customer_exports);
26
+ var import_lodash_es = require("lodash-es");
27
+ var import_BaseModule = require("../BaseModule");
28
+ var import_plugins = require("../../plugins");
29
+ var import_constants = require("./constants");
30
+ __reExport(Customer_exports, require("./types"), module.exports);
31
+ var CustomerModule = class extends import_BaseModule.BaseModule {
46
32
  constructor(name, version) {
47
33
  super(name, version);
34
+ this.defaultName = "customer";
35
+ this.defaultVersion = "1.0.0";
36
+ this.store = {
37
+ customerList: [],
38
+ selectedCustomer: null,
39
+ total: 0,
40
+ currentPage: 1,
41
+ pageSize: import_constants.DEFAULT_PAGE_SIZE,
42
+ loading: false,
43
+ error: null,
44
+ hasMore: true,
45
+ loadingMore: false,
46
+ searchParams: {}
47
+ };
48
+ this.openCache = false;
49
+ this.otherParams = {};
50
+ }
51
+ /**
52
+ * 判断两份选中客户的核心展示字段是否一致,用于避免重复 clone / emit。
53
+ *
54
+ * @example
55
+ * this.isSameSelectedCustomer(currentCustomer, nextCustomer);
56
+ */
57
+ isSameSelectedCustomer(current, next) {
58
+ const normalizedNext = !next ? import_constants.DEFAULT_CUSTOMER : next;
59
+ const normalizedCurrent = current || null;
60
+ if (!normalizedCurrent)
61
+ return false;
62
+ if (String((normalizedCurrent == null ? void 0 : normalizedCurrent.id) ?? "") === "1" && String((normalizedNext == null ? void 0 : normalizedNext.id) ?? "") === "1") {
63
+ return true;
64
+ }
65
+ const keys = [
66
+ "id",
67
+ "name",
68
+ "phone",
69
+ "email",
70
+ "country_calling_code"
71
+ ];
72
+ return keys.every((key) => String((normalizedCurrent == null ? void 0 : normalizedCurrent[key]) ?? "") === String((normalizedNext == null ? void 0 : normalizedNext[key]) ?? ""));
48
73
  }
49
74
  async initialize(core, options) {
75
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
50
76
  this.core = core;
51
- this.store = options?.store;
52
- this.request = this.core.getPlugin('request');
53
- this.otherParams = options?.otherParams || {};
54
-
55
- // 初始化状态
56
- if (Array.isArray(options?.initialState?.customerList)) {
57
- const customerList = (0, _lodashEs.cloneDeep)(options.initialState.customerList || []);
77
+ this.store = options == null ? void 0 : options.store;
78
+ this.request = this.core.getPlugin("request");
79
+ this.otherParams = (options == null ? void 0 : options.otherParams) || {};
80
+ if (Array.isArray((_a = options == null ? void 0 : options.initialState) == null ? void 0 : _a.customerList)) {
81
+ const customerList = (0, import_lodash_es.cloneDeep)(options.initialState.customerList || []);
58
82
  this.store.customerList = customerList;
59
83
  } else {
60
84
  this.store.customerList = [];
61
85
  }
62
- if (options?.initialState?.selectedCustomer) {
63
- this.store.selectedCustomer = (0, _lodashEs.cloneDeep)(options.initialState.selectedCustomer);
86
+ if ((_b = options == null ? void 0 : options.initialState) == null ? void 0 : _b.selectedCustomer) {
87
+ this.store.selectedCustomer = (0, import_lodash_es.cloneDeep)(options.initialState.selectedCustomer);
64
88
  } else {
65
89
  this.store.selectedCustomer = null;
66
90
  }
67
- if (typeof options?.initialState?.total === 'number') {
91
+ if (typeof ((_c = options == null ? void 0 : options.initialState) == null ? void 0 : _c.total) === "number") {
68
92
  this.store.total = options.initialState.total;
69
93
  } else {
70
94
  this.store.total = 0;
71
95
  }
72
- if (typeof options?.initialState?.currentPage === 'number') {
96
+ if (typeof ((_d = options == null ? void 0 : options.initialState) == null ? void 0 : _d.currentPage) === "number") {
73
97
  this.store.currentPage = options.initialState.currentPage;
74
98
  } else {
75
99
  this.store.currentPage = 1;
76
100
  }
77
- if (typeof options?.initialState?.pageSize === 'number') {
101
+ if (typeof ((_e = options == null ? void 0 : options.initialState) == null ? void 0 : _e.pageSize) === "number" && options.initialState.pageSize > 1) {
78
102
  this.store.pageSize = options.initialState.pageSize;
79
103
  } else {
80
- this.store.pageSize = _constants.DEFAULT_PAGE_SIZE;
104
+ this.store.pageSize = import_constants.DEFAULT_PAGE_SIZE;
81
105
  }
82
-
83
- // 初始化滚动加载相关状态
84
- this.store.hasMore = options?.initialState?.hasMore ?? true;
85
- this.store.loadingMore = options?.initialState?.loadingMore ?? false;
86
- this.store.searchParams = options?.initialState?.searchParams ?? {};
87
-
88
- // 缓存配置
89
- if (options?.otherParams?.cacheId) {
106
+ this.store.hasMore = ((_f = options == null ? void 0 : options.initialState) == null ? void 0 : _f.hasMore) ?? true;
107
+ this.store.loadingMore = ((_g = options == null ? void 0 : options.initialState) == null ? void 0 : _g.loadingMore) ?? false;
108
+ this.store.searchParams = ((_h = options == null ? void 0 : options.initialState) == null ? void 0 : _h.searchParams) ?? {};
109
+ if ((_i = options == null ? void 0 : options.otherParams) == null ? void 0 : _i.cacheId) {
90
110
  this.openCache = options.otherParams.openCache;
91
111
  this.cacheId = options.otherParams.cacheId;
92
112
  }
93
- if (options?.otherParams?.fatherModule) {
113
+ if ((_j = options == null ? void 0 : options.otherParams) == null ? void 0 : _j.fatherModule) {
94
114
  this.fatherModule = options.otherParams.fatherModule;
95
115
  }
96
116
  }
97
-
117
+ /**
118
+ * 更新父级解决方案透传的运行态参数,并刷新客户模块缓存配置。
119
+ *
120
+ * @example
121
+ * customerModule.updateOtherParams({ isFranchisee: true, cacheId: 'cache-2' });
122
+ */
123
+ updateOtherParams(params) {
124
+ this.otherParams = params || {};
125
+ this.openCache = this.otherParams.openCache ?? false;
126
+ this.cacheId = this.otherParams.cacheId;
127
+ this.fatherModule = this.otherParams.fatherModule;
128
+ }
98
129
  /**
99
130
  * 获取客户列表数据(内部方法)
100
131
  * @param params 查询参数
101
132
  * @returns API响应数据
102
133
  */
103
134
  async fetchCustomerListData(params = {}) {
104
- let url = '/customer/select-list';
105
- // 如果是加盟子店铺,则使用加盟商的客户列表接口
106
- if (this.otherParams?.isFranchisee) {
107
- url = '/franchisee/customer/select-list';
135
+ var _a, _b, _c, _d;
136
+ let url = "/customer/select-list";
137
+ if ((_a = this.otherParams) == null ? void 0 : _a.isFranchisee) {
138
+ url = "/franchisee/customer/select-list";
108
139
  }
109
- const {
110
- skip = 1,
111
- num = _constants.DEFAULT_PAGE_SIZE,
112
- search,
113
- ..._otherParams
114
- } = params;
140
+ const { skip = 1, num = import_constants.DEFAULT_PAGE_SIZE, search, ..._otherParams } = params;
115
141
  const queryParams = {
116
142
  skip,
117
143
  num,
118
- sort_by: _constants.SORT_BY,
119
- with: ['latestWalletDetail.wallet', 'contactsInfo', 'formRecord'],
144
+ sort_by: import_constants.SORT_BY,
145
+ with: ["latestWalletDetail.wallet", "contactsInfo", "formRecord"],
120
146
  search_wallet_flag: 1,
121
147
  search_wallet_pass_flag: 1,
122
- ...(search && {
123
- search
124
- }),
148
+ ...search && { search },
125
149
  ..._otherParams
126
150
  };
127
151
  const res = await this.request.get(url, queryParams, {
128
152
  cache: {
129
- mode: _plugins.RequestModeENUM.REMOTE_LOCAL,
153
+ mode: import_plugins.RequestModeENUM.REMOTE_LOCAL,
130
154
  type: "memory"
131
155
  }
132
156
  });
133
- if (res?.code !== 200) {
134
- throw new Error(res?.message);
157
+ if ((res == null ? void 0 : res.code) !== 200) {
158
+ throw new Error(res == null ? void 0 : res.message);
135
159
  }
136
-
137
- // 如果是加盟子店铺,查询的接口返回的数据都是总店的客户数据,需要加上标识
138
- let _customerList = res?.data?.list || [];
139
- if (this.otherParams?.isFranchisee && _customerList?.length > 0) {
140
- _customerList = _customerList?.map(item => {
160
+ let _customerList = ((_b = res == null ? void 0 : res.data) == null ? void 0 : _b.list) || [];
161
+ if (((_c = this.otherParams) == null ? void 0 : _c.isFranchisee) && (_customerList == null ? void 0 : _customerList.length) > 0) {
162
+ _customerList = _customerList == null ? void 0 : _customerList.map((item) => {
141
163
  return {
142
- ...(item || {}),
143
- is_franchisor_customer: 1 // 标识是总店的客户
164
+ ...item || {},
165
+ is_franchisor_customer: 1
166
+ // 标识是总店的客户
144
167
  };
145
168
  });
146
169
  }
147
170
  return {
148
171
  customerList: _customerList,
149
- total: res?.data?.count || 0,
172
+ total: ((_d = res == null ? void 0 : res.data) == null ? void 0 : _d.count) || 0,
150
173
  page: skip,
151
174
  pageSize: num
152
175
  };
153
176
  }
154
-
155
177
  /**
156
178
  * 处理客户列表操作的错误(内部方法)
157
179
  * @param error 错误对象
@@ -160,9 +182,25 @@ class CustomerModule extends _BaseModule.BaseModule {
160
182
  async handleCustomerListError(error, operation) {
161
183
  console.error(`Failed to ${operation}:`, error);
162
184
  this.store.error = error instanceof Error ? error.message : `Failed to ${operation}`;
163
- await this.core.effects.emit(`${this.name}:onCustomerListError`, this.store.error);
185
+ await this.core.effects.emit(
186
+ `${this.name}:onCustomerListError`,
187
+ this.store.error
188
+ );
189
+ }
190
+ /**
191
+ * 查询客户列表但不写入 customerList / pagination 状态。
192
+ *
193
+ * 用于按 ID 补齐客户等内部查询,避免把临时的 num/searchParams 污染到滚动列表。
194
+ */
195
+ async queryCustomerList(params = {}) {
196
+ const { customerList, total, page, pageSize } = await this.fetchCustomerListData(params);
197
+ return {
198
+ list: customerList,
199
+ total,
200
+ page,
201
+ pageSize
202
+ };
164
203
  }
165
-
166
204
  /**
167
205
  * 获取客户列表
168
206
  * @param params 查询参数
@@ -172,34 +210,14 @@ class CustomerModule extends _BaseModule.BaseModule {
172
210
  try {
173
211
  this.store.loading = true;
174
212
  this.store.error = null;
175
- const {
176
- customerList,
177
- total,
178
- page,
179
- pageSize
180
- } = await this.fetchCustomerListData(params);
181
-
182
- // 保存搜索条件(排除skip和num)
183
- const {
184
- skip,
185
- num,
186
- ...searchParams
187
- } = params;
188
- this.store.searchParams = (0, _lodashEs.cloneDeep)(searchParams);
189
-
190
- // 更新分页状态
213
+ const { customerList, total, page, pageSize } = await this.fetchCustomerListData(params);
214
+ const { skip, num, ...searchParams } = params;
215
+ this.store.searchParams = (0, import_lodash_es.cloneDeep)(searchParams);
191
216
  this.store.currentPage = page;
192
217
  this.store.pageSize = pageSize;
193
218
  this.store.total = total;
194
-
195
- // 计算是否还有更多数据
196
219
  this.store.hasMore = page * pageSize < total;
197
-
198
- // 设置客户列表(替换模式)
199
- this.store.customerList = (0, _lodashEs.cloneDeep)(customerList);
200
- await this.core.effects.emit(`${this.name}:onCustomerListUpdate`, this.store);
201
-
202
- // 触发分页变化事件
220
+ this.store.customerList = (0, import_lodash_es.cloneDeep)(customerList);
203
221
  this.triggerPaginationChange({
204
222
  page,
205
223
  pageSize,
@@ -214,37 +232,44 @@ class CustomerModule extends _BaseModule.BaseModule {
214
232
  };
215
233
  return response;
216
234
  } catch (error) {
217
- await this.handleCustomerListError(error, 'fetch customer list');
235
+ await this.handleCustomerListError(error, "fetch customer list");
218
236
  throw error;
219
237
  } finally {
220
238
  this.store.loading = false;
221
239
  this.storeChange();
240
+ await this.core.effects.emit(
241
+ `${this.name}:onCustomerListUpdate`,
242
+ this.store
243
+ );
222
244
  }
223
245
  }
224
-
225
246
  /**
226
247
  * 设置客户列表
227
248
  * @param customers 客户列表
228
249
  * @param total 总数
229
250
  */
230
251
  setCustomerList(customers, total) {
231
- this.store.customerList = (0, _lodashEs.cloneDeep)(customers);
232
- if (typeof total === 'number') {
252
+ this.store.customerList = (0, import_lodash_es.cloneDeep)(customers);
253
+ if (typeof total === "number") {
233
254
  this.store.total = total;
234
255
  }
235
256
  this.storeChange();
236
257
  }
237
-
238
258
  /**
239
259
  * 设置当前选择的客户
240
260
  * @param customer 选择的客户
241
261
  */
242
262
  setSelectedCustomer(customer) {
243
- this.store.selectedCustomer = !customer ? _constants.DEFAULT_CUSTOMER : (0, _lodashEs.cloneDeep)(customer);
244
- this.core.effects.emit(`${this.name}:onCustomerSelected`, this.store.selectedCustomer);
263
+ if (this.isSameSelectedCustomer(this.store.selectedCustomer, customer)) {
264
+ return;
265
+ }
266
+ this.store.selectedCustomer = !customer ? import_constants.DEFAULT_CUSTOMER : (0, import_lodash_es.cloneDeep)(customer);
267
+ this.core.effects.emit(
268
+ `${this.name}:onCustomerSelected`,
269
+ this.store.selectedCustomer
270
+ );
245
271
  this.storeChange();
246
272
  }
247
-
248
273
  /**
249
274
  * 获取当前选择的客户
250
275
  * @returns 当前选择的客户
@@ -252,7 +277,6 @@ class CustomerModule extends _BaseModule.BaseModule {
252
277
  getSelectedCustomer() {
253
278
  return this.store.selectedCustomer;
254
279
  }
255
-
256
280
  /**
257
281
  * 获取客户列表
258
282
  * @returns 客户列表
@@ -260,16 +284,14 @@ class CustomerModule extends _BaseModule.BaseModule {
260
284
  getCustomers() {
261
285
  return [...this.store.customerList];
262
286
  }
263
-
264
287
  /**
265
288
  * 根据ID查找客户
266
289
  * @param id 客户ID
267
290
  * @returns 客户信息
268
291
  */
269
292
  getCustomerById(id) {
270
- return this.store.customerList.find(customer => customer.id === id) || null;
293
+ return this.store.customerList.find((customer) => customer.id === id) || null;
271
294
  }
272
-
273
295
  /**
274
296
  * 清空客户列表
275
297
  */
@@ -278,43 +300,37 @@ class CustomerModule extends _BaseModule.BaseModule {
278
300
  this.store.selectedCustomer = null;
279
301
  this.store.total = 0;
280
302
  this.store.currentPage = 1;
281
- this.store.pageSize = _constants.DEFAULT_PAGE_SIZE;
303
+ this.store.pageSize = import_constants.DEFAULT_PAGE_SIZE;
282
304
  this.store.hasMore = true;
283
305
  this.store.loadingMore = false;
284
306
  this.store.searchParams = {};
285
- this.core.effects.emit(`${this.name}:onCustomerListUpdate`, this.store);
307
+ this.core.effects.emit(
308
+ `${this.name}:onCustomerListUpdate`,
309
+ this.store
310
+ );
286
311
  this.storeChange();
287
312
  }
288
-
289
313
  /**
290
314
  * 添加客户到列表第一位
291
315
  * @param customer 要添加的客户信息
292
316
  */
293
317
  addCustomerToFirst(customer) {
294
- // 深拷贝客户对象以避免引用问题
295
- const newCustomer = (0, _lodashEs.cloneDeep)(customer);
296
-
297
- // 将客户添加到列表第一位
318
+ const newCustomer = (0, import_lodash_es.cloneDeep)(customer);
298
319
  this.store.customerList = [newCustomer, ...this.store.customerList];
299
-
300
- // 更新总数
301
320
  this.store.total += 1;
302
-
303
- // 触发客户列表更新事件
304
- this.core.effects.emit(`${this.name}:onCustomerListUpdate`, this.store);
305
-
306
- // 保存状态变化
321
+ this.core.effects.emit(
322
+ `${this.name}:onCustomerListUpdate`,
323
+ this.store
324
+ );
307
325
  this.storeChange();
308
326
  }
309
-
310
327
  /**
311
328
  * 获取当前状态
312
329
  * @returns 当前状态
313
330
  */
314
331
  getState() {
315
- return (0, _lodashEs.cloneDeep)(this.store);
332
+ return (0, import_lodash_es.cloneDeep)(this.store);
316
333
  }
317
-
318
334
  /**
319
335
  * 获取分页信息
320
336
  * @returns 分页信息
@@ -327,15 +343,16 @@ class CustomerModule extends _BaseModule.BaseModule {
327
343
  totalPages: Math.ceil(this.store.total / this.store.pageSize)
328
344
  };
329
345
  }
330
-
331
346
  /**
332
347
  * 触发分页变化事件
333
348
  * @param pagination 分页信息
334
349
  */
335
350
  triggerPaginationChange(pagination) {
336
- this.core.effects.emit(`${this.name}:onPaginationChange`, pagination);
351
+ this.core.effects.emit(
352
+ `${this.name}:onPaginationChange`,
353
+ pagination
354
+ );
337
355
  }
338
-
339
356
  /**
340
357
  * 设置分页信息
341
358
  * @param page 页码
@@ -345,8 +362,6 @@ class CustomerModule extends _BaseModule.BaseModule {
345
362
  this.store.currentPage = page;
346
363
  this.store.pageSize = pageSize;
347
364
  this.storeChange();
348
-
349
- // 触发分页变化事件
350
365
  this.triggerPaginationChange({
351
366
  page,
352
367
  pageSize,
@@ -354,7 +369,6 @@ class CustomerModule extends _BaseModule.BaseModule {
354
369
  totalPages: Math.ceil(this.store.total / pageSize)
355
370
  });
356
371
  }
357
-
358
372
  /**
359
373
  * 便捷方法:切换分页并自动获取数据
360
374
  * @param page 页码
@@ -363,28 +377,21 @@ class CustomerModule extends _BaseModule.BaseModule {
363
377
  */
364
378
  async changeCustomerPage(page, pageSize) {
365
379
  const targetPageSize = pageSize || this.store.pageSize;
366
-
367
- // 先更新分页状态
368
380
  this.setPaginationInfo(page, targetPageSize);
369
-
370
- // skip直接使用page,num使用pageSize
371
381
  const skip = page;
372
382
  const num = targetPageSize;
373
-
374
- // 自动调用获取客户列表,使用存储的搜索条件
375
383
  return await this.getCustomerList({
376
384
  skip,
377
385
  num,
378
- ...this.store.searchParams // 使用存储的搜索条件
386
+ ...this.store.searchParams
387
+ // 使用存储的搜索条件
379
388
  });
380
389
  }
381
-
382
390
  /**
383
391
  * 滚动加载更多客户数据 - 数据会追加到现有列表中
384
392
  * @returns 客户列表响应
385
393
  */
386
394
  async loadMoreCustomers() {
387
- // 如果没有更多数据或正在加载,直接返回
388
395
  if (!this.store.hasMore || this.store.loadingMore) {
389
396
  return {
390
397
  list: [],
@@ -393,46 +400,31 @@ class CustomerModule extends _BaseModule.BaseModule {
393
400
  pageSize: this.store.pageSize
394
401
  };
395
402
  }
396
-
397
- // 计算下一页
398
403
  const nextPage = this.store.currentPage + 1;
399
404
  try {
400
405
  this.store.loadingMore = true;
401
406
  this.store.error = null;
402
-
403
- // 使用公共方法获取数据,传入存储的搜索条件
404
- const {
405
- customerList: newCustomers,
406
- total,
407
- page,
408
- pageSize
409
- } = await this.fetchCustomerListData({
407
+ const loadMoreParams = {
410
408
  skip: nextPage,
411
409
  num: this.store.pageSize,
412
- ...this.store.searchParams // 使用存储的搜索条件
413
- });
414
-
415
- // 将新数据追加到现有列表(追加模式)
416
- const updatedCustomerList = [...this.store.customerList, ...(0, _lodashEs.cloneDeep)(newCustomers)];
417
-
418
- // 更新状态
410
+ ...this.store.searchParams
411
+ // 使用存储的搜索条件
412
+ };
413
+ const { customerList: newCustomers, total, page, pageSize } = await this.fetchCustomerListData(loadMoreParams);
414
+ const updatedCustomerList = [...this.store.customerList, ...(0, import_lodash_es.cloneDeep)(newCustomers)];
419
415
  this.store.customerList = updatedCustomerList;
420
416
  this.store.currentPage = page;
421
417
  this.store.total = total;
422
418
  this.store.hasMore = page * pageSize < total;
423
-
424
- // 触发滚动加载特定事件
425
- await this.core.effects.emit(`${this.name}:onScrollLoadMore`, {
426
- newCustomers,
427
- allCustomers: this.store.customerList,
428
- currentPage: page,
429
- hasMore: this.store.hasMore
430
- });
431
-
432
- // 触发通用更新事件
433
- await this.core.effects.emit(`${this.name}:onCustomerListUpdate`, this.store);
434
-
435
- // 触发分页变化事件
419
+ await this.core.effects.emit(
420
+ `${this.name}:onScrollLoadMore`,
421
+ {
422
+ newCustomers,
423
+ allCustomers: this.store.customerList,
424
+ currentPage: page,
425
+ hasMore: this.store.hasMore
426
+ }
427
+ );
436
428
  this.triggerPaginationChange({
437
429
  page,
438
430
  pageSize,
@@ -448,45 +440,43 @@ class CustomerModule extends _BaseModule.BaseModule {
448
440
  };
449
441
  return response;
450
442
  } catch (error) {
451
- await this.handleCustomerListError(error, 'load more customers');
443
+ await this.handleCustomerListError(error, "load more customers");
452
444
  throw error;
453
445
  } finally {
454
446
  this.store.loadingMore = false;
455
447
  this.storeChange();
448
+ await this.core.effects.emit(
449
+ `${this.name}:onCustomerListUpdate`,
450
+ this.store
451
+ );
456
452
  }
457
453
  }
458
-
459
454
  /**
460
455
  * 重置并重新开始滚动加载
461
456
  * @param params 查询参数
462
457
  * @returns 客户列表响应
463
458
  */
464
459
  async resetAndLoadCustomers(params = {}) {
465
- // 重置状态
466
460
  this.store.customerList = [];
467
461
  this.store.currentPage = 1;
468
462
  this.store.hasMore = true;
469
463
  this.store.loadingMore = false;
470
-
471
- // 使用第一页参数
472
464
  const resetParams = {
473
465
  ...params,
474
466
  skip: 1,
475
467
  num: params.num || this.store.pageSize
476
468
  };
477
-
478
- // 调用普通的获取列表方法
479
469
  const response = await this.getCustomerList(resetParams);
480
-
481
- // 触发滚动加载完成事件
482
- await this.core.effects.emit(`${this.name}:onScrollLoadComplete`, {
483
- customers: this.store.customerList,
484
- total: this.store.total,
485
- hasMore: this.store.hasMore
486
- });
470
+ await this.core.effects.emit(
471
+ `${this.name}:onScrollLoadComplete`,
472
+ {
473
+ customers: this.store.customerList,
474
+ total: this.store.total,
475
+ hasMore: this.store.hasMore
476
+ }
477
+ );
487
478
  return response;
488
479
  }
489
-
490
480
  /**
491
481
  * 检查是否还有更多数据可以加载
492
482
  * @returns 是否还有更多数据
@@ -494,30 +484,30 @@ class CustomerModule extends _BaseModule.BaseModule {
494
484
  hasMoreCustomers() {
495
485
  return this.store.hasMore && !this.store.loadingMore;
496
486
  }
497
-
498
487
  /**
499
488
  * 获取当前的搜索条件
500
489
  * @returns 当前搜索条件
501
490
  */
502
491
  getCurrentSearchParams() {
503
- return (0, _lodashEs.cloneDeep)(this.store.searchParams);
492
+ return (0, import_lodash_es.cloneDeep)(this.store.searchParams);
504
493
  }
505
-
506
494
  /**
507
495
  * 缓存状态变化
508
496
  */
509
497
  storeChange() {
510
498
  if (this.openCache) {
511
- const store = (0, _lodashEs.cloneDeep)(this.store);
499
+ const store = (0, import_lodash_es.cloneDeep)(this.store);
512
500
  this.checkSaveCache({
513
501
  cacheId: this.cacheId,
514
502
  fatherModule: this.fatherModule,
515
503
  store,
516
- cacheKey: ['customerList', 'selectedCustomer', 'total', 'currentPage', 'pageSize', 'hasMore', 'loadingMore', 'searchParams']
504
+ cacheKey: ["customerList", "selectedCustomer", "total", "currentPage", "pageSize", "hasMore", "loadingMore", "searchParams"]
517
505
  });
518
506
  }
519
507
  }
520
- }
521
-
522
- // 导出类型和模块
523
- exports.CustomerModule = CustomerModule;
508
+ };
509
+ // Annotate the CommonJS export names for ESM import in node:
510
+ 0 && (module.exports = {
511
+ CustomerModule,
512
+ ...require("./types")
513
+ });