@pisell/pisellos 0.0.569 → 0.10.2

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 (328) 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/promotion/index.js +9 -0
  5. package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
  6. package/dist/model/strategy/adapter/walletPass/example.js +26 -3
  7. package/dist/model/strategy/adapter/walletPass/index.js +5 -5
  8. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
  9. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  10. package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
  11. package/dist/model/strategy/strategy-example.js +19 -5
  12. package/dist/modules/BaseModule.d.ts +1 -1
  13. package/dist/modules/BaseModule.js +8 -10
  14. package/dist/modules/Cart/index.js +3 -0
  15. package/dist/modules/Cart/utils/cartProduct.js +1 -0
  16. package/dist/modules/Cart/utils/cartResource.js +0 -2
  17. package/dist/modules/Cart/utils/changePrice.js +9 -16
  18. package/dist/modules/Date/index.js +5 -1
  19. package/dist/modules/Discount/index.d.ts +0 -1
  20. package/dist/modules/Discount/index.js +7 -22
  21. package/dist/modules/Discount/types.d.ts +0 -1
  22. package/dist/modules/OpenData/index.js +2 -0
  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 +49 -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.js +1909 -1572
  167. package/lib/modules/Order/types.js +35 -78
  168. package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
  169. package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
  170. package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
  171. package/lib/modules/Order/utils.js +634 -799
  172. package/lib/modules/Payment/cash.js +33 -20
  173. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  174. package/lib/modules/Payment/eftpos.js +30 -16
  175. package/lib/modules/Payment/index.js +378 -518
  176. package/lib/modules/Payment/mx51.js +0 -1
  177. package/lib/modules/Payment/types.d.ts +4 -8
  178. package/lib/modules/Payment/types.js +107 -216
  179. package/lib/modules/Payment/utils.js +48 -51
  180. package/lib/modules/Payment/walletpass.d.ts +0 -2
  181. package/lib/modules/Payment/walletpass.js +211 -226
  182. package/lib/modules/Product/index.js +46 -51
  183. package/lib/modules/Product/types.js +16 -4
  184. package/lib/modules/Product/utils.js +33 -32
  185. package/lib/modules/ProductList/index.d.ts +1 -1
  186. package/lib/modules/ProductList/index.js +117 -117
  187. package/lib/modules/ProductList/types.d.ts +0 -1
  188. package/lib/modules/ProductList/types.js +31 -9
  189. package/lib/modules/Quotation/index.js +100 -66
  190. package/lib/modules/Quotation/types.js +16 -4
  191. package/lib/modules/Resource/index.js +59 -27
  192. package/lib/modules/Resource/types.js +32 -22
  193. package/lib/modules/Resource/utils.js +38 -30
  194. package/lib/modules/ResourcePlanner/index.js +61 -60
  195. package/lib/modules/ResourcePlanner/planner.js +384 -346
  196. package/lib/modules/ResourcePlanner/types.js +16 -4
  197. package/lib/modules/Rules/index.js +903 -1475
  198. package/lib/modules/Rules/types.js +40 -17
  199. package/lib/modules/SalesSummary/index.js +90 -85
  200. package/lib/modules/SalesSummary/types.js +16 -4
  201. package/lib/modules/SalesSummary/utils.js +427 -351
  202. package/lib/modules/ScanOrderLogger/index.js +79 -59
  203. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  204. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  205. package/lib/modules/ScanOrderLogger/types.js +16 -4
  206. package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
  207. package/lib/modules/Schedule/index.js +114 -100
  208. package/lib/modules/Schedule/type.js +16 -4
  209. package/lib/modules/Schedule/types.js +16 -4
  210. package/lib/modules/Schedule/utils.js +291 -433
  211. package/lib/modules/Step/index.js +52 -40
  212. package/lib/modules/Step/tyeps.js +16 -4
  213. package/lib/modules/Summary/index.js +71 -66
  214. package/lib/modules/Summary/types.js +16 -4
  215. package/lib/modules/Summary/utils.js +418 -791
  216. package/lib/modules/SurchargeList/index.js +60 -46
  217. package/lib/modules/SurchargeList/types.js +16 -4
  218. package/lib/modules/index.js +63 -245
  219. package/lib/plugins/app.js +16 -4
  220. package/lib/plugins/index.js +25 -36
  221. package/lib/plugins/request.js +126 -137
  222. package/lib/plugins/shopStore.js +16 -4
  223. package/lib/plugins/user.js +16 -4
  224. package/lib/plugins/window.js +179 -171
  225. package/lib/server/index.js +2337 -2675
  226. package/lib/server/modules/floor-plan/index.js +123 -102
  227. package/lib/server/modules/floor-plan/types.js +30 -15
  228. package/lib/server/modules/index.js +68 -106
  229. package/lib/server/modules/menu/index.js +122 -146
  230. package/lib/server/modules/menu/types.js +31 -18
  231. package/lib/server/modules/order/index.js +642 -567
  232. package/lib/server/modules/order/types.js +32 -117
  233. package/lib/server/modules/order/utils/filterBookings.js +194 -219
  234. package/lib/server/modules/order/utils/filterOrders.js +92 -118
  235. package/lib/server/modules/payment/index.js +83 -59
  236. package/lib/server/modules/payment/types.js +16 -4
  237. package/lib/server/modules/products/index.js +459 -575
  238. package/lib/server/modules/products/types.js +34 -44
  239. package/lib/server/modules/quotation/index.js +172 -137
  240. package/lib/server/modules/quotation/types.js +31 -21
  241. package/lib/server/modules/resource/index.js +184 -213
  242. package/lib/server/modules/resource/types.js +33 -42
  243. package/lib/server/modules/schedule/index.js +123 -135
  244. package/lib/server/modules/schedule/types.js +21 -14
  245. package/lib/server/modules/schedule/utils.js +163 -334
  246. package/lib/server/types.js +16 -4
  247. package/lib/server/utils/index.js +23 -25
  248. package/lib/server/utils/product.js +139 -196
  249. package/lib/server/utils/schedule.js +41 -34
  250. package/lib/server/utils/small-ticket.js +456 -478
  251. package/lib/server/utils/time.js +49 -40
  252. package/lib/solution/BaseSales/index.js +1016 -850
  253. package/lib/solution/BaseSales/types.js +37 -41
  254. package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
  255. package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
  256. package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
  257. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
  258. package/lib/solution/BaseSales/utils.js +140 -155
  259. package/lib/solution/BookingByStep/index.d.ts +1 -1
  260. package/lib/solution/BookingByStep/index.js +1340 -1530
  261. package/lib/solution/BookingByStep/types.js +99 -40
  262. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  263. package/lib/solution/BookingByStep/utils/products.js +52 -42
  264. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  265. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  266. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  267. package/lib/solution/BookingTicket/index.d.ts +1 -1
  268. package/lib/solution/BookingTicket/index.js +459 -543
  269. package/lib/solution/BookingTicket/types.js +77 -99
  270. package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
  271. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
  272. package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
  273. package/lib/solution/BookingTicket/utils/cartView.js +94 -110
  274. package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
  275. package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
  276. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
  277. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
  278. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
  279. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
  280. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
  281. package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
  282. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  283. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
  284. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
  285. package/lib/solution/BuyTickets/index.js +70 -67
  286. package/lib/solution/BuyTickets/types.js +38 -22
  287. package/lib/solution/Checkout/index.js +1158 -1451
  288. package/lib/solution/Checkout/types.js +61 -91
  289. package/lib/solution/Checkout/utils/index.js +156 -228
  290. package/lib/solution/PlaceOrder/index.js +0 -55
  291. package/lib/solution/RegisterAndLogin/config.js +460 -493
  292. package/lib/solution/RegisterAndLogin/index.js +630 -633
  293. package/lib/solution/RegisterAndLogin/types.js +76 -189
  294. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  295. package/lib/solution/Sales/index.js +320 -317
  296. package/lib/solution/Sales/types.js +33 -27
  297. package/lib/solution/ScanOrder/index.js +862 -831
  298. package/lib/solution/ScanOrder/types.js +34 -33
  299. package/lib/solution/ScanOrder/utils.js +371 -406
  300. package/lib/solution/ShopDiscount/index.js +233 -235
  301. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  302. package/lib/solution/ShopDiscount/types.js +37 -15
  303. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  304. package/lib/solution/ShopDiscount/utils.js +172 -309
  305. package/lib/solution/UnifiedBookingSales/index.js +405 -379
  306. package/lib/solution/UnifiedBookingSales/types.js +31 -12
  307. package/lib/solution/VenueBooking/index.d.ts +3 -31
  308. package/lib/solution/VenueBooking/index.js +916 -967
  309. package/lib/solution/VenueBooking/types.d.ts +1 -3
  310. package/lib/solution/VenueBooking/types.js +39 -20
  311. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  312. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  313. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  314. package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
  315. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  316. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  317. package/lib/solution/VenueBooking/utils.js +67 -130
  318. package/lib/solution/index.js +41 -124
  319. package/lib/store/createStore.js +29 -32
  320. package/lib/types/index.d.ts +1 -1
  321. package/lib/types/index.js +16 -4
  322. package/lib/utils/task.js +36 -36
  323. package/lib/utils/watch.js +47 -81
  324. package/package.json +2 -4
  325. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  326. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  327. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  328. package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
