@pisell/pisellos 0.0.569 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/dist/core/index.js +10 -6
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -3
  4. package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
  5. package/dist/model/strategy/adapter/walletPass/example.js +26 -3
  6. package/dist/model/strategy/adapter/walletPass/index.js +5 -5
  7. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
  8. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  9. package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
  10. package/dist/model/strategy/strategy-example.js +19 -5
  11. package/dist/modules/BaseModule.d.ts +1 -1
  12. package/dist/modules/BaseModule.js +8 -10
  13. package/dist/modules/Cart/index.js +3 -0
  14. package/dist/modules/Cart/utils/cartProduct.js +1 -0
  15. package/dist/modules/Cart/utils/cartResource.js +0 -2
  16. package/dist/modules/Cart/utils/changePrice.js +9 -16
  17. package/dist/modules/Date/index.js +5 -1
  18. package/dist/modules/Discount/index.d.ts +0 -1
  19. package/dist/modules/Discount/index.js +7 -22
  20. package/dist/modules/Discount/types.d.ts +0 -1
  21. package/dist/modules/OpenData/index.js +2 -0
  22. package/dist/modules/Order/index.d.ts +1 -1
  23. package/dist/modules/Order/index.js +70 -40
  24. package/dist/modules/Payment/index.js +162 -97
  25. package/dist/modules/Payment/types.d.ts +4 -8
  26. package/dist/modules/Payment/walletpass.d.ts +0 -2
  27. package/dist/modules/Payment/walletpass.js +5 -4
  28. package/dist/modules/ProductList/index.d.ts +1 -1
  29. package/dist/modules/ProductList/index.js +3 -12
  30. package/dist/modules/ProductList/types.d.ts +0 -1
  31. package/dist/modules/Rules/index.js +126 -427
  32. package/dist/modules/SalesSummary/utils.js +1 -2
  33. package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
  34. package/dist/modules/Schedule/index.js +1 -0
  35. package/dist/modules/Schedule/utils.js +1 -0
  36. package/dist/modules/Step/index.js +1 -0
  37. package/dist/modules/Summary/utils.js +22 -43
  38. package/dist/plugins/request.js +4 -1
  39. package/dist/plugins/window.js +6 -2
  40. package/dist/server/index.js +129 -97
  41. package/dist/server/modules/menu/index.js +41 -32
  42. package/dist/server/modules/order/index.js +4 -2
  43. package/dist/server/modules/products/index.js +42 -24
  44. package/dist/server/modules/quotation/index.js +38 -29
  45. package/dist/server/modules/resource/index.js +4 -3
  46. package/dist/server/modules/schedule/index.js +35 -27
  47. package/dist/server/utils/product.js +1 -0
  48. package/dist/solution/BaseSales/index.js +41 -38
  49. package/dist/solution/BookingByStep/index.d.ts +1 -1
  50. package/dist/solution/BookingByStep/index.js +60 -11
  51. package/dist/solution/BookingByStep/utils/capacity.js +11 -1
  52. package/dist/solution/BookingByStep/utils/resources.js +3 -1
  53. package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
  54. package/dist/solution/BookingTicket/index.d.ts +1 -1
  55. package/dist/solution/BookingTicket/index.js +2 -0
  56. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
  57. package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
  58. package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
  59. package/dist/solution/BuyTickets/index.js +12 -9
  60. package/dist/solution/Checkout/index.js +252 -177
  61. package/dist/solution/Checkout/utils/index.js +16 -4
  62. package/dist/solution/RegisterAndLogin/index.js +76 -30
  63. package/dist/solution/ScanOrder/index.js +60 -50
  64. package/dist/solution/ShopDiscount/index.js +14 -15
  65. package/dist/solution/ShopDiscount/types.d.ts +4 -5
  66. package/dist/solution/ShopDiscount/utils.d.ts +0 -9
  67. package/dist/solution/ShopDiscount/utils.js +0 -9
  68. package/dist/solution/VenueBooking/index.d.ts +3 -31
  69. package/dist/solution/VenueBooking/index.js +496 -651
  70. package/dist/solution/VenueBooking/types.d.ts +1 -3
  71. package/dist/solution/VenueBooking/types.js +0 -1
  72. package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  73. package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
  74. package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  75. package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
  76. package/dist/types/index.d.ts +1 -1
  77. package/dist/utils/task.js +18 -15
  78. package/dist/utils/watch.js +1 -0
  79. package/lib/apis/picoding.js +0 -2
  80. package/lib/core/index.js +132 -130
  81. package/lib/effects/index.js +57 -46
  82. package/lib/index.d.ts +0 -1
  83. package/lib/index.js +50 -92
  84. package/lib/model/index.js +21 -14
  85. package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
  86. package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
  87. package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
  88. package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
  89. package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
  90. package/lib/model/strategy/adapter/index.js +64 -100
  91. package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
  92. package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
  93. package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
  94. package/lib/model/strategy/adapter/itemRule/index.js +57 -83
  95. package/lib/model/strategy/adapter/itemRule/type.js +36 -97
  96. package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
  97. package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
  98. package/lib/model/strategy/adapter/promotion/examples.js +159 -139
  99. package/lib/model/strategy/adapter/promotion/index.js +0 -1
  100. package/lib/model/strategy/adapter/promotion/type.js +35 -199
  101. package/lib/model/strategy/adapter/type.js +16 -4
  102. package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
  103. package/lib/model/strategy/adapter/walletPass/example.js +190 -217
  104. package/lib/model/strategy/adapter/walletPass/index.js +51 -75
  105. package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
  106. package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
  107. package/lib/model/strategy/adapter/walletPass/type.js +16 -4
  108. package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  109. package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
  110. package/lib/model/strategy/engine.js +168 -270
  111. package/lib/model/strategy/index.js +34 -49
  112. package/lib/model/strategy/strategy-example.js +239 -243
  113. package/lib/model/strategy/type.js +40 -100
  114. package/lib/modules/Account/index.js +53 -39
  115. package/lib/modules/Account/types.js +33 -20
  116. package/lib/modules/AccountList/index.js +154 -116
  117. package/lib/modules/AccountList/types.js +31 -30
  118. package/lib/modules/AccountList/utils.js +30 -18
  119. package/lib/modules/BaseModule.d.ts +1 -1
  120. package/lib/modules/BaseModule.js +46 -25
  121. package/lib/modules/BookingContext/index.js +136 -158
  122. package/lib/modules/BookingContext/types.js +32 -46
  123. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
  124. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
  125. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
  126. package/lib/modules/BookingContext/utils/flexible.js +55 -38
  127. package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
  128. package/lib/modules/BookingContext/utils/index.js +41 -124
  129. package/lib/modules/BookingContext/utils/noResource.js +70 -58
  130. package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
  131. package/lib/modules/BookingContext/utils/productExtend.js +155 -202
  132. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  133. package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
  134. package/lib/modules/BookingContext/utils/resources.js +167 -209
  135. package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
  136. package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
  137. package/lib/modules/Cart/index.js +124 -170
  138. package/lib/modules/Cart/types.js +51 -46
  139. package/lib/modules/Cart/utils/cartAccount.js +39 -40
  140. package/lib/modules/Cart/utils/cartDate.js +61 -56
  141. package/lib/modules/Cart/utils/cartDiscount.js +33 -28
  142. package/lib/modules/Cart/utils/cartNote.js +32 -27
  143. package/lib/modules/Cart/utils/cartProduct.js +251 -321
  144. package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
  145. package/lib/modules/Cart/utils/cartResource.js +78 -72
  146. package/lib/modules/Cart/utils/changePrice.js +50 -28
  147. package/lib/modules/Cart/utils/index.js +48 -106
  148. package/lib/modules/Customer/constants.js +34 -13
  149. package/lib/modules/Customer/index.js +169 -232
  150. package/lib/modules/Customer/types.js +35 -38
  151. package/lib/modules/Date/index.js +115 -116
  152. package/lib/modules/Date/types.js +28 -16
  153. package/lib/modules/Date/utils.js +123 -174
  154. package/lib/modules/Discount/index.d.ts +0 -1
  155. package/lib/modules/Discount/index.js +128 -130
  156. package/lib/modules/Discount/types.d.ts +0 -1
  157. package/lib/modules/Discount/types.js +31 -9
  158. package/lib/modules/Guests/index.js +56 -30
  159. package/lib/modules/Guests/types.js +33 -23
  160. package/lib/modules/Holder/index.js +189 -209
  161. package/lib/modules/Holder/types.js +16 -4
  162. package/lib/modules/Holder/utils.js +49 -20
  163. package/lib/modules/OpenData/index.js +76 -69
  164. package/lib/modules/OpenData/types.js +16 -4
  165. package/lib/modules/OpenData/utils.js +78 -44
  166. package/lib/modules/Order/index.d.ts +1 -1
  167. package/lib/modules/Order/index.js +1909 -1572
  168. package/lib/modules/Order/types.js +35 -78
  169. package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
  170. package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
  171. package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
  172. package/lib/modules/Order/utils.js +634 -799
  173. package/lib/modules/Payment/cash.js +33 -20
  174. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  175. package/lib/modules/Payment/eftpos.js +30 -16
  176. package/lib/modules/Payment/index.js +378 -518
  177. package/lib/modules/Payment/mx51.js +0 -1
  178. package/lib/modules/Payment/types.d.ts +4 -8
  179. package/lib/modules/Payment/types.js +107 -216
  180. package/lib/modules/Payment/utils.js +48 -51
  181. package/lib/modules/Payment/walletpass.d.ts +0 -2
  182. package/lib/modules/Payment/walletpass.js +211 -226
  183. package/lib/modules/Product/index.js +46 -51
  184. package/lib/modules/Product/types.js +16 -4
  185. package/lib/modules/Product/utils.js +33 -32
  186. package/lib/modules/ProductList/index.d.ts +1 -1
  187. package/lib/modules/ProductList/index.js +117 -117
  188. package/lib/modules/ProductList/types.d.ts +0 -1
  189. package/lib/modules/ProductList/types.js +31 -9
  190. package/lib/modules/Quotation/index.js +100 -66
  191. package/lib/modules/Quotation/types.js +16 -4
  192. package/lib/modules/Resource/index.js +59 -27
  193. package/lib/modules/Resource/types.js +32 -22
  194. package/lib/modules/Resource/utils.js +38 -30
  195. package/lib/modules/ResourcePlanner/index.js +61 -60
  196. package/lib/modules/ResourcePlanner/planner.js +384 -346
  197. package/lib/modules/ResourcePlanner/types.js +16 -4
  198. package/lib/modules/Rules/index.js +903 -1475
  199. package/lib/modules/Rules/types.js +40 -17
  200. package/lib/modules/SalesSummary/index.js +90 -85
  201. package/lib/modules/SalesSummary/types.js +16 -4
  202. package/lib/modules/SalesSummary/utils.js +427 -351
  203. package/lib/modules/ScanOrderLogger/index.js +79 -59
  204. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  205. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  206. package/lib/modules/ScanOrderLogger/types.js +16 -4
  207. package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
  208. package/lib/modules/Schedule/index.js +114 -100
  209. package/lib/modules/Schedule/type.js +16 -4
  210. package/lib/modules/Schedule/types.js +16 -4
  211. package/lib/modules/Schedule/utils.js +291 -433
  212. package/lib/modules/Step/index.js +52 -40
  213. package/lib/modules/Step/tyeps.js +16 -4
  214. package/lib/modules/Summary/index.js +71 -66
  215. package/lib/modules/Summary/types.js +16 -4
  216. package/lib/modules/Summary/utils.js +418 -791
  217. package/lib/modules/SurchargeList/index.js +60 -46
  218. package/lib/modules/SurchargeList/types.js +16 -4
  219. package/lib/modules/index.js +63 -245
  220. package/lib/plugins/app.js +16 -4
  221. package/lib/plugins/index.js +25 -36
  222. package/lib/plugins/request.js +126 -137
  223. package/lib/plugins/shopStore.js +16 -4
  224. package/lib/plugins/user.js +16 -4
  225. package/lib/plugins/window.js +179 -171
  226. package/lib/server/index.js +2337 -2675
  227. package/lib/server/modules/floor-plan/index.js +123 -102
  228. package/lib/server/modules/floor-plan/types.js +30 -15
  229. package/lib/server/modules/index.js +68 -106
  230. package/lib/server/modules/menu/index.js +122 -146
  231. package/lib/server/modules/menu/types.js +31 -18
  232. package/lib/server/modules/order/index.js +642 -567
  233. package/lib/server/modules/order/types.js +32 -117
  234. package/lib/server/modules/order/utils/filterBookings.js +194 -219
  235. package/lib/server/modules/order/utils/filterOrders.js +92 -118
  236. package/lib/server/modules/payment/index.js +83 -59
  237. package/lib/server/modules/payment/types.js +16 -4
  238. package/lib/server/modules/products/index.js +459 -575
  239. package/lib/server/modules/products/types.js +34 -44
  240. package/lib/server/modules/quotation/index.js +172 -137
  241. package/lib/server/modules/quotation/types.js +31 -21
  242. package/lib/server/modules/resource/index.js +184 -213
  243. package/lib/server/modules/resource/types.js +33 -42
  244. package/lib/server/modules/schedule/index.js +123 -135
  245. package/lib/server/modules/schedule/types.js +21 -14
  246. package/lib/server/modules/schedule/utils.js +163 -334
  247. package/lib/server/types.js +16 -4
  248. package/lib/server/utils/index.js +23 -25
  249. package/lib/server/utils/product.js +139 -196
  250. package/lib/server/utils/schedule.js +41 -34
  251. package/lib/server/utils/small-ticket.js +456 -478
  252. package/lib/server/utils/time.js +49 -40
  253. package/lib/solution/BaseSales/index.js +1016 -850
  254. package/lib/solution/BaseSales/types.js +37 -41
  255. package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
  256. package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
  257. package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
  258. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
  259. package/lib/solution/BaseSales/utils.js +140 -155
  260. package/lib/solution/BookingByStep/index.d.ts +1 -1
  261. package/lib/solution/BookingByStep/index.js +1340 -1530
  262. package/lib/solution/BookingByStep/types.js +99 -40
  263. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  264. package/lib/solution/BookingByStep/utils/products.js +52 -42
  265. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  266. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  267. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  268. package/lib/solution/BookingTicket/index.d.ts +1 -1
  269. package/lib/solution/BookingTicket/index.js +459 -543
  270. package/lib/solution/BookingTicket/types.js +77 -99
  271. package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
  272. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
  273. package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
  274. package/lib/solution/BookingTicket/utils/cartView.js +94 -110
  275. package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
  276. package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
  277. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
  278. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
  279. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
  280. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
  281. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
  282. package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
  283. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  284. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
  285. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
  286. package/lib/solution/BuyTickets/index.js +70 -67
  287. package/lib/solution/BuyTickets/types.js +38 -22
  288. package/lib/solution/Checkout/index.js +1158 -1451
  289. package/lib/solution/Checkout/types.js +61 -91
  290. package/lib/solution/Checkout/utils/index.js +156 -228
  291. package/lib/solution/PlaceOrder/index.js +0 -55
  292. package/lib/solution/RegisterAndLogin/config.js +460 -493
  293. package/lib/solution/RegisterAndLogin/index.js +630 -633
  294. package/lib/solution/RegisterAndLogin/types.js +76 -189
  295. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  296. package/lib/solution/Sales/index.js +320 -317
  297. package/lib/solution/Sales/types.js +33 -27
  298. package/lib/solution/ScanOrder/index.js +862 -831
  299. package/lib/solution/ScanOrder/types.js +34 -33
  300. package/lib/solution/ScanOrder/utils.js +371 -406
  301. package/lib/solution/ShopDiscount/index.js +233 -235
  302. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  303. package/lib/solution/ShopDiscount/types.js +37 -15
  304. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  305. package/lib/solution/ShopDiscount/utils.js +172 -309
  306. package/lib/solution/UnifiedBookingSales/index.js +405 -379
  307. package/lib/solution/UnifiedBookingSales/types.js +31 -12
  308. package/lib/solution/VenueBooking/index.d.ts +3 -31
  309. package/lib/solution/VenueBooking/index.js +916 -967
  310. package/lib/solution/VenueBooking/types.d.ts +1 -3
  311. package/lib/solution/VenueBooking/types.js +39 -20
  312. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  313. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  314. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  315. package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
  316. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  317. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  318. package/lib/solution/VenueBooking/utils.js +67 -130
  319. package/lib/solution/index.js +41 -124
  320. package/lib/store/createStore.js +29 -32
  321. package/lib/types/index.d.ts +1 -1
  322. package/lib/types/index.js +16 -4
  323. package/lib/utils/task.js +36 -36
  324. package/lib/utils/watch.js +47 -81
  325. package/package.json +2 -4
  326. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  327. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  328. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  329. package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
