@pisell/pisellos 2.2.243 → 2.2.244

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 (315) hide show
  1. package/dist/model/strategy/adapter/promotion/evaluator.js +2 -3
  2. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  3. package/dist/model/strategy/adapter/walletPass/utils.js +4 -7
  4. package/dist/modules/Cart/utils/cartProduct.js +3 -24
  5. package/dist/modules/Cart/utils/changePrice.js +11 -11
  6. package/dist/modules/Customer/index.d.ts +0 -20
  7. package/dist/modules/Customer/index.js +83 -172
  8. package/dist/modules/Customer/types.d.ts +0 -2
  9. package/dist/modules/Discount/index.js +3 -4
  10. package/dist/modules/Discount/types.d.ts +0 -1
  11. package/dist/modules/OpenData/index.d.ts +0 -8
  12. package/dist/modules/OpenData/index.js +17 -37
  13. package/dist/modules/Order/index.d.ts +18 -268
  14. package/dist/modules/Order/index.js +757 -3306
  15. package/dist/modules/Order/types.d.ts +31 -279
  16. package/dist/modules/Order/types.js +0 -38
  17. package/dist/modules/Order/utils.d.ts +5 -147
  18. package/dist/modules/Order/utils.js +103 -746
  19. package/dist/modules/Payment/index.d.ts +13 -10
  20. package/dist/modules/Payment/index.js +837 -467
  21. package/dist/modules/Payment/types.d.ts +0 -2
  22. package/dist/modules/Payment/utils.js +1 -2
  23. package/dist/modules/Payment/walletpass.js +7 -14
  24. package/dist/modules/ProductList/index.d.ts +12 -16
  25. package/dist/modules/ProductList/index.js +59 -133
  26. package/dist/modules/ProductList/types.d.ts +0 -14
  27. package/dist/modules/Quotation/index.d.ts +1 -0
  28. package/dist/modules/Quotation/index.js +22 -25
  29. package/dist/modules/Rules/index.d.ts +0 -4
  30. package/dist/modules/Rules/index.js +69 -93
  31. package/dist/modules/Rules/types.d.ts +0 -1
  32. package/dist/modules/SalesSummary/index.d.ts +25 -8
  33. package/dist/modules/SalesSummary/index.js +35 -86
  34. package/dist/modules/SalesSummary/types.d.ts +1 -4
  35. package/dist/modules/SalesSummary/utils.d.ts +25 -2
  36. package/dist/modules/SalesSummary/utils.js +162 -794
  37. package/dist/modules/Schedule/index.d.ts +0 -7
  38. package/dist/modules/Schedule/index.js +2 -24
  39. package/dist/modules/Summary/index.js +3 -4
  40. package/dist/modules/index.d.ts +0 -2
  41. package/dist/modules/index.js +1 -3
  42. package/dist/plugins/request.d.ts +0 -1
  43. package/dist/server/index.d.ts +1 -204
  44. package/dist/server/index.js +928 -3658
  45. package/dist/server/modules/index.d.ts +0 -2
  46. package/dist/server/modules/index.js +0 -2
  47. package/dist/server/modules/order/index.d.ts +4 -120
  48. package/dist/server/modules/order/index.js +483 -1779
  49. package/dist/server/modules/order/types.d.ts +3 -32
  50. package/dist/server/modules/order/types.js +0 -8
  51. package/dist/server/modules/order/utils/filterBookings.js +3 -26
  52. package/dist/server/modules/order/utils/filterOrders.js +8 -23
  53. package/dist/server/modules/products/index.d.ts +7 -34
  54. package/dist/server/modules/products/index.js +317 -631
  55. package/dist/server/modules/resource/index.d.ts +0 -2
  56. package/dist/server/modules/resource/index.js +3 -29
  57. package/dist/server/modules/schedule/index.d.ts +4 -4
  58. package/dist/server/modules/schedule/index.js +88 -111
  59. package/dist/solution/BaseSales/index.d.ts +9 -131
  60. package/dist/solution/BaseSales/index.js +447 -1944
  61. package/dist/solution/BaseSales/types.d.ts +6 -76
  62. package/dist/solution/BaseSales/types.js +4 -5
  63. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +0 -1
  64. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +24 -105
  65. package/dist/solution/BaseSales/utils.d.ts +1 -1
  66. package/dist/solution/BaseSales/utils.js +21 -62
  67. package/dist/solution/BookingByStep/index.d.ts +1 -1
  68. package/dist/solution/BookingTicket/index.d.ts +10 -270
  69. package/dist/solution/BookingTicket/index.js +237 -1772
  70. package/dist/solution/BookingTicket/types.d.ts +1 -118
  71. package/dist/solution/BookingTicket/types.js +2 -41
  72. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +0 -40
  73. package/dist/solution/BookingTicket/utils/bookingStatus.js +0 -70
  74. package/dist/solution/BookingTicket/utils/cartView.d.ts +1 -9
  75. package/dist/solution/BookingTicket/utils/cartView.js +7 -94
  76. package/dist/solution/BookingTicket/utils/scan/index.d.ts +0 -5
  77. package/dist/solution/BookingTicket/utils/scan/index.js +8 -20
  78. package/dist/solution/Checkout/appointmentDemo.json +1 -0
  79. package/dist/solution/Checkout/index.d.ts +0 -1
  80. package/dist/solution/Checkout/index.js +9 -10
  81. package/dist/solution/RegisterAndLogin/config.js +10 -2
  82. package/dist/solution/ScanOrder/index.d.ts +3 -9
  83. package/dist/solution/ScanOrder/index.js +134 -241
  84. package/dist/solution/ScanOrder/types.d.ts +5 -9
  85. package/dist/solution/ScanOrder/types.js +3 -2
  86. package/dist/solution/ScanOrder/utils.d.ts +1 -1
  87. package/dist/solution/ScanOrder/utils.js +22 -84
  88. package/dist/solution/VenueBooking/index.d.ts +2 -5
  89. package/dist/solution/VenueBooking/index.js +59 -110
  90. package/dist/solution/VenueBooking/sales-section-4-annotated.json +2 -0
  91. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
  92. package/dist/solution/VenueBooking/utils/slotMerge.js +0 -10
  93. package/dist/types/index.d.ts +0 -10
  94. package/lib/model/strategy/adapter/promotion/evaluator.js +1 -2
  95. package/lib/model/strategy/adapter/promotion/index.js +0 -49
  96. package/lib/model/strategy/adapter/walletPass/utils.js +2 -3
  97. package/lib/modules/Cart/utils/cartProduct.js +3 -20
  98. package/lib/modules/Cart/utils/changePrice.js +20 -12
  99. package/lib/modules/Customer/index.d.ts +0 -20
  100. package/lib/modules/Customer/index.js +11 -64
  101. package/lib/modules/Customer/types.d.ts +0 -2
  102. package/lib/modules/Discount/index.js +1 -5
  103. package/lib/modules/Discount/types.d.ts +0 -1
  104. package/lib/modules/OpenData/index.d.ts +0 -8
  105. package/lib/modules/OpenData/index.js +5 -19
  106. package/lib/modules/Order/index.d.ts +18 -268
  107. package/lib/modules/Order/index.js +344 -2149
  108. package/lib/modules/Order/types.d.ts +31 -279
  109. package/lib/modules/Order/types.js +0 -1
  110. package/lib/modules/Order/utils.d.ts +5 -147
  111. package/lib/modules/Order/utils.js +46 -614
  112. package/lib/modules/Payment/index.d.ts +13 -10
  113. package/lib/modules/Payment/index.js +150 -18
  114. package/lib/modules/Payment/types.d.ts +0 -2
  115. package/lib/modules/Payment/utils.js +1 -2
  116. package/lib/modules/Payment/walletpass.js +3 -7
  117. package/lib/modules/ProductList/index.d.ts +12 -16
  118. package/lib/modules/ProductList/index.js +4 -41
  119. package/lib/modules/ProductList/types.d.ts +0 -14
  120. package/lib/modules/Quotation/index.d.ts +1 -0
  121. package/lib/modules/Quotation/index.js +16 -19
  122. package/lib/modules/Rules/index.d.ts +0 -4
  123. package/lib/modules/Rules/index.js +120 -136
  124. package/lib/modules/Rules/types.d.ts +0 -1
  125. package/lib/modules/SalesSummary/index.d.ts +25 -8
  126. package/lib/modules/SalesSummary/index.js +4 -30
  127. package/lib/modules/SalesSummary/types.d.ts +1 -4
  128. package/lib/modules/SalesSummary/utils.d.ts +25 -2
  129. package/lib/modules/SalesSummary/utils.js +91 -645
  130. package/lib/modules/Schedule/index.d.ts +0 -7
  131. package/lib/modules/Schedule/index.js +1 -17
  132. package/lib/modules/Summary/index.js +4 -5
  133. package/lib/modules/index.d.ts +0 -2
  134. package/lib/modules/index.js +1 -5
  135. package/lib/plugins/request.d.ts +0 -1
  136. package/lib/server/index.d.ts +1 -204
  137. package/lib/server/index.js +57 -1888
  138. package/lib/server/modules/index.d.ts +0 -2
  139. package/lib/server/modules/index.js +0 -3
  140. package/lib/server/modules/order/index.d.ts +4 -120
  141. package/lib/server/modules/order/index.js +142 -919
  142. package/lib/server/modules/order/types.d.ts +3 -32
  143. package/lib/server/modules/order/utils/filterBookings.js +5 -24
  144. package/lib/server/modules/order/utils/filterOrders.js +6 -15
  145. package/lib/server/modules/products/index.d.ts +7 -34
  146. package/lib/server/modules/products/index.js +54 -189
  147. package/lib/server/modules/resource/index.d.ts +0 -2
  148. package/lib/server/modules/resource/index.js +3 -27
  149. package/lib/server/modules/schedule/index.d.ts +4 -4
  150. package/lib/server/modules/schedule/index.js +40 -47
  151. package/lib/solution/BaseSales/index.d.ts +9 -131
  152. package/lib/solution/BaseSales/index.js +63 -1106
  153. package/lib/solution/BaseSales/types.d.ts +6 -76
  154. package/lib/solution/BaseSales/types.js +1 -3
  155. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +0 -1
  156. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +18 -106
  157. package/lib/solution/BaseSales/utils.d.ts +1 -1
  158. package/lib/solution/BaseSales/utils.js +10 -54
  159. package/lib/solution/BookingByStep/index.d.ts +1 -1
  160. package/lib/solution/BookingTicket/index.d.ts +10 -270
  161. package/lib/solution/BookingTicket/index.js +29 -922
  162. package/lib/solution/BookingTicket/types.d.ts +1 -118
  163. package/lib/solution/BookingTicket/types.js +0 -11
  164. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +0 -40
  165. package/lib/solution/BookingTicket/utils/bookingStatus.js +2 -44
  166. package/lib/solution/BookingTicket/utils/cartView.d.ts +1 -9
  167. package/lib/solution/BookingTicket/utils/cartView.js +6 -61
  168. package/lib/solution/BookingTicket/utils/scan/index.d.ts +0 -5
  169. package/lib/solution/BookingTicket/utils/scan/index.js +3 -17
  170. package/lib/solution/Checkout/appointmentDemo.json +1 -0
  171. package/lib/solution/Checkout/index.d.ts +0 -1
  172. package/lib/solution/Checkout/index.js +2 -1
  173. package/lib/solution/RegisterAndLogin/config.js +10 -2
  174. package/lib/solution/ScanOrder/index.d.ts +3 -9
  175. package/lib/solution/ScanOrder/index.js +70 -153
  176. package/lib/solution/ScanOrder/types.d.ts +5 -9
  177. package/lib/solution/ScanOrder/utils.d.ts +1 -1
  178. package/lib/solution/ScanOrder/utils.js +17 -83
  179. package/lib/solution/VenueBooking/index.d.ts +2 -5
  180. package/lib/solution/VenueBooking/index.js +17 -54
  181. package/lib/solution/VenueBooking/sales-section-4-annotated.json +2 -0
  182. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
  183. package/lib/solution/VenueBooking/utils/slotMerge.js +0 -10
  184. package/lib/types/index.d.ts +0 -10
  185. package/package.json +1 -1
  186. package/dist/modules/BookingContext/index.d.ts +0 -48
  187. package/dist/modules/BookingContext/index.js +0 -566
  188. package/dist/modules/BookingContext/types.d.ts +0 -102
  189. package/dist/modules/BookingContext/types.js +0 -51
  190. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
  191. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -284
  192. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
  193. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -145
  194. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -76
  195. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -218
  196. package/dist/modules/BookingContext/utils/flexible.d.ts +0 -28
  197. package/dist/modules/BookingContext/utils/flexible.js +0 -56
  198. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
  199. package/dist/modules/BookingContext/utils/formatResourceList.js +0 -38
  200. package/dist/modules/BookingContext/utils/index.d.ts +0 -11
  201. package/dist/modules/BookingContext/utils/index.js +0 -11
  202. package/dist/modules/BookingContext/utils/noResource.d.ts +0 -13
  203. package/dist/modules/BookingContext/utils/noResource.js +0 -77
  204. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +0 -1
  205. package/dist/modules/BookingContext/utils/orderLineDisplay.js +0 -36
  206. package/dist/modules/BookingContext/utils/productExtend.d.ts +0 -72
  207. package/dist/modules/BookingContext/utils/productExtend.js +0 -339
  208. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
  209. package/dist/modules/BookingContext/utils/resourceErrors.js +0 -74
  210. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
  211. package/dist/modules/BookingContext/utils/resourceSelection.js +0 -24
  212. package/dist/modules/BookingContext/utils/resources.d.ts +0 -80
  213. package/dist/modules/BookingContext/utils/resources.js +0 -486
  214. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
  215. package/dist/modules/BookingContext/utils/serviceTimes.js +0 -151
  216. package/dist/modules/BookingContext/utils/timeSlices.d.ts +0 -42
  217. package/dist/modules/BookingContext/utils/timeSlices.js +0 -100
  218. package/dist/modules/Order/utils/manualProductDiscount.d.ts +0 -106
  219. package/dist/modules/Order/utils/manualProductDiscount.js +0 -210
  220. package/dist/modules/SurchargeList/index.d.ts +0 -16
  221. package/dist/modules/SurchargeList/index.js +0 -162
  222. package/dist/modules/SurchargeList/types.d.ts +0 -11
  223. package/dist/modules/SurchargeList/types.js +0 -1
  224. package/dist/server/modules/payment/index.d.ts +0 -28
  225. package/dist/server/modules/payment/index.js +0 -305
  226. package/dist/server/modules/payment/types.d.ts +0 -9
  227. package/dist/server/modules/payment/types.js +0 -1
  228. package/dist/server/test.json +0 -713
  229. package/dist/server/utils/small-ticket.d.ts +0 -71
  230. package/dist/server/utils/small-ticket.js +0 -830
  231. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +0 -287
  232. package/dist/solution/BaseSales/utils/cartPromotion.js +0 -1438
  233. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
  234. package/dist/solution/BaseSales/utils/quotationPrice.js +0 -237
  235. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +0 -117
  236. package/dist/solution/BookingTicket/utils/addProductDecision.js +0 -346
  237. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +0 -35
  238. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +0 -95
  239. package/dist/solution/BookingTicket/utils/exampleData.d.ts +0 -123
  240. package/dist/solution/BookingTicket/utils/exampleData.js +0 -183
  241. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +0 -185
  242. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +0 -438
  243. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +0 -36
  244. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +0 -399
  245. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +0 -32
  246. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +0 -56
  247. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +0 -21
  248. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +0 -150
  249. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +0 -23
  250. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +0 -78
  251. package/lib/modules/BookingContext/index.d.ts +0 -48
  252. package/lib/modules/BookingContext/index.js +0 -368
  253. package/lib/modules/BookingContext/types.d.ts +0 -102
  254. package/lib/modules/BookingContext/types.js +0 -34
  255. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
  256. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -276
  257. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
  258. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -151
  259. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -76
  260. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -201
  261. package/lib/modules/BookingContext/utils/flexible.d.ts +0 -28
  262. package/lib/modules/BookingContext/utils/flexible.js +0 -80
  263. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
  264. package/lib/modules/BookingContext/utils/formatResourceList.js +0 -50
  265. package/lib/modules/BookingContext/utils/index.d.ts +0 -11
  266. package/lib/modules/BookingContext/utils/index.js +0 -43
  267. package/lib/modules/BookingContext/utils/noResource.d.ts +0 -13
  268. package/lib/modules/BookingContext/utils/noResource.js +0 -90
  269. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +0 -1
  270. package/lib/modules/BookingContext/utils/orderLineDisplay.js +0 -56
  271. package/lib/modules/BookingContext/utils/productExtend.d.ts +0 -72
  272. package/lib/modules/BookingContext/utils/productExtend.js +0 -283
  273. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
  274. package/lib/modules/BookingContext/utils/resourceErrors.js +0 -80
  275. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
  276. package/lib/modules/BookingContext/utils/resourceSelection.js +0 -46
  277. package/lib/modules/BookingContext/utils/resources.d.ts +0 -80
  278. package/lib/modules/BookingContext/utils/resources.js +0 -377
  279. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
  280. package/lib/modules/BookingContext/utils/serviceTimes.js +0 -162
  281. package/lib/modules/BookingContext/utils/timeSlices.d.ts +0 -42
  282. package/lib/modules/BookingContext/utils/timeSlices.js +0 -124
  283. package/lib/modules/Order/utils/manualProductDiscount.d.ts +0 -106
  284. package/lib/modules/Order/utils/manualProductDiscount.js +0 -206
  285. package/lib/modules/SurchargeList/index.d.ts +0 -16
  286. package/lib/modules/SurchargeList/index.js +0 -89
  287. package/lib/modules/SurchargeList/types.d.ts +0 -11
  288. package/lib/modules/SurchargeList/types.js +0 -17
  289. package/lib/server/modules/payment/index.d.ts +0 -28
  290. package/lib/server/modules/payment/index.js +0 -192
  291. package/lib/server/modules/payment/types.d.ts +0 -9
  292. package/lib/server/modules/payment/types.js +0 -17
  293. package/lib/server/test.json +0 -713
  294. package/lib/server/utils/small-ticket.d.ts +0 -71
  295. package/lib/server/utils/small-ticket.js +0 -781
  296. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +0 -287
  297. package/lib/solution/BaseSales/utils/cartPromotion.js +0 -992
  298. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
  299. package/lib/solution/BaseSales/utils/quotationPrice.js +0 -277
  300. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +0 -117
  301. package/lib/solution/BookingTicket/utils/addProductDecision.js +0 -318
  302. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +0 -35
  303. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +0 -125
  304. package/lib/solution/BookingTicket/utils/exampleData.d.ts +0 -123
  305. package/lib/solution/BookingTicket/utils/exampleData.js +0 -0
  306. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +0 -185
  307. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +0 -254
  308. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +0 -36
  309. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +0 -168
  310. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +0 -32
  311. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +0 -51
  312. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +0 -21
  313. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +0 -127
  314. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +0 -23
  315. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +0 -85
