@pisell/pisellos 0.0.567 → 0.0.569

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
  3. package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
  4. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  5. package/dist/model/strategy/adapter/walletPass/utils.js +7 -7
  6. package/dist/model/strategy/strategy-example.js +5 -19
  7. package/dist/modules/BaseModule.d.ts +2 -2
  8. package/dist/modules/BaseModule.js +4 -4
  9. package/dist/modules/BookingContext/index.d.ts +48 -0
  10. package/dist/modules/BookingContext/index.js +566 -0
  11. package/dist/modules/BookingContext/types.d.ts +102 -0
  12. package/dist/modules/BookingContext/types.js +51 -0
  13. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  14. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
  15. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  16. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
  17. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  18. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
  19. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  20. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  21. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  22. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  23. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  24. package/dist/modules/BookingContext/utils/index.js +11 -0
  25. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  26. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  27. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  28. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  29. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  30. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  31. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  32. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  33. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  34. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  35. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  36. package/dist/modules/BookingContext/utils/resources.js +486 -0
  37. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  38. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  39. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  40. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  41. package/dist/modules/Cart/index.js +0 -3
  42. package/dist/modules/Cart/utils/cartProduct.js +26 -6
  43. package/dist/modules/Cart/utils/changePrice.js +27 -20
  44. package/dist/modules/Customer/index.d.ts +20 -0
  45. package/dist/modules/Customer/index.js +172 -83
  46. package/dist/modules/Customer/types.d.ts +2 -0
  47. package/dist/modules/Date/index.js +1 -5
  48. package/dist/modules/Discount/index.d.ts +2 -1
  49. package/dist/modules/Discount/index.js +37 -12
  50. package/dist/modules/Discount/types.d.ts +1 -0
  51. package/dist/modules/OpenData/index.d.ts +8 -0
  52. package/dist/modules/OpenData/index.js +35 -17
  53. package/dist/modules/Order/index.d.ts +449 -24
  54. package/dist/modules/Order/index.js +5437 -608
  55. package/dist/modules/Order/types.d.ts +693 -88
  56. package/dist/modules/Order/types.js +68 -1
  57. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  58. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  59. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  60. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  61. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  62. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  63. package/dist/modules/Order/utils.d.ts +167 -18
  64. package/dist/modules/Order/utils.js +960 -165
  65. package/dist/modules/Payment/index.d.ts +10 -9
  66. package/dist/modules/Payment/index.js +508 -874
  67. package/dist/modules/Payment/types.d.ts +40 -16
  68. package/dist/modules/Payment/utils.d.ts +1 -1
  69. package/dist/modules/Payment/utils.js +4 -3
  70. package/dist/modules/Payment/walletpass.js +48 -34
  71. package/dist/modules/Product/types.d.ts +29 -7
  72. package/dist/modules/ProductList/index.d.ts +17 -13
  73. package/dist/modules/ProductList/index.js +184 -74
  74. package/dist/modules/ProductList/types.d.ts +17 -0
  75. package/dist/modules/Quotation/index.d.ts +22 -2
  76. package/dist/modules/Quotation/index.js +108 -42
  77. package/dist/modules/Quotation/types.d.ts +19 -0
  78. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  79. package/dist/modules/ResourcePlanner/index.js +181 -0
  80. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  81. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  82. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  83. package/dist/modules/ResourcePlanner/types.js +1 -0
  84. package/dist/modules/Rules/index.d.ts +8 -10
  85. package/dist/modules/Rules/index.js +219 -114
  86. package/dist/modules/Rules/types.d.ts +14 -3
  87. package/dist/modules/SalesSummary/index.d.ts +23 -26
  88. package/dist/modules/SalesSummary/index.js +152 -46
  89. package/dist/modules/SalesSummary/types.d.ts +9 -1
  90. package/dist/modules/SalesSummary/utils.d.ts +3 -22
  91. package/dist/modules/SalesSummary/utils.js +803 -163
  92. package/dist/modules/Schedule/getDateIsInSchedule.js +14 -7
  93. package/dist/modules/Schedule/index.d.ts +18 -5
  94. package/dist/modules/Schedule/index.js +78 -24
  95. package/dist/modules/Schedule/types.d.ts +2 -0
  96. package/dist/modules/Schedule/utils.js +0 -1
  97. package/dist/modules/Step/index.js +0 -1
  98. package/dist/modules/Summary/index.js +4 -3
  99. package/dist/modules/SurchargeList/index.d.ts +18 -0
  100. package/dist/modules/SurchargeList/index.js +185 -0
  101. package/dist/modules/SurchargeList/types.d.ts +15 -0
  102. package/dist/modules/SurchargeList/types.js +1 -0
  103. package/dist/modules/index.d.ts +3 -0
  104. package/dist/modules/index.js +4 -1
  105. package/dist/plugins/app.d.ts +2 -0
  106. package/dist/plugins/request.d.ts +1 -0
  107. package/dist/plugins/request.js +1 -4
  108. package/dist/plugins/window.js +2 -6
  109. package/dist/server/index.d.ts +462 -8
  110. package/dist/server/index.js +6137 -714
  111. package/dist/server/modules/floor-plan/index.d.ts +39 -0
  112. package/dist/server/modules/floor-plan/index.js +595 -0
  113. package/dist/server/modules/floor-plan/types.d.ts +43 -0
  114. package/dist/server/modules/floor-plan/types.js +13 -0
  115. package/dist/server/modules/index.d.ts +7 -2
  116. package/dist/server/modules/index.js +6 -0
  117. package/dist/server/modules/menu/index.js +32 -41
  118. package/dist/server/modules/order/index.d.ts +207 -14
  119. package/dist/server/modules/order/index.js +2326 -379
  120. package/dist/server/modules/order/types.d.ts +76 -5
  121. package/dist/server/modules/order/types.js +14 -1
  122. package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
  123. package/dist/server/modules/order/utils/filterBookings.js +118 -11
  124. package/dist/server/modules/order/utils/filterOrders.js +242 -14
  125. package/dist/server/modules/payment/index.d.ts +28 -0
  126. package/dist/server/modules/payment/index.js +305 -0
  127. package/dist/server/modules/payment/types.d.ts +9 -0
  128. package/dist/server/modules/payment/types.js +1 -0
  129. package/dist/server/modules/products/index.d.ts +105 -14
  130. package/dist/server/modules/products/index.js +1397 -540
  131. package/dist/server/modules/products/types.d.ts +34 -1
  132. package/dist/server/modules/products/types.js +4 -0
  133. package/dist/server/modules/quotation/index.d.ts +39 -0
  134. package/dist/server/modules/quotation/index.js +289 -86
  135. package/dist/server/modules/resource/index.d.ts +2 -3
  136. package/dist/server/modules/resource/index.js +105 -84
  137. package/dist/server/modules/schedule/index.d.ts +6 -4
  138. package/dist/server/modules/schedule/index.js +137 -114
  139. package/dist/server/test.json +713 -0
  140. package/dist/server/types.d.ts +2 -0
  141. package/dist/server/utils/product.js +2 -3
  142. package/dist/server/utils/small-ticket.d.ts +71 -0
  143. package/dist/server/utils/small-ticket.js +963 -0
  144. package/dist/solution/BaseSales/index.d.ts +378 -0
  145. package/dist/solution/BaseSales/index.js +4006 -0
  146. package/dist/solution/BaseSales/types.d.ts +394 -0
  147. package/dist/solution/BaseSales/types.js +40 -0
  148. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  149. package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
  150. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  151. package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
  152. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  153. package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
  154. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  155. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
  156. package/dist/solution/BaseSales/utils.d.ts +40 -0
  157. package/dist/solution/BaseSales/utils.js +263 -0
  158. package/dist/solution/BookingByStep/index.js +7 -59
  159. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  160. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  161. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  162. package/dist/solution/BookingTicket/index.d.ts +393 -24
  163. package/dist/solution/BookingTicket/index.js +2506 -445
  164. package/dist/solution/BookingTicket/types.d.ts +191 -6
  165. package/dist/solution/BookingTicket/types.js +83 -10
  166. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  167. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  168. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  169. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  170. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  171. package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
  172. package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
  173. package/dist/solution/BookingTicket/utils/cartView.js +209 -0
  174. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  175. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  176. package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  177. package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
  178. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  179. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  180. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  181. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  182. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  183. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +41 -1
  184. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  185. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  186. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  187. package/dist/solution/BookingTicket/utils/scan/handleScan.js +36 -34
  188. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  189. package/dist/solution/BookingTicket/utils/scan/index.js +26 -18
  190. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  191. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  192. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  193. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  194. package/dist/solution/BuyTickets/index.js +9 -12
  195. package/dist/solution/Checkout/index.d.ts +1 -0
  196. package/dist/solution/Checkout/index.js +199 -277
  197. package/dist/solution/Checkout/utils/index.js +8 -20
  198. package/dist/solution/RegisterAndLogin/config.js +2 -10
  199. package/dist/solution/RegisterAndLogin/index.js +30 -76
  200. package/dist/solution/Sales/index.d.ts +50 -5
  201. package/dist/solution/Sales/index.js +484 -92
  202. package/dist/solution/Sales/types.d.ts +26 -2
  203. package/dist/solution/ScanOrder/index.d.ts +27 -21
  204. package/dist/solution/ScanOrder/index.js +509 -454
  205. package/dist/solution/ScanOrder/types.d.ts +33 -11
  206. package/dist/solution/ScanOrder/types.js +4 -5
  207. package/dist/solution/ScanOrder/utils.d.ts +4 -1
  208. package/dist/solution/ScanOrder/utils.js +109 -34
  209. package/dist/solution/ShopDiscount/index.js +6 -11
  210. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  211. package/dist/solution/UnifiedBookingSales/index.js +1871 -0
  212. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  213. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  214. package/dist/solution/VenueBooking/index.d.ts +34 -20
  215. package/dist/solution/VenueBooking/index.js +630 -505
  216. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  217. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  218. package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
  219. package/dist/solution/index.d.ts +2 -0
  220. package/dist/solution/index.js +3 -1
  221. package/dist/types/index.d.ts +11 -1
  222. package/dist/utils/task.js +15 -18
  223. package/dist/utils/watch.js +0 -1
  224. package/lib/apis/picoding.js +2 -0
  225. package/lib/core/index.js +130 -131
  226. package/lib/effects/index.js +46 -57
  227. package/lib/index.js +92 -53
  228. package/lib/model/index.js +14 -21
  229. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  230. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  231. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  232. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  233. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  234. package/lib/model/strategy/adapter/index.js +100 -64
  235. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  236. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  237. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  238. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  239. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  240. package/lib/model/strategy/adapter/promotion/adapter.js +84 -63
  241. package/lib/model/strategy/adapter/promotion/evaluator.js +383 -232
  242. package/lib/model/strategy/adapter/promotion/examples.js +139 -159
  243. package/lib/model/strategy/adapter/promotion/index.js +1 -49
  244. package/lib/model/strategy/adapter/promotion/type.js +199 -35
  245. package/lib/model/strategy/adapter/type.js +4 -16
  246. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
  247. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  248. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  249. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  250. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  251. package/lib/model/strategy/adapter/walletPass/utils.js +654 -402
  252. package/lib/model/strategy/engine.js +270 -168
  253. package/lib/model/strategy/index.js +49 -34
  254. package/lib/model/strategy/strategy-example.js +243 -239
  255. package/lib/model/strategy/type.js +100 -40
  256. package/lib/modules/Account/index.js +39 -53
  257. package/lib/modules/Account/types.js +20 -33
  258. package/lib/modules/AccountList/index.js +116 -154
  259. package/lib/modules/AccountList/types.js +30 -31
  260. package/lib/modules/AccountList/utils.js +18 -30
  261. package/lib/modules/BaseModule.d.ts +2 -2
  262. package/lib/modules/BaseModule.js +26 -49
  263. package/lib/modules/BookingContext/index.d.ts +48 -0
  264. package/lib/modules/BookingContext/index.js +390 -0
  265. package/lib/modules/BookingContext/types.d.ts +102 -0
  266. package/lib/modules/BookingContext/types.js +48 -0
  267. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  268. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +286 -0
  269. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  270. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
  271. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  272. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +242 -0
  273. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  274. package/lib/modules/BookingContext/utils/flexible.js +63 -0
  275. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  276. package/lib/modules/BookingContext/utils/formatResourceList.js +35 -0
  277. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  278. package/lib/modules/BookingContext/utils/index.js +126 -0
  279. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  280. package/lib/modules/BookingContext/utils/noResource.js +78 -0
  281. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  282. package/lib/modules/BookingContext/utils/orderLineDisplay.js +29 -0
  283. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  284. package/lib/modules/BookingContext/utils/productExtend.js +330 -0
  285. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  286. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  287. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  288. package/lib/modules/BookingContext/utils/resourceSelection.js +24 -0
  289. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  290. package/lib/modules/BookingContext/utils/resources.js +419 -0
  291. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  292. package/lib/modules/BookingContext/utils/serviceTimes.js +161 -0
  293. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  294. package/lib/modules/BookingContext/utils/timeSlices.js +114 -0
  295. package/lib/modules/Cart/index.js +170 -124
  296. package/lib/modules/Cart/types.js +46 -51
  297. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  298. package/lib/modules/Cart/utils/cartDate.js +56 -61
  299. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  300. package/lib/modules/Cart/utils/cartNote.js +27 -32
  301. package/lib/modules/Cart/utils/cartProduct.js +331 -244
  302. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  303. package/lib/modules/Cart/utils/cartResource.js +72 -78
  304. package/lib/modules/Cart/utils/changePrice.js +37 -67
  305. package/lib/modules/Cart/utils/index.js +106 -48
  306. package/lib/modules/Customer/constants.js +13 -34
  307. package/lib/modules/Customer/index.d.ts +20 -0
  308. package/lib/modules/Customer/index.js +270 -154
  309. package/lib/modules/Customer/types.d.ts +2 -0
  310. package/lib/modules/Customer/types.js +38 -35
  311. package/lib/modules/Date/index.js +116 -115
  312. package/lib/modules/Date/types.js +16 -28
  313. package/lib/modules/Date/utils.js +174 -123
  314. package/lib/modules/Discount/index.d.ts +2 -1
  315. package/lib/modules/Discount/index.js +133 -113
  316. package/lib/modules/Discount/types.d.ts +1 -0
  317. package/lib/modules/Discount/types.js +9 -31
  318. package/lib/modules/Guests/index.js +30 -56
  319. package/lib/modules/Guests/types.js +23 -33
  320. package/lib/modules/Holder/index.js +209 -189
  321. package/lib/modules/Holder/types.js +4 -16
  322. package/lib/modules/Holder/utils.js +20 -49
  323. package/lib/modules/OpenData/index.d.ts +8 -0
  324. package/lib/modules/OpenData/index.js +81 -74
  325. package/lib/modules/OpenData/types.js +4 -16
  326. package/lib/modules/OpenData/utils.js +44 -78
  327. package/lib/modules/Order/index.d.ts +449 -24
  328. package/lib/modules/Order/index.js +3834 -489
  329. package/lib/modules/Order/types.d.ts +693 -88
  330. package/lib/modules/Order/types.js +78 -33
  331. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  332. package/lib/modules/Order/utils/bundleDiscountHydration.js +106 -0
  333. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  334. package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
  335. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  336. package/lib/modules/Order/utils/orderCollectionIdentity.js +353 -0
  337. package/lib/modules/Order/utils.d.ts +167 -18
  338. package/lib/modules/Order/utils.js +1247 -345
  339. package/lib/modules/Payment/cash.js +20 -33
  340. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  341. package/lib/modules/Payment/eftpos.js +16 -30
  342. package/lib/modules/Payment/index.d.ts +10 -9
  343. package/lib/modules/Payment/index.js +542 -502
  344. package/lib/modules/Payment/mx51.js +1 -0
  345. package/lib/modules/Payment/types.d.ts +40 -16
  346. package/lib/modules/Payment/types.js +216 -107
  347. package/lib/modules/Payment/utils.d.ts +1 -1
  348. package/lib/modules/Payment/utils.js +53 -49
  349. package/lib/modules/Payment/walletpass.js +231 -203
  350. package/lib/modules/Product/index.js +51 -46
  351. package/lib/modules/Product/types.d.ts +29 -7
  352. package/lib/modules/Product/types.js +4 -16
  353. package/lib/modules/Product/utils.js +32 -33
  354. package/lib/modules/ProductList/index.d.ts +17 -13
  355. package/lib/modules/ProductList/index.js +160 -118
  356. package/lib/modules/ProductList/types.d.ts +17 -0
  357. package/lib/modules/ProductList/types.js +9 -31
  358. package/lib/modules/Quotation/index.d.ts +22 -2
  359. package/lib/modules/Quotation/index.js +123 -89
  360. package/lib/modules/Quotation/types.d.ts +19 -0
  361. package/lib/modules/Quotation/types.js +4 -16
  362. package/lib/modules/Resource/index.js +27 -59
  363. package/lib/modules/Resource/types.js +22 -32
  364. package/lib/modules/Resource/utils.js +30 -38
  365. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  366. package/lib/modules/ResourcePlanner/index.js +147 -0
  367. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  368. package/lib/modules/ResourcePlanner/planner.js +895 -0
  369. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  370. package/lib/modules/ResourcePlanner/types.js +5 -0
  371. package/lib/modules/Rules/index.d.ts +8 -10
  372. package/lib/modules/Rules/index.js +1286 -894
  373. package/lib/modules/Rules/types.d.ts +14 -3
  374. package/lib/modules/Rules/types.js +17 -40
  375. package/lib/modules/SalesSummary/index.d.ts +23 -26
  376. package/lib/modules/SalesSummary/index.js +130 -71
  377. package/lib/modules/SalesSummary/types.d.ts +9 -1
  378. package/lib/modules/SalesSummary/types.js +4 -16
  379. package/lib/modules/SalesSummary/utils.d.ts +3 -22
  380. package/lib/modules/SalesSummary/utils.js +738 -250
  381. package/lib/modules/ScanOrderLogger/index.js +59 -79
  382. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  383. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  384. package/lib/modules/ScanOrderLogger/types.js +4 -16
  385. package/lib/modules/Schedule/getDateIsInSchedule.js +345 -171
  386. package/lib/modules/Schedule/index.d.ts +18 -5
  387. package/lib/modules/Schedule/index.js +139 -114
  388. package/lib/modules/Schedule/type.js +4 -16
  389. package/lib/modules/Schedule/types.d.ts +2 -0
  390. package/lib/modules/Schedule/types.js +4 -16
  391. package/lib/modules/Schedule/utils.js +433 -291
  392. package/lib/modules/Step/index.js +40 -52
  393. package/lib/modules/Step/tyeps.js +4 -16
  394. package/lib/modules/Summary/index.js +66 -70
  395. package/lib/modules/Summary/types.js +4 -16
  396. package/lib/modules/Summary/utils.js +782 -429
  397. package/lib/modules/SurchargeList/index.d.ts +18 -0
  398. package/lib/modules/SurchargeList/index.js +95 -0
  399. package/lib/modules/SurchargeList/types.d.ts +15 -0
  400. package/lib/modules/SurchargeList/types.js +5 -0
  401. package/lib/modules/index.d.ts +3 -0
  402. package/lib/modules/index.js +245 -57
  403. package/lib/plugins/app.d.ts +2 -0
  404. package/lib/plugins/app.js +4 -16
  405. package/lib/plugins/index.js +36 -25
  406. package/lib/plugins/request.d.ts +1 -0
  407. package/lib/plugins/request.js +137 -126
  408. package/lib/plugins/shopStore.js +4 -16
  409. package/lib/plugins/user.js +4 -16
  410. package/lib/plugins/window.js +171 -179
  411. package/lib/server/index.d.ts +462 -8
  412. package/lib/server/index.js +4668 -713
  413. package/lib/server/modules/floor-plan/index.d.ts +39 -0
  414. package/lib/server/modules/floor-plan/index.js +306 -0
  415. package/lib/server/modules/floor-plan/types.d.ts +43 -0
  416. package/lib/server/modules/floor-plan/types.js +19 -0
  417. package/lib/server/modules/index.d.ts +7 -2
  418. package/lib/server/modules/index.js +106 -59
  419. package/lib/server/modules/menu/index.js +146 -122
  420. package/lib/server/modules/menu/types.js +18 -31
  421. package/lib/server/modules/order/index.d.ts +207 -14
  422. package/lib/server/modules/order/index.js +1463 -316
  423. package/lib/server/modules/order/types.d.ts +76 -5
  424. package/lib/server/modules/order/types.js +117 -32
  425. package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
  426. package/lib/server/modules/order/utils/filterBookings.js +288 -146
  427. package/lib/server/modules/order/utils/filterOrders.js +318 -64
  428. package/lib/server/modules/payment/index.d.ts +28 -0
  429. package/lib/server/modules/payment/index.js +168 -0
  430. package/lib/server/modules/payment/types.d.ts +9 -0
  431. package/lib/server/modules/payment/types.js +5 -0
  432. package/lib/server/modules/products/index.d.ts +105 -14
  433. package/lib/server/modules/products/index.js +969 -383
  434. package/lib/server/modules/products/types.d.ts +34 -1
  435. package/lib/server/modules/products/types.js +44 -34
  436. package/lib/server/modules/quotation/index.d.ts +39 -0
  437. package/lib/server/modules/quotation/index.js +220 -77
  438. package/lib/server/modules/quotation/types.js +21 -31
  439. package/lib/server/modules/resource/index.d.ts +2 -3
  440. package/lib/server/modules/resource/index.js +269 -214
  441. package/lib/server/modules/resource/types.js +42 -33
  442. package/lib/server/modules/schedule/index.d.ts +6 -4
  443. package/lib/server/modules/schedule/index.js +158 -132
  444. package/lib/server/modules/schedule/types.js +14 -21
  445. package/lib/server/modules/schedule/utils.js +334 -163
  446. package/lib/server/test.json +713 -0
  447. package/lib/server/types.d.ts +2 -0
  448. package/lib/server/types.js +4 -16
  449. package/lib/server/utils/index.js +25 -23
  450. package/lib/server/utils/product.js +197 -140
  451. package/lib/server/utils/schedule.js +34 -41
  452. package/lib/server/utils/small-ticket.d.ts +71 -0
  453. package/lib/server/utils/small-ticket.js +926 -0
  454. package/lib/server/utils/time.js +40 -49
  455. package/lib/solution/BaseSales/index.d.ts +378 -0
  456. package/lib/solution/BaseSales/index.js +2367 -0
  457. package/lib/solution/BaseSales/types.d.ts +394 -0
  458. package/lib/solution/BaseSales/types.js +47 -0
  459. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  460. package/lib/solution/BaseSales/utils/cartPromotion.js +1155 -0
  461. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  462. package/lib/solution/BaseSales/utils/parseSalesResponse.js +140 -0
  463. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  464. package/lib/solution/BaseSales/utils/quotationPrice.js +231 -0
  465. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  466. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +215 -0
  467. package/lib/solution/BaseSales/utils.d.ts +40 -0
  468. package/lib/solution/BaseSales/utils.js +259 -0
  469. package/lib/solution/BookingByStep/index.js +1530 -1343
  470. package/lib/solution/BookingByStep/types.js +40 -99
  471. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  472. package/lib/solution/BookingByStep/utils/products.js +42 -52
  473. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  474. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  475. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  476. package/lib/solution/BookingTicket/index.d.ts +393 -24
  477. package/lib/solution/BookingTicket/index.js +1459 -160
  478. package/lib/solution/BookingTicket/types.d.ts +191 -6
  479. package/lib/solution/BookingTicket/types.js +101 -66
  480. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  481. package/lib/solution/BookingTicket/utils/addProductDecision.js +353 -0
  482. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  483. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +94 -0
  484. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  485. package/lib/solution/BookingTicket/utils/bookingStatus.js +136 -0
  486. package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
  487. package/lib/solution/BookingTicket/utils/cartView.js +200 -0
  488. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  489. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  490. package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  491. package/lib/solution/BookingTicket/utils/orderCustomer.js +35 -0
  492. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  493. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +387 -0
  494. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  495. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +220 -0
  496. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  497. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +85 -80
  498. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  499. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +64 -0
  500. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  501. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -80
  502. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  503. package/lib/solution/BookingTicket/utils/scan/index.js +103 -95
  504. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  505. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  506. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +115 -0
  507. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  508. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +83 -0
  509. package/lib/solution/BuyTickets/index.js +67 -70
  510. package/lib/solution/BuyTickets/types.js +22 -38
  511. package/lib/solution/Checkout/index.d.ts +1 -0
  512. package/lib/solution/Checkout/index.js +1461 -1169
  513. package/lib/solution/Checkout/types.js +91 -61
  514. package/lib/solution/Checkout/utils/index.js +228 -159
  515. package/lib/solution/PlaceOrder/index.js +55 -0
  516. package/lib/solution/RegisterAndLogin/config.js +495 -470
  517. package/lib/solution/RegisterAndLogin/index.js +633 -630
  518. package/lib/solution/RegisterAndLogin/types.js +189 -76
  519. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  520. package/lib/solution/Sales/index.d.ts +50 -5
  521. package/lib/solution/Sales/index.js +495 -220
  522. package/lib/solution/Sales/types.d.ts +26 -2
  523. package/lib/solution/Sales/types.js +27 -33
  524. package/lib/solution/ScanOrder/index.d.ts +27 -21
  525. package/lib/solution/ScanOrder/index.js +908 -904
  526. package/lib/solution/ScanOrder/types.d.ts +33 -11
  527. package/lib/solution/ScanOrder/types.js +33 -34
  528. package/lib/solution/ScanOrder/utils.d.ts +4 -1
  529. package/lib/solution/ScanOrder/utils.js +457 -344
  530. package/lib/solution/ShopDiscount/index.js +230 -236
  531. package/lib/solution/ShopDiscount/types.js +15 -37
  532. package/lib/solution/ShopDiscount/utils.js +309 -172
  533. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  534. package/lib/solution/UnifiedBookingSales/index.js +1050 -0
  535. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  536. package/lib/solution/UnifiedBookingSales/types.js +14 -0
  537. package/lib/solution/VenueBooking/index.d.ts +34 -20
  538. package/lib/solution/VenueBooking/index.js +982 -950
  539. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  540. package/lib/solution/VenueBooking/types.js +20 -40
  541. package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
  542. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  543. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  544. package/lib/solution/VenueBooking/utils/slotMerge.js +96 -108
  545. package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
  546. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
  547. package/lib/solution/VenueBooking/utils.js +130 -67
  548. package/lib/solution/index.d.ts +2 -0
  549. package/lib/solution/index.js +124 -37
  550. package/lib/store/createStore.js +32 -29
  551. package/lib/types/index.d.ts +11 -1
  552. package/lib/types/index.js +4 -16
  553. package/lib/utils/task.js +36 -36
  554. package/lib/utils/watch.js +81 -47
  555. package/package.json +2 -1
  556. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  557. package/lib/solution/Checkout/appointmentDemo.json +0 -1
