@pisell/pisellos 0.10.15 → 0.10.17

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 (331) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/promotion/index.js +0 -9
  3. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  4. package/dist/model/strategy/strategy-example.js +5 -19
  5. package/dist/modules/Cart/index.js +0 -3
  6. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  7. package/dist/modules/Date/index.js +1 -5
  8. package/dist/modules/Discount/index.js +2 -4
  9. package/dist/modules/OpenData/index.d.ts +5 -2
  10. package/dist/modules/OpenData/index.js +27 -14
  11. package/dist/modules/OpenData/types.d.ts +42 -0
  12. package/dist/modules/OpenData/types.js +7 -1
  13. package/dist/modules/OpenData/utils.d.ts +15 -1
  14. package/dist/modules/OpenData/utils.js +85 -0
  15. package/dist/modules/Order/index.d.ts +4 -2
  16. package/dist/modules/Order/index.js +131 -123
  17. package/dist/modules/Order/types.d.ts +8 -1
  18. package/dist/modules/Order/types.js +1 -0
  19. package/dist/modules/Order/utils.js +7 -1
  20. package/dist/modules/Payment/index.js +97 -162
  21. package/dist/modules/Product/types.d.ts +2 -0
  22. package/dist/modules/ProductList/index.js +96 -74
  23. package/dist/modules/Rules/index.js +12 -12
  24. package/dist/modules/SalesSummary/index.js +6 -4
  25. package/dist/modules/Schedule/index.js +0 -1
  26. package/dist/modules/Schedule/utils.js +0 -1
  27. package/dist/modules/Step/index.js +0 -1
  28. package/dist/plugins/request.js +1 -4
  29. package/dist/plugins/window.js +2 -6
  30. package/dist/server/index.d.ts +11 -0
  31. package/dist/server/index.js +977 -641
  32. package/dist/server/modules/menu/index.js +32 -41
  33. package/dist/server/modules/order/index.d.ts +8 -0
  34. package/dist/server/modules/order/index.js +253 -219
  35. package/dist/server/modules/products/index.js +24 -42
  36. package/dist/server/modules/quotation/index.js +29 -38
  37. package/dist/server/modules/resource/index.js +3 -4
  38. package/dist/server/modules/schedule/index.js +27 -35
  39. package/dist/server/utils/product.js +0 -1
  40. package/dist/server/utils/small-ticket.d.ts +9 -1
  41. package/dist/server/utils/small-ticket.js +117 -43
  42. package/dist/solution/BaseSales/index.d.ts +7 -0
  43. package/dist/solution/BaseSales/index.js +350 -215
  44. package/dist/solution/BaseSales/types.d.ts +2 -0
  45. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  46. package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
  47. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  48. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +7 -1
  49. package/dist/solution/BaseSales/utils.js +6 -3
  50. package/dist/solution/BookingByStep/index.d.ts +2 -2
  51. package/dist/solution/BookingByStep/index.js +7 -59
  52. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  53. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  54. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  55. package/dist/solution/BookingTicket/index.d.ts +14 -19
  56. package/dist/solution/BookingTicket/index.js +553 -433
  57. package/dist/solution/BookingTicket/utils/addProductDecision.js +3 -1
  58. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  59. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  60. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  61. package/dist/solution/BuyTickets/index.js +9 -12
  62. package/dist/solution/Checkout/index.js +177 -252
  63. package/dist/solution/Checkout/utils/index.js +4 -16
  64. package/dist/solution/RegisterAndLogin/index.js +30 -76
  65. package/dist/solution/Sales/index.d.ts +20 -4
  66. package/dist/solution/Sales/index.js +348 -75
  67. package/dist/solution/Sales/types.d.ts +10 -0
  68. package/dist/solution/ScanOrder/index.js +50 -60
  69. package/dist/solution/ScanOrder/types.d.ts +2 -0
  70. package/dist/solution/ScanOrder/utils.js +6 -3
  71. package/dist/solution/ShopDiscount/index.js +2 -7
  72. package/dist/solution/UnifiedBookingSales/index.d.ts +5 -4
  73. package/dist/solution/UnifiedBookingSales/index.js +495 -422
  74. package/dist/solution/UnifiedBookingSales/types.d.ts +7 -1
  75. package/dist/solution/VenueBooking/index.js +45 -55
  76. package/dist/utils/task.js +15 -18
  77. package/dist/utils/watch.js +0 -1
  78. package/lib/apis/picoding.js +2 -0
  79. package/lib/core/index.js +131 -131
  80. package/lib/effects/index.js +46 -57
  81. package/lib/index.js +82 -49
  82. package/lib/model/index.js +14 -21
  83. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  84. package/lib/model/strategy/adapter/dataVariant/evaluator.js +209 -315
  85. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  86. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  87. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  88. package/lib/model/strategy/adapter/index.js +100 -64
  89. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  90. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  91. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  92. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  93. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  94. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  95. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  96. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  97. package/lib/model/strategy/adapter/promotion/index.js +1 -51
  98. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  99. package/lib/model/strategy/adapter/type.js +4 -16
  100. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  101. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  102. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  103. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  104. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  105. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  106. package/lib/model/strategy/engine.js +270 -168
  107. package/lib/model/strategy/index.js +49 -34
  108. package/lib/model/strategy/strategy-example.js +243 -239
  109. package/lib/model/strategy/type.js +100 -40
  110. package/lib/modules/Account/index.js +39 -53
  111. package/lib/modules/Account/types.js +20 -33
  112. package/lib/modules/AccountList/index.js +116 -154
  113. package/lib/modules/AccountList/types.js +30 -31
  114. package/lib/modules/AccountList/utils.js +18 -30
  115. package/lib/modules/BaseModule.js +23 -42
  116. package/lib/modules/BookingContext/index.js +158 -136
  117. package/lib/modules/BookingContext/types.js +46 -32
  118. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  119. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  120. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  121. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  122. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  123. package/lib/modules/BookingContext/utils/index.js +124 -41
  124. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  125. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  126. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  127. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  128. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  129. package/lib/modules/BookingContext/utils/resources.js +209 -167
  130. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  131. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  132. package/lib/modules/Cart/index.js +170 -124
  133. package/lib/modules/Cart/types.js +46 -51
  134. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  135. package/lib/modules/Cart/utils/cartDate.js +56 -61
  136. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  137. package/lib/modules/Cart/utils/cartNote.js +27 -32
  138. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  139. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  140. package/lib/modules/Cart/utils/cartResource.js +70 -78
  141. package/lib/modules/Cart/utils/changePrice.js +22 -50
  142. package/lib/modules/Cart/utils/index.js +106 -48
  143. package/lib/modules/Customer/constants.js +13 -34
  144. package/lib/modules/Customer/index.js +235 -172
  145. package/lib/modules/Customer/types.js +38 -35
  146. package/lib/modules/Date/index.js +116 -115
  147. package/lib/modules/Date/types.js +16 -28
  148. package/lib/modules/Date/utils.js +174 -123
  149. package/lib/modules/Discount/index.js +133 -143
  150. package/lib/modules/Discount/types.js +9 -31
  151. package/lib/modules/Guests/index.js +30 -56
  152. package/lib/modules/Guests/types.js +23 -33
  153. package/lib/modules/Holder/index.js +209 -189
  154. package/lib/modules/Holder/types.js +4 -16
  155. package/lib/modules/Holder/utils.js +20 -49
  156. package/lib/modules/OpenData/index.d.ts +5 -2
  157. package/lib/modules/OpenData/index.js +119 -78
  158. package/lib/modules/OpenData/types.d.ts +42 -0
  159. package/lib/modules/OpenData/types.js +12 -16
  160. package/lib/modules/OpenData/utils.d.ts +15 -1
  161. package/lib/modules/OpenData/utils.js +129 -78
  162. package/lib/modules/Order/index.d.ts +4 -2
  163. package/lib/modules/Order/index.js +1843 -2251
  164. package/lib/modules/Order/payment-utils.js +77 -120
  165. package/lib/modules/Order/types.d.ts +8 -1
  166. package/lib/modules/Order/types.js +88 -35
  167. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  168. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  169. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  170. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  171. package/lib/modules/Order/utils/virtualSettlement.js +120 -171
  172. package/lib/modules/Order/utils.js +834 -668
  173. package/lib/modules/Payment/cash.js +20 -33
  174. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  175. package/lib/modules/Payment/eftpos.js +16 -30
  176. package/lib/modules/Payment/index.js +532 -399
  177. package/lib/modules/Payment/mx51.js +1 -0
  178. package/lib/modules/Payment/types.js +230 -108
  179. package/lib/modules/Payment/utils.js +52 -51
  180. package/lib/modules/Payment/walletpass.js +485 -660
  181. package/lib/modules/Product/index.js +51 -46
  182. package/lib/modules/Product/types.d.ts +2 -0
  183. package/lib/modules/Product/types.js +4 -16
  184. package/lib/modules/Product/utils.js +32 -33
  185. package/lib/modules/ProductList/index.js +141 -161
  186. package/lib/modules/ProductList/types.js +9 -31
  187. package/lib/modules/Quotation/index.js +66 -100
  188. package/lib/modules/Quotation/types.js +4 -16
  189. package/lib/modules/Resource/index.js +27 -59
  190. package/lib/modules/Resource/types.js +22 -32
  191. package/lib/modules/Resource/utils.js +30 -38
  192. package/lib/modules/ResourcePlanner/index.js +25 -23
  193. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  194. package/lib/modules/ResourcePlanner/planner.js +591 -772
  195. package/lib/modules/ResourcePlanner/types.js +10 -29
  196. package/lib/modules/Rules/index.js +1224 -963
  197. package/lib/modules/Rules/types.js +17 -40
  198. package/lib/modules/SalesSummary/index.js +80 -89
  199. package/lib/modules/SalesSummary/types.js +4 -16
  200. package/lib/modules/SalesSummary/utils.js +359 -442
  201. package/lib/modules/ScanOrderLogger/index.js +59 -79
  202. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  203. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  204. package/lib/modules/ScanOrderLogger/types.js +4 -16
  205. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  206. package/lib/modules/Schedule/index.js +100 -114
  207. package/lib/modules/Schedule/type.js +4 -16
  208. package/lib/modules/Schedule/types.js +4 -16
  209. package/lib/modules/Schedule/utils.js +433 -291
  210. package/lib/modules/Step/index.js +40 -52
  211. package/lib/modules/Step/tyeps.js +4 -16
  212. package/lib/modules/Summary/index.js +66 -71
  213. package/lib/modules/Summary/types.js +4 -16
  214. package/lib/modules/Summary/utils.js +773 -418
  215. package/lib/modules/SurchargeList/index.js +46 -60
  216. package/lib/modules/SurchargeList/types.js +4 -16
  217. package/lib/modules/index.js +245 -63
  218. package/lib/plugins/app.js +4 -16
  219. package/lib/plugins/index.js +36 -25
  220. package/lib/plugins/request.js +137 -126
  221. package/lib/plugins/shopStore.js +4 -16
  222. package/lib/plugins/user.js +4 -16
  223. package/lib/plugins/window.js +171 -179
  224. package/lib/server/index.d.ts +11 -0
  225. package/lib/server/index.js +3432 -2757
  226. package/lib/server/modules/floor-plan/index.js +102 -123
  227. package/lib/server/modules/floor-plan/types.js +15 -30
  228. package/lib/server/modules/index.js +106 -68
  229. package/lib/server/modules/menu/index.js +146 -122
  230. package/lib/server/modules/menu/types.js +18 -31
  231. package/lib/server/modules/order/index.d.ts +8 -0
  232. package/lib/server/modules/order/index.js +781 -956
  233. package/lib/server/modules/order/types.js +122 -33
  234. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  235. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  236. package/lib/server/modules/payment/index.js +59 -83
  237. package/lib/server/modules/payment/types.js +4 -16
  238. package/lib/server/modules/products/index.js +575 -459
  239. package/lib/server/modules/products/types.js +44 -34
  240. package/lib/server/modules/quotation/index.js +137 -172
  241. package/lib/server/modules/quotation/types.js +21 -31
  242. package/lib/server/modules/resource/index.js +213 -184
  243. package/lib/server/modules/resource/types.js +42 -33
  244. package/lib/server/modules/schedule/index.js +135 -123
  245. package/lib/server/modules/schedule/types.js +14 -21
  246. package/lib/server/modules/schedule/utils.js +334 -163
  247. package/lib/server/types.js +4 -16
  248. package/lib/server/utils/index.js +25 -23
  249. package/lib/server/utils/product.js +196 -139
  250. package/lib/server/utils/schedule.js +34 -41
  251. package/lib/server/utils/small-ticket.d.ts +9 -1
  252. package/lib/server/utils/small-ticket.js +565 -470
  253. package/lib/server/utils/time.js +40 -49
  254. package/lib/solution/BaseSales/index.d.ts +7 -0
  255. package/lib/solution/BaseSales/index.js +1385 -1503
  256. package/lib/solution/BaseSales/types.d.ts +2 -0
  257. package/lib/solution/BaseSales/types.js +42 -38
  258. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  259. package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
  260. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  261. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  262. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  263. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +138 -180
  264. package/lib/solution/BaseSales/utils.js +161 -143
  265. package/lib/solution/BookingByStep/index.d.ts +2 -2
  266. package/lib/solution/BookingByStep/index.js +1527 -1340
  267. package/lib/solution/BookingByStep/types.js +40 -99
  268. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  269. package/lib/solution/BookingByStep/utils/products.js +42 -52
  270. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  271. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  272. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  273. package/lib/solution/BookingTicket/index.d.ts +14 -19
  274. package/lib/solution/BookingTicket/index.js +663 -526
  275. package/lib/solution/BookingTicket/types.js +99 -77
  276. package/lib/solution/BookingTicket/utils/addProductDecision.js +229 -190
  277. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  278. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  279. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  280. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  281. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  282. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  283. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  284. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  285. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  286. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  287. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  288. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  289. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  290. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  291. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  292. package/lib/solution/BuyTickets/index.js +67 -70
  293. package/lib/solution/BuyTickets/types.js +22 -38
  294. package/lib/solution/Checkout/index.js +1451 -1158
  295. package/lib/solution/Checkout/types.js +91 -61
  296. package/lib/solution/Checkout/utils/index.js +228 -156
  297. package/lib/solution/PlaceOrder/index.js +55 -0
  298. package/lib/solution/RegisterAndLogin/config.js +493 -460
  299. package/lib/solution/RegisterAndLogin/index.js +633 -630
  300. package/lib/solution/RegisterAndLogin/types.js +189 -76
  301. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  302. package/lib/solution/Sales/index.d.ts +20 -4
  303. package/lib/solution/Sales/index.js +502 -330
  304. package/lib/solution/Sales/types.d.ts +10 -0
  305. package/lib/solution/Sales/types.js +27 -33
  306. package/lib/solution/ScanOrder/index.js +822 -852
  307. package/lib/solution/ScanOrder/types.d.ts +2 -0
  308. package/lib/solution/ScanOrder/types.js +33 -34
  309. package/lib/solution/ScanOrder/utils.js +412 -374
  310. package/lib/solution/ShopDiscount/index.js +226 -232
  311. package/lib/solution/ShopDiscount/types.js +15 -37
  312. package/lib/solution/ShopDiscount/utils.js +300 -172
  313. package/lib/solution/UnifiedBookingSales/index.d.ts +5 -4
  314. package/lib/solution/UnifiedBookingSales/index.js +1087 -1222
  315. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  316. package/lib/solution/UnifiedBookingSales/types.d.ts +7 -1
  317. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  318. package/lib/solution/VenueBooking/index.js +811 -879
  319. package/lib/solution/VenueBooking/types.js +19 -39
  320. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  321. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  322. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  323. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  324. package/lib/solution/VenueBooking/utils.js +130 -67
  325. package/lib/solution/index.js +124 -41
  326. package/lib/store/createStore.js +32 -29
  327. package/lib/types/index.js +4 -16
  328. package/lib/utils/payment-number.js +26 -46
  329. package/lib/utils/task.js +36 -36
  330. package/lib/utils/watch.js +81 -47
  331. package/package.json +2 -1