@@ -1,124 +1,105 @@
1
- "use strict";
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
18
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
19
+ // src/solution/BookingTicket/utils/cartView.ts
20
+ var cartView_exports = {};
21
+ __export(cartView_exports, {
22
+ buildCartView: () => buildCartView,
23
+ buildCustomerView: () => buildCustomerView,
24
+ indexBookingsByProductUid: () => indexBookingsByProductUid,
25
+ isWalkInCustomer: () => isWalkInCustomer
5
26
  });
6
- exports.buildCartView = buildCartView;
7
- exports.buildCustomerView = buildCustomerView;
8
- exports.indexBookingsByProductUid = indexBookingsByProductUid;
9
- exports.isWalkInCustomer = isWalkInCustomer;
10
- var _addTimeAvailability = require("./addTimeAvailability");
11
- /**
12
- * 仅按 booking.product_uid 建索引,避免发明 booking 与商品行之间的其它等价关系。
13
- */
27
+ module.exports = __toCommonJS(cartView_exports);
28
+ var import_addTimeAvailability = require("./addTimeAvailability");
14
29
  function indexBookingsByProductUid(bookings) {
15
- if (!Array.isArray(bookings) || bookings.length === 0) return {};
30
+ if (!Array.isArray(bookings) || bookings.length === 0)
31
+ return {};
16
32
  return bookings.reduce((acc, booking) => {
17
- const uid = booking?.product_uid;
18
- if (uid === undefined || uid === null || uid === '') return acc;
33
+ const uid = booking == null ? void 0 : booking.product_uid;
34
+ if (uid === void 0 || uid === null || uid === "")
35
+ return acc;
19
36
  const key = String(uid);
20
- if (!acc[key]) acc[key] = [];
37
+ if (!acc[key])
38
+ acc[key] = [];
21
39
  acc[key].push(booking);
22
40
  return acc;
23
41
  }, {});
24
42
  }