@@ -1,71 +1,40 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
28
2
 
29
- // src/modules/Cart/utils/cartProduct.ts
30
- var cartProduct_exports = {};
31
- __export(cartProduct_exports, {
32
- formatBundle: () => formatBundle,
33
- formatBundleToOrigin: () => formatBundleToOrigin,
34
- formatOptions: () => formatOptions,
35
- formatOptionsToOrigin: () => formatOptionsToOrigin,
36
- formatProductToCartItem: () => formatProductToCartItem,
37
- formatProductToCartItemOrigin: () => formatProductToCartItemOrigin,
38
- getProductDeposit: () => getProductDeposit,
39
- getProductOriginTotalPrice: () => getProductOriginTotalPrice,
40
- getProductTotalPrice: () => getProductTotalPrice,
41
- handleProductDeposit: () => handleProductDeposit,
42
- handleVariantProduct: () => handleVariantProduct
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
43
5
  });
44
- module.exports = __toCommonJS(cartProduct_exports);
45
- var import_decimal = __toESM(require("decimal.js"));
46
- var import_utils = require("../../Product/utils");
47
- var import_utils2 = require("../../../solution/ShopDiscount/utils");
48
- var import_utils3 = require("../../Summary/utils");
49
- var toDiscountPayload = (discountItem) => {
50
- var _a, _b;
51
- return {
52
- amount: discountItem.amount,
53
- tag: discountItem.type,
54
- par_value: (_a = discountItem.discount) == null ? void 0 : _a.percent,
55
- config: discountItem.config,
56
- metadata: {
57
- discount_card_type: (_b = discountItem == null ? void 0 : discountItem.discount) == null ? void 0 : _b.discount_card_type
58
- }
59
- };
60
- };
61
- var handleVariantProduct = (product) => {
62
- var _a;
63
- if (product == null ? void 0 : product.product_variant_id) {
64
- const targetVariant = (_a = product == null ? void 0 : product.variant) == null ? void 0 : _a.find(
65
- (n) => n.id === product.product_variant_id
66
- );
6
+ exports.handleVariantProduct = exports.handleProductDeposit = exports.getProductTotalPrice = exports.getProductOriginTotalPrice = exports.getProductDeposit = exports.formatProductToCartItemOrigin = exports.formatProductToCartItem = exports.formatOptionsToOrigin = exports.formatOptions = exports.formatBundleToOrigin = exports.formatBundle = void 0;
7
+ var _decimal = _interopRequireDefault(require("decimal.js"));
8
+ var _utils = require("../../Product/utils");
9
+ var _utils2 = require("../../../solution/ShopDiscount/utils");
10
+ var _utils3 = require("../../Summary/utils");
11
+ var _utils4 = require("../../Order/utils");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ /** 与 Rules / ShopDiscount 一致的折扣入参,用于主价与 option 单价 */
14
+ const toDiscountPayload = discountItem => ({
15
+ amount: discountItem.amount,
16
+ tag: discountItem.type,
17
+ par_value: discountItem.discount?.percent,
18
+ config: discountItem.config,
19
+ metadata: {
20
+ discount_card_type: discountItem?.discount?.discount_card_type
21
+ }
22
+ });
23
+
24
+ /**
25
+ * @title 处理组合商品
26
+ * @description 组合商品需要直接修改 product 里的价格和 is_charge_tax
27
+ * @param product 商品
28
+ * @returns 处理后的商品
29
+ */
30
+ const handleVariantProduct = product => {
31
+ // 判断组合商品,然后直接修改 product 里的价格和 is_charge_tax
32
+ if (product?.product_variant_id) {
33
+ // 还需要判断 能从 variant 里找到对应的组合规格信息,才可以替换
34
+ const targetVariant = product?.variant?.find(n => n.id === product.product_variant_id);
67
35
  if (targetVariant) {
68
36
  product.price = targetVariant.price;
37
+ // 如果 original_price 为 0,就不改了
69
38
  if (Number(targetVariant.original_price) > 0) {
70
39
  product.original_price = targetVariant.original_price;
71
40
  }
@@ -74,9 +43,14 @@ var handleVariantProduct = (product) => {
74
43
  }
75
44
  return product;
76
45
  };
77
- var formatProductToCartItem = (params) => {
78
- var _a, _b, _c;
79
- console.log("formatProductToCartItem>>>>>>", params);
46
+
47
+ /**
48
+ * 格式化商品到购物车
49
+ * @param product 商品
50
+ * @returns 格式化后的商品
51
+ */
52
+ exports.handleVariantProduct = handleVariantProduct;
53
+ const formatProductToCartItem = params => {
80
54
  const {
81
55
  cartItem,
82
56
  product,
@@ -86,14 +60,25 @@ var formatProductToCartItem = (params) => {
86
60
  quantity = 1,
87
61
  discounts
88
62
  } = params;
89
- const num = quantity;
63
+ const num = quantity; // 当前按照单个商品加入购物车
64
+
90
65
  if (product) {
91
- cartItem.id = product == null ? void 0 : product.id;
92
- cartItem.name = product == null ? void 0 : product.title;
93
- cartItem.price = product == null ? void 0 : product.price;
66
+ cartItem.id = product?.id;
67
+ cartItem.name = product?.title;
68
+ cartItem.price = product?.price;
94
69
  cartItem.num = num;
95
- cartItem.total = getProductTotalPrice({ product, bundle, options, num, discounts });
96
- cartItem.totalDifference = getTotalDifference({ product, bundle, discounts });
70
+ cartItem.total = getProductTotalPrice({
71
+ product,
72
+ bundle,
73
+ options,
74
+ num,
75
+ discounts
76
+ });
77
+ cartItem.totalDifference = getTotalDifference({
78
+ product,
79
+ bundle,
80
+ discounts
81
+ });
97
82
  cartItem.summaryTotal = cartItem.total * (num || 1);
98
83
  cartItem.origin_total = getProductOriginTotalPrice({
99
84
  product,
@@ -102,6 +87,7 @@ var formatProductToCartItem = (params) => {
102
87
  num,
103
88
  discounts
104
89
  });
90
+ // 不包含折扣卡商品券的总价
105
91
  const origin_total = getProductTotalPrice({
106
92
  product: cartItem._productInit || cartItem._productOrigin,
107
93
  bundle,
@@ -110,44 +96,38 @@ var formatProductToCartItem = (params) => {
110
96
  discounts: []
111
97
  });
112
98
  cartItem.summaryOriginTotal = (origin_total || 0) * (num || 1);
113
- cartItem.image = product == null ? void 0 : product.cover;
114
- cartItem.like_status = "common";
115
- cartItem.duration = product == null ? void 0 : product.duration;
116
- cartItem.isNormalProduct = (0, import_utils.isNormalProduct)(product);
117
- cartItem.is_charge_tax = product == null ? void 0 : product.is_charge_tax;
99
+ cartItem.image = product?.cover;
100
+ cartItem.like_status = 'common';
101
+ cartItem.duration = product?.duration;
102
+ cartItem.isNormalProduct = (0, _utils.isNormalProduct)(product);
103
+ cartItem.is_charge_tax = product?.is_charge_tax;
118
104
  }
119
- if (bundle == null ? void 0 : bundle.length) {
105
+ if (bundle?.length) {
120
106
  cartItem.bundle = formatBundle(bundle);
121
107
  }
122
- if (options == null ? void 0 : options.length) {
108
+ if (options?.length) {
123
109
  cartItem.options = formatOptions(options);
124
110
  }
111
+ // 拼装出 product_option_string
125
112
  if (product_variant_id) {
126
- const sku_key = (_b = (_a = product == null ? void 0 : product.variant) == null ? void 0 : _a.find(
127
- (n) => n.id === product_variant_id
128
- )) == null ? void 0 : _b.sku_key;
113
+ const sku_key = product?.variant?.find(n => n.id === product_variant_id)?.sku_key;
129
114
  if (sku_key) {
130
- const sku_key_arr = sku_key.split("_");
115
+ const sku_key_arr = sku_key.split('_');
131
116
  const product_option_string = [];
132
- sku_key_arr.forEach((item) => {
133
- var _a2, _b2;
134
- const keyMap = item.split(":");
135
- const targetVariantGroup = (_a2 = product == null ? void 0 : product.variant_group) == null ? void 0 : _a2.find(
136
- (n) => String(n.position_id) === keyMap[0]
137
- );
138
- const targetVariantItem = (_b2 = targetVariantGroup == null ? void 0 : targetVariantGroup.variant_item) == null ? void 0 : _b2.find(
139
- (n) => String(n.position_id) === keyMap[1]
140
- );
117
+ sku_key_arr.forEach(item => {
118
+ const keyMap = item.split(':');
119
+ const targetVariantGroup = product?.variant_group?.find(n => String(n.position_id) === keyMap[0]);
120
+ const targetVariantItem = targetVariantGroup?.variant_item?.find(n => String(n.position_id) === keyMap[1]);
141
121
  if (targetVariantGroup && targetVariantItem) {
142
- product_option_string.push(
143
- `${targetVariantGroup.name}:${targetVariantItem.name}`
144
- );
122
+ product_option_string.push(`${targetVariantGroup.name}:${targetVariantItem.name}`);
145
123
  }
146
124
  });
147
- cartItem.product_option_string = product_option_string.join(", ");
125
+ cartItem.product_option_string = product_option_string.join(', ');
148
126
  }
149
127
  }
150
- if (((_c = product == null ? void 0 : product.custom_deposit_data) == null ? void 0 : _c.has_deposit) == 1) {
128
+
129
+ // 如果商品有定金规则,则计算定金
130
+ if (product?.custom_deposit_data?.has_deposit == 1) {
151
131
  cartItem.deposit = getProductDeposit({
152
132
  cartItem,
153
133
  product,
@@ -160,8 +140,8 @@ var formatProductToCartItem = (params) => {
160
140
  cartItem._origin = oringin;
161
141
  return cartItem;
162
142
  };
163
- var formatProductToCartItemOrigin = (params) => {
164
- var _a, _b, _c, _d, _e;
143
+ exports.formatProductToCartItem = formatProductToCartItem;
144
+ const formatProductToCartItemOrigin = params => {
165
145
  const {
166
146
  cartItem,
167
147
  product,
@@ -171,177 +151,241 @@ var formatProductToCartItemOrigin = (params) => {
171
151
  quantity = 1
172
152
  } = params;
173
153
  let origin = cartItem._origin;
174
- const product_discount_difference = (((_a = origin.product) == null ? void 0 : _a.discount_list) || []).filter((item) => {
175
- var _a2;
176
- return !((_a2 = item == null ? void 0 : item.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id);
177
- }).reduce((pre, cur) => {
178
- var _a2;
179
- return pre + (((_a2 = cur == null ? void 0 : cur.metadata) == null ? void 0 : _a2.product_discount_difference) || 0);
154
+ const product_discount_difference = (origin.product?.discount_list || []).filter(item => !item?.metadata?.custom_product_bundle_map_id).reduce((pre, cur) => {
155
+ return pre + (cur?.metadata?.product_discount_difference || 0);
180
156
  }, 0);
181
157
  if (product) {
182
158
  origin.product = {
183
- ...origin.product || {},
159
+ ...(origin.product || {}),
184
160
  num: quantity,
185
161
  product_id: product.id,
186
162
  product_variant_id: product_variant_id || 0,
187
- product_bundle: ((_b = origin.product) == null ? void 0 : _b.product_bundle) || [],
188
- product_option_item: ((_c = origin.product) == null ? void 0 : _c.product_option_item) || [],
163
+ product_bundle: origin.product?.product_bundle || [],
164
+ product_sku: origin.product?.product_sku || {
165
+ option: []
166
+ },
189
167
  metadata: {
190
168
  product_discount_difference
191
169
  }
192
170
  };
193
- origin.sub_type = (_d = product == null ? void 0 : product.duration) == null ? void 0 : _d.type;
194
- origin.duration = (_e = product == null ? void 0 : product.duration) == null ? void 0 : _e.value;
195
- if (bundle == null ? void 0 : bundle.length) {
171
+ // 时长类型
172
+ origin.sub_type = product?.duration?.type;
173
+ // 时长
174
+ origin.duration = product?.duration?.value;
175
+ if (bundle?.length) {
196
176
  origin.product.product_bundle = formatBundleToOrigin(bundle);
197
177
  }
198
- if (options == null ? void 0 : options.length) {
199
- origin.product.product_option_item = formatOptionsToOrigin(options);
178
+ if (options?.length) {
179
+ origin.product.product_sku = {
180
+ ...(origin.product.product_sku || {}),
181
+ option: formatOptionsToOrigin(options).map(option => {
182
+ const next = {
183
+ ...option,
184
+ add_price: option.add_price ?? option.price
185
+ };
186
+ delete next.price;
187
+ return next;
188
+ })
189
+ };
200
190
  }
201
191
  }
202
192
  return origin;
203
193
  };
204
- var getProductTotalPrice = (params) => {
205
- const { product, bundle, options, discounts } = params;
194
+
195
+ /**
196
+ * 获取商品总价
197
+ * @description 当前总价计算基于商品数量为1
198
+ * @param item 商品
199
+ * @returns 商品总价
200
+ */
201
+ exports.formatProductToCartItemOrigin = formatProductToCartItemOrigin;
202
+ const getProductTotalPrice = params => {
203
+ const {
204
+ product,
205
+ bundle,
206
+ options,
207
+ discounts
208
+ } = params;
209
+ // const num = params.num || 1;
206
210
  let price = Number(product.price);
207
- const optionRows = (options == null ? void 0 : options.map((currentValue) => ({
211
+
212
+ // option 行:unit 折后价在循环中与主商品使用同一套 getDiscountAmount(含 deductOptionPrice)
213
+ const optionRows = options?.map(currentValue => ({
208
214
  unit: Number(currentValue.price ?? currentValue.add_price ?? 0),
209
215
  num: Number(currentValue.num ?? currentValue.quantity ?? 1)
210
- }))) ?? [];
211
- if (discounts == null ? void 0 : discounts.length) {
212
- discounts.forEach((currentValue) => {
213
- var _a;
216
+ })) ?? [];
217
+
218
+ // 如果商品有折扣,则计算折扣
219
+ if (discounts?.length) {
220
+ discounts.forEach(currentValue => {
214
221
  const payload = toDiscountPayload(currentValue);
215
- price = (0, import_utils2.getDiscountAmount)(payload, price, price);
216
- if (((_a = currentValue == null ? void 0 : currentValue.config) == null ? void 0 : _a.deductOptionPrice) && optionRows.length) {
222
+ price = (0, _utils2.getDiscountAmount)(payload, price, price);
223
+ if (currentValue?.config?.deductOptionPrice && optionRows.length) {
217
224
  for (let i = 0; i < optionRows.length; i++) {
218
225
  const row = optionRows[i];
219
226
  optionRows[i] = {
220
227
  ...row,
221
- unit: (0, import_utils2.getDiscountAmount)(payload, row.unit, row.unit)
228
+ unit: (0, _utils2.getDiscountAmount)(payload, row.unit, row.unit)
222
229
  };
223
230
  }
224
231
  }
225
232
  });
226
233
  }
227
- if (bundle == null ? void 0 : bundle.length) {
234
+ if (bundle?.length) {
228
235
  price = bundle.reduce((accumulator, currentValue) => {
229
236
  return accumulator + Number(currentValue.price) * Number(currentValue.num);
230
237
  }, price);
231
238
  }
239
+
240
+ // 单规格 / 加购 option
232
241
  if (optionRows.length) {
233
- price = optionRows.reduce(
234
- (accumulator, row) => accumulator + row.unit * row.num,
235
- price
236
- );
242
+ price = optionRows.reduce((accumulator, row) => accumulator + row.unit * row.num, price);
237
243
  }
238
244
  return Math.max(0, price);
239
245
  };
240
- var getTotalDifference = (params) => {
241
- const { bundle, discounts } = params;
246
+ exports.getProductTotalPrice = getProductTotalPrice;
247
+ const getTotalDifference = params => {
248
+ const {
249
+ bundle,
250
+ discounts
251
+ } = params;
242
252
  const bundleDiscountList = [];
243
- if (bundle == null ? void 0 : bundle.length) {
244
- bundle.forEach((currentValue) => {
245
- bundleDiscountList.push(...(currentValue == null ? void 0 : currentValue.discount_list) || []);
253
+ if (bundle?.length) {
254
+ bundle.forEach(currentValue => {
255
+ bundleDiscountList.push(...(currentValue?.discount_list || []));
246
256
  });
247
257
  }
248
- const allDiscounts = [...discounts || [], ...bundleDiscountList];
249
- const productDiscountProductDiscountDifference = (0, import_utils3.calcDiscountListDifference)(allDiscounts);
258
+ const allDiscounts = [...(discounts || []), ...bundleDiscountList];
259
+ const productDiscountProductDiscountDifference = (0, _utils3.calcDiscountListDifference)(allDiscounts);
250
260
  return productDiscountProductDiscountDifference || 0;
251
261
  };
252
- var getProductOriginTotalPrice = (params) => {
253
- const { product, bundle, options, discounts } = params;
254
- const num = (params == null ? void 0 : params.num) || 1;
262
+
263
+ /**
264
+ * 获取商品原始总价
265
+ * @description 当前总价计算基于商品数量为1
266
+ * @param item 商品
267
+ * @returns 商品原始总价
268
+ */
269
+ const getProductOriginTotalPrice = params => {
270
+ const {
271
+ product,
272
+ bundle,
273
+ options,
274
+ discounts
275
+ } = params;
276
+ const num = params?.num || 1;
255
277
  let price = Number(product.original_price);
256
- if ((isNaN(price) || price === 0) && !(discounts == null ? void 0 : discounts.length)) {
257
- return void 0;
278
+ if ((isNaN(price) || price === 0) && !discounts?.length) {
279
+ return undefined;
258
280
  }
259
- if (bundle == null ? void 0 : bundle.length) {
281
+ if (bundle?.length) {
260
282
  price = bundle.reduce((accumulator, currentValue) => {
261
283
  return accumulator + Number(currentValue.price) * Number(currentValue.num);
262
284
  }, price);
263
285
  }
264
- if (options == null ? void 0 : options.length) {
286
+
287
+ // 单规格
288
+ if (options?.length) {
265
289
  price = options.reduce((accumulator, currentValue) => {
266
290
  return accumulator + Number(currentValue.price) * Number(currentValue.num);
267
291
  }, price);
268
292
  }
269
293
  return price;
270
294
  };
271
- var formatOptions = (options) => {
272
- if (!(options == null ? void 0 : options.length))
273
- return [];
274
- return options.map((item) => {
295
+
296
+ /**
297
+ * 格式化套餐规格信息
298
+ * @param options 套餐规格信息
299
+ * @returns 格式化后的套餐规格信息
300
+ */
301
+ exports.getProductOriginTotalPrice = getProductOriginTotalPrice;
302
+ const formatOptions = options => {
303
+ if (!options?.length) return [];
304
+ return options.map(item => {
275
305
  return {
276
- id: item == null ? void 0 : item.id,
277
- name: item == null ? void 0 : item.name,
278
- num: item == null ? void 0 : item.num,
279
- price: item == null ? void 0 : item.price,
280
- total: item == null ? void 0 : item.price,
281
- origin_total: item == null ? void 0 : item.original_price
306
+ id: item?.id,
307
+ name: item?.name,
308
+ num: item?.num,
309
+ price: item?.price,
310
+ total: item?.price,
311
+ origin_total: item?.original_price
282
312
  };
283
313
  });
284
314
  };
285
- var formatOptionsToOrigin = (options) => {
286
- if (!(options == null ? void 0 : options.length)) {
315
+ exports.formatOptions = formatOptions;
316
+ const formatOptionsToOrigin = options => {
317
+ if (!options?.length) {
287
318
  return [];
288
319
  }
289
- return options.map((d) => {
320
+ return options.map(d => {
290
321
  return {
291
322
  num: d.num,
292
- option_group_item_id: d.product_option_item_id,
323
+ option_group_item_id: d.option_group_item_id,
293
324
  option_group_id: d.option_group_id
294
325
  };
295
326
  });
296
327
  };
297
- var formatBundle = (bundle) => {
298
- if (!(bundle == null ? void 0 : bundle.length))
299
- return [];
300
- return bundle.map((item) => {
328
+
329
+ /**
330
+ * 格式化商品套餐信息
331
+ * @param bundle 商品套餐信息
332
+ * @returns 格式化后的商品套餐信息
333
+ */
334
+ exports.formatOptionsToOrigin = formatOptionsToOrigin;
335
+ const formatBundle = bundle => {
336
+ if (!bundle?.length) return [];
337
+ return bundle.map(item => {
301
338
  return {
302
- id: item == null ? void 0 : item.id,
303
- title: item == null ? void 0 : item.title,
304
- num: item == null ? void 0 : item.num,
305
- price: item == null ? void 0 : item.price,
306
- total: item == null ? void 0 : item.price,
307
- price_type: item == null ? void 0 : item.price_type,
308
- original_price: item == null ? void 0 : item.original_price,
309
- original_total: item == null ? void 0 : item.original_total,
310
- price_type_ext: item == null ? void 0 : item.price_type_ext,
311
- bundle_sum_price: item == null ? void 0 : item.bundle_sum_price,
312
- bundle_sum_type: item == null ? void 0 : item.bundle_sum_type,
313
- options: formatOptions(item == null ? void 0 : item.option),
339
+ id: item?.id,
340
+ title: item?.title,
341
+ num: item?.num,
342
+ price: item?.price,
343
+ total: item?.price,
344
+ price_type: item?.price_type,
345
+ original_price: item?.original_price,
346
+ original_total: item?.original_total,
347
+ price_type_ext: item?.price_type_ext,
348
+ bundle_sum_price: item?.bundle_sum_price,
349
+ bundle_sum_type: item?.bundle_sum_type,
350
+ options: formatOptions(item?.option),
314
351
  _bundle_product_id: item._bundle_product_id,
315
352
  discount_list: item.discount_list,
316
353
  originBundleItem: item.originBundleItem || item,
317
- is_charge_tax: item == null ? void 0 : item.is_charge_tax
354
+ is_charge_tax: item?.is_charge_tax
318
355
  };
319
356
  });
320
357
  };
321
- var formatBundleToOrigin = (bundle) => {
322
- if (!(bundle == null ? void 0 : bundle.length))
323
- return [];
324
- return bundle.map((d) => {
325
- const getBundleValueByKey = (key) => {
326
- var _a;
327
- return (d == null ? void 0 : d[key]) || ((_a = d == null ? void 0 : d.originBundleItem) == null ? void 0 : _a[key]);
358
+ exports.formatBundle = formatBundle;
359
+ const formatBundleToOrigin = bundle => {
360
+ if (!bundle?.length) return [];
361
+ return bundle.map(d => {
362
+ const getBundleValueByKey = key => {
363
+ return d?.[key] || d?.originBundleItem?.[key];
328
364
  };
329
- const product_discount_difference = ((d == null ? void 0 : d.discount_list) || []).reduce((pre, cur) => {
330
- var _a;
331
- return pre + (((_a = cur == null ? void 0 : cur.metadata) == null ? void 0 : _a.product_discount_difference) || 0);
365
+ const product_discount_difference = (d?.discount_list || []).reduce((pre, cur) => {
366
+ return pre + (cur?.metadata?.product_discount_difference || 0);
332
367
  }, 0);
368
+ const normalizedBundle = {
369
+ ...d,
370
+ // 计算 markdown 净额时只传真实毛价;若仅有 bundle_selling_price,则由 helper 当历史净额兜底。
371
+ price: d?.price ?? d?.custom_price,
372
+ bundle_selling_price: d?.bundle_selling_price,
373
+ price_type: d?.price_type ?? d?.custom_price_type,
374
+ price_type_ext: d?.price_type_ext ?? d?.custom_price_type_ext,
375
+ option: getBundleValueByKey('option')
376
+ };
333
377
  return {
334
- bundle_group_id: getBundleValueByKey("group_id"),
378
+ bundle_group_id: getBundleValueByKey('group_id'),
335
379
  bundle_id: d.id,
336
- bundle_product_id: getBundleValueByKey("_bundle_product_id") || getBundleValueByKey("product_id"),
337
- bundle_variant_id: getBundleValueByKey("bundle_variant_id"),
380
+ bundle_product_id: getBundleValueByKey('_bundle_product_id') || getBundleValueByKey('product_id'),
381
+ bundle_variant_id: getBundleValueByKey('bundle_variant_id'),
338
382
  num: d.num,
339
- extension_id: getBundleValueByKey("extension_id"),
340
- extension_type: getBundleValueByKey("extension_type"),
341
- option: formatOptionsToOrigin(getBundleValueByKey("option")),
383
+ extension_id: getBundleValueByKey('extension_id'),
384
+ extension_type: getBundleValueByKey('extension_type'),
385
+ option: formatOptionsToOrigin(getBundleValueByKey('option')),
342
386
  discount_list: d.discount_list,
343
- "bundle_selling_price": d == null ? void 0 : d.price,
344
- // "custom_price": d?.price,
387
+ "bundle_selling_price": (0, _utils4.getBundleSellingMagnitude)(normalizedBundle).toFixed(2),
388
+ "custom_price": d?.price,
345
389
  metadata: {
346
390
  custom_product_bundle_map_id: d._id,
347
391
  product_discount_difference
@@ -349,103 +393,146 @@ var formatBundleToOrigin = (bundle) => {
349
393
  };
350
394
  });
351
395
  };
352
- var getProductDeposit = (params) => {
353
- var _a, _b;
354
- const { cartItem, product, bundle, options } = params;
355
- const num = (params == null ? void 0 : params.num) || 1;
356
- if (((_a = product == null ? void 0 : product.custom_deposit_data) == null ? void 0 : _a.has_deposit) == 1) {
357
- let total = new import_decimal.default(0);
396
+
397
+ /**
398
+ * 获取商品定金
399
+ * @description 定金基于商品售价来算,最终乘商品数量
400
+ * 1、如果套餐主商品有定金规则,则定金为:(套餐商品总售价 * 定金百分比 + 定金固定金额)* 商品数量
401
+ * 2、如果套餐主商品没有定金规则,子商品有定金规则,则定金为:(套餐子商品售价 * 套餐子商品定金百分比 + 套餐子商品定金固定金额)* 商品数量,最终将所有子商品定金相加
402
+ * 3、普通商品/单规格商品/组合规则商品,定金规则:(商品总售价 * 定金百分比 + 定金固定金额)* 商品数量
403
+ * @param params 参数
404
+ * @returns 商品定金
405
+ */
406
+ exports.formatBundleToOrigin = formatBundleToOrigin;
407
+ const getProductDeposit = params => {
408
+ const {
409
+ cartItem,
410
+ product,
411
+ bundle,
412
+ options
413
+ } = params;
414
+ const num = params?.num || 1;
415
+
416
+ // 判定商品是否有定金规则
417
+ if (product?.custom_deposit_data?.has_deposit == 1) {
418
+ let total = new _decimal.default(0);
358
419
  const {
359
420
  deposit_fixed,
360
421
  deposit_percentage,
361
422
  deposit_policy_data,
362
423
  self_deposit_policy_ids
363
- } = (product == null ? void 0 : product.custom_deposit_data) || {};
424
+ } = product?.custom_deposit_data || {};
425
+ // 所有协议数据
364
426
  const allProtocols = deposit_policy_data || [];
427
+ // 是否存在定金,主商品has_deposit为1,但是自身没有定金设置,需要判定子商品是否存在定金,如果不存在最终判定也是不存在定金
365
428
  let productHasDeposit = false;
429
+ // 关联的定金协议id
366
430
  const protocolIds = [];
367
- if (typeof deposit_fixed === "string" && typeof deposit_percentage === "string") {
368
- const { depositTotal, result } = handleProductDeposit({
369
- depositData: product == null ? void 0 : product.custom_deposit_data,
431
+
432
+ // 判断主商品是否有定金规则
433
+ if (typeof deposit_fixed === 'string' && typeof deposit_percentage === 'string') {
434
+ const {
435
+ depositTotal,
436
+ result
437
+ } = handleProductDeposit({
438
+ depositData: product?.custom_deposit_data,
370
439
  total: cartItem.total || 0,
371
440
  num
372
441
  });
373
442
  if (result) {
374
443
  total = depositTotal;
375
- protocolIds.push(...self_deposit_policy_ids || []);
444
+ protocolIds.push(...(self_deposit_policy_ids || []));
376
445
  productHasDeposit = true;
377
446
  }
378
447
  } else {
379
- if (product == null ? void 0 : product.product_variant_id) {
380
- const variantProduct = (_b = product == null ? void 0 : product.variant) == null ? void 0 : _b.find(
381
- (item) => (item == null ? void 0 : item.id) === (product == null ? void 0 : product.product_variant_id)
382
- );
448
+ // 组合规格商品
449
+ if (product?.product_variant_id) {
450
+ const variantProduct = product?.variant?.find(item => item?.id === product?.product_variant_id);
383
451
  if (variantProduct) {
384
- const depositData = variantProduct == null ? void 0 : variantProduct.custom_deposit_data;
385
- const { depositTotal, result } = handleProductDeposit({
452
+ const depositData = variantProduct?.custom_deposit_data;
453
+ const {
454
+ depositTotal,
455
+ result
456
+ } = handleProductDeposit({
386
457
  depositData,
387
- total: (cartItem == null ? void 0 : cartItem.total) || 0,
458
+ total: cartItem?.total || 0,
388
459
  num
389
460
  });
390
461
  if (result) {
391
462
  total = depositTotal;
392
- protocolIds.push(...(depositData == null ? void 0 : depositData.self_deposit_policy_ids) || []);
463
+ protocolIds.push(...(depositData?.self_deposit_policy_ids || []));
393
464
  productHasDeposit = true;
394
465
  }
395
466
  }
396
467
  }
397
- if (bundle == null ? void 0 : bundle.length) {
468
+ if (bundle?.length) {
398
469
  total = bundle.reduce((accumulator, currBundleProduct) => {
399
- const depositData = currBundleProduct == null ? void 0 : currBundleProduct.custom_deposit_data;
400
- const { depositTotal, result } = handleProductDeposit({
470
+ const depositData = currBundleProduct?.custom_deposit_data;
471
+ const {
472
+ depositTotal,
473
+ result
474
+ } = handleProductDeposit({
401
475
  depositData,
402
- total: currBundleProduct == null ? void 0 : currBundleProduct.price,
403
- num: (currBundleProduct == null ? void 0 : currBundleProduct.num) || 1
476
+ total: currBundleProduct?.price,
477
+ num: currBundleProduct?.num || 1
404
478
  });
405
479
  if (result) {
406
- protocolIds.push(...(depositData == null ? void 0 : depositData.self_deposit_policy_ids) || []);
480
+ protocolIds.push(...(depositData?.self_deposit_policy_ids || []));
407
481
  productHasDeposit = true;
408
482
  return accumulator.plus(depositTotal);
409
483
  }
410
484
  return accumulator;
411
- }, new import_decimal.default(0));
485
+ }, new _decimal.default(0));
412
486
  }
413
487
  }
414
488
  if (productHasDeposit) {
415
489
  const ids = new Set(protocolIds);
416
- const protocols = allProtocols.filter((item) => ids.has(item.id));
417
- return { total: total.toNumber(), protocols };
490
+ const protocols = allProtocols.filter(item => ids.has(item.id));
491
+ return {
492
+ total: total.toNumber(),
493
+ protocols
494
+ };
418
495
  }
419
496
  return null;
420
497
  }
421
498
  return null;
422
499
  };
423
- var handleProductDeposit = (params) => {
424
- const { depositData, total, num } = params;
500
+
501
+ /**
502
+ * 计算商品定金
503
+ * @param params 参数
504
+ * @returns 商品定金
505
+ */
506
+ exports.getProductDeposit = getProductDeposit;
507
+ const handleProductDeposit = params => {
508
+ const {
509
+ depositData,
510
+ total,
511
+ num
512
+ } = params;
425
513
  if (!depositData) {
426
- return { result: false, depositTotal: new import_decimal.default(0) };
514
+ return {
515
+ result: false,
516
+ depositTotal: new _decimal.default(0)
517
+ };
427
518
  }
428
- const { deposit_fixed, deposit_percentage } = depositData || {};
429
- if (typeof deposit_fixed === "string" && typeof deposit_percentage === "string") {
430
- const depositFixed = (0, import_decimal.default)(deposit_fixed || 0);
431
- const depositPercent = (0, import_decimal.default)(deposit_percentage || 0);
432
- const productTotalPrice = (0, import_decimal.default)(total || 0);
519
+ const {
520
+ deposit_fixed,
521
+ deposit_percentage
522
+ } = depositData || {};
523
+ if (typeof deposit_fixed === 'string' && typeof deposit_percentage === 'string') {
524
+ const depositFixed = (0, _decimal.default)(deposit_fixed || 0);
525
+ const depositPercent = (0, _decimal.default)(deposit_percentage || 0);
526
+ const productTotalPrice = (0, _decimal.default)(total || 0);
433
527
  const deposit = depositFixed.plus(depositPercent.times(productTotalPrice));
434
- return { depositTotal: deposit.times(num), result: true };
528
+ return {
529
+ depositTotal: deposit.times(num),
530
+ result: true
531
+ };
435
532
  }
436
- return { result: false, depositTotal: new import_decimal.default(0) };
533
+ return {
534
+ result: false,
535
+ depositTotal: new _decimal.default(0)
536
+ };
437
537
  };
438
- // Annotate the CommonJS export names for ESM import in node:
439
- 0 && (module.exports = {
440
- formatBundle,
441
- formatBundleToOrigin,
442
- formatOptions,
443
- formatOptionsToOrigin,
444
- formatProductToCartItem,
445
- formatProductToCartItemOrigin,
446
- getProductDeposit,
447
- getProductOriginTotalPrice,
448
- getProductTotalPrice,
449
- handleProductDeposit,
450
- handleVariantProduct
451
- });
538
+ exports.handleProductDeposit = handleProductDeposit;