@@ -159,14 +159,6 @@ var RulesModule = class extends import_BaseModule.BaseModule {
159
159
  filterDiscountListByType(discountList, type) {
160
160
  return (discountList || []).filter((item) => item.type === type || item.tag === type);
161
161
  }
162
- /** 剔除指定 type/tag 的折扣项,保留手动改价(type=product) / 券等 */
163
- excludeDiscountListByType(discountList, type) {
164
- return (discountList || []).filter((item) => item.type !== type && item.tag !== type);
165
- }
166
- /** 手动改价场景:去掉 promotion,保留 type=product 等行内折扣 */
167
- resolveDiscountListForManualOverride(discountList) {
168
- return this.excludeDiscountListByType(discountList, "promotion");
169
- }
170
162
  // 获取券不可用的原因
171
163
  getUnavailableReason(discountList, productList) {
172
164
  var _a;
@@ -206,7 +198,6 @@ var RulesModule = class extends import_BaseModule.BaseModule {
206
198
  isFormSubject,
207
199
  orderTotalAmount
208
200
  }, options) {
209
- var _a;
210
201
  const isEditModeAddNewProduct = productList.find((n) => n.booking_id) && productList.find((n) => !n.booking_id);
211
202
  const editModeDiscount = [];
212
203
  const addModeDiscount = [];
@@ -219,8 +210,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
219
210
  });