25
-
26
- /**
27
- * 商品行按 unique_identification_number 建 1:1 索引(同 uid 多行时保留首行)。
28
- */
29
43
  function indexProductsByUid(lines) {
30
44
  return lines.reduce((acc, line) => {
31
- const uid = line.metadata?.unique_identification_number;
32
- if (uid === undefined || uid === null || uid === '') return acc;
45
+ var _a;
46
+ const uid = (_a = line.metadata) == null ? void 0 : _a.unique_identification_number;
47
+ if (uid === void 0 || uid === null || uid === "")
48
+ return acc;
33
49
  const key = String(uid);
34
- if (!acc[key]) acc[key] = line;
50
+ if (!acc[key])
51
+ acc[key] = line;
35
52
  return acc;
36
53
  }, {});
37
54
  }
38
-
39
- /**
40
- * 读取 booking 的协议唯一值。
41
- *
42
- * @example
43
- * const uid = getBookingUid(booking);
44
- */
45
55
  function getBookingUid(booking) {
46
- const uid = booking?.metadata?.unique_identification_number;
47
- return uid === undefined || uid === null ? '' : String(uid);
56
+ var _a;
57
+ const uid = (_a = booking == null ? void 0 : booking.metadata) == null ? void 0 : _a.unique_identification_number;
58
+ return uid === void 0 || uid === null ? "" : String(uid);
48
59
  }
