@pisell/pisellos 0.0.568 → 0.0.570

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 (455) hide show
  1. package/dist/effects/index.d.ts +2 -2
  2. package/dist/model/strategy/adapter/dataVariant/type.d.ts +3 -3
  3. package/dist/model/strategy/adapter/itemRule/type.d.ts +6 -6
  4. package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
  5. package/dist/model/strategy/adapter/promotion/type.d.ts +5 -5
  6. package/dist/model/strategy/adapter/walletPass/utils.js +7 -4
  7. package/dist/model/strategy/type.d.ts +1 -1
  8. package/dist/modules/BaseModule.d.ts +2 -2
  9. package/dist/modules/BaseModule.js +4 -4
  10. package/dist/modules/BookingContext/index.d.ts +48 -0
  11. package/dist/modules/BookingContext/index.js +566 -0
  12. package/dist/modules/BookingContext/types.d.ts +102 -0
  13. package/dist/modules/BookingContext/types.js +51 -0
  14. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  15. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
  16. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  17. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
  18. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  19. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
  20. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  21. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  22. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  23. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  24. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  25. package/dist/modules/BookingContext/utils/index.js +11 -0
  26. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  27. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  28. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  29. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  30. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  31. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  32. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  33. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  34. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  35. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  36. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  37. package/dist/modules/BookingContext/utils/resources.js +486 -0
  38. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  39. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  40. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  41. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  42. package/dist/modules/Cart/utils/cartProduct.js +26 -5
  43. package/dist/modules/Cart/utils/changePrice.js +27 -20
  44. package/dist/modules/Customer/index.d.ts +20 -0
  45. package/dist/modules/Customer/index.js +172 -83
  46. package/dist/modules/Customer/types.d.ts +3 -1
  47. package/dist/modules/Discount/index.d.ts +2 -1
  48. package/dist/modules/Discount/index.js +37 -9
  49. package/dist/modules/Discount/types.d.ts +2 -1
  50. package/dist/modules/Holder/types.d.ts +1 -1
  51. package/dist/modules/OpenData/index.d.ts +8 -0
  52. package/dist/modules/OpenData/index.js +36 -16
  53. package/dist/modules/OpenData/types.d.ts +1 -1
  54. package/dist/modules/Order/index.d.ts +448 -23
  55. package/dist/modules/Order/index.js +5417 -561
  56. package/dist/modules/Order/types.d.ts +693 -88
  57. package/dist/modules/Order/types.js +68 -1
  58. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  59. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  60. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  61. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  62. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  63. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  64. package/dist/modules/Order/utils.d.ts +167 -18
  65. package/dist/modules/Order/utils.js +960 -165
  66. package/dist/modules/Payment/index.d.ts +10 -9
  67. package/dist/modules/Payment/index.js +465 -703
  68. package/dist/modules/Payment/types.d.ts +47 -23
  69. package/dist/modules/Payment/utils.d.ts +1 -1
  70. package/dist/modules/Payment/utils.js +4 -3
  71. package/dist/modules/Payment/walletpass.js +44 -29
  72. package/dist/modules/Product/index.d.ts +1 -1
  73. package/dist/modules/Product/types.d.ts +29 -7
  74. package/dist/modules/ProductList/index.d.ts +17 -13
  75. package/dist/modules/ProductList/index.js +184 -74
  76. package/dist/modules/ProductList/types.d.ts +17 -0
  77. package/dist/modules/Quotation/index.d.ts +22 -2
  78. package/dist/modules/Quotation/index.js +108 -42
  79. package/dist/modules/Quotation/types.d.ts +19 -0
  80. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  81. package/dist/modules/ResourcePlanner/index.js +181 -0
  82. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  83. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  84. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  85. package/dist/modules/ResourcePlanner/types.js +1 -0
  86. package/dist/modules/Rules/index.d.ts +8 -10
  87. package/dist/modules/Rules/index.js +222 -109
  88. package/dist/modules/Rules/types.d.ts +15 -4
  89. package/dist/modules/SalesSummary/index.d.ts +23 -26
  90. package/dist/modules/SalesSummary/index.js +152 -46
  91. package/dist/modules/SalesSummary/types.d.ts +9 -1
  92. package/dist/modules/SalesSummary/utils.d.ts +3 -22
  93. package/dist/modules/SalesSummary/utils.js +803 -163
  94. package/dist/modules/ScanOrderLogger/types.d.ts +2 -2
  95. package/dist/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
  96. package/dist/modules/Schedule/getDateIsInSchedule.js +14 -7
  97. package/dist/modules/Schedule/index.d.ts +18 -5
  98. package/dist/modules/Schedule/index.js +78 -24
  99. package/dist/modules/Schedule/type.d.ts +7 -7
  100. package/dist/modules/Schedule/types.d.ts +11 -9
  101. package/dist/modules/Summary/index.js +4 -3
  102. package/dist/modules/SurchargeList/index.d.ts +18 -0
  103. package/dist/modules/SurchargeList/index.js +185 -0
  104. package/dist/modules/SurchargeList/types.d.ts +15 -0
  105. package/dist/modules/SurchargeList/types.js +1 -0
  106. package/dist/modules/index.d.ts +3 -0
  107. package/dist/modules/index.js +4 -1
  108. package/dist/plugins/app.d.ts +2 -0
  109. package/dist/plugins/request.d.ts +3 -2
  110. package/dist/server/index.d.ts +462 -8
  111. package/dist/server/index.js +6112 -656
  112. package/dist/server/modules/floor-plan/index.d.ts +39 -0
  113. package/dist/server/modules/floor-plan/index.js +595 -0
  114. package/dist/server/modules/floor-plan/types.d.ts +43 -0
  115. package/dist/server/modules/floor-plan/types.js +13 -0
  116. package/dist/server/modules/index.d.ts +7 -2
  117. package/dist/server/modules/index.js +6 -0
  118. package/dist/server/modules/menu/types.d.ts +1 -1
  119. package/dist/server/modules/order/index.d.ts +207 -14
  120. package/dist/server/modules/order/index.js +2326 -379
  121. package/dist/server/modules/order/types.d.ts +91 -20
  122. package/dist/server/modules/order/types.js +14 -1
  123. package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
  124. package/dist/server/modules/order/utils/filterBookings.js +118 -11
  125. package/dist/server/modules/order/utils/filterOrders.js +242 -14
  126. package/dist/server/modules/payment/index.d.ts +28 -0
  127. package/dist/server/modules/payment/index.js +305 -0
  128. package/dist/server/modules/payment/types.d.ts +9 -0
  129. package/dist/server/modules/payment/types.js +1 -0
  130. package/dist/server/modules/products/index.d.ts +105 -14
  131. package/dist/server/modules/products/index.js +1393 -516
  132. package/dist/server/modules/products/types.d.ts +35 -2
  133. package/dist/server/modules/products/types.js +4 -0
  134. package/dist/server/modules/quotation/index.d.ts +39 -0
  135. package/dist/server/modules/quotation/index.js +278 -66
  136. package/dist/server/modules/resource/index.d.ts +2 -3
  137. package/dist/server/modules/resource/index.js +108 -86
  138. package/dist/server/modules/resource/types.d.ts +1 -1
  139. package/dist/server/modules/schedule/index.d.ts +6 -4
  140. package/dist/server/modules/schedule/index.js +116 -85
  141. package/dist/server/modules/schedule/utils.d.ts +1 -1
  142. package/dist/server/test.json +713 -0
  143. package/dist/server/types.d.ts +6 -4
  144. package/dist/server/utils/product.js +2 -2
  145. package/dist/server/utils/small-ticket.d.ts +71 -0
  146. package/dist/server/utils/small-ticket.js +963 -0
  147. package/dist/solution/BaseSales/index.d.ts +378 -0
  148. package/dist/solution/BaseSales/index.js +4006 -0
  149. package/dist/solution/BaseSales/types.d.ts +394 -0
  150. package/dist/solution/BaseSales/types.js +40 -0
  151. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  152. package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
  153. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  154. package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
  155. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  156. package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
  157. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  158. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
  159. package/dist/solution/BaseSales/utils.d.ts +40 -0
  160. package/dist/solution/BaseSales/utils.js +263 -0
  161. package/dist/solution/BookingByStep/index.d.ts +2 -2
  162. package/dist/solution/BookingByStep/utils/resources.d.ts +1 -1
  163. package/dist/solution/BookingTicket/index.d.ts +382 -25
  164. package/dist/solution/BookingTicket/index.js +2506 -443
  165. package/dist/solution/BookingTicket/types.d.ts +191 -6
  166. package/dist/solution/BookingTicket/types.js +83 -10
  167. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  168. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  169. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  170. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  171. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  172. package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
  173. package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
  174. package/dist/solution/BookingTicket/utils/cartView.js +209 -0
  175. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  176. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  177. package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  178. package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
  179. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  180. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  181. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  182. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  183. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  184. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +41 -1
  185. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  186. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  187. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  188. package/dist/solution/BookingTicket/utils/scan/handleScan.js +11 -3
  189. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  190. package/dist/solution/BookingTicket/utils/scan/index.js +20 -8
  191. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  192. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  193. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  194. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  195. package/dist/solution/Checkout/index.d.ts +1 -0
  196. package/dist/solution/Checkout/index.js +25 -34
  197. package/dist/solution/Checkout/utils/index.js +4 -4
  198. package/dist/solution/RegisterAndLogin/config.js +2 -10
  199. package/dist/solution/Sales/index.d.ts +50 -5
  200. package/dist/solution/Sales/index.js +484 -92
  201. package/dist/solution/Sales/types.d.ts +29 -5
  202. package/dist/solution/ScanOrder/index.d.ts +27 -21
  203. package/dist/solution/ScanOrder/index.js +499 -434
  204. package/dist/solution/ScanOrder/types.d.ts +38 -16
  205. package/dist/solution/ScanOrder/types.js +4 -5
  206. package/dist/solution/ScanOrder/utils.d.ts +4 -1
  207. package/dist/solution/ScanOrder/utils.js +109 -34
  208. package/dist/solution/ShopDiscount/index.js +4 -4
  209. package/dist/solution/ShopDiscount/types.d.ts +1 -1
  210. package/dist/solution/ShopDiscount/utils.d.ts +2 -2
  211. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  212. package/dist/solution/UnifiedBookingSales/index.js +1871 -0
  213. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  214. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  215. package/dist/solution/VenueBooking/index.d.ts +29 -20
  216. package/dist/solution/VenueBooking/index.js +301 -213
  217. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  218. package/dist/solution/VenueBooking/types.d.ts +1 -1
  219. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  220. package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
  221. package/dist/solution/index.d.ts +2 -0
  222. package/dist/solution/index.js +3 -1
  223. package/dist/types/index.d.ts +12 -2
  224. package/dist/utils/task.d.ts +2 -2
  225. package/dist/utils/watch.d.ts +2 -2
  226. package/lib/effects/index.d.ts +2 -2
  227. package/lib/model/strategy/adapter/dataVariant/type.d.ts +3 -3
  228. package/lib/model/strategy/adapter/itemRule/type.d.ts +6 -6
  229. package/lib/model/strategy/adapter/promotion/evaluator.js +3 -2
  230. package/lib/model/strategy/adapter/promotion/type.d.ts +5 -5
  231. package/lib/model/strategy/adapter/walletPass/utils.js +6 -4
  232. package/lib/model/strategy/type.d.ts +1 -1
  233. package/lib/modules/BaseModule.d.ts +2 -2
  234. package/lib/modules/BaseModule.js +4 -4
  235. package/lib/modules/BookingContext/index.d.ts +48 -0
  236. package/lib/modules/BookingContext/index.js +390 -0
  237. package/lib/modules/BookingContext/types.d.ts +102 -0
  238. package/lib/modules/BookingContext/types.js +48 -0
  239. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  240. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +286 -0
  241. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  242. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
  243. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  244. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +242 -0
  245. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  246. package/lib/modules/BookingContext/utils/flexible.js +63 -0
  247. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  248. package/lib/modules/BookingContext/utils/formatResourceList.js +35 -0
  249. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  250. package/lib/modules/BookingContext/utils/index.js +126 -0
  251. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  252. package/lib/modules/BookingContext/utils/noResource.js +78 -0
  253. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  254. package/lib/modules/BookingContext/utils/orderLineDisplay.js +29 -0
  255. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  256. package/lib/modules/BookingContext/utils/productExtend.js +330 -0
  257. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  258. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  259. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  260. package/lib/modules/BookingContext/utils/resourceSelection.js +24 -0
  261. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  262. package/lib/modules/BookingContext/utils/resources.js +419 -0
  263. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  264. package/lib/modules/BookingContext/utils/serviceTimes.js +161 -0
  265. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  266. package/lib/modules/BookingContext/utils/timeSlices.js +114 -0
  267. package/lib/modules/Cart/utils/cartProduct.js +27 -5
  268. package/lib/modules/Cart/utils/changePrice.js +20 -14
  269. package/lib/modules/Customer/index.d.ts +20 -0
  270. package/lib/modules/Customer/index.js +63 -10
  271. package/lib/modules/Customer/types.d.ts +3 -1
  272. package/lib/modules/Discount/index.d.ts +2 -1
  273. package/lib/modules/Discount/index.js +18 -2
  274. package/lib/modules/Discount/types.d.ts +2 -1
  275. package/lib/modules/Holder/types.d.ts +1 -1
  276. package/lib/modules/OpenData/index.d.ts +8 -0
  277. package/lib/modules/OpenData/index.js +21 -3
  278. package/lib/modules/OpenData/types.d.ts +1 -1
  279. package/lib/modules/Order/index.d.ts +448 -23
  280. package/lib/modules/Order/index.js +3641 -308
  281. package/lib/modules/Order/types.d.ts +693 -88
  282. package/lib/modules/Order/types.js +55 -1
  283. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  284. package/lib/modules/Order/utils/bundleDiscountHydration.js +106 -0
  285. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  286. package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
  287. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  288. package/lib/modules/Order/utils/orderCollectionIdentity.js +353 -0
  289. package/lib/modules/Order/utils.d.ts +167 -18
  290. package/lib/modules/Order/utils.js +974 -138
  291. package/lib/modules/Payment/index.d.ts +10 -9
  292. package/lib/modules/Payment/index.js +30 -124
  293. package/lib/modules/Payment/types.d.ts +47 -23
  294. package/lib/modules/Payment/utils.d.ts +1 -1
  295. package/lib/modules/Payment/utils.js +4 -3
  296. package/lib/modules/Payment/walletpass.js +16 -6
  297. package/lib/modules/Product/index.d.ts +1 -1
  298. package/lib/modules/Product/types.d.ts +29 -7
  299. package/lib/modules/ProductList/index.d.ts +17 -13
  300. package/lib/modules/ProductList/index.js +92 -51
  301. package/lib/modules/ProductList/types.d.ts +17 -0
  302. package/lib/modules/Quotation/index.d.ts +22 -2
  303. package/lib/modules/Quotation/index.js +76 -20
  304. package/lib/modules/Quotation/types.d.ts +19 -0
  305. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  306. package/lib/modules/ResourcePlanner/index.js +147 -0
  307. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  308. package/lib/modules/ResourcePlanner/planner.js +895 -0
  309. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  310. package/lib/modules/ResourcePlanner/types.js +5 -0
  311. package/lib/modules/Rules/index.d.ts +8 -10
  312. package/lib/modules/Rules/index.js +153 -61
  313. package/lib/modules/Rules/types.d.ts +15 -4
  314. package/lib/modules/SalesSummary/index.d.ts +23 -26
  315. package/lib/modules/SalesSummary/index.js +84 -16
  316. package/lib/modules/SalesSummary/types.d.ts +9 -1
  317. package/lib/modules/SalesSummary/utils.d.ts +3 -22
  318. package/lib/modules/SalesSummary/utils.js +616 -111
  319. package/lib/modules/ScanOrderLogger/types.d.ts +2 -2
  320. package/lib/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
  321. package/lib/modules/Schedule/getDateIsInSchedule.js +14 -7
  322. package/lib/modules/Schedule/index.d.ts +18 -5
  323. package/lib/modules/Schedule/index.js +49 -14
  324. package/lib/modules/Schedule/type.d.ts +7 -7
  325. package/lib/modules/Schedule/types.d.ts +11 -9
  326. package/lib/modules/Summary/index.js +2 -2
  327. package/lib/modules/SurchargeList/index.d.ts +18 -0
  328. package/lib/modules/SurchargeList/index.js +95 -0
  329. package/lib/modules/SurchargeList/types.d.ts +15 -0
  330. package/lib/modules/SurchargeList/types.js +5 -0
  331. package/lib/modules/index.d.ts +3 -0
  332. package/lib/modules/index.js +33 -0
  333. package/lib/plugins/app.d.ts +2 -0
  334. package/lib/plugins/request.d.ts +3 -2
  335. package/lib/server/index.d.ts +462 -8
  336. package/lib/server/index.js +3901 -205
  337. package/lib/server/modules/floor-plan/index.d.ts +39 -0
  338. package/lib/server/modules/floor-plan/index.js +306 -0
  339. package/lib/server/modules/floor-plan/types.d.ts +43 -0
  340. package/lib/server/modules/floor-plan/types.js +19 -0
  341. package/lib/server/modules/index.d.ts +7 -2
  342. package/lib/server/modules/index.js +21 -0
  343. package/lib/server/modules/menu/types.d.ts +1 -1
  344. package/lib/server/modules/order/index.d.ts +207 -14
  345. package/lib/server/modules/order/index.js +1324 -141
  346. package/lib/server/modules/order/types.d.ts +91 -20
  347. package/lib/server/modules/order/types.js +11 -1
  348. package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
  349. package/lib/server/modules/order/utils/filterBookings.js +119 -11
  350. package/lib/server/modules/order/utils/filterOrders.js +238 -13
  351. package/lib/server/modules/payment/index.d.ts +28 -0
  352. package/lib/server/modules/payment/index.js +168 -0
  353. package/lib/server/modules/payment/types.d.ts +9 -0
  354. package/lib/server/modules/payment/types.js +5 -0
  355. package/lib/server/modules/products/index.d.ts +105 -14
  356. package/lib/server/modules/products/index.js +588 -97
  357. package/lib/server/modules/products/types.d.ts +35 -2
  358. package/lib/server/modules/products/types.js +3 -0
  359. package/lib/server/modules/quotation/index.d.ts +39 -0
  360. package/lib/server/modules/quotation/index.js +145 -1
  361. package/lib/server/modules/resource/index.d.ts +2 -3
  362. package/lib/server/modules/resource/index.js +71 -45
  363. package/lib/server/modules/resource/types.d.ts +1 -1
  364. package/lib/server/modules/schedule/index.d.ts +6 -4
  365. package/lib/server/modules/schedule/index.js +55 -44
  366. package/lib/server/modules/schedule/utils.d.ts +1 -1
  367. package/lib/server/test.json +713 -0
  368. package/lib/server/types.d.ts +6 -4
  369. package/lib/server/utils/product.js +2 -2
  370. package/lib/server/utils/small-ticket.d.ts +71 -0
  371. package/lib/server/utils/small-ticket.js +926 -0
  372. package/lib/solution/BaseSales/index.d.ts +378 -0
  373. package/lib/solution/BaseSales/index.js +2367 -0
  374. package/lib/solution/BaseSales/types.d.ts +394 -0
  375. package/lib/solution/BaseSales/types.js +47 -0
  376. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  377. package/lib/solution/BaseSales/utils/cartPromotion.js +1155 -0
  378. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  379. package/lib/solution/BaseSales/utils/parseSalesResponse.js +140 -0
  380. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  381. package/lib/solution/BaseSales/utils/quotationPrice.js +231 -0
  382. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  383. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +215 -0
  384. package/lib/solution/BaseSales/utils.d.ts +40 -0
  385. package/lib/solution/BaseSales/utils.js +259 -0
  386. package/lib/solution/BookingByStep/index.d.ts +2 -2
  387. package/lib/solution/BookingByStep/utils/resources.d.ts +1 -1
  388. package/lib/solution/BookingTicket/index.d.ts +382 -25
  389. package/lib/solution/BookingTicket/index.js +1350 -76
  390. package/lib/solution/BookingTicket/types.d.ts +191 -6
  391. package/lib/solution/BookingTicket/types.js +71 -10
  392. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  393. package/lib/solution/BookingTicket/utils/addProductDecision.js +353 -0
  394. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  395. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +94 -0
  396. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  397. package/lib/solution/BookingTicket/utils/bookingStatus.js +136 -0
  398. package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
  399. package/lib/solution/BookingTicket/utils/cartView.js +200 -0
  400. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  401. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  402. package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  403. package/lib/solution/BookingTicket/utils/orderCustomer.js +35 -0
  404. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  405. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +387 -0
  406. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  407. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +220 -0
  408. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  409. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +24 -3
  410. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  411. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +64 -0
  412. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  413. package/lib/solution/BookingTicket/utils/scan/handleScan.js +4 -2
  414. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  415. package/lib/solution/BookingTicket/utils/scan/index.js +14 -2
  416. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  417. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +115 -0
  418. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  419. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +83 -0
  420. package/lib/solution/Checkout/index.d.ts +1 -0
  421. package/lib/solution/Checkout/index.js +18 -19
  422. package/lib/solution/Checkout/utils/index.js +4 -4
  423. package/lib/solution/RegisterAndLogin/config.js +2 -10
  424. package/lib/solution/Sales/index.d.ts +50 -5
  425. package/lib/solution/Sales/index.js +296 -39
  426. package/lib/solution/Sales/types.d.ts +29 -5
  427. package/lib/solution/ScanOrder/index.d.ts +27 -21
  428. package/lib/solution/ScanOrder/index.js +144 -103
  429. package/lib/solution/ScanOrder/types.d.ts +38 -16
  430. package/lib/solution/ScanOrder/types.js +4 -5
  431. package/lib/solution/ScanOrder/utils.d.ts +4 -1
  432. package/lib/solution/ScanOrder/utils.js +98 -26
  433. package/lib/solution/ShopDiscount/index.js +3 -3
  434. package/lib/solution/ShopDiscount/types.d.ts +1 -1
  435. package/lib/solution/ShopDiscount/utils.d.ts +2 -2
  436. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  437. package/lib/solution/UnifiedBookingSales/index.js +1050 -0
  438. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  439. package/lib/solution/UnifiedBookingSales/types.js +14 -0
  440. package/lib/solution/VenueBooking/index.d.ts +29 -20
  441. package/lib/solution/VenueBooking/index.js +169 -94
  442. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  443. package/lib/solution/VenueBooking/types.d.ts +1 -1
  444. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  445. package/lib/solution/VenueBooking/utils/slotMerge.js +9 -3
  446. package/lib/solution/index.d.ts +2 -0
  447. package/lib/solution/index.js +22 -0
  448. package/lib/types/index.d.ts +12 -2
  449. package/lib/utils/task.d.ts +2 -2
  450. package/lib/utils/watch.d.ts +2 -2
  451. package/package.json +18 -19
  452. package/dist/model/strategy/adapter/promotion/index.d.ts +0 -4
  453. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  454. package/lib/model/strategy/adapter/promotion/index.d.ts +0 -4
  455. package/lib/solution/Checkout/appointmentDemo.json +0 -1