220
211
  const editModeOrderLevelProductIds = /* @__PURE__ */ new Set();
221
212
  editModeDiscount.forEach((discount) => {
222
- var _a2, _b;
223
- if (((_a2 = discount.discount) == null ? void 0 : _a2.discount_calculation_mode) === "order_level") {
213
+ var _a, _b;
214
+ if (((_a = discount.discount) == null ? void 0 : _a.discount_calculation_mode) === "order_level") {
224
215
  editModeOrderLevelProductIds.add((_b = discount == null ? void 0 : discount.discount) == null ? void 0 : _b.discount_product_id);
225
216
  }
226
217
  });
@@ -234,13 +225,6 @@ var RulesModule = class extends import_BaseModule.BaseModule {
234
225
  const filteredDiscountList = addModeDiscount.filter((discount) => {
235
226
  return !discount.isManualSelect;
236
227
  });
237
- const hasDiscountInput = editModeDiscount.length > 0 || addModeDiscount.length > 0 || Boolean(options == null ? void 0 : options.discountId) || Boolean((_a = options == null ? void 0 : options.selectedList) == null ? void 0 : _a.length) || Boolean(options == null ? void 0 : options.scan);
238
- if (!hasDiscountInput) {
239
- return {
240
- discountList,
241
- productList
242
- };
243
- }
244
228
  const flattenProductsWithBundle = (productList2) => {
245
229
  const flattened = [];
246
230
  productList2.forEach((originProduct) => {
@@ -286,17 +270,17 @@ var RulesModule = class extends import_BaseModule.BaseModule {
286
270
  };
287
271
  const sortedDiscountList = [...filteredDiscountList].sort((a, b) => {
288
272
  const isHolderDiscount = (discount) => {
289
- var _a2, _b;
290
- return ((_b = (_a2 = discount.metadata) == null ? void 0 : _a2.holder) == null ? void 0 : _b.type) === "custom";
273
+ var _a, _b;
274
+ return ((_b = (_a = discount.metadata) == null ? void 0 : _a.holder) == null ? void 0 : _b.type) === "custom";
291
275
  };
292
276
  const isGoodPass = (discount) => discount.tag === "good_pass";
293
277
  const isOrderLevelDiscount = (discount) => {
294
- var _a2;
295
- return discount.tag === "product_discount_card" && ((_a2 = discount.metadata) == null ? void 0 : _a2.discount_calculation_mode) === "order_level";
278
+ var _a;
279
+ return discount.tag === "product_discount_card" && ((_a = discount.metadata) == null ? void 0 : _a.discount_calculation_mode) === "order_level";
296
280
  };
297
281
  const isItemLevelDiscount = (discount) => {
298
- var _a2;
299
- return discount.tag === "product_discount_card" && ((_a2 = discount.metadata) == null ? void 0 : _a2.discount_calculation_mode) !== "order_level";
282
+ var _a;
283
+ return discount.tag === "product_discount_card" && ((_a = discount.metadata) == null ? void 0 : _a.discount_calculation_mode) !== "order_level";
300
284
  };
301
285
  const getPriority = (discount) => {
302
286
  const isHolder = isHolderDiscount(discount);
@@ -326,8 +310,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
326
310
  return itemA.expire_time ? -1 : itemB.expire_time ? 1 : 0;
327
311
  }
328
312
  function compareDiscountCardValue(itemA, itemB) {
329
- var _a2, _b;
330
- const typeA = ((_a2 = itemA.metadata) == null ? void 0 : _a2.discount_card_type) || "percent";
313
+ var _a, _b;
314
+ const typeA = ((_a = itemA.metadata) == null ? void 0 : _a.discount_card_type) || "percent";
331
315
  const typeB = ((_b = itemB.metadata) == null ? void 0 : _b.discount_card_type) || "percent";
332
316
  if (typeA === "fixed_amount" && typeB === "percent")
333
317
  return -1;
@@ -367,7 +351,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
367
351
  });
368
352
  const flattenedList = flattenProductsWithBundle(productList);
369
353
  const sortedFlattenedList = flattenedList.sort((a, b) => {
370
- var _a2, _b;
354
+ var _a, _b;
371
355
  const priceA = new import_decimal.default(
372
356
  a.type === "bundle" ? a.original_price ?? a.price ?? "0" : a.price || "0"
373
357
  );
@@ -380,7 +364,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
380
364
  }
381
365
  if (a.type === "main" && b.type === "main") {
382
366
  if (a.product.quantity === b.product.quantity) {
383
- return (((_a2 = b.product.discount_list) == null ? void 0 : _a2.length) || 0) - (((_b = a.product.discount_list) == null ? void 0 : _b.length) || 0);
367
+ return (((_a = b.product.discount_list) == null ? void 0 : _a.length) || 0) - (((_b = a.product.discount_list) == null ? void 0 : _b.length) || 0);
384
368
  }
385
369
  return a.product.quantity - b.product.quantity;
386
370
  }
@@ -393,7 +377,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
393
377
  const evaluator = this.getWalletPassEvaluator();
394
378
  if (evaluator) {
395
379
  addModeDiscount.forEach((discount) => {
396
- var _a2, _b;
380
+ var _a, _b;
397
381
  const discountType = discount.tag || discount.type;
398
382
  if (["good_pass", "discount_card", "product_discount_card"].includes(
399
383
  discountType
@@ -405,17 +389,17 @@ var RulesModule = class extends import_BaseModule.BaseModule {
405
389
  type: discountType,
406
390
  product_id: discount.product_id,
407
391
  unified_available_status: 1,
408
- available_product_type: (_a2 = discount.limited_relation_product_data) == null ? void 0 : _a2.type,
392
+ available_product_type: (_a = discount.limited_relation_product_data) == null ? void 0 : _a.type,
409
393
  available_product_ids: (_b = discount.limited_relation_product_data) == null ? void 0 : _b.product_ids
410
394
  };
411
395
  const productsForEvaluate = sortedFlattenedList.map((item) => {
412
- var _a3;
396
+ var _a2;
413
397
  return {
414
398
  product_id: item.id,
415
399
  price: item.price || 0,
416
400
  quantity: item.quantity || item.num || 1,
417
401
  selling_price: item.price || 0,
418
- product_options: item.type === "main" ? (_a3 = item.product) == null ? void 0 : _a3.options : void 0
402
+ product_options: item.type === "main" ? (_a2 = item.product) == null ? void 0 : _a2.options : void 0
419
403
  };
420
404
  });
421
405
  const result = evaluator.checkVoucherAvailability({
@@ -448,7 +432,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
448
432
  const orderLevelDiscountApplicableItems = /* @__PURE__ */ new Map();
449
433
  const itemApplicableDiscounts = /* @__PURE__ */ new Map();
450
434
  const checkItemApplicableForDiscount = (flatItem, discount) => {
451
- var _a2, _b, _c, _d, _e, _f, _g, _h;
435
+ var _a, _b, _c, _d, _e, _f, _g, _h;
452
436
  let product;
453
437
  if (flatItem.type === "main") {
454
438
  product = flatItem.product;
@@ -461,7 +445,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
461
445
  num: flatItem.num,
462
446
  booking_id: flatItem.booking_id,
463
447
  discount_list: flatItem.discount_list || [],
464
- startDate: (_a2 = flatItem.parentProduct) == null ? void 0 : _a2.startDate
448
+ startDate: (_a = flatItem.parentProduct) == null ? void 0 : _a.startDate
465
449
  };
466
450
  }
467
451
  const isAvailableProduct = flatItem.type === "main" ? !((product == null ? void 0 : product.booking_id) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.length) && ((_c = product == null ? void 0 : product.discount_list) == null ? void 0 : _c.every((d) => d.id && ["good_pass", "discount_card", "product_discount_card"].includes(d.tag || d.type)))) : !((flatItem == null ? void 0 : flatItem.booking_id) && !!((_e = (_d = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _d.discount_list) == null ? void 0 : _e.length) && ((_g = (_f = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _f.discount_list) == null ? void 0 : _g.every((d) => d.id)));
@@ -523,13 +507,14 @@ var RulesModule = class extends import_BaseModule.BaseModule {
523
507
  }
524
508
  }
525
509
  });
510
+ console.log("occupiedItems", occupiedItems, "orderLevelDiscountApplicableItems", orderLevelDiscountApplicableItems);
526
511
  sortedDiscountList.forEach((discount) => {
527
512
  if (!(0, import_utils3.isOrderLevelFixedAmountDiscount)(discount)) {
528
513
  return;
529
514
  }
530
515
  const applicableProducts = [];
531
516
  sortedFlattenedList.forEach((flatItem) => {
532
- var _a2, _b, _c;
517
+ var _a, _b, _c;
533
518
  const occupyingDiscountId = occupiedItems.get(flatItem._id);
534
519
  if (occupyingDiscountId !== void 0 && occupyingDiscountId !== discount.id) {
535
520
  return;
@@ -549,7 +534,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
549
534
  num: flatItem.num
550
535
  };
551
536
  }
552
- const quantity = flatItem.type === "main" ? product.num || product.quantity || 1 : (product.num || product.quantity || 1) * (((_a2 = flatItem.parentProduct) == null ? void 0 : _a2.num) || ((_b = flatItem.parentProduct) == null ? void 0 : _b.quantity) || 1);
537
+ const quantity = flatItem.type === "main" ? product.num || product.quantity || 1 : (product.num || product.quantity || 1) * (((_a = flatItem.parentProduct) == null ? void 0 : _a.num) || ((_b = flatItem.parentProduct) == null ? void 0 : _b.quantity) || 1);
553
538
  const originalAmount = flatItem.type === "main" ? Number(product.price ?? 0) : Number(flatItem.original_price ?? flatItem.price ?? 0);
554
539
  const productData = {
555
540
  productId: flatItem._id,
@@ -569,7 +554,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
569
554
  const processedProductsMap = /* @__PURE__ */ new Map();
570
555
  const appliedDiscountProducts = /* @__PURE__ */ new Map();
571
556
  sortedFlattenedList.forEach((flatItem) => {
572
- var _a2;
557
+ var _a;
573
558
  let product, originProduct;
574
559
  if (flatItem.type === "main") {
575
560
  product = flatItem.product;
@@ -585,12 +570,12 @@ var RulesModule = class extends import_BaseModule.BaseModule {
585
570
  origin_total: flatItem.origin_total,
586
571
  booking_id: flatItem.booking_id,
587
572
  discount_list: flatItem.discount_list || [],
588
- startDate: (_a2 = flatItem.parentProduct) == null ? void 0 : _a2.startDate
573
+ startDate: (_a = flatItem.parentProduct) == null ? void 0 : _a.startDate
589
574
  };
590
575
  originProduct = flatItem.originProduct;
591
576
  }
592
577
  addModeDiscount.forEach((discount) => {
593
- var _a3, _b, _c, _d, _e, _f, _g, _h, _i, _j;
578
+ var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j;
594
579
  const limitedData = discount == null ? void 0 : discount.limited_relation_product_data;
595
580
  const _tempVar = (flatItem == null ? void 0 : flatItem.type) === "bundle" ? flatItem == null ? void 0 : flatItem.parentProduct : flatItem == null ? void 0 : flatItem.product;
596
581
  const isHolderMatch = this.checkHolderMatch(
@@ -604,7 +589,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
604
589
  let timeLimit = true;
605
590
  timeLimit = !!(0, import_utils.filterDiscountListByBookingTime)([discount], ((product == null ? void 0 : product.startDate) || (0, import_dayjs.default)()).format("YYYY-MM-DD HH:mm:ss")).length;
606
591
  const isLimitedProduct = (limitedData.type === "product_all" && limitedData.filter !== 1 || limitedData.type === "product_all" && limitedData.filter === 1 && !limitedData.exclude_product_ids.includes(product.id) || limitedData.product_ids && limitedData.product_ids.includes(product.id)) && isHolderMatch;
607
- const isAvailableProduct = flatItem.type === "main" ? !((product == null ? void 0 : product.booking_id) && ((_a3 = product == null ? void 0 : product.discount_list) == null ? void 0 : _a3.length) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.every(
592
+ const isAvailableProduct = flatItem.type === "main" ? !((product == null ? void 0 : product.booking_id) && ((_a2 = product == null ? void 0 : product.discount_list) == null ? void 0 : _a2.length) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.every(
608
593
  (discount2) => discount2.id && [
609
594
  "good_pass",
610
595
  "discount_card",
@@ -688,7 +673,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
688
673
  }, 0);
689
674
  };
690
675
  sortedFlattenedList.forEach((flatItem, index) => {
691
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I;
676
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F;
692
677
  let product, originProduct;
693
678
  if (flatItem.type === "main") {
694
679
  product = flatItem.product;
@@ -701,7 +686,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
701
686
  quantity: flatItem.quantity,
702
687
  num: flatItem.num,
703
688
  total: flatItem.total,
704
- original_price: (_a2 = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _a2.original_price,
689
+ original_price: (_a = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _a.original_price,
705
690
  origin_total: (_b = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _b.original_price,
706
691
  booking_id: flatItem.booking_id,
707
692
  discount_list: ((_c = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _c.discount_list) || [],
@@ -709,18 +694,11 @@ var RulesModule = class extends import_BaseModule.BaseModule {
709
694
  };
710
695
  originProduct = flatItem.originProduct;
711
696
  }
712
- const isPersistedProduct = (product == null ? void 0 : product.booking_id) || (originProduct == null ? void 0 : originProduct.order_detail_id) || (originProduct == null ? void 0 : originProduct.orderDetailId) || (originProduct == null ? void 0 : originProduct.booking_id);
713
- const hasExistingWalletDiscount = ((_e = product.discount_list) == null ? void 0 : _e.length) && ((_f = product == null ? void 0 : product.discount_list) == null ? void 0 : _f.every((discount) => {
714
- var _a3;
715
- const discountIdentity = discount.id ?? ((_a3 = discount.discount) == null ? void 0 : _a3.resource_id);
716
- const discountType = discount.tag || discount.type;
717
- return Boolean(
718
- discountIdentity && ["good_pass", "discount_card", "product_discount_card"].includes(
719
- discountType
720
- )
721
- );
722
- }));
723
- if (isPersistedProduct && hasExistingWalletDiscount) {
697
+ if ((product == null ? void 0 : product.booking_id) && ((_e = product.discount_list) == null ? void 0 : _e.length) && ((_f = product == null ? void 0 : product.discount_list) == null ? void 0 : _f.every(
698
+ (discount) => discount.id && ["good_pass", "discount_card", "product_discount_card"].includes(
699
+ discount.tag || discount.type
700
+ )
701
+ ))) {
724
702
  if (flatItem.type === "main") {
725
703
  processedProductsMap.set(product._id, [originProduct]);
726
704
  } else {
@@ -734,20 +712,20 @@ var RulesModule = class extends import_BaseModule.BaseModule {
734
712
  return;
735
713
  }
736
714
  const applicableDiscounts = sortedDiscountList.filter((discount) => {
737
- var _a3, _b2, _c2, _d2;
715
+ var _a2, _b2, _c2, _d2;
738
716
  const discountType = discount.tag || discount.type;
739
717
  if (["good_pass", "discount_card", "product_discount_card"].includes(
740
718
  discountType
741
719
  )) {
742
- if (discount.config === void 0 || !((_a3 = discount == null ? void 0 : discount.config) == null ? void 0 : _a3.isAvailable)) {
720
+ if (discount.config === void 0 || !((_a2 = discount == null ? void 0 : discount.config) == null ? void 0 : _a2.isAvailable)) {
743
721
  return false;
744
722
  }
745
723
  }
746
724
  if ((Number(product.price) <= 0 || !product.price) && !((_b2 = product.discount_list) == null ? void 0 : _b2.length) && (discount.tag || discount.type) === "good_pass")
747
725
  return false;
748
726
  if ((Number(product.price) <= 0 || !product.price) && !((_c2 = product.discount_list) == null ? void 0 : _c2.find((n) => {
749
- var _a4;
750
- return ((_a4 = n.discount) == null ? void 0 : _a4.resource_id) === discount.id;
727
+ var _a3;
728
+ return ((_a3 = n.discount) == null ? void 0 : _a3.resource_id) === discount.id;
751
729
  })) && (discount.tag || discount.type) !== "good_pass")
752
730
  return false;
753
731
  const targetUsedDiscounts = usedDiscounts.get(discount.id);
@@ -801,13 +779,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
801
779
  const selectedDiscount = selectedDiscountCard || applicableDiscounts[0];
802
780
  let isManualDiscount = false;
803
781
  if (flatItem.type === "main") {
804
- isManualDiscount = typeof product.isManualDiscount === "boolean" ? product.isManualDiscount : ((_g = product.discount_list) == null ? void 0 : _g.some((item) => item.type === "product")) || product.total != product.origin_total && (product.bundle || []).every(
782
+ isManualDiscount = typeof product.isManualDiscount === "boolean" ? product.isManualDiscount : product.total != product.origin_total && (product.bundle || []).every(
805
783
  (item) => {
806
- var _a3;
807
- return !((_a3 = item.discount_list || []) == null ? void 0 : _a3.length);
784
+ var _a2;
785
+ return !((_a2 = item.discount_list || []) == null ? void 0 : _a2.length);
808
786
  }
809
- ) && (!((_h = product.discount_list) == null ? void 0 : _h.length) || ((_j = (_i = product == null ? void 0 : product.discount_list) == null ? void 0 : _i.every) == null ? void 0 : _j.call(
810
- _i,
787
+ ) && (!((_g = product.discount_list) == null ? void 0 : _g.length) || ((_i = (_h = product == null ? void 0 : product.discount_list) == null ? void 0 : _h.every) == null ? void 0 : _i.call(
788
+ _h,
811
789
  (item) => item.type === "product"
812
790
  )));
813
791
  if (product.inPromotion) {
@@ -816,36 +794,36 @@ var RulesModule = class extends import_BaseModule.BaseModule {
816
794
  } else {
817
795
  const parentProduct = flatItem.parentProduct;
818
796
  if (parentProduct) {
819
- isManualDiscount = typeof parentProduct.isManualDiscount === "boolean" ? parentProduct.isManualDiscount : ((_k = parentProduct.discount_list) == null ? void 0 : _k.some((item) => item.type === "product")) || parentProduct.total != parentProduct.origin_total && (parentProduct.bundle || []).every(
797
+ isManualDiscount = typeof parentProduct.isManualDiscount === "boolean" ? parentProduct.isManualDiscount : parentProduct.total != parentProduct.origin_total && (parentProduct.bundle || []).every(
820
798
  (item) => {
821
- var _a3;
822
- return !((_a3 = item.discount_list || []) == null ? void 0 : _a3.length);
799
+ var _a2;
800
+ return !((_a2 = item.discount_list || []) == null ? void 0 : _a2.length);
823
801
  }
824
- ) && (!((_l = parentProduct.discount_list) == null ? void 0 : _l.length) || ((_n = (_m = parentProduct == null ? void 0 : parentProduct.discount_list) == null ? void 0 : _m.every) == null ? void 0 : _n.call(
825
- _m,
802
+ ) && (!((_j = parentProduct.discount_list) == null ? void 0 : _j.length) || ((_l = (_k = parentProduct == null ? void 0 : parentProduct.discount_list) == null ? void 0 : _k.every) == null ? void 0 : _l.call(
803
+ _k,
826
804
  (item) => item.type === "product"
827
805
  )));
828
806
  }
829
807
  }
830
808
  if (options == null ? void 0 : options.discountId) {
831
- if (flatItem.type === "main" && ((_o = product.discount_list) == null ? void 0 : _o.some(
809
+ if (flatItem.type === "main" && ((_m = product.discount_list) == null ? void 0 : _m.some(
832
810
  (item) => {
833
- var _a3;
834
- return ((_a3 = item.discount) == null ? void 0 : _a3.resource_id) === options.discountId;
811
+ var _a2;
812
+ return ((_a2 = item.discount) == null ? void 0 : _a2.resource_id) === options.discountId;
835
813
  }
836
814
  ))) {
837
815
  isManualDiscount = false;
838
816
  }
839
817
  if (flatItem.type === "bundle") {
840
- if (((_p = product.discount_list) == null ? void 0 : _p.some(
818
+ if (((_n = product.discount_list) == null ? void 0 : _n.some(
841
819
  (item) => {
842
- var _a3;
843
- return ((_a3 = item.discount) == null ? void 0 : _a3.resource_id) === options.discountId;
820
+ var _a2;
821
+ return ((_a2 = item.discount) == null ? void 0 : _a2.resource_id) === options.discountId;
844
822
  }
845
- )) || ((_r = (_q = flatItem.parentProduct) == null ? void 0 : _q.discount_list) == null ? void 0 : _r.some(
823
+ )) || ((_p = (_o = flatItem.parentProduct) == null ? void 0 : _o.discount_list) == null ? void 0 : _p.some(
846
824
  (item) => {
847
- var _a3;
848
- return ((_a3 = item.discount) == null ? void 0 : _a3.resource_id) === options.discountId;
825
+ var _a2;
826
+ return ((_a2 = item.discount) == null ? void 0 : _a2.resource_id) === options.discountId;
849
827
  }
850
828
  ))) {
851
829
  isManualDiscount = false;
@@ -853,13 +831,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
853
831
  }
854
832
  }
855
833
  if (options == null ? void 0 : options.selectedList) {
856
- if (flatItem.type === "main" && ((_s = product.discount_list) == null ? void 0 : _s.some(
834
+ if (flatItem.type === "main" && ((_q = product.discount_list) == null ? void 0 : _q.some(
857
835
  (item) => {
858
- var _a3;
859
- return (_a3 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a3.some(
836
+ var _a2;
837
+ return (_a2 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a2.some(
860
838
  (n) => {
861
- var _a4;
862
- return n.discountId === ((_a4 = item.discount) == null ? void 0 : _a4.resource_id);
839
+ var _a3;
840
+ return n.discountId === ((_a3 = item.discount) == null ? void 0 : _a3.resource_id);
863
841
  }
864
842
  );
865
843
  }
@@ -867,23 +845,23 @@ var RulesModule = class extends import_BaseModule.BaseModule {
867
845
  isManualDiscount = false;
868
846
  }
869
847
  if (flatItem.type === "bundle") {
870
- if (((_t = product.discount_list) == null ? void 0 : _t.some(
848
+ if (((_r = product.discount_list) == null ? void 0 : _r.some(
871
849
  (item) => {
872
- var _a3;
873
- return (_a3 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a3.some(
850
+ var _a2;
851
+ return (_a2 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a2.some(
874
852
  (n) => {
875
- var _a4;
876
- return n.discountId === ((_a4 = item.discount) == null ? void 0 : _a4.resource_id);
853
+ var _a3;
854
+ return n.discountId === ((_a3 = item.discount) == null ? void 0 : _a3.resource_id);
877
855
  }
878
856
  );
879
857
  }
880
- )) || ((_v = (_u = flatItem.parentProduct) == null ? void 0 : _u.discount_list) == null ? void 0 : _v.some(
858
+ )) || ((_t = (_s = flatItem.parentProduct) == null ? void 0 : _s.discount_list) == null ? void 0 : _t.some(
881
859
  (item) => {
882
- var _a3;
883
- return (_a3 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a3.some(
860
+ var _a2;
861
+ return (_a2 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a2.some(
884
862
  (n) => {
885
- var _a4;
886
- return n.discountId === ((_a4 = item.discount) == null ? void 0 : _a4.resource_id);
863
+ var _a3;
864
+ return n.discountId === ((_a3 = item.discount) == null ? void 0 : _a3.resource_id);
887
865
  }
888
866
  );
889
867
  }
@@ -918,11 +896,11 @@ var RulesModule = class extends import_BaseModule.BaseModule {
918
896
  price: product.price,
919
897
  options: restoredOptions
920
898
  },
921
- discount_list: isManualDiscount ? this.resolveDiscountListForManualOverride(product.discount_list) : this.filterDiscountListByType(product.discount_list, "promotion")
899
+ discount_list: this.filterDiscountListByType(product.discount_list, "promotion")
922
900
  })
923
901
  ]);
924
902
  } else {
925
- let total = product.inPromotion ? ((_w = product == null ? void 0 : product._promotion) == null ? void 0 : _w.finalPrice) ?? product.origin_total ?? product.total : product.origin_total ?? product.total;
903
+ let total = product.inPromotion ? ((_u = product == null ? void 0 : product._promotion) == null ? void 0 : _u.finalPrice) ?? product.origin_total ?? product.total : product.origin_total ?? product.total;
926
904
  let main_product_selling_price = product.price;
927
905
  if ((product.discount_list || []).some((item) => item.type === "promotion") || (0, import_lodash_es.isBoolean)(product.vouchersApplicable) && !product.vouchersApplicable) {
928
906
  total = product.total ?? product.origin_total;
@@ -940,14 +918,14 @@ var RulesModule = class extends import_BaseModule.BaseModule {
940
918
  main_product_selling_price,
941
919
  options: restoredOptions
942
920
  },
943
- discount_list: isManualDiscount ? this.resolveDiscountListForManualOverride(product.discount_list) : this.filterDiscountListByType(product.discount_list, "promotion")
921
+ discount_list: this.filterDiscountListByType(product.discount_list, "promotion")
944
922
  })
945
923
  ]);
946
924
  }
947
925
  } else {
948
926
  processedFlatItemsMap.set(flatItem._id, [{
949
927
  ...flatItem,
950
- discount_list: isManualDiscount ? this.resolveDiscountListForManualOverride(((_x = flatItem.bundleItem) == null ? void 0 : _x.discount_list) || []) : this.filterDiscountListByType(((_y = flatItem.bundleItem) == null ? void 0 : _y.discount_list) || [], "promotion"),
928
+ discount_list: this.filterDiscountListByType(((_v = flatItem.bundleItem) == null ? void 0 : _v.discount_list) || [], "promotion"),
951
929
  price: isManualDiscount ? flatItem.bundleItem.price : flatItem.bundleItem.original_price,
952
930
  processed: true
953
931
  }]);
@@ -998,13 +976,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
998
976
  if (this.filterDiscountListByType(product.discount_list, "promotion").length && product.origin_total) {
999
977
  productOriginTotal = product.origin_total;
1000
978
  }
1001
- if (Number(((_z = originProduct == null ? void 0 : originProduct._productInit) == null ? void 0 : _z.original_price) || 0) > 0 && product.origin_total && product.total && product.origin_total !== product.total) {
979
+ if (Number(((_w = originProduct == null ? void 0 : originProduct._productInit) == null ? void 0 : _w.original_price) || 0) > 0 && product.origin_total && product.total && product.origin_total !== product.total) {
1002
980
  productOriginTotal = product.total;
1003
981
  }
1004
982
  const isOrderLevel = (0, import_utils3.isOrderLevelFixedAmountDiscount)(selectedDiscount2);
1005
983
  const orderLevelAllocation = isOrderLevel ? orderLevelDiscountAllocations.get(selectedDiscount2.id) : null;
1006
984
  const productAllocation = orderLevelAllocation == null ? void 0 : orderLevelAllocation.get(flatItem._id);
1007
- const isDeductOptionPrice = !!((_A = selectedDiscount2.config) == null ? void 0 : _A.deductOptionPrice);
985
+ const isDeductOptionPrice = !!((_x = selectedDiscount2.config) == null ? void 0 : _x.deductOptionPrice);
1008
986
  let mainProductSellingPrice;
1009
987
  let amount;
1010
988
  let productDiscountDifference;
@@ -1022,7 +1000,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1022
1000
  );
1023
1001
  amount = new import_decimal.default(product.price).minus(new import_decimal.default(mainProductSellingPrice)).toNumber();
1024
1002
  }
1025
- if (isDeductOptionPrice && ((_B = product.options) == null ? void 0 : _B.length)) {
1003
+ if (isDeductOptionPrice && ((_y = product.options) == null ? void 0 : _y.length)) {
1026
1004
  const optionResult = applyDiscountToOptions(
1027
1005
  product.options,
1028
1006
  selectedDiscount2
@@ -1030,7 +1008,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1030
1008
  discountedOptions = optionResult.discountedOptions;
1031
1009
  optionDiscountAmount = optionResult.optionDiscountAmount;
1032
1010
  }
1033
- const optionsForLineTotal = isDeductOptionPrice && ((_C = product.options) == null ? void 0 : _C.length) ? discountedOptions : product.options;
1011
+ const optionsForLineTotal = isDeductOptionPrice && ((_z = product.options) == null ? void 0 : _z.length) ? discountedOptions : product.options;
1034
1012
  const optionsLineTotal = getOptionTotal(optionsForLineTotal || []);
1035
1013
  const total = new import_decimal.default(mainProductSellingPrice).plus(optionsLineTotal).toNumber();
1036
1014
  const mainProductDiscountAmount = amount;
@@ -1041,9 +1019,9 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1041
1019
  amount: lineDiscountAmount,
1042
1020
  type: selectedDiscount2.tag === "product_discount_card" ? "discount_card" : discountType,
1043
1021
  discount: {
1044
- discount_card_type: (_D = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _D.discount_card_type,
1022
+ discount_card_type: (_A = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _A.discount_card_type,
1045
1023
  fixed_amount: lineDiscountAmount,
1046
- discount_calculation_mode: (_E = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _E.discount_calculation_mode,
1024
+ discount_calculation_mode: (_B = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _B.discount_calculation_mode,
1047
1025
  resource_id: selectedDiscount2.id,
1048
1026
  title: selectedDiscount2.format_title,
1049
1027
  original_amount: product.price,
@@ -1125,7 +1103,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1125
1103
  type: "good_pass",
1126
1104
  discount: {
1127
1105
  fixed_amount: product.origin_total,
1128
- discount_calculation_mode: (_F = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _F.discount_calculation_mode,
1106
+ discount_calculation_mode: (_C = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _C.discount_calculation_mode,
1129
1107
  resource_id: selectedDiscount2.id,
1130
1108
  title: selectedDiscount2.format_title,
1131
1109
  original_amount: product.origin_total,
@@ -1199,9 +1177,9 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1199
1177
  amount: fixedAmountPerItem * (product.num || 1),
1200
1178
  type: selectedDiscount2.tag === "product_discount_card" ? "discount_card" : selectedDiscount2.tag,
1201
1179
  discount: {
1202
- discount_card_type: (_G = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _G.discount_card_type,
1180
+ discount_card_type: (_D = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _D.discount_card_type,
1203
1181
  fixed_amount: fixedAmountPerItem,
1204
- discount_calculation_mode: (_H = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _H.discount_calculation_mode,
1182
+ discount_calculation_mode: (_E = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _E.discount_calculation_mode,
1205
1183
  resource_id: selectedDiscount2.id,
1206
1184
  title: selectedDiscount2.format_title,
1207
1185
  original_amount: product.original_price,
@@ -1217,7 +1195,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1217
1195
  ...productDiscountDifference !== void 0 && { product_discount_difference: productDiscountDifference }
1218
1196
  },
1219
1197
  config: selectedDiscount2 == null ? void 0 : selectedDiscount2.config,
1220
- _num: (product.num || 1) * (((_I = flatItem == null ? void 0 : flatItem.parentProduct) == null ? void 0 : _I.num) || 1)
1198
+ _num: (product.num || 1) * (((_F = flatItem == null ? void 0 : flatItem.parentProduct) == null ? void 0 : _F.num) || 1)
1221
1199
  };
1222
1200
  const appliedProducts = appliedDiscountProducts.get(selectedDiscount2.id) || [];
1223
1201
  appliedProducts.push(discountDetail);
@@ -1292,8 +1270,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1292
1270
  bundleProcessingInfo.set(bundleIndex, processedBundleItems);
1293
1271
  const hasGoodPass = processedBundleItems.some(
1294
1272
  (item) => {
1295
- var _a2;
1296
- return (_a2 = item.discount_list) == null ? void 0 : _a2.some(
1273
+ var _a;
1274
+ return (_a = item.discount_list) == null ? void 0 : _a.some(
1297
1275
  (discount) => discount.type === "good_pass" || discount.tag === "good_pass"
1298
1276
  );
1299
1277
  }
@@ -1317,13 +1295,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1317
1295
  if (processedItems.length > 1) {
1318
1296
  processedItems.forEach((item) => {
1319
1297
  const updatedDiscountList2 = (item.discount_list || []).map((discount) => {
1320
- var _a2;
1298
+ var _a;
1321
1299
  return {
1322
1300
  ...discount,
1323
1301
  metadata: {
1324
1302
  ...discount.metadata,
1325
1303
  num: item.num,
1326
- custom_product_bundle_map_id: (_a2 = item.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id
1304
+ custom_product_bundle_map_id: (_a = item.metadata) == null ? void 0 : _a.custom_product_bundle_map_id
1327
1305
  }
1328
1306
  // num: item.num, // 使用拆分后的 num
1329
1307
  };
@@ -1341,13 +1319,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1341
1319
  const item = processedItems[0];
1342
1320
  if (item.processed) {
1343
1321
  const updatedDiscountList2 = (item.discount_list || []).map((discount) => {
1344
- var _a2;
1322
+ var _a;
1345
1323
  return {
1346
1324
  ...discount,
1347
1325
  metadata: {
1348
1326
  ...discount.metadata,
1349
1327
  num: item.num,
1350
- custom_product_bundle_map_id: (_a2 = item.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id
1328
+ custom_product_bundle_map_id: (_a = item.metadata) == null ? void 0 : _a.custom_product_bundle_map_id
1351
1329
  }
1352
1330
  // num: item.num, // 使用当前的 num
1353
1331
  };
@@ -1371,8 +1349,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1371
1349
  mainProductData.original_price || mainProductData.price || 0
1372
1350
  );
1373
1351
  const updatedMainDiscountList = mainProductData.discount_list.map((discount) => {
1374
- var _a2, _b;
1375
- if ((_a2 = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id) {
1352
+ var _a, _b;
1353
+ if ((_a = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a.custom_product_bundle_map_id) {
1376
1354
  return discount;
1377
1355
  }
1378
1356
  return {
@@ -1387,8 +1365,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1387
1365
  });
1388
1366
  const mainDiscountList = updatedMainDiscountList.filter(
1389
1367
  (item) => {
1390
- var _a2;
1391
- return !((_a2 = item == null ? void 0 : item.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id);
1368
+ var _a;
1369
+ return !((_a = item == null ? void 0 : item.metadata) == null ? void 0 : _a.custom_product_bundle_map_id);
1392
1370
  }
1393
1371
  );
1394
1372
  if (mainDiscountList && mainDiscountList.length > 0) {
@@ -1401,8 +1379,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1401
1379
  newTotalWithDiscount += Number(item.price) * Number(item.num);
1402
1380
  });
1403
1381
  newBundleWithDiscount.forEach((item) => {
1404
- var _a2, _b, _c;
1405
- const originalPrice = ((_c = (_b = (_a2 = item.discount_list) == null ? void 0 : _a2[0]) == null ? void 0 : _b.discount) == null ? void 0 : _c.original_amount) || item.price;
1382
+ var _a, _b, _c;
1383
+ const originalPrice = ((_c = (_b = (_a = item.discount_list) == null ? void 0 : _a[0]) == null ? void 0 : _b.discount) == null ? void 0 : _c.original_amount) || item.price;
1406
1384
  newOriginTotalWithDiscount += Number(originalPrice) * Number(item.num);
1407
1385
  });
1408
1386
  }
@@ -1439,8 +1417,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1439
1417
  mainProductData.original_price || mainProductData.price || 0
1440
1418
  );
1441
1419
  const updatedMainDiscountListOriginal = mainProductData.discount_list.map((discount) => {
1442
- var _a2, _b;
1443
- if ((_a2 = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id) {
1420
+ var _a, _b;
1421
+ if ((_a = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a.custom_product_bundle_map_id) {
1444
1422
  return discount;
1445
1423
  }
1446
1424
  return {
@@ -1455,8 +1433,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1455
1433
  });
1456
1434
  const mainDiscountListOriginal = updatedMainDiscountListOriginal.filter(
1457
1435
  (item) => {
1458
- var _a2;
1459
- return !((_a2 = item == null ? void 0 : item.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id);
1436
+ var _a;
1437
+ return !((_a = item == null ? void 0 : item.metadata) == null ? void 0 : _a.custom_product_bundle_map_id);
1460
1438
  }
1461
1439
  );
1462
1440
  if (mainDiscountListOriginal && mainDiscountListOriginal.length > 0) {
@@ -1495,7 +1473,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1495
1473
  }
1496
1474
  } else {
1497
1475
  mainProductArr.forEach((mainProduct) => {
1498
- var _a2, _b, _c;
1476
+ var _a, _b, _c;
1499
1477
  const mainProductData = this.hooks.getProduct(mainProduct);
1500
1478
  const newBundle = [];
1501
1479
  if (product.bundle && Array.isArray(product.bundle)) {
@@ -1506,16 +1484,14 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1506
1484
  newBundle.push(bundleItem);
1507
1485
  } else {
1508
1486
  processedBundleItems.forEach((item) => {
1509
- const nextBundlePrice = item.price ?? bundleItem.price;
1510
- const nextBundleSellingPrice = item.bundle_selling_price ?? item.price ?? bundleItem.bundle_selling_price;
1511
1487
  const updatedDiscountList2 = (item.discount_list || []).map((discount) => {
1512
- var _a3;
1488
+ var _a2;
1513
1489
  return {
1514
1490
  ...discount,
1515
1491
  metadata: {
1516
1492
  ...discount.metadata,
1517
1493
  num: item.num,
1518
- custom_product_bundle_map_id: (_a3 = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a3.custom_product_bundle_map_id
1494
+ custom_product_bundle_map_id: (_a2 = discount == null ? void 0 : discount.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id
1519
1495
  }
1520
1496
  // num: item.num, // 使用拆分后的 num
1521
1497
  };
@@ -1524,31 +1500,38 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1524
1500
  ...bundleItem,
1525
1501
  _id: item._id,
1526
1502
  product_id: bundleItem.product_id,
1527
- price: nextBundlePrice,
1503
+ price: item.price,
1528
1504
  num: item.num,
1529
1505
  discount_list: updatedDiscountList2,
1530
- bundle_selling_price: bundleItem.bundle_selling_price !== void 0 ? nextBundleSellingPrice : void 0
1506
+ bundle_selling_price: bundleItem.bundle_selling_price !== void 0 ? item.price : void 0
1531
1507
  });
1532
1508
  });
1533
1509
  }
1534
1510
  });
1535
1511
  }
1536
- const mainSellingPrice = mainProductData.main_product_selling_price ?? mainProductData.price ?? 0;
1537
- let newTotal = Number(mainSellingPrice || 0);
1512
+ let newTotal = Number(mainProductData.price || 0);
1538
1513
  let newOriginTotal = Number(mainProductData.original_price || mainProductData.price || 0);
1539
- const isManualDiscount = typeof mainProductData.isManualDiscount === "boolean" ? mainProductData.isManualDiscount : mainProductData.total != mainProductData.origin_total && (!((_a2 = mainProductData.discount_list) == null ? void 0 : _a2.length) || ((_c = (_b = mainProductData == null ? void 0 : mainProductData.discount_list) == null ? void 0 : _b.every) == null ? void 0 : _c.call(_b, (item) => item.type === "product")));
1514
+ const isManualDiscount = typeof mainProductData.isManualDiscount === "boolean" ? mainProductData.isManualDiscount : mainProductData.total != mainProductData.origin_total && (!((_a = mainProductData.discount_list) == null ? void 0 : _a.length) || ((_c = (_b = mainProductData == null ? void 0 : mainProductData.discount_list) == null ? void 0 : _b.every) == null ? void 0 : _c.call(_b, (item) => item.type === "product")));
1540
1515
  if (isManualDiscount) {
1541
1516
  newTotal = mainProductData.total ?? newTotal;
1542
1517
  newOriginTotal = mainProductData.origin_total ?? newOriginTotal;
1543
1518
  } else {
1519
+ const mainDiscountList = mainProductData.discount_list.filter((item) => {
1520
+ var _a2;
1521
+ return !((_a2 = item == null ? void 0 : item.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id);
1522
+ });
1523
+ if (mainDiscountList && mainDiscountList.length > 0) {
1524
+ const allDiscountAmount = (0, import_utils.getDiscountListAmount)(mainDiscountList);
1525
+ newTotal = new import_decimal.default(mainProductData.price || 0).minus(allDiscountAmount).toNumber() ?? newTotal;
1526
+ newOriginTotal = mainProductData.origin_total ?? newOriginTotal;
1527
+ }
1544
1528
  if (newBundle.length > 0) {
1545
1529
  newBundle.forEach((item) => {
1546
- const bundleSellingPrice = item.bundle_selling_price ?? item.price;
1547
- newTotal += Number(bundleSellingPrice) * Number(item.num);
1530
+ newTotal += Number(item.price) * Number(item.num);
1548
1531
  });
1549
1532
  newBundle.forEach((item) => {
1550
- var _a3, _b2, _c2;
1551
- const originalPrice = ((_c2 = (_b2 = (_a3 = item.discount_list) == null ? void 0 : _a3[0]) == null ? void 0 : _b2.discount) == null ? void 0 : _c2.original_amount) || item.price;
1533
+ var _a2, _b2, _c2;
1534
+ const originalPrice = ((_c2 = (_b2 = (_a2 = item.discount_list) == null ? void 0 : _a2[0]) == null ? void 0 : _b2.discount) == null ? void 0 : _c2.original_amount) || item.price;
1552
1535
  newOriginTotal += Number(originalPrice) * Number(item.num);
1553
1536
  });
1554
1537
  }
@@ -1635,6 +1618,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1635
1618
  appliedProductDetails: []
1636
1619
  };
1637
1620
  });
1621
+ console.log(processedProductList, "processedProductList");
1638
1622
  return {
1639
1623
  productList: processedProductList,
1640
1624
  discountList: [...editModeDiscount, ...updatedDiscountList]