49
-
50
- /**
51
- * 读取商品行绑定的 booking 唯一值。
52
- *
53
- * @example
54
- * const bookingUid = getProductBookingUid(product);
55
- */
56
60
  function getProductBookingUid(line) {
57
- const uid = line?.booking_uid ?? line?.metadata?.booking_uid;
58
- return uid === undefined || uid === null ? '' : String(uid);
61
+ var _a;
62
+ const uid = (line == null ? void 0 : line.booking_uid) ?? ((_a = line == null ? void 0 : line.metadata) == null ? void 0 : _a.booking_uid);
63
+ return uid === void 0 || uid === null ? "" : String(uid);
59
64
  }
60
-
61
- /**
62
- * 判断商品行是否为加时商品行。
63
- *
64
- * @example
65
- * isAddTimeProductLine({ metadata: { product_add_schedule_time: 30 } } as any);
66
- */
67
65
  function isAddTimeProductLine(line) {
68
- return line?.metadata?.product_add_schedule_time !== undefined && line?.metadata?.product_add_schedule_time !== null;
66
+ var _a, _b;
67
+ return ((_a = line == null ? void 0 : line.metadata) == null ? void 0 : _a.product_add_schedule_time) !== void 0 && ((_b = line == null ? void 0 : line.metadata) == null ? void 0 : _b.product_add_schedule_time) !== null;
69
68
  }