@@ -1,5 +1,5 @@
1
- export type ScanOrderLogLevel = 'info' | 'warning' | 'error' | 'debug';
2
- export type ScanOrderLoggerProviderType = 'feishu' | 'grafana';
1
+ export declare type ScanOrderLogLevel = 'info' | 'warning' | 'error' | 'debug';
2
+ export declare type ScanOrderLoggerProviderType = 'feishu' | 'grafana';
3
3
  export interface ScanOrderLoggerProviderFeishuConfig {
4
4
  webhook?: string;
5
5
  errorHook?: string;
@@ -1,7 +1,7 @@
1
1
  import dayjs from "dayjs";
2
2
  import { ScheduleItem } from "./types";
3
3
  export declare const getDateIsInSchedule: (dateTime: string, scheduleList: ScheduleItem[]) => boolean;
4
- export type ScheduleTimeSlot = {
4
+ export declare type ScheduleTimeSlot = {
5
5
  /** 开始时间 HH:mm */
6
6
  start_time: string;
7
7
  /** 结束时间 HH:mm */
@@ -73,13 +73,19 @@ const isInTimeSlotsSchedule = (targetDate, targetDateString, targetTimeString, s
73
73
  return false;
74
74
  }
75
75
  const scheduleStartDate = (0, _dayjs.default)(schedule.start_time.split(' ')[0]);
76
+
77
+ // 检查日期是否在日程的有效范围内(包含 daily / weekly 重复规则)
76
78
  if (!isDateInTimeSlotsSchedule(targetDate, schedule, scheduleStartDate)) {
77
79
  return false;
78
80
  }
81
+
82
+ // 检查是否在任一时间段内
79
83
  for (const timeSlot of schedule.time_slot) {
80
- const slotStart = (0, _dayjs.default)(`${targetDateString} ${timeSlot.start_time}:00`);
81
- const slotEnd = (0, _dayjs.default)(`${targetDateString} ${timeSlot.end_time}:00`);
82
- if (targetDate.isSameOrAfter(slotStart) && targetDate.isBefore(slotEnd)) {
84
+ const slotStart = `${targetDateString} ${timeSlot.start_time}:00`;
85
+ const slotEnd = `${targetDateString} ${timeSlot.end_time}:00`;
86
+ const slotStartDate = (0, _dayjs.default)(slotStart);
87
+ const slotEndDate = (0, _dayjs.default)(slotEnd);
88
+ if (targetDate.isSameOrAfter(slotStartDate) && targetDate.isSameOrBefore(slotEndDate)) {
83
89
  return true;
84
90
  }
85
91
  }
@@ -98,7 +104,7 @@ const isInDesignationSchedule = (targetDate, targetDateString, targetTimeString,
98
104
  const endDateTime = `${designation.end_date} ${designation.end_time}:00`;
99
105
  const startDate = (0, _dayjs.default)(startDateTime);
100
106
  const endDate = (0, _dayjs.default)(endDateTime);
101
- if (targetDate.isSameOrAfter(startDate) && targetDate.isBefore(endDate)) {
107
+ if (targetDate.isSameOrAfter(startDate) && targetDate.isSameOrBefore(endDate)) {
102
108
  return true;
103
109
  }
104
110
  }
@@ -175,8 +181,9 @@ const isInDailyRepeat = (targetDate, startDate, endDate, repeatRule) => {
175
181
  const startTimeOfDay = startDate.hour() * 3600 + startDate.minute() * 60 + startDate.second();
176
182
  const endTimeOfDay = endDate.hour() * 3600 + endDate.minute() * 60 + endDate.second();
177
183
 
178
- // 每日重复:每天都在相同的时间段内有效 [start, end)
179
- return targetTimeOfDay >= startTimeOfDay && targetTimeOfDay < endTimeOfDay;
184
+ // 每日重复:每天都在相同的时间段内有效
185
+ // 例如:01:00:00 - 16:00:00,每天都是这个时间段
186
+ return targetTimeOfDay >= startTimeOfDay && targetTimeOfDay <= endTimeOfDay;
180
187
  };
181
188
 
182
189
  // 每周重复逻辑
@@ -203,7 +210,7 @@ const isInWeeklyRepeat = (targetDate, startDate, endDate, repeatRule) => {
203
210
  const targetTimeOfDay = targetDate.hour() * 3600 + targetDate.minute() * 60 + targetDate.second();
204
211
  const startTimeOfDay = startDate.hour() * 3600 + startDate.minute() * 60 + startDate.second();
205
212
  const endTimeOfDay = endDate.hour() * 3600 + endDate.minute() * 60 + endDate.second();
206
- return targetTimeOfDay >= startTimeOfDay && targetTimeOfDay < endTimeOfDay;
213
+ return targetTimeOfDay >= startTimeOfDay && targetTimeOfDay <= endTimeOfDay;
207
214
  };
208
215
 
209
216
  // 日程时间段类型
@@ -9,15 +9,28 @@ export declare class ScheduleModule extends BaseModule implements Module, Schedu
9
9
  private cacheId;
10
10
  private openCache;
11
11
  private fatherModule;
12
+ private hasLoadedScheduleList;
12
13
  constructor(name?: string, version?: string);
13
14
  initialize(core: PisellCore, options: ModuleOptions): Promise<void>;
15
+ /**
16
+ * 更新父级解决方案透传的运行态参数,并刷新 schedule 缓存写入配置。
17
+ *
18
+ * @example
19
+ * scheduleModule.updateOtherParams({ openCache: true, cacheId: 'cache-2' });
20
+ */
21
+ updateOtherParams(params: Record<string, any>): void;
14
22
  /**
15
23
  * 加载当前店铺下所有 schedule
16
24
  *
17
25
  * @memberof ScheduleModule
18
26
  */
19
- loadAllSchedule(): Promise<void>;
27
+ loadAllSchedule(options?: {
28
+ useCache?: boolean;
29
+ }): Promise<void>;
20
30
  setScheduleList(list: ScheduleItem[]): void;
31
+ private syncScheduleMap;
32
+ getScheduleList(): ScheduleItem[];
33
+ isScheduleListLoaded(): boolean;
21
34
  loadScheduleAvailableDate({ startDate, endDate, custom_page_id, channel, }: LoadScheduleAvailableDateParams): Promise<import("../Date/types").ITime[]>;
22
35
  getScheduleListByIds(ids: number[]): ScheduleItem[];
23
36
  setAvailabilityScheduleDateList(list: ScheduleAvailabilityDateItem[]): void;
@@ -35,10 +48,10 @@ export declare class ScheduleModule extends BaseModule implements Module, Schedu
35
48
  schedule: any;
36
49
  }): boolean;
37
50
  /**
38
- * 传入一个时间, 判断改时间是否在schedule 内
39
- * @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
40
- * @returns
41
- */
51
+ * 传入一个时间, 判断改时间是否在schedule 内
52
+ * @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
53
+ * @returns
54
+ */
42
55
  static isInScheduleByDate({ date, schedule, }: {
43
56
  date: string;
44
57
  schedule: any;
@@ -23,6 +23,7 @@ class ScheduleModule extends _BaseModule.BaseModule {
23
23
  cacheId;
24
24
  openCache = false;
25
25
  fatherModule;
26
+ hasLoadedScheduleList = false;
26
27
  constructor(name, version) {
27
28
  super(name, version);
28
29
  }
@@ -41,10 +42,14 @@ class ScheduleModule extends _BaseModule.BaseModule {
41
42
  this.store = options?.store;
42
43
  if (options.initialState) {
43
44
  this.store.scheduleList = options.initialState.scheduleList;
45
+ this.syncScheduleMap();
44
46
  this.store.availabilityDateList = options.initialState.availabilityDateList;
47
+ this.hasLoadedScheduleList = Array.isArray(options.initialState.scheduleList);
45
48
  } else {
46
49
  this.store.scheduleList = [];
50
+ this.store.map = new Map();
47
51
  this.store.availabilityDateList = [];
52
+ this.hasLoadedScheduleList = false;
48
53
  }
49
54
  if (options.otherParams?.cacheId) {
50
55
  this.openCache = options.otherParams.openCache;
@@ -55,21 +60,45 @@ class ScheduleModule extends _BaseModule.BaseModule {
55
60
  }
56
61
  }
57
62
 
63
+ /**
64
+ * 更新父级解决方案透传的运行态参数,并刷新 schedule 缓存写入配置。
65
+ *
66
+ * @example
67
+ * scheduleModule.updateOtherParams({ openCache: true, cacheId: 'cache-2' });
68
+ */
69
+ updateOtherParams(params) {
70
+ const otherParams = params || {};
71
+ this.openCache = otherParams.openCache ?? false;
72
+ this.cacheId = otherParams.cacheId;
73
+ this.fatherModule = otherParams.fatherModule;
74
+ }
75
+
58
76
  /**
59
77
  * 加载当前店铺下所有 schedule
60
78
  *
61
79
  * @memberof ScheduleModule
62
80
  */
63
- async loadAllSchedule() {
81
+ async loadAllSchedule(options = {}) {
64
82
  const scheduleList = await this.request.get(`/schedule`, {
65
83
  num: 999
66
84
  }, {
67
- useCache: true
85
+ useCache: options.useCache ?? true
68
86
  });
69
87
  this.setScheduleList(scheduleList.data?.list || []);
70
88
  }
71
89
  setScheduleList(list) {
72
90
  this.store.scheduleList = list;
91
+ this.syncScheduleMap();
92
+ this.hasLoadedScheduleList = true;
93
+ }
94
+ syncScheduleMap() {
95
+ this.store.map = new Map((this.store.scheduleList || []).map(schedule => [Number(schedule.id), schedule]));
96
+ }
97
+ getScheduleList() {
98
+ return this.store.scheduleList || [];
99
+ }
100
+ isScheduleListLoaded() {
101
+ return this.hasLoadedScheduleList;
73
102
  }
74
103
  async loadScheduleAvailableDate({
75
104
  startDate,
@@ -94,19 +123,22 @@ class ScheduleModule extends _BaseModule.BaseModule {
94
123
  custom_page_id,
95
124
  channel
96
125
  });
97
- this.setAvailabilityScheduleDateList(res.data.date_list);
98
- this.setOtherProductsIds(res.data.other_product_ids || []);
126
+ const responseData = res.data || {};
127
+ const dateList = Array.isArray(responseData.date_list) ? responseData.date_list : [];
128
+ const otherProductIds = Array.isArray(responseData.other_product_ids) ? responseData.other_product_ids : [];
129
+ this.setAvailabilityScheduleDateList(dateList);
130
+ this.setOtherProductsIds(otherProductIds);
99
131
  // 如果没有schedule或者结束日期在今天之前,则所有日期均不可用
100
- if (!res.data.date_list?.length && !res.data.other_product_ids?.length || (0, _dayjs.default)(endDate).isBefore((0, _dayjs.default)(), 'day')) {
132
+ if (!dateList.length && !otherProductIds.length || (0, _dayjs.default)(endDate).isBefore((0, _dayjs.default)(), 'day')) {
101
133
  return dates;
102
134
  }
103
- if (res.data.other_product_ids?.length) {
135
+ if (otherProductIds.length) {
104
136
  // 如果后端有返回 other_product_ids ,意味着有 duration 商品,则今天以及今天以后的日期均可用
105
137
  dates.forEach(n => {
106
138
  n.status = 'available';
107
139
  });
108
140
  } else {
109
- res.data.date_list.forEach(n => {
141
+ dateList.forEach(n => {
110
142
  const index = dates.findIndex(m => m.date === n.date);
111
143
  if (index !== -1) {
112
144
  dates[index].status = 'available';
@@ -117,7 +149,12 @@ class ScheduleModule extends _BaseModule.BaseModule {
117
149
  return dates;
118
150
  }
119
151
  getScheduleListByIds(ids) {
120
- return (this.store.scheduleList || []).filter(n => ids.includes(n.id));
152
+ const idSet = new Set(ids.map(id => String(id)));
153
+ if (this.store.map instanceof Map && this.store.map.size > 0) {
154
+ return ids.map(id => this.store.map.get(Number(id))).filter(Boolean);
155
+ }
156
+ const list = this.store.scheduleList?.filter(n => idSet.has(String(n.id)));
157
+ return list;
121
158
  }
122
159
  setAvailabilityScheduleDateList(list) {
123
160
  this.store.availabilityDateList = list;
@@ -143,7 +180,6 @@ class ScheduleModule extends _BaseModule.BaseModule {
143
180
  });
144
181
  }
145
182
  }
146
-
147
183
  /**
148
184
  * 传入一个时间, 判断改时间是否在schedule 内
149
185
  * @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
@@ -155,12 +191,11 @@ class ScheduleModule extends _BaseModule.BaseModule {
155
191
  }) {
156
192
  return (0, _getDateIsInSchedule.getDateIsInSchedule)(date, [schedule]);
157
193
  }
158
-
159
194
  /**
160
- * 传入一个时间, 判断改时间是否在schedule 内
161
- * @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
162
- * @returns
163
- */
195
+ * 传入一个时间, 判断改时间是否在schedule 内
196
+ * @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
197
+ * @returns
198
+ */
164
199
  static isInScheduleByDate({
165
200
  date,
166
201
  schedule
@@ -1,4 +1,4 @@
1
- export type ScheduleItem = {
1
+ export declare type ScheduleItem = {
2
2
  /** 颜色 */
3
3
  color: string;
4
4
  /** 创建时间 */
@@ -65,7 +65,7 @@ export type ScheduleItem = {
65
65
  schedule_id: number;
66
66
  }[];
67
67
  };
68
- export type ScheduleFormOtherValue = {
68
+ export declare type ScheduleFormOtherValue = {
69
69
  /** 截止模式
70
70
  * 1: 永不截止
71
71
  * 2: 按日期截止
@@ -79,11 +79,11 @@ export type ScheduleFormOtherValue = {
79
79
  includeStatus: boolean;
80
80
  type: 'standard' | 'time-slots' | 'designation';
81
81
  };
82
- export type ExcIncDate = {
82
+ export declare type ExcIncDate = {
83
83
  start: string;
84
84
  end: string;
85
85
  };
86
- export type ScheduleFormData = {
86
+ export declare type ScheduleFormData = {
87
87
  /** 颜色 */
88
88
  color: string;
89
89
  /** 日程名称 */
@@ -131,20 +131,20 @@ export type ScheduleFormData = {
131
131
  start_time: any;
132
132
  end_time: any;
133
133
  };
134
- export type CalendarDataItem = {
134
+ export declare type CalendarDataItem = {
135
135
  date: string;
136
136
  color: string[];
137
137
  isExcluded: boolean;
138
138
  schedule_ids?: number[];
139
139
  [key: string]: any;
140
140
  };
141
- export type RequestData<Data> = {
141
+ export declare type RequestData<Data> = {
142
142
  data: Data;
143
143
  status: boolean;
144
144
  message: string;
145
145
  code: number;
146
146
  };
147
- export type ResponseListData<Data> = {
147
+ export declare type ResponseListData<Data> = {
148
148
  status: boolean;
149
149
  message: string;
150
150
  code: number;
@@ -6,7 +6,7 @@ export interface ScheduleState {
6
6
  availabilityDateList: ScheduleAvailabilityDateItem[];
7
7
  otherProductsIds: number[];
8
8
  }
9
- export type ScheduleAvailabilityDateItem = {
9
+ export declare type ScheduleAvailabilityDateItem = {
10
10
  date: string;
11
11
  schedule_id: number[];
12
12
  product_ids: number[];
@@ -25,8 +25,10 @@ export interface LoadScheduleAvailableDateParams {
25
25
  channel?: string;
26
26
  }
27
27
  export interface ScheduleModuleAPI {
28
+ getScheduleList: () => ScheduleItem[];
29
+ isScheduleListLoaded: () => boolean;
28
30
  }
29
- export type ScheduleItem = {
31
+ export declare type ScheduleItem = {
30
32
  /** 颜色 */
31
33
  color: string;
32
34
  /** 创建时间 */
@@ -93,7 +95,7 @@ export type ScheduleItem = {
93
95
  schedule_id: number;
94
96
  }[];
95
97
  };
96
- export type ScheduleFormOtherValue = {
98
+ export declare type ScheduleFormOtherValue = {
97
99
  /** 截止模式
98
100
  * 1: 永不截止
99
101
  * 2: 按日期截止
@@ -107,11 +109,11 @@ export type ScheduleFormOtherValue = {
107
109
  includeStatus: boolean;
108
110
  type: 'standard' | 'time-slots' | 'designation';
109
111
  };
110
- export type ExcIncDate = {
112
+ export declare type ExcIncDate = {
111
113
  start: string;
112
114
  end: string;
113
115
  };
114
- export type ScheduleFormData = {
116
+ export declare type ScheduleFormData = {
115
117
  /** 颜色 */
116
118
  color: string;
117
119
  /** 日程名称 */
@@ -159,20 +161,20 @@ export type ScheduleFormData = {
159
161
  start_time: any;
160
162
  end_time: any;
161
163
  };
162
- export type CalendarDataItem = {
164
+ export declare type CalendarDataItem = {
163
165
  date: string;
164
166
  color: string[];
165
167
  isExcluded: boolean;
166
168
  schedule_ids?: number[];
167
169
  [key: string]: any;
168
170
  };
169
- export type RequestData<Data> = {
171
+ export declare type RequestData<Data> = {
170
172
  data: Data;
171
173
  status: boolean;
172
174
  message: string;
173
175
  code: number;
174
176
  };
175
- export type ResponseListData<Data> = {
177
+ export declare type ResponseListData<Data> = {
176
178
  status: boolean;
177
179
  message: string;
178
180
  code: number;
@@ -183,7 +185,7 @@ export type ResponseListData<Data> = {
183
185
  skip: number;
184
186
  };
185
187
  };
186
- export type ScheduleAllMap = Record<string, {
188
+ export declare type ScheduleAllMap = Record<string, {
187
189
  minTime: dayjs.Dayjs | null;
188
190
  maxTime: dayjs.Dayjs | null;
189
191
  minTimeStr: string | null;
@@ -55,7 +55,7 @@ class SummaryModule extends _BaseModule.BaseModule {
55
55
  async getSummary(cartItems) {
56
56
  const shopInfo = this.shopStore.get('core')?.core?.shop || {};
57
57
  const scheduleModule = this.core.getModule('appointmentBooking_schedule');
58
- const needScheduleIds = (this.store.surchargeList || []).map(item => item.available_schedule_ids).flat();
58
+ const needScheduleIds = this.store.surchargeList?.map(item => item.available_schedule_ids).flat();
59
59
  const scheduleList = scheduleModule?.getScheduleListByIds(needScheduleIds);
60
60
  const scheduleById = {};
61
61
  if (Array.isArray(scheduleList)) {
@@ -104,7 +104,7 @@ class SummaryModule extends _BaseModule.BaseModule {
104
104
  getSurchargeforUtils(items) {
105
105
  // const surchargeList = this.store.surchargeList;
106
106
  const scheduleModule = this.core.getModule('appointmentBooking_schedule');
107
- const needScheduleIds = (this.store.surchargeList || []).map(item => item.available_schedule_ids).flat();
107
+ const needScheduleIds = this.store.surchargeList?.map(item => item.available_schedule_ids).flat();
108
108
  const scheduleList = scheduleModule?.getScheduleListByIds(needScheduleIds);
109
109
  const scheduleById = {};
110
110
  if (Array.isArray(scheduleList)) {
@@ -0,0 +1,18 @@
1
+ import { Module, ModuleOptions, PisellCore } from '../../types';
2
+ import { BaseModule } from '../BaseModule';
3
+ import { SurchargeListItem, SurchargeListModuleAPI, SurchargeListQuery } from './types';
4
+ export * from './types';
5
+ export declare class SurchargeListModule extends BaseModule implements Module, SurchargeListModuleAPI {
6
+ protected defaultName: string;
7
+ protected defaultVersion: string;
8
+ private request;
9
+ private store;
10
+ private loadingPromises;
11
+ private requestVersion;
12
+ constructor(name?: string, version?: string);
13
+ initialize(core: PisellCore, options: ModuleOptions): Promise<void>;
14
+ private resolveChannel;
15
+ getSurchargeList(query?: SurchargeListQuery): Promise<SurchargeListItem[]>;
16
+ refreshSurchargeList(query?: SurchargeListQuery): Promise<SurchargeListItem[]>;
17
+ private loadSurchargeList;
18
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ SurchargeListModule: true
8
+ };
9
+ exports.SurchargeListModule = void 0;
10
+ var _BaseModule = require("../BaseModule");
11
+ var _types = require("./types");
12
+ Object.keys(_types).forEach(function (key) {
13
+ if (key === "default" || key === "__esModule") return;
14
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
15
+ if (key in exports && exports[key] === _types[key]) return;
16
+ Object.defineProperty(exports, key, {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _types[key];
20
+ }
21
+ });
22
+ });
23
+ const DEFAULT_SURCHARGE_CHANNEL = 'online-store';
24
+ class SurchargeListModule extends _BaseModule.BaseModule {
25
+ defaultName = 'surchargeList';
26
+ defaultVersion = '1.0.0';
27
+ request;
28
+ store;
29
+ loadingPromises = new Map();
30
+ requestVersion = 0;
31
+ constructor(name, version) {
32
+ super(name, version);
33
+ }
34
+ async initialize(core, options) {
35
+ this.core = core;
36
+ this.store = options.store;
37
+ this.request = this.core.getPlugin('request');
38
+ const hasInitialSurchargeList = Array.isArray(options.initialState?.surchargeList);
39
+ this.store.surchargeList = hasInitialSurchargeList ? options.initialState?.surchargeList : [];
40
+ this.store.channel = options.initialState?.channel || options.otherParams?.channel || DEFAULT_SURCHARGE_CHANNEL;
41
+ this.store.isLoaded = Boolean(options.initialState?.isLoaded) || hasInitialSurchargeList;
42
+ if (!this.request) {
43
+ throw new Error('SurchargeListModule 需要 request 插件支持');
44
+ }
45
+ }
46
+ resolveChannel(query) {
47
+ return query?.channel || DEFAULT_SURCHARGE_CHANNEL;
48
+ }
49
+ async getSurchargeList(query) {
50
+ const channel = this.resolveChannel(query);
51
+ if (this.store.isLoaded && this.store.channel === channel) {
52
+ return this.store.surchargeList;
53
+ }
54
+ const loadingPromise = this.loadingPromises.get(channel);
55
+ if (loadingPromise) return loadingPromise;
56
+ const nextPromise = this.loadSurchargeList(channel);
57
+ this.loadingPromises.set(channel, nextPromise);
58
+ return nextPromise;
59
+ }
60
+ async refreshSurchargeList(query) {
61
+ const channel = this.resolveChannel(query);
62
+ const nextPromise = this.loadSurchargeList(channel);
63
+ this.loadingPromises.set(channel, nextPromise);
64
+ return nextPromise;
65
+ }
66
+ async loadSurchargeList(channel) {
67
+ const currentRequestVersion = ++this.requestVersion;
68
+ try {
69
+ const surchargeList = await this.request.get('/order/custom-surcharge/available/v2', {
70
+ channel,
71
+ is_assemble_product_data: 1,
72
+ is_assemble_schedule_data: 1,
73
+ with: ['relationSchedule']
74
+ });
75
+ const nextSurchargeList = surchargeList?.data || [];
76
+ if (currentRequestVersion === this.requestVersion) {
77
+ this.store.surchargeList = nextSurchargeList;
78
+ this.store.channel = channel;
79
+ this.store.isLoaded = true;
80
+ }
81
+ return nextSurchargeList;
82
+ } catch (error) {
83
+ console.warn('[SurchargeListModule] 加载附加费配置失败', error);
84
+ if (currentRequestVersion === this.requestVersion) {
85
+ this.store.surchargeList = [];
86
+ this.store.channel = channel;
87
+ this.store.isLoaded = true;
88
+ }
89
+ return [];
90
+ } finally {
91
+ this.loadingPromises.delete(channel);
92
+ }
93
+ }
94
+ }
95
+ exports.SurchargeListModule = SurchargeListModule;
@@ -0,0 +1,15 @@
1
+ export interface SurchargeListItem {
2
+ [key: string]: any;
3
+ }
4
+ export interface SurchargeListState {
5
+ surchargeList: SurchargeListItem[];
6
+ isLoaded: boolean;
7
+ channel?: string;
8
+ }
9
+ export interface SurchargeListQuery {
10
+ channel?: string;
11
+ }
12
+ export interface SurchargeListModuleAPI {
13
+ getSurchargeList(query?: SurchargeListQuery): Promise<SurchargeListItem[]>;
14
+ refreshSurchargeList(query?: SurchargeListQuery): Promise<SurchargeListItem[]>;
15
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -12,8 +12,11 @@ export * from './Resource';
12
12
  export * from './Step';
13
13
  export * from './Summary';
14
14
  export * from './SalesSummary';
15
+ export * from './SurchargeList';
15
16
  export * from './Schedule';
16
17
  export * from './Quotation';
17
18
  export * from './ScanOrderLogger';
18
19
  export * from './OpenData';
20
+ export * from './BookingContext';
19
21
  export * from './Holder';
22
+ export * from './ResourcePlanner';
@@ -157,6 +157,17 @@ Object.keys(_SalesSummary).forEach(function (key) {
157
157
  }
158
158
  });
159
159
  });
160
+ var _SurchargeList = require("./SurchargeList");
161
+ Object.keys(_SurchargeList).forEach(function (key) {
162
+ if (key === "default" || key === "__esModule") return;
163
+ if (key in exports && exports[key] === _SurchargeList[key]) return;
164
+ Object.defineProperty(exports, key, {
165
+ enumerable: true,
166
+ get: function () {
167
+ return _SurchargeList[key];
168
+ }
169
+ });
170
+ });
160
171
  var _Schedule = require("./Schedule");
161
172
  Object.keys(_Schedule).forEach(function (key) {
162
173
  if (key === "default" || key === "__esModule") return;
@@ -201,6 +212,17 @@ Object.keys(_OpenData).forEach(function (key) {
201
212
  }
202
213
  });
203
214
  });
215
+ var _BookingContext = require("./BookingContext");
216
+ Object.keys(_BookingContext).forEach(function (key) {
217
+ if (key === "default" || key === "__esModule") return;
218
+ if (key in exports && exports[key] === _BookingContext[key]) return;
219
+ Object.defineProperty(exports, key, {
220
+ enumerable: true,
221
+ get: function () {
222
+ return _BookingContext[key];
223
+ }
224
+ });
225
+ });
204
226
  var _Holder = require("./Holder");
205
227
  Object.keys(_Holder).forEach(function (key) {
206
228
  if (key === "default" || key === "__esModule") return;
@@ -211,4 +233,15 @@ Object.keys(_Holder).forEach(function (key) {
211
233
  return _Holder[key];
212
234
  }
213
235
  });
236
+ });
237
+ var _ResourcePlanner = require("./ResourcePlanner");
238
+ Object.keys(_ResourcePlanner).forEach(function (key) {
239
+ if (key === "default" || key === "__esModule") return;
240
+ if (key in exports && exports[key] === _ResourcePlanner[key]) return;
241
+ Object.defineProperty(exports, key, {
242
+ enumerable: true,
243
+ get: function () {
244
+ return _ResourcePlanner[key];
245
+ }
246
+ });
214
247
  });
@@ -1,8 +1,10 @@
1
1
  import { Plugin } from '../types';
2
2
  import App from './app-types/app';
3
+ export declare type AppDataGetter = (key: string) => any;
3
4
  /**
4
5
  * AppPlugin 接口定义
5
6
  */
6
7
  export interface AppPlugin extends Plugin {
7
8
  getApp: () => App;
9
+ getData?: () => AppDataGetter;
8
10
  }
@@ -42,8 +42,8 @@ export declare enum RequestModeENUM {
42
42
  REMOTE_LOCAL = "remote_local",
43
43
  OS_SERVER = "os_server"
44
44
  }
45
- export type RequestModeType = RequestModeENUM.LOCAL | RequestModeENUM.REMOTE | RequestModeENUM.LOCAL_REMOTE | RequestModeENUM.REMOTE_LOCAL | RequestModeENUM.OS_SERVER;
46
- export type CacheType = 'memory' | 'storage' | 'indexDB';
45
+ export declare type RequestModeType = RequestModeENUM.LOCAL | RequestModeENUM.REMOTE | RequestModeENUM.LOCAL_REMOTE | RequestModeENUM.REMOTE_LOCAL | RequestModeENUM.OS_SERVER;
46
+ export declare type CacheType = 'memory' | 'storage' | 'indexDB';
47
47
  export interface CacheProps {
48
48
  key?: string;
49
49
  type?: CacheType;
@@ -69,6 +69,7 @@ export interface RequestOptions {
69
69
  customToast?: () => void;
70
70
  cache?: CacheProps;
71
71
  osServer?: boolean;
72
+ prefix?: boolean;
72
73
  callback?: (res: any) => void;
73
74
  subscriberId?: string;
74
75
  }