@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
@@ -1,76 +0,0 @@
1
- /**
2
- * 把 info2 `cacheItem` 转换为 OS `addProductToOrder(product, booking)` 所需的 booking 入参。
3
- *
4
- * 协议严格对齐 `pisell_os/src/modules/Order/TEMP_ORDER_FIELDS_SUMMARY.md` 的 Bookings 章节:
5
- * - 顶层只允许出现:schedule_event_id / appointment_status / start_date / start_time / end_date /
6
- * end_time / select_date / duration / sub_type / like_status / number / resources / relation_forms /
7
- * holder / metadata / is_all / schedule_id / relation_id / form_id / relation_type / product_uid
8
- * - bookings[] 不允许出现 `_extend`
9
- * - bookings[].metadata 走白名单:unique_identification_number / collect_pax / capacity / holder_id / resource_select_type
10
- * - bookings[].resources[] 只接受协议白名单:form_id / relation_type / relation_id / capacity / like_status / metadata / children
11
- *
12
- * `product_uid` / `metadata.unique_identification_number` 不在这里生成:
13
- * OS `addProductToOrder` 内的 `createLinkedProductAndBooking` 会在最终一步统一改写,
14
- * 保证商品行 uid 与 booking root 唯一值始终对齐。
15
- *
16
- * 复杂 multi-day 展开(createBookingItemsByGroup / concatBookings)首版**不支持**,
17
- * 由 UI 在 `cart.confirmDetail` 之外通过辅助 API 处理。
18
- */
19
- export interface CacheItemToBookingInputOptions {
20
- /** booking config,用于推导 metadata.resource_select_type(默认从 cacheItem.\_data.resources[0].select_type.type 推断)。 */
21
- bookingConfig?: any;
22
- }
23
- export interface BookingInput {
24
- schedule_event_id?: number | string;
25
- start_date?: string;
26
- start_time?: string;
27
- end_date?: string;
28
- end_time?: string;
29
- select_date?: string;
30
- duration?: number;
31
- sub_type?: 'days' | 'minutes' | string;
32
- is_all?: 0 | 1;
33
- number?: number;
34
- holder?: any;
35
- like_status?: string;
36
- relation_forms?: any[];
37
- resources?: BookingResourceInput[];
38
- metadata?: BookingMetadataInput;
39
- schedule_id?: number | string;
40
- relation_id?: number | string;
41
- form_id?: number | string;
42
- relation_type?: string;
43
- }
44
- export interface BookingResourceInput {
45
- form_id?: number | string;
46
- relation_type?: string;
47
- relation_id?: number | string;
48
- capacity?: number;
49
- like_status?: string;
50
- metadata?: Record<string, any>;
51
- children?: any[];
52
- }
53
- /** custom / package 人数维度快照,与 info2 `_extend.capacity` / `metadata.capacity` 对齐。 */
54
- export interface BookingCapacityMetadataItem {
55
- id: string | number;
56
- value: number;
57
- name?: Record<string, any> | string;
58
- }
59
- export interface BookingMetadataInput {
60
- /** 由 OS createLinkedProductAndBooking 统一改写,这里不生成。 */
61
- unique_identification_number?: string;
62
- collect_pax?: number;
63
- /**
64
- * 资源容量快照:custom 多维度时为 `{ id, value, name? }[]`;
65
- * 仅总和场景可为 number(capacity_snapshot 兼容)。
66
- */
67
- capacity?: number | BookingCapacityMetadataItem[];
68
- /** 协议要求始终提交(即使为 null)。 */
69
- holder_id: any;
70
- holder?: any;
71
- resource_select_type?: 'single' | 'multiple' | string;
72
- }
73
- /**
74
- * 主入口。
75
- */
76
- export declare function cacheItemToBookingInput(cacheItem: any, options?: CacheItemToBookingInputOptions): BookingInput;
@@ -1,218 +0,0 @@
1
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
5
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7
- import dayjs from 'dayjs';
8
- import { isMultiDayProduct, isSessionProduct, getDays } from "./serviceTimes";
9
- import { getSumCapacity } from "./resources";
10
- import { flexibleObj } from "./flexible";
11
-
12
- /**
13
- * 把 info2 `cacheItem` 转换为 OS `addProductToOrder(product, booking)` 所需的 booking 入参。
14
- *
15
- * 协议严格对齐 `pisell_os/src/modules/Order/TEMP_ORDER_FIELDS_SUMMARY.md` 的 Bookings 章节:
16
- * - 顶层只允许出现:schedule_event_id / appointment_status / start_date / start_time / end_date /
17
- * end_time / select_date / duration / sub_type / like_status / number / resources / relation_forms /
18
- * holder / metadata / is_all / schedule_id / relation_id / form_id / relation_type / product_uid
19
- * - bookings[] 不允许出现 `_extend`
20
- * - bookings[].metadata 走白名单:unique_identification_number / collect_pax / capacity / holder_id / resource_select_type
21
- * - bookings[].resources[] 只接受协议白名单:form_id / relation_type / relation_id / capacity / like_status / metadata / children
22
- *
23
- * `product_uid` / `metadata.unique_identification_number` 不在这里生成:
24
- * OS `addProductToOrder` 内的 `createLinkedProductAndBooking` 会在最终一步统一改写,
25
- * 保证商品行 uid 与 booking root 唯一值始终对齐。
26
- *
27
- * 复杂 multi-day 展开(createBookingItemsByGroup / concatBookings)首版**不支持**,
28
- * 由 UI 在 `cart.confirmDetail` 之外通过辅助 API 处理。
29
- */
30
-
31
- /** custom / package 人数维度快照,与 info2 `_extend.capacity` / `metadata.capacity` 对齐。 */
32
-
33
- /** 将 UI `_extend.capacity[]` 规范化为 booking.metadata.capacity。 */
34
- function normalizeExtendCapacityForMetadata(capacity) {
35
- if (!Array.isArray(capacity) || capacity.length === 0) return undefined;
36
- var normalized = capacity.map(function (item) {
37
- var _item$value;
38
- if (!item || _typeof(item) !== 'object') return null;
39
- if (item.id === undefined || item.id === null) return null;
40
- var row = {
41
- id: item.id,
42
- value: Number((_item$value = item.value) !== null && _item$value !== void 0 ? _item$value : 0)
43
- };
44
- if (item.name !== undefined) row.name = item.name;
45
- return row;
46
- }).filter(function (item) {
47
- return item != null;
48
- });
49
- return normalized.length > 0 ? normalized : undefined;
50
- }
51
- function safeFormat(value, fmt) {
52
- if (value === undefined || value === null) return undefined;
53
- var d = dayjs(value);
54
- if (!d.isValid()) return undefined;
55
- return d.format(fmt);
56
- }
57
-
58
- /** booking 协议 start_time / end_time:统一 HH:mm(不带秒)。 */
59
- function normalizeTimeString(value) {
60
- if (value === undefined || value === null) return undefined;
61
- if (typeof value === 'string') {
62
- var t = value.trim();
63
- var hhmmFromHhmmss = t.match(/^(\d{1,2}:\d{2}):\d{2}$/);
64
- if (hhmmFromHhmmss) return hhmmFromHhmmss[1];
65
- if (/^\d{1,2}:\d{2}$/.test(t)) return t;
66
- }
67
- var d = dayjs(value);
68
- if (d.isValid()) return d.format('HH:mm');
69
- return undefined;
70
- }
71
- function resolveDurationMinutes(value) {
72
- if (typeof value === 'number' && Number.isFinite(value)) return value;
73
- if (typeof value !== 'string') return undefined;
74
- if (flexibleObj.isFlexible(value)) return flexibleObj.getValue(value);
75
- var n = Number(value);
76
- return Number.isNaN(n) ? undefined : n;
77
- }
78
-
79
- /**
80
- * cacheItem._extend.resource 形如 `{ [form_id]: [{ relation_id, form_id, like_status, metadata, children }] }`。
81
- * 这里扁平化为符合协议的 resources[] 数组;id=0 的「无资源」占位行**保留**(与 info2 业务等价;协议 `relation_id=0` 合法)。
82
- *
83
- * 顶层 resources[].capacity 与 info2 `checkResourcesFormat` 一致:Σ capacity[].value(不含 quantity)。
84
- */
85
- function flattenResources(cacheItem) {
86
- var _cacheItem$_extend;
87
- var resourceMap = (cacheItem === null || cacheItem === void 0 || (_cacheItem$_extend = cacheItem._extend) === null || _cacheItem$_extend === void 0 ? void 0 : _cacheItem$_extend.resource) || {};
88
- var topLevelCapacity = getSumCapacity(cacheItem, false);
89
- var result = [];
90
- Object.values(resourceMap).forEach(function (arr) {
91
- if (!Array.isArray(arr)) return;
92
- arr.forEach(function (r) {
93
- var item = {
94
- form_id: r === null || r === void 0 ? void 0 : r.form_id,
95
- relation_type: (r === null || r === void 0 ? void 0 : r.relation_type) || 'form',
96
- relation_id: r === null || r === void 0 ? void 0 : r.relation_id,
97
- capacity: topLevelCapacity
98
- };
99
- item.like_status = (r === null || r === void 0 ? void 0 : r.like_status) || 'common';
100
- if ((r === null || r === void 0 ? void 0 : r.metadata) !== undefined) {
101
- // 协议允许 metadata 自由透传;为了与 info2 行为等价,把 form_name / resource_name / combined_resource 一并保留。
102
- item.metadata = _objectSpread({}, r.metadata);
103
- }
104
- if ((r === null || r === void 0 ? void 0 : r.children) !== undefined) item.children = r.children;
105
- result.push(item);
106
- });
107
- });
108
- return result;
109
- }
110
-
111
- /**
112
- * 从 cacheItem 中派生 metadata.resource_select_type;优先级:
113
- * 1. cacheItem._data.resources[0].select_type.type
114
- * 2. cacheItem.product_resource.resources[0].select_type.type
115
- * 3. 默认 undefined(由 OS / 后端兜底)。
116
- */
117
- function deriveResourceSelectType(cacheItem) {
118
- var _cacheItem$_data, _cacheItem$product_re;
119
- var localFirst = cacheItem === null || cacheItem === void 0 || (_cacheItem$_data = cacheItem._data) === null || _cacheItem$_data === void 0 || (_cacheItem$_data = _cacheItem$_data.resources) === null || _cacheItem$_data === void 0 || (_cacheItem$_data = _cacheItem$_data[0]) === null || _cacheItem$_data === void 0 || (_cacheItem$_data = _cacheItem$_data.select_type) === null || _cacheItem$_data === void 0 ? void 0 : _cacheItem$_data.type;
120
- if (localFirst) return localFirst;
121
- var productFirst = cacheItem === null || cacheItem === void 0 || (_cacheItem$product_re = cacheItem.product_resource) === null || _cacheItem$product_re === void 0 || (_cacheItem$product_re = _cacheItem$product_re.resources) === null || _cacheItem$product_re === void 0 || (_cacheItem$product_re = _cacheItem$product_re[0]) === null || _cacheItem$product_re === void 0 || (_cacheItem$product_re = _cacheItem$product_re.select_type) === null || _cacheItem$product_re === void 0 ? void 0 : _cacheItem$product_re.type;
122
- if (productFirst) return productFirst;
123
- return undefined;
124
- }
125
-
126
- /**
127
- * 主入口。
128
- */
129
- export function cacheItemToBookingInput(cacheItem, options) {
130
- var _ext$other, _options$bookingConfi;
131
- if (!cacheItem) return {
132
- metadata: {
133
- holder_id: null
134
- }
135
- };
136
- var ext = cacheItem._extend || {};
137
- var isMultiDay = isMultiDayProduct(cacheItem) || ext.is_all === 1 || ext.sub_type === 'days';
138
- var isSession = isSessionProduct(cacheItem);
139
- var result = {};
140
-
141
- // ──── 日期 / 时间 ───────────────────────────────────────────────
142
- if (isSession && ext !== null && ext !== void 0 && (_ext$other = ext.other) !== null && _ext$other !== void 0 && _ext$other.session) {
143
- var session = ext.other.session;
144
- // 优先 _extend 上已按顶部 date 对齐过的起止(catalog cartDetailValue.session → applySessionTimesToExtend)
145
- result.start_date = safeFormat(ext.start_date || ext.startDate || session.start_at, 'YYYY-MM-DD');
146
- result.start_time = normalizeTimeString(ext.start_time) || normalizeTimeString(session.start_time) || safeFormat(session.start_at, 'HH:mm');
147
- result.end_date = safeFormat(ext.end_date || ext.endDate || session.end_at, 'YYYY-MM-DD');
148
- result.end_time = normalizeTimeString(ext.end_time) || normalizeTimeString(session.end_time) || safeFormat(session.end_at, 'HH:mm');
149
- } else {
150
- result.start_date = safeFormat(ext.start_date || ext.startDate, 'YYYY-MM-DD');
151
- result.start_time = normalizeTimeString(ext.start_time) || safeFormat(ext.startDate, 'HH:mm');
152
- result.end_date = safeFormat(ext.end_date || ext.endDate, 'YYYY-MM-DD');
153
- result.end_time = normalizeTimeString(ext.end_time) || safeFormat(ext.endDate, 'HH:mm');
154
- }
155
-
156
- // ──── duration / sub_type / is_all ──────────────────────────────
157
- if (isMultiDay) {
158
- result.is_all = 1;
159
- result.sub_type = 'days';
160
- result.duration = Number(ext.duration) || getDays(cacheItem, 'days');
161
- // 全天选择日期 = 起始日
162
- if (result.start_date) result.select_date = result.start_date;
163
- // 跨日结束时刻与开始一致(如 11:24),避免 endDate 仅日期落为 00:00
164
- if (result.start_time && (!result.end_time || result.end_time === '00:00')) {
165
- result.end_time = result.start_time;
166
- }
167
- } else {
168
- result.is_all = 0;
169
- result.sub_type = ext.sub_type || 'minutes';
170
- var duration = resolveDurationMinutes(ext.duration);
171
- if (duration !== undefined) result.duration = duration;
172
- }
173
-
174
- // ──── number(人数/容量占用) ───────────────────────────────────
175
- result.number = getSumCapacity(cacheItem, true);
176
-
177
- // ──── resources ─────────────────────────────────────────────────
178
- result.resources = flattenResources(cacheItem);
179
-
180
- // ──── holder / relation_forms / like_status / schedule_event_id ──
181
- if (ext.holder !== undefined) result.holder = ext.holder;
182
- if (Array.isArray(ext.relation_forms)) result.relation_forms = ext.relation_forms;
183
- // 与 info2 booking/components/footer/utils formatBooking 一致:默认 common
184
- result.like_status = ext.like_status || 'common';
185
- if (cacheItem.schedule_event_id !== undefined) {
186
- result.schedule_event_id = cacheItem.schedule_event_id;
187
- }
188
-
189
- // ──── metadata(严格白名单) ────────────────────────────────────
190
- var metadata = {
191
- holder_id: null
192
- };
193
- if (ext.holder_id !== undefined && ext.holder_id !== null) {
194
- metadata.holder_id = ext.holder_id;
195
- }
196
- if (ext.holder !== undefined) {
197
- metadata.holder = ext.holder;
198
- }
199
- if (ext.collect_pax !== undefined) metadata.collect_pax = ext.collect_pax;
200
- // 与 info2 formatMetaData 一致:优先写入完整人数维度数组,供编辑回显 / 详情回灌。
201
- var extendCapacity = normalizeExtendCapacityForMetadata(ext.capacity);
202
- if (extendCapacity) {
203
- metadata.capacity = extendCapacity;
204
- } else if (ext.capacity_snapshot !== undefined) {
205
- metadata.capacity = ext.capacity_snapshot;
206
- }
207
- var selectType = deriveResourceSelectType(cacheItem) || (options === null || options === void 0 || (_options$bookingConfi = options.bookingConfig) === null || _options$bookingConfi === void 0 ? void 0 : _options$bookingConfi.resource_select_type);
208
- if (selectType) metadata.resource_select_type = selectType;
209
- // unique_identification_number 不在这里生成(由 OS createLinkedProductAndBooking 统一写)。
210
- result.metadata = metadata;
211
-
212
- // ──── booking root 占位字段(与 TEMP_ORDER_FIELDS_SUMMARY 一致) ──
213
- result.schedule_id = 0;
214
- result.relation_id = 0;
215
- result.form_id = 0;
216
- result.relation_type = '';
217
- return result;
218
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * 灵活时长(flexible duration)协议工具。
3
- *
4
- * info2 用 `flexible_<minutes>` 字符串前缀标记"灵活时长",对外用同名 API 暴露 create / getValue / isFlexible / add。
5
- * OS 这边一比一搬运,无外部依赖。
6
- */
7
- export declare const flexibleObj: {
8
- create(num: number): string;
9
- getValue(str: string | number): number;
10
- isFlexible(str: string | number | undefined | null): boolean;
11
- add(current: number | string, duration: number): string | number;
12
- };
13
- /**
14
- * 取 duration 数值(兼容 number / { type, value } / 灵活时长字符串)。
15
- * 与 info2 `getDuration` 行为等价。
16
- */
17
- /**
18
- * 商品定义是否为「灵活时长」类型(仅看 product.duration 对象,不把 flexible_423 字符串当类型)。
19
- * 与 info2 `getDuration({ type: 'flexible' }) === 'flexible'` 判定对齐。
20
- */
21
- export declare function isProductFlexibleDuration(duration: number | string | {
22
- type: string;
23
- value: number;
24
- } | undefined | null): boolean;
25
- export declare function getDurationValue(duration: number | string | {
26
- type: string;
27
- value: number;
28
- } | undefined | null): number | 'flexible' | undefined;
@@ -1,56 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- /**
3
- * 灵活时长(flexible duration)协议工具。
4
- *
5
- * info2 用 `flexible_<minutes>` 字符串前缀标记"灵活时长",对外用同名 API 暴露 create / getValue / isFlexible / add。
6
- * OS 这边一比一搬运,无外部依赖。
7
- */
8
-
9
- var PREFIX = 'flexible_';
10
- export var flexibleObj = {
11
- create: function create(num) {
12
- return "".concat(PREFIX).concat(num);
13
- },
14
- getValue: function getValue(str) {
15
- if (typeof str === 'string' && flexibleObj.isFlexible(str)) {
16
- return Number(str.replace(PREFIX, ''));
17
- }
18
- return Number(str);
19
- },
20
- isFlexible: function isFlexible(str) {
21
- if (typeof str !== 'string') return false;
22
- return str.indexOf(PREFIX) > -1;
23
- },
24
- add: function add(current, duration) {
25
- if (flexibleObj.isFlexible(current)) {
26
- return flexibleObj.create(flexibleObj.getValue(current) + duration);
27
- }
28
- return Number(current) + duration;
29
- }
30
- };
31
-
32
- /**
33
- * 取 duration 数值(兼容 number / { type, value } / 灵活时长字符串)。
34
- * 与 info2 `getDuration` 行为等价。
35
- */
36
- /**
37
- * 商品定义是否为「灵活时长」类型(仅看 product.duration 对象,不把 flexible_423 字符串当类型)。
38
- * 与 info2 `getDuration({ type: 'flexible' }) === 'flexible'` 判定对齐。
39
- */
40
- export function isProductFlexibleDuration(duration) {
41
- return Boolean(duration && _typeof(duration) === 'object' && duration.type === 'flexible');
42
- }
43
- export function getDurationValue(duration) {
44
- if (duration === undefined || duration === null) return undefined;
45
- if (typeof duration === 'number') return duration;
46
- if (typeof duration === 'string') {
47
- if (flexibleObj.isFlexible(duration)) return 'flexible';
48
- return Number(duration);
49
- }
50
- if (_typeof(duration) === 'object') {
51
- if (duration.type === 'minutes') return duration.value;
52
- if (duration.type === 'flexible') return 'flexible';
53
- if (duration.type === 'days') return duration.value;
54
- }
55
- return undefined;
56
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * 将 `/schedule/resource/list` 原始数组格式化为 `list + listMap`。
3
- * 逻辑与 info2 [`getFormatResourceListAndMap`] 对齐:追加无资源占位行、按 id 建 map。
4
- */
5
- export declare function formatResourceListAndMap(data: any[] | null | undefined, _bookingIds?: number[]): {
6
- list: any[];
7
- listMap: Record<string, any>;
8
- };
@@ -1,38 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- import { getNoResource2 } from "./noResource";
8
-
9
- /**
10
- * 将 `/schedule/resource/list` 原始数组格式化为 `list + listMap`。
11
- * 逻辑与 info2 [`getFormatResourceListAndMap`] 对齐:追加无资源占位行、按 id 建 map。
12
- */
13
- export function formatResourceListAndMap(data) {
14
- var _bookingIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
15
- var resourceList = (Array.isArray(data) ? data : []).concat([getNoResource2({})]);
16
- var map = resourceList.reduce(function (prev, item) {
17
- if ((item === null || item === void 0 ? void 0 : item.id) !== undefined && (item === null || item === void 0 ? void 0 : item.id) !== null) {
18
- prev[String(item.id)] = item;
19
- }
20
- return prev;
21
- }, {});
22
- var getCapacity = function getCapacity(item) {
23
- return item.capacity;
24
- };
25
- var list = resourceList.map(function (item) {
26
- var newItem = _objectSpread(_objectSpread({}, item), {}, {
27
- capacity: getCapacity(item)
28
- });
29
- if (newItem.id !== undefined && newItem.id !== null) {
30
- map[String(newItem.id)] = newItem;
31
- }
32
- return newItem;
33
- });
34
- return {
35
- list: list,
36
- listMap: map
37
- };
38
- }
@@ -1,11 +0,0 @@
1
- export * from './flexible';
2
- export * from './serviceTimes';
3
- export * from './timeSlices';
4
- export * from './noResource';
5
- export * from './resources';
6
- export * from './resourceSelection';
7
- export * from './resourceErrors';
8
- export * from './productExtend';
9
- export * from './cacheItemToBookingInput';
10
- export * from './buildCacheItemFromOrderLine';
11
- export * from './buildNormalProductCacheItemFromOrderLine';
@@ -1,11 +0,0 @@
1
- export * from "./flexible";
2
- export * from "./serviceTimes";
3
- export * from "./timeSlices";
4
- export * from "./noResource";
5
- export * from "./resources";
6
- export * from "./resourceSelection";
7
- export * from "./resourceErrors";
8
- export * from "./productExtend";
9
- export * from "./cacheItemToBookingInput";
10
- export * from "./buildCacheItemFromOrderLine";
11
- export * from "./buildNormalProductCacheItemFromOrderLine";
@@ -1,13 +0,0 @@
1
- /**
2
- * 「无资源」占位资源行的数据骨架。
3
- *
4
- * 与 info2 [`booking/mock.ts#getNoResource2`] 一比一对齐,区别仅在于:
5
- * - `main_field / room_name / labelText` 三个 i18n 文案字段在 OS 这边**置空**,
6
- * 调用方(UI)在 `id === 0` 时自行渲染本地化的「无资源 / No resource」。
7
- *
8
- * 用途:`getResourceByIds` 在拼装 `optional_resource` 列表时,会在末尾 concat 一行此占位,
9
- * 让用户能选择「不指定资源」。
10
- */
11
- export declare function getNoResource2(other?: {
12
- form_id?: number | string;
13
- } & Record<string, any>): any;
@@ -1,77 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- /**
8
- * 「无资源」占位资源行的数据骨架。
9
- *
10
- * 与 info2 [`booking/mock.ts#getNoResource2`] 一比一对齐,区别仅在于:
11
- * - `main_field / room_name / labelText` 三个 i18n 文案字段在 OS 这边**置空**,
12
- * 调用方(UI)在 `id === 0` 时自行渲染本地化的「无资源 / No resource」。
13
- *
14
- * 用途:`getResourceByIds` 在拼装 `optional_resource` 列表时,会在末尾 concat 一行此占位,
15
- * 让用户能选择「不指定资源」。
16
- */
17
- export function getNoResource2(other) {
18
- return _objectSpread({
19
- form_tag: null,
20
- policy: 148,
21
- partyroom_package: {
22
- type: 'product_all'
23
- },
24
- sort: '2',
25
- status: 'active',
26
- description: '',
27
- media: '',
28
- main_field: '',
29
- subtitle: '',
30
- room_name: '',
31
- labelText: '',
32
- form_record_id: 0,
33
- item_type: 'resources',
34
- form_id: 0,
35
- id: 0,
36
- form_resource_sort: 0,
37
- form_title: '',
38
- capacity: 999999,
39
- form: {
40
- id: 0,
41
- shop_id: 0,
42
- title: '',
43
- navigation_display: 1,
44
- button: '',
45
- describe: '',
46
- status: 'published',
47
- resource_sort: 0,
48
- code: 'resources',
49
- type: 'manual',
50
- version: 1,
51
- setting: null,
52
- created_at: '2000-01-01 00:00:00',
53
- updated_at: '2000-01-01 00:00:00'
54
- },
55
- times: [{
56
- keys: 'noResource2-placeholder',
57
- schedule_id: 0,
58
- item_type: 'resources',
59
- item_id: 0,
60
- start_date: '2000-01-01',
61
- end_date: '2300-01-01',
62
- start_time: '00:00',
63
- end_time: '23:59',
64
- is_all: 1,
65
- max_participants_type: 'custom-limit',
66
- max_participants_limit: 0,
67
- relation_type: 'form',
68
- start_at: '2000-01-01 00:00',
69
- end_at: '2300-01-05 23:59',
70
- is_blocked: 0,
71
- blocked_times: [],
72
- order_event_count: 0,
73
- unique: 'noResource2-unique',
74
- event_list: []
75
- }]
76
- }, other || {});
77
- }
@@ -1 +0,0 @@
1
- export declare function buildProductOptionStringFromOrderLine(product: any): string;
@@ -1,36 +0,0 @@
1
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
2
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
3
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
4
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
- function pickDisplayText(value) {
6
- if (value === undefined || value === null) return '';
7
- if (typeof value === 'string') return value;
8
- if (_typeof(value) !== 'object') return String(value);
9
- return value.auto || value.original || value.en || value['zh-CN'] || value['zh-HK'] || '';
10
- }
11
- function formatNamePair(group, item) {
12
- var groupText = pickDisplayText(group);
13
- var itemText = pickDisplayText(item);
14
- if (groupText && itemText) return "".concat(groupText, ":").concat(itemText);
15
- return groupText || itemText;
16
- }
17
- export function buildProductOptionStringFromOrderLine(product) {
18
- var segments = [];
19
- var sku = (product === null || product === void 0 ? void 0 : product.product_sku) || {};
20
- if (Array.isArray(sku.variant)) {
21
- var _iterator = _createForOfIteratorHelper(sku.variant),
22
- _step;
23
- try {
24
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
25
- var variant = _step.value;
26
- var segment = formatNamePair(variant === null || variant === void 0 ? void 0 : variant.group, variant === null || variant === void 0 ? void 0 : variant.item);
27
- if (segment) segments.push(segment);
28
- }
29
- } catch (err) {
30
- _iterator.e(err);
31
- } finally {
32
- _iterator.f();
33
- }
34
- }
35
- return segments.join(', ');
36
- }