70
-
71
- /**
72
- * 将加时商品按 booking_uid 建索引。
73
- *
74
- * @example
75
- * const map = indexAddTimeProductsByBookingUid(products);
76
- */
77
69
  function indexAddTimeProductsByBookingUid(lines) {
78
70
  return lines.reduce((acc, line) => {
79
- if (!isAddTimeProductLine(line)) return acc;
71
+ if (!isAddTimeProductLine(line))
72
+ return acc;
80
73
  const bookingUid = getProductBookingUid(line);
81
- if (!bookingUid) return acc;
82
- if (!acc[bookingUid]) acc[bookingUid] = [];
74
+ if (!bookingUid)
75
+ return acc;
76
+ if (!acc[bookingUid])
77
+ acc[bookingUid] = [];
83
78
  acc[bookingUid].push(line);
84
79
  return acc;
85
80
  }, {});
86
81
  }
87
-
88
- /**
89
- * 判断商品行是否是促销赠品行。
90
- *
91
- * @example
92
- * isGiftProductLine({ metadata: { _giftInfo: {} } } as any); // true
93
- */
94
82
  function isGiftProductLine(line) {
95
- return Boolean(line?.metadata?._giftInfo);
83
+ var _a;
84
+ return Boolean((_a = line == null ? void 0 : line.metadata) == null ? void 0 : _a._giftInfo);
96
85
  }