@@ -1,63 +1,51 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
29
2
 
30
- // src/modules/ProductList/index.ts
31
- var ProductList_exports = {};
32
- __export(ProductList_exports, {
33
- ProductList: () => ProductList
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
34
5
  });
35
- module.exports = __toCommonJS(ProductList_exports);
36
- var import_BaseModule = require("../BaseModule");
37
- var import_lodash_es = require("lodash-es");
38
- var import_dayjs = __toESM(require("dayjs"));
39
- __reExport(ProductList_exports, require("./types"), module.exports);
40
- var ProductList = class extends import_BaseModule.BaseModule {
6
+ var _exportNames = {
7
+ ProductList: true
8
+ };
9
+ exports.ProductList = void 0;
10
+ var _BaseModule = require("../BaseModule");
11
+ var _lodashEs = require("lodash-es");
12
+ var _dayjs = _interopRequireDefault(require("dayjs"));
13
+ var _types = require("./types");
14
+ Object.keys(_types).forEach(function (key) {
15
+ if (key === "default" || key === "__esModule") return;
16
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
17
+ if (key in exports && exports[key] === _types[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _types[key];
22
+ }
23
+ });
24
+ });
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
+ class ProductList extends _BaseModule.BaseModule {
27
+ defaultName = 'productList';
28
+ defaultVersion = '1.0.0';
29
+ store;
30
+ request;
31
+ otherParams = {};
41
32
  constructor(name, version) {
42
33
  super(name, version);
43
- this.defaultName = "productList";
44
- this.defaultVersion = "1.0.0";
45
- this.otherParams = {};
46
34
  }
47
35
  async initialize(core, options) {
48
- var _a;
49
36
  this.core = core;
50
37
  this.store = options.store;
51
38
  this.otherParams = options.otherParams || {};
52
- if (Array.isArray((_a = options.initialState) == null ? void 0 : _a.list)) {
39
+ if (Array.isArray(options.initialState?.list)) {
53
40
  this.store.list = options.initialState.list.slice().sort((a, b) => Number(b.sort) - Number(a.sort));
54
41
  this.core.effects.emit(`${this.name}:changed`, this.store.list);
55
42
  } else {
56
43
  this.store.list = [];
57
44
  this.store.selectProducts = [];
58
45
  }
59
- this.request = core.getPlugin("request");
46
+ this.request = core.getPlugin('request');
60
47
  }
48
+
61
49
  /**
62
50
  * 更新运行态参数,供父级解决方案 setOtherParams 后同步查询上下文。
63
51
  *
@@ -67,6 +55,7 @@ var ProductList = class extends import_BaseModule.BaseModule {
67
55
  updateOtherParams(params) {
68
56
  this.otherParams = params || {};
69
57
  }
58
+
70
59
  /**
71
60
  * 判断当前商品查询是否会被本地 OS Server 接管。
72
61
  *
@@ -75,39 +64,34 @@ var ProductList = class extends import_BaseModule.BaseModule {
75
64
  * Data Variant 评估。
76
65
  */
77
66
  isProductQueryHandledByOsServer() {
78
- var _a, _b;
79
- const server = (_a = this.core) == null ? void 0 : _a.server;
80
- if (!server || typeof server.hasRoute !== "function")
81
- return false;
82
- const requestBaseUrl = String(
83
- ((_b = this.request) == null ? void 0 : _b.baseUrl) || "/shop"
84
- ).replace(/\/+$/, "");
67
+ const server = this.core?.server;
68
+ if (!server || typeof server.hasRoute !== 'function') return false;
69
+ const requestBaseUrl = String(this.request?.baseUrl || '/shop').replace(/\/+$/, '');
85
70
  const routePath = `${requestBaseUrl}/product/query`;
86
- return server.hasRoute("post", routePath) === true;
71
+ return server.hasRoute('post', routePath) === true;
87
72
  }
73
+
88
74
  /**
89
75
  * 未启用商品 OS 路由时,在客户端补做 Data Variant 解析。
90
76
  * OS Server 已接管时直接信任服务端结果,确保同一批商品只评估一次。
91
77
  */
92
78
  resolveClientDataVariants(products, queryPayload, handledByOsServer) {
93
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
94
- if (handledByOsServer || products.length === 0)
95
- return products;
96
- const evaluator = (_b = (_a = this.core) == null ? void 0 : _a.context) == null ? void 0 : _b.dataVariantEvaluator;
97
- if (!evaluator || typeof evaluator.resolveProducts !== "function") {
79
+ if (handledByOsServer || products.length === 0) return products;
80
+ const evaluator = this.core?.context?.dataVariantEvaluator;
81
+ if (!evaluator || typeof evaluator.resolveProducts !== 'function') {
98
82
  return products;
99
83
  }
100
- const strategyContext = queryPayload.strategy_context && typeof queryPayload.strategy_context === "object" ? queryPayload.strategy_context : {};
101
- const fatherModule = String(((_c = this.otherParams) == null ? void 0 : _c.fatherModule) || "").trim();
102
- const scheduleModule = (fatherModule ? this.core.getModule(`${fatherModule}_schedule`) : null) || this.core.getModule("schedule");
103
- const scheduleList = (_d = scheduleModule == null ? void 0 : scheduleModule.getScheduleList) == null ? void 0 : _d.call(scheduleModule);
104
- const contextScheduleList = (_f = (_e = this.core) == null ? void 0 : _e.context) == null ? void 0 : _f.scheduleList;
105
- const contextMenuList = (_h = (_g = this.core) == null ? void 0 : _g.context) == null ? void 0 : _h.menuList;
84
+ const strategyContext = queryPayload.strategy_context && typeof queryPayload.strategy_context === 'object' ? queryPayload.strategy_context : {};
85
+ const fatherModule = String(this.otherParams?.fatherModule || '').trim();
86
+ const scheduleModule = (fatherModule ? this.core.getModule(`${fatherModule}_schedule`) : null) || this.core.getModule('schedule');
87
+ const scheduleList = scheduleModule?.getScheduleList?.();
88
+ const contextScheduleList = this.core?.context?.scheduleList;
89
+ const contextMenuList = this.core?.context?.menuList;
106
90
  const businessData = {
107
91
  products,
108
92
  scheduleDateTime: queryPayload.schedule_datetime || queryPayload.schedule_date,
109
93
  scheduleList: Array.isArray(scheduleList) ? scheduleList : Array.isArray(contextScheduleList) ? contextScheduleList : [],
110
- menuList: Array.isArray((_i = this.otherParams) == null ? void 0 : _i.menuList) ? this.otherParams.menuList : Array.isArray(contextMenuList) ? contextMenuList : [],
94
+ menuList: Array.isArray(this.otherParams?.menuList) ? this.otherParams.menuList : Array.isArray(contextMenuList) ? contextMenuList : [],
111
95
  customerId: queryPayload.customer_id,
112
96
  channel: strategyContext.channel,
113
97
  orderType: strategyContext.orderType || strategyContext.order_type,
@@ -117,14 +101,16 @@ var ProductList = class extends import_BaseModule.BaseModule {
117
101
  };
118
102
  try {
119
103
  const result = evaluator.resolveProducts(businessData);
120
- return Array.isArray(result == null ? void 0 : result.products) ? result.products : products;
104
+ return Array.isArray(result?.products) ? result.products : products;
121
105
  } catch (error) {
122
- console.error("[ProductList] Data Variant 客户端解析失败", error);
106
+ console.error('[ProductList] Data Variant 客户端解析失败', error);
123
107
  return products;
124
108
  }
125
109
  }
126
110
  async storeChange(path, value) {
111
+ // No longer needed - products are stored as plain objects instead of Product instances
127
112
  }
113
+
128
114
  /**
129
115
  * 获取加时商品列表。
130
116
  *
@@ -133,10 +119,10 @@ var ProductList = class extends import_BaseModule.BaseModule {
133
119
  */
134
120
  async getAddTimeProducts(params = {}) {
135
121
  return this.loadProducts({
136
- schedule_date: (0, import_dayjs.default)().format("YYYY-MM-DD"),
137
- status: "published",
122
+ schedule_date: (0, _dayjs.default)().format('YYYY-MM-DD'),
123
+ status: 'published',
138
124
  ...params,
139
- extension_type: ["product_add_time"]
125
+ extension_type: ['product_add_time']
140
126
  });
141
127
  }
142
128
  async loadProducts({
@@ -151,55 +137,60 @@ var ProductList = class extends import_BaseModule.BaseModule {
151
137
  cacheId,
152
138
  with_schedule,
153
139
  extension_type,
154
- status = "published",
140
+ status = 'published',
155
141
  strategy_context
156
142
  } = {}, options) {
157
- var _a, _b;
158
- let userPlugin = this.core.getPlugin("user");
159
- let customer_id = void 0;
143
+ // // 如果 schedule_ids 为空,则需要尝试从 schedule 模块里获取
144
+ // if (!schedule_ids?.length) {
145
+ // const schedule_ids_data = this.store.schedule
146
+ // .getScheduleListByIds(schedule_ids)
147
+ // .map((n) => n.id);
148
+ // if (schedule_ids_data.length) {
149
+ // schedule_ids = schedule_ids_data;
150
+ // } else if (schedule_date) {
151
+ // // 后端说如果 schedule_ids 如果为空,需要给[0]
152
+ // schedule_ids = [0];
153
+ // }
154
+ // }
155
+ let userPlugin = this.core.getPlugin('user');
156
+ let customer_id = undefined;
160
157
  try {
161
- customer_id = paramsCustomerId || ((_a = userPlugin == null ? void 0 : userPlugin.get()) == null ? void 0 : _a.id);
158
+ customer_id = paramsCustomerId || userPlugin?.get()?.id;
162
159
  } catch (error) {
163
160
  console.error(error);
164
161
  }
162
+ // 如果没传schedule_date,则从
165
163
  const channelMap = {
166
- online_store: "online-store",
167
- scan_to_order: "online-store",
168
- "scan-to-order": "online-store",
169
- scan_to_order_2: "mobile_order",
170
- scan_to_order_3: "scantoorder3"
164
+ online_store: 'online-store',
165
+ scan_to_order: 'online-store',
166
+ 'scan-to-order': 'online-store',
167
+ scan_to_order_2: 'mobile_order',
168
+ scan_to_order_3: 'scantoorder3'
171
169
  };
172
- const rawApplicationCode = (_b = this.otherParams) == null ? void 0 : _b.channel;
173
- const mappedApplicationCode = typeof rawApplicationCode === "string" ? channelMap[rawApplicationCode] || rawApplicationCode : rawApplicationCode;
170
+ const rawApplicationCode = this.otherParams?.channel;
171
+ const mappedApplicationCode = typeof rawApplicationCode === 'string' ? channelMap[rawApplicationCode] || rawApplicationCode : rawApplicationCode;
174
172
  const queryPayload = {
175
173
  open_quotation: 1,
176
174
  open_bundle: 0,
177
- exclude_extension_type: [
178
- "product_party",
179
- "product_event",
180
- "product_series_event",
181
- "product_package_ticket",
182
- "ticket",
183
- "event_item"
184
- ],
185
- with: [
186
- "category",
187
- "collection",
188
- "resourceRelation",
189
- "bundleGroup.bundleItem",
190
- "optionGroup.optionItem",
191
- "variantGroup.variantItem",
192
- "dataVariants"
193
- ],
175
+ exclude_extension_type: ['product_party', 'product_event', 'product_series_event', 'product_package_ticket', 'ticket', 'event_item'],
176
+ with: ['category', 'collection', 'resourceRelation', 'bundleGroup.bundleItem', 'optionGroup.optionItem', 'variantGroup.variantItem', 'dataVariants'],
194
177
  status,
195
178
  num: 500,
196
179
  skip: 1,
197
180
  customer_id,
198
- ...Array.isArray(category_ids) && category_ids.length ? { category_ids } : {},
199
- ...Array.isArray(product_ids) && product_ids.length ? { ids: product_ids } : {},
200
- ...Array.isArray(collection) && collection.length ? { collection } : {},
181
+ ...(Array.isArray(category_ids) && category_ids.length ? {
182
+ category_ids
183
+ } : {}),
184
+ ...(Array.isArray(product_ids) && product_ids.length ? {
185
+ ids: product_ids
186
+ } : {}),
187
+ ...(Array.isArray(collection) && collection.length ? {
188
+ collection
189
+ } : {}),
201
190
  front_end_cache_id: cacheId,
202
- ...Array.isArray(menu_list_ids) && menu_list_ids.length ? { menu_list_ids } : {},
191
+ ...(Array.isArray(menu_list_ids) && menu_list_ids.length ? {
192
+ menu_list_ids
193
+ } : {}),
203
194
  with_count,
204
195
  // client_schedule_ids: schedule_ids,
205
196
  schedule_date,
@@ -211,37 +202,38 @@ var ProductList = class extends import_BaseModule.BaseModule {
211
202
  strategy_context
212
203
  };
213
204
  const handledByOsServer = this.isProductQueryHandledByOsServer();
214
- const callback = !handledByOsServer && typeof (options == null ? void 0 : options.callback) === "function" ? (result) => {
215
- var _a2, _b2, _c;
216
- const callbackList = (_a2 = result == null ? void 0 : result.data) == null ? void 0 : _a2.list;
205
+ const originalCallback = options?.callback;
206
+ const subscriptionCallback = originalCallback ? async result => {
207
+ const callbackList = result?.data?.list;
217
208
  if (!Array.isArray(callbackList)) {
218
- (_b2 = options.callback) == null ? void 0 : _b2.call(options, result);
209
+ originalCallback(result);
219
210
  return;
220
211
  }
221
- (_c = options.callback) == null ? void 0 : _c.call(options, {
212
+ const resolvedCallbackList = this.resolveClientDataVariants(callbackList, queryPayload, handledByOsServer);
213
+ await this.addProduct(resolvedCallbackList);
214
+ originalCallback(resolvedCallbackList === callbackList ? result : {
222
215
  ...result,
223
216
  data: {
224
217
  ...result.data,
225
- list: this.resolveClientDataVariants(
226
- callbackList,
227
- queryPayload,
228
- false
229
- )
218
+ list: resolvedCallbackList
230
219
  }
231
220
  });
232
- } : options == null ? void 0 : options.callback;
233
- const productsData = await this.request.post(
234
- `/product/query`,
235
- queryPayload,
236
- { osServer: true, callback, subscriberId: options == null ? void 0 : options.subscriberId, customToast: () => {
237
- } }
238
- );
239
- const resolvedList = this.resolveClientDataVariants(
240
- productsData.data.list || [],
241
- queryPayload,
242
- handledByOsServer
243
- );
221
+ } : undefined;
222
+ const productsData = await this.request.post(`/product/query`, queryPayload, {
223
+ osServer: true,
224
+ callback: subscriptionCallback,
225
+ subscriberId: options?.subscriberId,
226
+ customToast: () => {}
227
+ });
228
+ const resolvedList = this.resolveClientDataVariants(productsData.data.list || [], queryPayload, handledByOsServer);
244
229
  const sortedList = resolvedList.slice().sort((a, b) => Number(b.sort) - Number(a.sort));
230
+ // if (sortedList.length) {
231
+ // sortedList.forEach((n: any) => {
232
+ // if (n.is_eject !== 1 && n['schedule.ids'] && n['schedule.ids'].length) {
233
+ // n.is_eject = 1
234
+ // }
235
+ // })
236
+ // }
245
237
  this.addProduct(sortedList);
246
238
  return sortedList;
247
239
  }
@@ -251,80 +243,68 @@ var ProductList = class extends import_BaseModule.BaseModule {
251
243
  schedule_date,
252
244
  channel
253
245
  }) {
254
- const productsData = await this.request.post(
255
- `/product/query/price`,
256
- {
257
- ids,
258
- customer_id,
259
- schedule_date,
260
- channel
261
- },
262
- { useCache: true }
263
- );
246
+ const productsData = await this.request.post(`/product/query/price`, {
247
+ ids,
248
+ customer_id,
249
+ schedule_date,
250
+ channel
251
+ }, {
252
+ useCache: true
253
+ });
264
254
  return productsData.data;
265
255
  }
266
256
  async getProducts() {
267
- await this.core.effects.emit(
268
- `${this.name}:onGetProducts`,
269
- this.store.list
270
- );
271
- return (0, import_lodash_es.cloneDeep)(this.store.list);
257
+ await this.core.effects.emit(`${this.name}:onGetProducts`, this.store.list);
258
+ return (0, _lodashEs.cloneDeep)(this.store.list);
272
259
  }
273
260
  async getProduct(id) {
274
- await this.core.effects.emit(
275
- `${this.name}:onGetProduct`,
276
- this.store.list
277
- );
278
- const product = this.store.list.find((product2) => product2.id === id);
279
- return product ? (0, import_lodash_es.cloneDeep)(product) : void 0;
261
+ await this.core.effects.emit(`${this.name}:onGetProduct`, this.store.list);
262
+ const product = this.store.list.find(product => product.id === id);
263
+ return product ? (0, _lodashEs.cloneDeep)(product) : undefined;
280
264
  }
281
265
  async getProductByIds(ids) {
282
- await this.core.effects.emit(
283
- `${this.name}:onGetProductByIds`,
284
- this.store.list
285
- );
286
- const products = this.store.list.filter((product) => ids.includes(product.id));
266
+ await this.core.effects.emit(`${this.name}:onGetProductByIds`, this.store.list);
267
+ const products = this.store.list.filter(product => ids.includes(product.id));
287
268
  return products;
288
269
  }
289
270
  async addProduct(products) {
271
+ // list 需要根据 id 去重
290
272
  if (!this.store.list) {
291
273
  this.store.list = [];
292
274
  }
293
- products.forEach((n) => {
294
- const index = this.store.list.findIndex((m) => m.id === n.id);
275
+ products.forEach(n => {
276
+ const index = this.store.list.findIndex(m => m.id === n.id);
295
277
  if (index === -1) {
296
278
  this.store.list.push(n);
297
279
  } else {
298
280
  this.store.list[index] = n;
299
281
  }
300
282
  });
283
+ // 根据 sort 值做降序排序(数字越大越靠前)
301
284
  this.store.list.sort((a, b) => Number(b.sort) - Number(a.sort));
302
285
  this.core.effects.emit(`${this.name}:changed`, this.store.list);
303
286
  }
304
287
  async selectProducts(products) {
305
288
  this.store.selectProducts = products;
306
289
  }
290
+
307
291
  /**
308
292
  * 根据商品编码或条码搜索商品
309
293
  * @param code 商品编码或条码
310
294
  * @returns 匹配的商品列表,如果没有匹配则返回空数组
311
295
  */
312
296
  findProductsByCodeOrBarcode(code) {
313
- if (!code || typeof code !== "string") {
297
+ if (!code || typeof code !== 'string') {
314
298
  return [];
315
299
  }
316
300
  const trimmedCode = code.trim();
317
301
  if (!trimmedCode) {
318
302
  return [];
319
303
  }
320
- const matchingProducts = this.store.list.filter((product) => {
304
+ const matchingProducts = this.store.list.filter(product => {
321
305
  return product.code && product.code.trim() === trimmedCode || product.barcode && product.barcode.trim() === trimmedCode;
322
306
  });
323
- return (0, import_lodash_es.cloneDeep)(matchingProducts);
307
+ return (0, _lodashEs.cloneDeep)(matchingProducts);
324
308
  }
325
- };
326
- // Annotate the CommonJS export names for ESM import in node:
327
- 0 && (module.exports = {
328
- ProductList,
329
- ...require("./types")
330
- });
309
+ }
310
+ exports.ProductList = ProductList;
@@ -1,33 +1,11 @@
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);
1
+ "use strict";
18
2
 
19
- // src/modules/ProductList/types.ts
20
- var types_exports = {};
21
- __export(types_exports, {
22
- ProductListHooks: () => ProductListHooks
23
- });
24
- module.exports = __toCommonJS(types_exports);
25
- var ProductListHooks = /* @__PURE__ */ ((ProductListHooks2) => {
26
- ProductListHooks2["onGetProducts"] = "productList:onGetProducts";
27
- ProductListHooks2["onGetProduct"] = "productList:onGetProduct";
28
- return ProductListHooks2;
29
- })(ProductListHooks || {});
30
- // Annotate the CommonJS export names for ESM import in node:
31
- 0 && (module.exports = {
32
- ProductListHooks
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
6
+ exports.ProductListHooks = void 0;
7
+ let ProductListHooks = exports.ProductListHooks = /*#__PURE__*/function (ProductListHooks) {
8
+ ProductListHooks["onGetProducts"] = "productList:onGetProducts";
9
+ ProductListHooks["onGetProduct"] = "productList:onGetProduct";
10
+ return ProductListHooks;
11
+ }({});