@@ -1,41 +1,57 @@
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/modules/Quotation/index.ts
20
+ var Quotation_exports = {};
21
+ __export(Quotation_exports, {
22
+ QuotationModule: () => QuotationModule
5
23
  });
6
- exports.QuotationModule = void 0;
7
- var _BaseModule = require("../BaseModule");
8
- var _getDateIsInSchedule = require("../Schedule/getDateIsInSchedule");
9
- class QuotationModule extends _BaseModule.BaseModule {
10
- defaultName = 'quotation';
11
- defaultVersion = '1.0.0';
12
- request;
13
- store = {
14
- list: []
15
- };
16
- scheduleResolver;
24
+ module.exports = __toCommonJS(Quotation_exports);
25
+ var import_BaseModule = require("../BaseModule");
26
+ var import_getDateIsInSchedule = require("../Schedule/getDateIsInSchedule");
27
+ var QuotationModule = class extends import_BaseModule.BaseModule {
17
28
  constructor(name, version) {
18
29
  super(name, version);
30
+ this.defaultName = "quotation";
31
+ this.defaultVersion = "1.0.0";
32
+ this.store = { list: [] };
19
33
  }
20
34
  async initialize(core, options) {
21
35
  this.core = core;
22
- this.request = core.getPlugin('request');
23
- if (!this.request) throw new Error('QuotationModule 需要 request 插件支持');
24
- this.store = {
25
- list: []
26
- };
36
+ this.request = core.getPlugin("request");
37
+ if (!this.request)
38
+ throw new Error("QuotationModule 需要 request 插件支持");
39
+ this.store = { list: [] };
27
40
  }
28
41
  async loadQuotations(params) {
42
+ var _a;
29
43
  const query = {};
30
- if (params?.channel) query.channel = params.channel;
31
- if (params?.channel === 'online_store') {
32
- query.channel = 'online-store';
44
+ if (params == null ? void 0 : params.channel)
45
+ query.channel = params.channel;
46
+ if ((params == null ? void 0 : params.channel) === "online_store") {
47
+ query.channel = "online-store";
33
48
  }
34
- const res = await this.request.get('/quotation/available', query, {
35
- useCache: false,
36
- osServer: true
37
- });
38
- const list = res?.data?.list || res?.list || [];
49
+ const res = await this.request.get(
50
+ "/quotation/available",
51
+ query,
52
+ { useCache: false, osServer: true }
53
+ );
54
+ const list = ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.list) || (res == null ? void 0 : res.list) || [];
39
55
  list.sort((a, b) => b.sort - a.sort);
40
56
  this.store.list = list;
41
57
  }
@@ -43,19 +59,21 @@ class QuotationModule extends _BaseModule.BaseModule {
43
59
  return this.store.list;
44
60
  }
45
61
  getQuotationCustomerScopeInfo() {
46
- const customerById = new Map();
47
- const quotationScopes = this.store.list.filter(quotation => Array.isArray(quotation.customer) && quotation.customer.length > 0).map(quotation => {
62
+ const customerById = /* @__PURE__ */ new Map();
63
+ const quotationScopes = this.store.list.filter((quotation) => Array.isArray(quotation.customer) && quotation.customer.length > 0).map((quotation) => {
48
64
  const customerIds = [];
49
65
  const customers = [];
50
- const localSeen = new Set();
66
+ const localSeen = /* @__PURE__ */ new Set();
51
67
  const quotationCustomers = quotation.customer || [];
52
- quotationCustomers.forEach(customer => {
53
- const customerId = this.normalizeCustomerId(customer?.id);
54
- if (!customerId || localSeen.has(customerId)) return;
68
+ quotationCustomers.forEach((customer) => {
69
+ const customerId = this.normalizeCustomerId(customer == null ? void 0 : customer.id);
70
+ if (!customerId || localSeen.has(customerId))
71
+ return;
55
72
  localSeen.add(customerId);
56
73
  customerIds.push(customerId);
57
74
  customers.push(customer);
58
- if (!customerById.has(customerId)) customerById.set(customerId, customer);
75
+ if (!customerById.has(customerId))
76
+ customerById.set(customerId, customer);
59
77
  });
60
78
  return {
61
79
  quotationId: quotation.id,
@@ -74,7 +92,6 @@ class QuotationModule extends _BaseModule.BaseModule {
74
92
  };
75
93
  return result;
76
94
  }
77
-
78
95
  /**
79
96
  * Look up the quotation price for a specific product (+ optional variant) at a given datetime.
80
97
  * Returns the price as a string (e.g. "300.00"), or null if no quotation applies.
@@ -84,23 +101,23 @@ class QuotationModule extends _BaseModule.BaseModule {
84
101
  * the requested productId wins.
85
102
  */
86
103
  getPriceForProduct(params) {
87
- return this.getQuotationMatchForProduct(params)?.price ?? null;
104
+ var _a;
105
+ return ((_a = this.getQuotationMatchForProduct(params)) == null ? void 0 : _a.price) ?? null;
88
106
  }
89
107
  getQuotationMatchForProduct(params) {
90
- const {
91
- productId,
92
- variantId,
93
- datetime,
94
- customer_id
95
- } = params;
108
+ const { productId, variantId, datetime, customer_id } = params;
96
109
  for (const quotation of this.store.list) {
97
110
  const visible = this.isQuotationVisibleForCustomer(quotation, customer_id);
98
- if (!visible) continue;
111
+ if (!visible)
112
+ continue;
99
113
  const active = this.isQuotationActiveAt(quotation, datetime);
100
- if (!active) continue;
114
+ if (!active)
115
+ continue;
101
116
  const match = this.findProductData(quotation.product_data, productId, variantId);
102
- if (!match) continue;
103
- if (match.value === 0) continue;
117
+ if (!match)
118
+ continue;
119
+ if (match.value === 0)
120
+ continue;
104
121
  return {
105
122
  price: String(match.value),
106
123
  quotationShelfId: quotation.id
@@ -109,17 +126,18 @@ class QuotationModule extends _BaseModule.BaseModule {
109
126
  return null;
110
127
  }
111
128
  getQuotationShelfId(params) {
112
- return this.getQuotationMatchForProduct(params)?.quotationShelfId ?? 0;
129
+ var _a;
130
+ return ((_a = this.getQuotationMatchForProduct(params)) == null ? void 0 : _a.quotationShelfId) ?? 0;
113
131
  }
114
-
115
132
  /**
116
133
  * Batch pre-compute quotation prices for a set of products across multiple time points.
117
134
  * Key format: `${productId}:${timePoint}`
118
135
  * This avoids repeated schedule matching when the same product appears in multiple resource rows.
119
136
  */
120
137
  buildProductPriceMap(params) {
121
- const map = new Map();
122
- if (!this.store.list.length) return map;
138
+ const map = /* @__PURE__ */ new Map();
139
+ if (!this.store.list.length)
140
+ return map;
123
141
  for (const productId of params.productIds) {
124
142
  for (const timePoint of params.timePoints) {
125
143
  const key = `${productId}:${timePoint}`;
@@ -140,23 +158,30 @@ class QuotationModule extends _BaseModule.BaseModule {
140
158
  }
141
159
  isQuotationVisibleForCustomer(quotation, customerId) {
142
160
  const customers = quotation.customer || [];
143
- if (customers.length === 0) return true;
144
- if (!this.hasValidCustomerId(customerId)) return false;
145
- return customers.some(customer => String(customer.id) === String(customerId));
161
+ if (customers.length === 0)
162
+ return true;
163
+ if (!this.hasValidCustomerId(customerId))
164
+ return false;
165
+ return customers.some((customer) => String(customer.id) === String(customerId));
146
166
  }
147
167
  hasValidCustomerId(customerId) {
148
- if (customerId === undefined || customerId === null || customerId === '') return false;
168
+ if (customerId === void 0 || customerId === null || customerId === "")
169
+ return false;
149
170
  return Number(customerId) > 0;
150
171
  }
151
172
  normalizeCustomerId(customerId) {
152
- if (customerId === undefined || customerId === null || customerId === '') return null;
173
+ if (customerId === void 0 || customerId === null || customerId === "")
174
+ return null;
153
175
  return String(customerId);
154
176
  }
155
177
  isQuotationActiveAt(quotation, datetime) {
156
- if (!quotation.schedule?.length) return false;
178
+ var _a;
179
+ if (!((_a = quotation.schedule) == null ? void 0 : _a.length))
180
+ return false;
157
181
  const scheduleItems = [];
158
- quotation.schedule.forEach(s => {
159
- const full = this.scheduleResolver?.(s.id);
182
+ quotation.schedule.forEach((s) => {
183
+ var _a2;
184
+ const full = (_a2 = this.scheduleResolver) == null ? void 0 : _a2.call(this, s.id);
160
185
  if (full) {
161
186
  scheduleItems.push(full);
162
187
  return;
@@ -166,21 +191,30 @@ class QuotationModule extends _BaseModule.BaseModule {
166
191
  }
167
192
  const fallbackSchedule = {
168
193
  ...s,
169
- repeat_type: s.repeat_type || 'none',
194
+ repeat_type: s.repeat_type || "none",
170
195
  repeat_rule: s.repeat_rule || null,
171
196
  time_slot: s.time_slot || []
172
197
  };
173
198
  scheduleItems.push(fallbackSchedule);
174
199
  });
175
- if (!scheduleItems.length) return false;
176
- return (0, _getDateIsInSchedule.getDateIsInSchedule)(datetime, scheduleItems);
200
+ if (!scheduleItems.length)
201
+ return false;
202
+ return (0, import_getDateIsInSchedule.getDateIsInSchedule)(datetime, scheduleItems);
177
203
  }
178
204
  findProductData(productData, productId, variantId) {
179
205
  if (variantId && variantId !== 0) {
180
- const variantMatch = productData.find(p => p.product_id === productId && p.variant_id === variantId);
181
- if (variantMatch) return variantMatch;
206
+ const variantMatch = productData.find(
207
+ (p) => p.product_id === productId && p.variant_id === variantId
208
+ );
209
+ if (variantMatch)
210
+ return variantMatch;
182
211
  }
183
- return productData.find(p => p.product_id === productId && p.variant_id === 0);
212
+ return productData.find(
213
+ (p) => p.product_id === productId && p.variant_id === 0
214
+ );
184
215
  }
185
- }
186
- exports.QuotationModule = QuotationModule;
216
+ };
217
+ // Annotate the CommonJS export names for ESM import in node:
218
+ 0 && (module.exports = {
219
+ QuotationModule
220
+ });
@@ -1,5 +1,17 @@
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 __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
14
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
15
+ // src/modules/Quotation/types.ts
16
+ var types_exports = {};
17
+ module.exports = __toCommonJS(types_exports);
@@ -1,17 +1,34 @@
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/modules/Resource/index.ts
20
+ var Resource_exports = {};
21
+ __export(Resource_exports, {
22
+ ResourceListModule: () => ResourceListModule
5
23
  });
6
- exports.ResourceListModule = void 0;
7
- var _BaseModule = require("../BaseModule");
8
- var _types = require("./types");
9
- class ResourceListModule extends _BaseModule.BaseModule {
10
- defaultName = 'resourceList';
11
- defaultVersion = '1.0.0';
12
- store;
24
+ module.exports = __toCommonJS(Resource_exports);
25
+ var import_BaseModule = require("../BaseModule");
26
+ var import_types = require("./types");
27
+ var ResourceListModule = class extends import_BaseModule.BaseModule {
13
28
  constructor(name, version) {
14
29
  super(name, version);
30
+ this.defaultName = "resourceList";
31
+ this.defaultVersion = "1.0.0";
15
32
  }
16
33
  async initialize(core, options) {
17
34
  this.core = core;
@@ -21,8 +38,9 @@ class ResourceListModule extends _BaseModule.BaseModule {
21
38
  return this.store.list;
22
39
  }
23
40
  async selectResource(resourceId) {
24
- const resource = this.store.list.find(r => r.id === resourceId);
25
- if (!resource) return;
41
+ const resource = this.store.list.find((r) => r.id === resourceId);
42
+ if (!resource)
43
+ return;
26
44
  this.store.selectedResource = resource;
27
45
  await this.core.effects.emit(`${this.name}:onResourceSelect`, resource);
28
46
  }
@@ -30,29 +48,43 @@ class ResourceListModule extends _BaseModule.BaseModule {
30
48
  return this.store.selectedResource;
31
49
  }
32
50
  async checkAvailability(resourceId, start, end) {
33
- const resource = this.store.list.find(r => r.id === resourceId);
34
- if (!resource) return false;
35
- return resource.timeSlots.some(slot => slot.start.getTime() <= start.getTime() && slot.end.getTime() >= end.getTime() && slot.availableCapacity > 0);
51
+ const resource = this.store.list.find((r) => r.id === resourceId);
52
+ if (!resource)
53
+ return false;
54
+ return resource.timeSlots.some(
55
+ (slot) => slot.start.getTime() <= start.getTime() && slot.end.getTime() >= end.getTime() && slot.availableCapacity > 0
56
+ );
36
57
  }
37
58
  async getAvailableTimeSlots(resourceId) {
38
- const resource = this.store.list.find(r => r.id === resourceId);
39
- if (!resource) return [];
40
- return resource.timeSlots.filter(slot => slot.availableCapacity > 0);
59
+ const resource = this.store.list.find((r) => r.id === resourceId);
60
+ if (!resource)
61
+ return [];
62
+ return resource.timeSlots.filter((slot) => slot.availableCapacity > 0);
41
63
  }
42
64
  getAvailableCapacity(resourceId, timeSlot) {
43
- const resource = this.store.list.find(r => r.id === resourceId);
44
- if (!resource) return 0;
45
- const slot = resource.timeSlots.find(s => s.start.getTime() === timeSlot.start.getTime() && s.end.getTime() === timeSlot.end.getTime());
46
- return slot?.availableCapacity || 0;
65
+ const resource = this.store.list.find((r) => r.id === resourceId);
66
+ if (!resource)
67
+ return 0;
68
+ const slot = resource.timeSlots.find(
69
+ (s) => s.start.getTime() === timeSlot.start.getTime() && s.end.getTime() === timeSlot.end.getTime()
70
+ );
71
+ return (slot == null ? void 0 : slot.availableCapacity) || 0;
47
72
  }
48
73
  async updateResource(resourceId, updates) {
49
- const index = this.store.list.findIndex(r => r.id === resourceId);
50
- if (index === -1) return;
74
+ const index = this.store.list.findIndex((r) => r.id === resourceId);
75
+ if (index === -1)
76
+ return;
51
77
  this.store.list[index] = {
52
78
  ...this.store.list[index],
53
79
  ...updates
54
80
  };
55
- await this.core.effects.emit(_types.ResourceHooks.OnResourceChange, this.store.list[index]);
81
+ await this.core.effects.emit(
82
+ import_types.ResourceHooks.OnResourceChange,
83
+ this.store.list[index]
84
+ );
56
85
  }
57
- }
58
- exports.ResourceListModule = ResourceListModule;
86
+ };
87
+ // Annotate the CommonJS export names for ESM import in node:
88
+ 0 && (module.exports = {
89
+ ResourceListModule
90
+ });
@@ -1,24 +1,34 @@
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/modules/Resource/types.ts
20
+ var types_exports = {};
21
+ __export(types_exports, {
22
+ ResourceHooks: () => ResourceHooks
23
+ });
24
+ module.exports = __toCommonJS(types_exports);
25
+ var ResourceHooks = /* @__PURE__ */ ((ResourceHooks2) => {
26
+ ResourceHooks2["OnResourceSelect"] = "resource:onResourceSelect";
27
+ ResourceHooks2["OnResourceChange"] = "resource:onResourceChange";
28
+ ResourceHooks2["OnAvailabilityCheck"] = "resource:onAvailabilityCheck";
29
+ return ResourceHooks2;
30
+ })(ResourceHooks || {});
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ ResourceHooks
5
34
  });
6
- exports.ResourceHooks = void 0;
7
- let ResourceHooks = exports.ResourceHooks = /*#__PURE__*/function (ResourceHooks) {
8
- ResourceHooks["OnResourceSelect"] = "resource:onResourceSelect";
9
- ResourceHooks["OnResourceChange"] = "resource:onResourceChange";
10
- ResourceHooks["OnAvailabilityCheck"] = "resource:onAvailabilityCheck";
11
- return ResourceHooks;
12
- }({});
13
- /**
14
- * 资源可用时间段
15
- */
16
- /**
17
- * 资源信息
18
- */
19
- /**
20
- * 资源列表状态
21
- */
22
- /**
23
- * 资源列表模块 API
24
- */
@@ -1,34 +1,42 @@
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/modules/Resource/utils.ts
20
+ var utils_exports = {};
21
+ __export(utils_exports, {
22
+ getResourcesByIds: () => getResourcesByIds,
23
+ getResourcesMap: () => getResourcesMap
5
24
  });
6
- exports.getResourcesMap = exports.getResourcesByIds = void 0;
7
- /**
8
- * @title: 获取资源map
9
- * @description:
10
- * @param {any} resourceList
11
- * @return {*}
12
- * @Author: zhiwei.Wang
13
- */
14
- const getResourcesMap = resourceList => {
15
- return resourceList.reduce((pre, item) => {
16
- pre[item.id] = item;
17
- return pre;
18
- }, {});
25
+ module.exports = __toCommonJS(utils_exports);
26
+ var getResourcesMap = (resourceList) => {
27
+ return resourceList.reduce(
28
+ (pre, item) => {
29
+ pre[item.id] = item;
30
+ return pre;
31
+ },
32
+ {}
33
+ );
19
34
  };
20
-
21
- /**
22
- * @title: 根据ids筛选资源列表
23
- * @description:
24
- * @param {any} resourcesMap
25
- * @param {any} ids
26
- * @return {*}
27
- * @Author: zhiwei.Wang
28
- * @Date: 2024-09-19 20:23
29
- */
30
- exports.getResourcesMap = getResourcesMap;
31
- const getResourcesByIds = (resourcesMap, ids) => {
32
- return (ids || []).map(id => resourcesMap[id]);
35
+ var getResourcesByIds = (resourcesMap, ids) => {
36
+ return (ids || []).map((id) => resourcesMap[id]);
33
37
  };
34
- exports.getResourcesByIds = getResourcesByIds;
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ getResourcesByIds,
41
+ getResourcesMap
42
+ });