97
-
98
- /**
99
- * 构建购物车 UI 视图:bookings 平铺附带关联商品;items 仅含未关联 booking 的商品行。
100
- *
101
- * 商品行直接透传 tempOrder.products,不做 enrichment。
102
- * 关联规则(1:1):booking.product_uid ↔ line.metadata.unique_identification_number;
103
- * 同一 uid 已被更早的 booking 占用时,后续 booking 的 product 为 null。
104
- */
105
86
  function buildCartView(lines, bookings, options = {}) {
106
87
  const productLines = Array.isArray(lines) ? lines : [];
107
88
  const bookingList = Array.isArray(bookings) ? bookings : [];
108
89
  const linesByUid = indexProductsByUid(productLines);
109
90
  const addTimeLinesByBookingUid = indexAddTimeProductsByBookingUid(productLines);
110
- const claimedUids = new Set();
111
- const claimedAddTimeLines = new Set();
112
- const cartBookings = bookingList.filter(booking => booking.parent_id !== 0).reduce((acc, booking) => {
113
- const uid = booking?.product_uid;
91
+ const claimedUids = /* @__PURE__ */ new Set();
92
+ const claimedAddTimeLines = /* @__PURE__ */ new Set();
93
+ const cartBookings = bookingList.filter((booking) => booking.parent_id !== 0).reduce((acc, booking) => {
94
+ const uid = booking == null ? void 0 : booking.product_uid;
114
95
  const bookingUid = getBookingUid(booking);
115
96
  let product = null;
116
- if (uid !== undefined && uid !== null && uid !== '') {
97
+ if (uid !== void 0 && uid !== null && uid !== "") {
117
98
  const key = String(uid);
118
99
  if (!claimedUids.has(key)) {
119
100
  const line = linesByUid[key];
120
- // 赠品预约只作为提交数据保留,不在购物车顶部预约卡片区展示。
121
- if (isGiftProductLine(line)) return acc;
101
+ if (isGiftProductLine(line))
102
+ return acc;
122
103
  if (line) {
123
104
  claimedUids.add(key);
124
105
  product = line;
@@ -126,13 +107,13 @@ function buildCartView(lines, bookings, options = {}) {
126
107
  }
127
108
  }
128
109
  const addTimeProduct = bookingUid ? addTimeLinesByBookingUid[bookingUid] || [] : [];
129
- addTimeProduct.forEach(line => claimedAddTimeLines.add(line));
110
+ addTimeProduct.forEach((line) => claimedAddTimeLines.add(line));
130
111
  acc.push({
131
112
  ...booking,
132
113
  _extend: {
133
114
  product,
134
115
  addTimeProduct,
135
- canAddTime: (0, _addTimeAvailability.resolveBookingCanAddTime)({
116
+ canAddTime: (0, import_addTimeAvailability.resolveBookingCanAddTime)({
136
117
  booking,
137
118
  product,
138
119
  addTimeProducts: options.addTimeProducts,
@@ -144,37 +125,35 @@ function buildCartView(lines, bookings, options = {}) {
144
125
  });
145
126
  return acc;
146
127
  }, []);
147
- const items = productLines.filter(line => {
148
- // 促销赠品行仅通过主商品 Gift 行展示,不在 items 单独占一行(对齐 legacy `isGift: !!_giftInfo`)
149
- if (isGiftProductLine(line)) return false;
150
- if (claimedAddTimeLines.has(line)) return false;
151
- const uid = line.metadata?.unique_identification_number;
152
- if (uid === undefined || uid === null || uid === '') return true;
128
+ const items = productLines.filter((line) => {
129
+ var _a;
130
+ if (isGiftProductLine(line))
131
+ return false;
132
+ if (claimedAddTimeLines.has(line))
133
+ return false;
134
+ const uid = (_a = line.metadata) == null ? void 0 : _a.unique_identification_number;
135
+ if (uid === void 0 || uid === null || uid === "")
136
+ return true;
153
137
  return !claimedUids.has(String(uid));
154
138
  });
155
- return {
156
- bookings: cartBookings,
157
- items
158
- };
139
+ return { bookings: cartBookings, items };
159
140
  }
160
141
  function isWalkInCustomer(customer) {
161
- if (!customer) return true;
142
+ if (!customer)
143
+ return true;
162
144
  const id = customer.id;
163
- if (id === undefined || id === null) return true;
164
- if (typeof id === 'string') {
165
- return ['', '0', '1'].includes(id);
145
+ if (id === void 0 || id === null)
146
+ return true;
147
+ if (typeof id === "string") {
148
+ return ["", "0", "1"].includes(id);
166
149
  }
167
150
  return [0, 1].includes(id);
168
151
  }
169
-
170
- /**
171
- * selected 优先,缺失时回退 tempOrder.customer_*,统一输出 UI 客户视图。
172
- */
173
152
  function buildCustomerView(selected, tempOrder) {
174
- if (selected && selected.id !== undefined && selected.id !== null && selected.id !== '' && selected.id !== 0) {
153
+ if (selected && selected.id !== void 0 && selected.id !== null && selected.id !== "" && selected.id !== 0) {
175
154
  return {
176
155
  id: selected.id,
177
- name: selected.name ?? '',
156
+ name: selected.name ?? "",
178
157
  phone: selected.phone,
179
158
  email: selected.email,
180
159
  country_calling_code: selected.country_calling_code,
@@ -183,18 +162,23 @@ function buildCustomerView(selected, tempOrder) {
183
162
  };
184
163
  }
185
164
  if (tempOrder && (tempOrder.customer_id != null || tempOrder.customer_name)) {
186
- const id = tempOrder.customer_id ?? '';
165
+ const id = tempOrder.customer_id ?? "";
187
166
  return {
188
167
  id,
189
- name: tempOrder.customer_name ?? '',
168
+ name: tempOrder.customer_name ?? "",
190
169
  phone: tempOrder.phone,
191
170
  email: tempOrder.email,
192
171
  country_calling_code: tempOrder.country_calling_code,
193
- cover: undefined,
194
- isWalkIn: isWalkInCustomer({
195
- id
196
- })
172
+ cover: void 0,
173
+ isWalkIn: isWalkInCustomer({ id })
197
174
  };
198
175
  }
199
176
  return null;
200
- }
177
+ }
178
+ // Annotate the CommonJS export names for ESM import in node:
179
+ 0 && (module.exports = {
180
+ buildCartView,
181
+ buildCustomerView,
182
+ indexBookingsByProductUid,
183
+ isWalkInCustomer
184
+ });
@@ -1,185 +0,0 @@
1
- "use strict";
2
-
3
- let data = [{
4
- "id": 58299,
5
- "title": "玄-加时商品-与数量无关-不指定商品",
6
- "price": 1,
7
- "minMinutes": 30,
8
- "maxMinutes": 30,
9
- "unitMinutes": 30,
10
- "unlimited": false,
11
- "_originalProduct": {
12
- "id": 58299,
13
- "extension_id": 384,
14
- "extension_type": "product_add_time",
15
- "shop_id": 9,
16
- "title": "玄-加时商品-与数量无关-不指定商品",
17
- "slug": "玄-加时商品-与数量无关-指定商品",
18
- "status": "published",
19
- "stock_quantity": -119,
20
- "sales_quantity": 113,
21
- "sum_stock": -119,
22
- "price": "1.00",
23
- "original_price": "4.00",
24
- "cost_price": "0.00",
25
- "cover": "",
26
- "channel_application": ["online-store", "pos", "bbc-module:mebook"],
27
- "is_track": 0,
28
- "over_sold": 0,
29
- "is_gst": 1,
30
- "code": "",
31
- "barcode": "",
32
- "is_delivery": 0,
33
- "weight_unit": "KILOGRAMS",
34
- "weight_value": "0.00",
35
- "type": "physical",
36
- "unit": "",
37
- "sort": 9999999,
38
- "subtitle": "",
39
- "minimum_markup_price": "0.00",
40
- "is_bundle": 0,
41
- "description": "",
42
- "open_sold_weight": 0,
43
- "unit_value": 0,
44
- "is_variant": 0,
45
- "variant_count": 0,
46
- "add_time": {
47
- "unit_duration": 30,
48
- "min_add_time": 30,
49
- "max_add_time": 30,
50
- "calculate_type": "not_related_to_quantity",
51
- "relation_product": {
52
- "type": "product_all",
53
- "products": []
54
- }
55
- },
56
- "shelf_product_datas": [],
57
- "step_value": 1,
58
- "min_num_unit": 1,
59
- "is_charge_tax": 1,
60
- "base_price": "1.00",
61
- "variant": []
62
- }
63
- }, {
64
- "id": 58279,
65
- "title": "加时商品2",
66
- "price": 10,
67
- "minMinutes": 30,
68
- "maxMinutes": 120,
69
- "unitMinutes": 10,
70
- "unlimited": false,
71
- "_originalProduct": {
72
- "id": 58279,
73
- "extension_id": 384,
74
- "extension_type": "product_add_time",
75
- "shop_id": 9,
76
- "title": "加时商品2",
77
- "slug": "加时商品2",
78
- "status": "published",
79
- "stock_quantity": -275,
80
- "sales_quantity": 261,
81
- "sum_stock": -275,
82
- "price": "10.00",
83
- "original_price": "10.00",
84
- "cost_price": "0.00",
85
- "cover": "",
86
- "channel_application": ["online-store", "pos", "bbc-module:mebook"],
87
- "is_track": 0,
88
- "over_sold": 0,
89
- "is_gst": 1,
90
- "code": "",
91
- "barcode": "",
92
- "is_delivery": 0,
93
- "weight_unit": "KILOGRAMS",
94
- "weight_value": "0.00",
95
- "type": "physical",
96
- "unit": "",
97
- "sort": 9999999,
98
- "subtitle": "",
99
- "minimum_markup_price": "0.00",
100
- "is_bundle": 0,
101
- "description": "",
102
- "open_sold_weight": 0,
103
- "unit_value": 0,
104
- "is_variant": 0,
105
- "variant_count": 0,
106
- "add_time": {
107
- "additional_time_options": "explicit_durations",
108
- "unit_duration": 10,
109
- "min_add_time": 30,
110
- "max_add_time": 120,
111
- "calculate_type": "not_related_to_quantity",
112
- "relation_product": {
113
- "type": "product_all",
114
- "products": []
115
- }
116
- },
117
- "shelf_product_datas": [],
118
- "step_value": 1,
119
- "min_num_unit": 1,
120
- "is_charge_tax": 1,
121
- "base_price": "10.00",
122
- "variant": []
123
- }
124
- }, {
125
- "id": 58277,
126
- "title": "测试加时商品",
127
- "price": 2,
128
- "minMinutes": 30,
129
- "maxMinutes": 780,
130
- "unitMinutes": 30,
131
- "unlimited": true,
132
- "_originalProduct": {
133
- "id": 58277,
134
- "extension_id": 384,
135
- "extension_type": "product_add_time",
136
- "shop_id": 9,
137
- "title": "测试加时商品",
138
- "slug": "测试加时商品",
139
- "status": "published",
140
- "stock_quantity": -7,
141
- "sales_quantity": 8,
142
- "sum_stock": -7,
143
- "price": "2.00",
144
- "original_price": "0.00",
145
- "cost_price": "0.00",
146
- "cover": "",
147
- "channel_application": ["online-store", "pos", "bbc-module:mebook"],
148
- "is_track": 0,
149
- "over_sold": 0,
150
- "is_gst": 1,
151
- "code": "",
152
- "barcode": "",
153
- "is_delivery": 0,
154
- "weight_unit": "KILOGRAMS",
155
- "weight_value": "0.00",
156
- "type": "physical",
157
- "unit": "",
158
- "sort": 9999999,
159
- "subtitle": "",
160
- "minimum_markup_price": "0.00",
161
- "is_bundle": 0,
162
- "description": "",
163
- "open_sold_weight": 0,
164
- "unit_value": 0,
165
- "is_variant": 0,
166
- "variant_count": 0,
167
- "add_time": {
168
- "additional_time_options": "unlimited",
169
- "unit_duration": 30,
170
- "min_add_time": 30,
171
- "max_add_time": 780,
172
- "calculate_type": "select_quantity",
173
- "relation_product": {
174
- "type": "product_all",
175
- "products": []
176
- }
177
- },
178
- "shelf_product_datas": [],
179
- "step_value": 1,
180
- "min_num_unit": 1,
181
- "is_charge_tax": 1,
182
- "base_price": "2.00",
183
- "variant": []
184
- }
185
- }];
@@ -1,35 +1,58 @@
1
- "use strict";
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
18
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
19
+ // src/solution/BookingTicket/utils/orderCustomer.ts
20
+ var orderCustomer_exports = {};
21
+ __export(orderCustomer_exports, {
22
+ formatOrderCustomerPatch: () => formatOrderCustomerPatch
5
23
  });
6
- exports.formatOrderCustomerPatch = formatOrderCustomerPatch;
7
- /** 从 ICustomer 富字段解析展示名(与 SalesSdk getClientName 语义对齐)。 */
24
+ module.exports = __toCommonJS(orderCustomer_exports);
8
25
  function resolveCustomerDisplayName(customer) {
9
26
  const c = customer;
10
27
  const displayName = c.display_name;
11
- if (typeof displayName === 'string' && displayName) return displayName;
28
+ if (typeof displayName === "string" && displayName)
29
+ return displayName;
12
30
  const nickname = c.nickname;
13
- if (typeof nickname === 'string' && nickname) return nickname;
31
+ if (typeof nickname === "string" && nickname)
32
+ return nickname;
14
33
  const firstName = c.first_name;
15
34
  const lastName = c.last_name;
16
- if (typeof firstName === 'string' && firstName || typeof lastName === 'string' && lastName) {
17
- return `${typeof firstName === 'string' ? firstName : ''} ${typeof lastName === 'string' ? lastName : ''}`.trim();
35
+ if (typeof firstName === "string" && firstName || typeof lastName === "string" && lastName) {
36
+ return `${typeof firstName === "string" ? firstName : ""} ${typeof lastName === "string" ? lastName : ""}`.trim();
18
37
  }
19
38
  const customerName = c.customer_name;
20
- if (typeof customerName === 'string' && customerName) return customerName;
21
- return customer.name ?? '';
39
+ if (typeof customerName === "string" && customerName)
40
+ return customerName;
41
+ return customer.name ?? "";
22
42
  }
23
-
24
- /** 将 ICustomer 格式化为写入 tempOrder 的协议字段。 */
25
43
  function formatOrderCustomerPatch(customer) {
44
+ var _a;
26
45
  const rawId = customer.id;
27
- const numericId = typeof rawId === 'number' ? rawId : rawId !== undefined && rawId !== null && rawId !== '' ? Number(rawId) : null;
46
+ const numericId = typeof rawId === "number" ? rawId : rawId !== void 0 && rawId !== null && rawId !== "" ? Number(rawId) : null;
28
47
  return {
29
48
  customer_id: Number.isFinite(numericId) ? numericId : null,
30
49
  customer_name: resolveCustomerDisplayName(customer),
31
- phone: customer.phone ?? '',
32
- email: customer.email ?? '',
33
- country_calling_code: customer.country_calling_code?.toString() ?? ''
50
+ phone: customer.phone ?? "",
51
+ email: customer.email ?? "",
52
+ country_calling_code: ((_a = customer.country_calling_code) == null ? void 0 : _a.toString()) ?? ""
34
53
  };
35
- }
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ formatOrderCustomerPatch
58
+ });