@pisell/pisellos 2.3.73 → 2.3.75

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 (296) hide show
  1. package/dist/core/index.d.ts +7 -0
  2. package/dist/core/index.js +111 -71
  3. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  4. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  5. package/dist/model/strategy/strategy-example.js +5 -19
  6. package/dist/modules/Cart/index.js +0 -3
  7. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  8. package/dist/modules/Date/index.js +1 -5
  9. package/dist/modules/Discount/index.js +2 -4
  10. package/dist/modules/OpenData/index.js +0 -2
  11. package/dist/modules/Order/index.d.ts +1 -1
  12. package/dist/modules/Order/index.js +36 -64
  13. package/dist/modules/Payment/index.js +97 -162
  14. package/dist/modules/Quotation/index.d.ts +6 -0
  15. package/dist/modules/Quotation/index.js +75 -19
  16. package/dist/modules/Rules/index.js +1 -4
  17. package/dist/modules/Schedule/index.js +0 -1
  18. package/dist/modules/Schedule/utils.js +0 -1
  19. package/dist/modules/Step/index.js +0 -1
  20. package/dist/plugins/request.d.ts +1 -0
  21. package/dist/plugins/request.js +1 -4
  22. package/dist/plugins/window.js +2 -6
  23. package/dist/server/index.d.ts +8 -2
  24. package/dist/server/index.js +303 -269
  25. package/dist/server/modules/floor-plan/index.d.ts +4 -0
  26. package/dist/server/modules/floor-plan/index.js +240 -98
  27. package/dist/server/modules/menu/index.js +75 -59
  28. package/dist/server/modules/order/index.d.ts +17 -7
  29. package/dist/server/modules/order/index.js +421 -211
  30. package/dist/server/modules/products/index.d.ts +8 -2
  31. package/dist/server/modules/products/index.js +191 -117
  32. package/dist/server/modules/quotation/index.js +29 -38
  33. package/dist/server/modules/resource/index.js +24 -17
  34. package/dist/server/modules/schedule/index.js +27 -35
  35. package/dist/server/utils/product.js +0 -1
  36. package/dist/solution/BaseSales/index.js +38 -41
  37. package/dist/solution/BookingByStep/index.d.ts +1 -1
  38. package/dist/solution/BookingByStep/index.js +7 -59
  39. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  40. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  41. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  42. package/dist/solution/BookingTicket/index.js +0 -2
  43. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  44. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  45. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  46. package/dist/solution/BuyTickets/index.js +9 -12
  47. package/dist/solution/Checkout/index.js +177 -252
  48. package/dist/solution/Checkout/utils/index.js +4 -16
  49. package/dist/solution/RegisterAndLogin/index.js +30 -76
  50. package/dist/solution/ScanOrder/index.js +50 -60
  51. package/dist/solution/ShopDiscount/index.js +2 -7
  52. package/dist/solution/VenueBooking/index.js +45 -55
  53. package/dist/utils/task.js +15 -18
  54. package/dist/utils/watch.js +0 -1
  55. package/lib/apis/picoding.js +2 -0
  56. package/lib/core/index.d.ts +7 -0
  57. package/lib/core/index.js +149 -131
  58. package/lib/effects/index.js +46 -57
  59. package/lib/index.js +82 -49
  60. package/lib/model/index.js +14 -21
  61. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  62. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  63. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  64. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  65. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  66. package/lib/model/strategy/adapter/index.js +100 -64
  67. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  68. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  69. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  70. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  71. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  72. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  73. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  74. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  75. package/lib/model/strategy/adapter/promotion/index.js +1 -0
  76. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  77. package/lib/model/strategy/adapter/type.js +4 -16
  78. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  79. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  80. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  81. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  82. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  83. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  84. package/lib/model/strategy/engine.js +270 -168
  85. package/lib/model/strategy/index.js +49 -34
  86. package/lib/model/strategy/strategy-example.js +243 -239
  87. package/lib/model/strategy/type.js +100 -40
  88. package/lib/modules/Account/index.js +39 -53
  89. package/lib/modules/Account/types.js +20 -33
  90. package/lib/modules/AccountList/index.js +116 -154
  91. package/lib/modules/AccountList/types.js +30 -31
  92. package/lib/modules/AccountList/utils.js +18 -30
  93. package/lib/modules/BaseModule.js +23 -42
  94. package/lib/modules/BookingContext/index.js +158 -136
  95. package/lib/modules/BookingContext/types.js +46 -32
  96. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  97. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  98. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  99. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  100. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  101. package/lib/modules/BookingContext/utils/index.js +124 -41
  102. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  103. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  104. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  105. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  106. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  107. package/lib/modules/BookingContext/utils/resources.js +209 -167
  108. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  109. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  110. package/lib/modules/Cart/index.js +170 -124
  111. package/lib/modules/Cart/types.js +46 -51
  112. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  113. package/lib/modules/Cart/utils/cartDate.js +56 -61
  114. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  115. package/lib/modules/Cart/utils/cartNote.js +27 -32
  116. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  117. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  118. package/lib/modules/Cart/utils/cartResource.js +70 -78
  119. package/lib/modules/Cart/utils/changePrice.js +22 -50
  120. package/lib/modules/Cart/utils/index.js +106 -48
  121. package/lib/modules/Customer/constants.js +13 -34
  122. package/lib/modules/Customer/index.js +235 -172
  123. package/lib/modules/Customer/types.js +38 -35
  124. package/lib/modules/Date/index.js +116 -115
  125. package/lib/modules/Date/types.js +16 -28
  126. package/lib/modules/Date/utils.js +174 -123
  127. package/lib/modules/Discount/index.js +122 -127
  128. package/lib/modules/Discount/types.js +9 -31
  129. package/lib/modules/Guests/index.js +30 -56
  130. package/lib/modules/Guests/types.js +23 -33
  131. package/lib/modules/Holder/index.js +209 -189
  132. package/lib/modules/Holder/types.js +4 -16
  133. package/lib/modules/Holder/utils.js +20 -49
  134. package/lib/modules/OpenData/index.js +70 -76
  135. package/lib/modules/OpenData/types.js +4 -16
  136. package/lib/modules/OpenData/utils.js +44 -78
  137. package/lib/modules/Order/index.d.ts +1 -1
  138. package/lib/modules/Order/index.js +1713 -2118
  139. package/lib/modules/Order/payment-utils.js +77 -120
  140. package/lib/modules/Order/types.js +88 -35
  141. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  142. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  143. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  144. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  145. package/lib/modules/Order/utils.js +814 -647
  146. package/lib/modules/Payment/cash.js +20 -33
  147. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  148. package/lib/modules/Payment/eftpos.js +16 -30
  149. package/lib/modules/Payment/index.js +532 -399
  150. package/lib/modules/Payment/mx51.js +1 -0
  151. package/lib/modules/Payment/types.js +230 -108
  152. package/lib/modules/Payment/utils.js +52 -51
  153. package/lib/modules/Payment/walletpass.js +485 -660
  154. package/lib/modules/Product/index.js +51 -46
  155. package/lib/modules/Product/types.js +4 -16
  156. package/lib/modules/Product/utils.js +32 -33
  157. package/lib/modules/ProductList/index.js +113 -123
  158. package/lib/modules/ProductList/types.js +9 -31
  159. package/lib/modules/Quotation/index.d.ts +6 -0
  160. package/lib/modules/Quotation/index.js +110 -103
  161. package/lib/modules/Quotation/types.js +4 -16
  162. package/lib/modules/Resource/index.js +27 -59
  163. package/lib/modules/Resource/types.js +22 -32
  164. package/lib/modules/Resource/utils.js +30 -38
  165. package/lib/modules/ResourcePlanner/index.js +25 -23
  166. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  167. package/lib/modules/ResourcePlanner/planner.js +589 -770
  168. package/lib/modules/ResourcePlanner/types.js +10 -29
  169. package/lib/modules/Rules/index.js +1218 -959
  170. package/lib/modules/Rules/types.js +17 -40
  171. package/lib/modules/SalesSummary/index.js +85 -90
  172. package/lib/modules/SalesSummary/types.js +4 -16
  173. package/lib/modules/SalesSummary/utils.js +355 -430
  174. package/lib/modules/ScanOrderLogger/index.js +59 -79
  175. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  176. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  177. package/lib/modules/ScanOrderLogger/types.js +4 -16
  178. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  179. package/lib/modules/Schedule/index.js +100 -114
  180. package/lib/modules/Schedule/type.js +4 -16
  181. package/lib/modules/Schedule/types.js +4 -16
  182. package/lib/modules/Schedule/utils.js +433 -291
  183. package/lib/modules/Step/index.js +40 -52
  184. package/lib/modules/Step/tyeps.js +4 -16
  185. package/lib/modules/Summary/index.js +66 -71
  186. package/lib/modules/Summary/types.js +4 -16
  187. package/lib/modules/Summary/utils.js +773 -418
  188. package/lib/modules/SurchargeList/index.js +46 -60
  189. package/lib/modules/SurchargeList/types.js +4 -16
  190. package/lib/modules/index.js +245 -63
  191. package/lib/plugins/app.js +4 -16
  192. package/lib/plugins/index.js +36 -25
  193. package/lib/plugins/request.d.ts +1 -0
  194. package/lib/plugins/request.js +137 -126
  195. package/lib/plugins/shopStore.js +4 -16
  196. package/lib/plugins/user.js +4 -16
  197. package/lib/plugins/window.js +171 -179
  198. package/lib/server/index.d.ts +8 -2
  199. package/lib/server/index.js +3083 -2663
  200. package/lib/server/modules/floor-plan/index.d.ts +4 -0
  201. package/lib/server/modules/floor-plan/index.js +159 -127
  202. package/lib/server/modules/floor-plan/types.js +15 -30
  203. package/lib/server/modules/index.js +106 -68
  204. package/lib/server/modules/menu/index.js +170 -124
  205. package/lib/server/modules/menu/types.js +18 -31
  206. package/lib/server/modules/order/index.d.ts +17 -7
  207. package/lib/server/modules/order/index.js +916 -977
  208. package/lib/server/modules/order/types.js +122 -33
  209. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  210. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  211. package/lib/server/modules/payment/index.js +59 -83
  212. package/lib/server/modules/payment/types.js +4 -16
  213. package/lib/server/modules/products/index.d.ts +8 -2
  214. package/lib/server/modules/products/index.js +656 -471
  215. package/lib/server/modules/products/types.js +44 -34
  216. package/lib/server/modules/quotation/index.js +137 -172
  217. package/lib/server/modules/quotation/types.js +21 -31
  218. package/lib/server/modules/resource/index.js +225 -186
  219. package/lib/server/modules/resource/types.js +42 -33
  220. package/lib/server/modules/schedule/index.js +135 -123
  221. package/lib/server/modules/schedule/types.js +14 -21
  222. package/lib/server/modules/schedule/utils.js +334 -163
  223. package/lib/server/types.js +4 -16
  224. package/lib/server/utils/index.js +25 -23
  225. package/lib/server/utils/product.js +196 -139
  226. package/lib/server/utils/schedule.js +34 -41
  227. package/lib/server/utils/small-ticket.js +479 -456
  228. package/lib/server/utils/time.js +40 -49
  229. package/lib/solution/BaseSales/index.js +1186 -1410
  230. package/lib/solution/BaseSales/types.js +42 -38
  231. package/lib/solution/BaseSales/utils/cartPromotion.js +642 -498
  232. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  233. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  234. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
  235. package/lib/solution/BaseSales/utils.js +158 -143
  236. package/lib/solution/BookingByStep/index.d.ts +1 -1
  237. package/lib/solution/BookingByStep/index.js +1527 -1340
  238. package/lib/solution/BookingByStep/types.js +40 -99
  239. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  240. package/lib/solution/BookingByStep/utils/products.js +42 -52
  241. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  242. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  243. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  244. package/lib/solution/BookingTicket/index.js +607 -522
  245. package/lib/solution/BookingTicket/types.js +99 -77
  246. package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
  247. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  248. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  249. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  250. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  251. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  252. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  253. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  254. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  255. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  256. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  257. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  258. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  259. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  260. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  261. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  262. package/lib/solution/BuyTickets/index.js +67 -70
  263. package/lib/solution/BuyTickets/types.js +22 -38
  264. package/lib/solution/Checkout/index.js +1451 -1158
  265. package/lib/solution/Checkout/types.js +91 -61
  266. package/lib/solution/Checkout/utils/index.js +228 -156
  267. package/lib/solution/PlaceOrder/index.js +55 -0
  268. package/lib/solution/RegisterAndLogin/config.js +493 -460
  269. package/lib/solution/RegisterAndLogin/index.js +633 -630
  270. package/lib/solution/RegisterAndLogin/types.js +189 -76
  271. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  272. package/lib/solution/Sales/index.js +328 -324
  273. package/lib/solution/Sales/types.js +27 -33
  274. package/lib/solution/ScanOrder/index.js +832 -864
  275. package/lib/solution/ScanOrder/types.js +33 -34
  276. package/lib/solution/ScanOrder/utils.js +409 -374
  277. package/lib/solution/ShopDiscount/index.js +226 -232
  278. package/lib/solution/ShopDiscount/types.js +15 -37
  279. package/lib/solution/ShopDiscount/utils.js +300 -172
  280. package/lib/solution/UnifiedBookingSales/index.js +1035 -1201
  281. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  282. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  283. package/lib/solution/VenueBooking/index.js +811 -879
  284. package/lib/solution/VenueBooking/types.js +19 -39
  285. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  286. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  287. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  288. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  289. package/lib/solution/VenueBooking/utils.js +130 -67
  290. package/lib/solution/index.js +124 -41
  291. package/lib/store/createStore.js +32 -29
  292. package/lib/types/index.js +4 -16
  293. package/lib/utils/payment-number.js +26 -46
  294. package/lib/utils/task.js +36 -36
  295. package/lib/utils/watch.js +81 -47
  296. package/package.json +2 -1
@@ -1,293 +1,285 @@
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/model/strategy/adapter/dataVariant/examples.ts
20
- var examples_exports = {};
21
- __export(examples_exports, {
22
- CUSTOMER_SCOPE_PRICE_STRATEGY: () => CUSTOMER_SCOPE_PRICE_STRATEGY,
23
- DATA_VARIANT_EXAMPLE_MENUS: () => DATA_VARIANT_EXAMPLE_MENUS,
24
- DATA_VARIANT_EXAMPLE_PRODUCTS: () => DATA_VARIANT_EXAMPLE_PRODUCTS,
25
- DATA_VARIANT_EXAMPLE_SCHEDULES: () => DATA_VARIANT_EXAMPLE_SCHEDULES,
26
- EVENING_MENU_PRICE_STRATEGY: () => EVENING_MENU_PRICE_STRATEGY,
27
- VIP_PRODUCT_PRICE_STRATEGY: () => VIP_PRODUCT_PRICE_STRATEGY,
28
- createExampleDataVariant: () => createExampleDataVariant,
29
- runCustomerScopeDataVariantDemo: () => runCustomerScopeDataVariantDemo,
30
- runDataVariantDemo: () => runDataVariantDemo
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
31
5
  });
32
- module.exports = __toCommonJS(examples_exports);
33
- var import_evaluator = require("./evaluator");
34
- var import_type = require("./type");
6
+ exports.VIP_PRODUCT_PRICE_STRATEGY = exports.EVENING_MENU_PRICE_STRATEGY = exports.DATA_VARIANT_EXAMPLE_SCHEDULES = exports.DATA_VARIANT_EXAMPLE_PRODUCTS = exports.DATA_VARIANT_EXAMPLE_MENUS = exports.CUSTOMER_SCOPE_PRICE_STRATEGY = void 0;
7
+ exports.createExampleDataVariant = createExampleDataVariant;
8
+ exports.runCustomerScopeDataVariantDemo = runCustomerScopeDataVariantDemo;
9
+ exports.runDataVariantDemo = runDataVariantDemo;
10
+ var _evaluator = require("./evaluator");
11
+ var _type = require("./type");
12
+ /**
13
+ * 构造示例用 data_variant 记录,字段结构与后端 /product/query 返回一致。
14
+ */
35
15
  function createExampleDataVariant(ruleId, data, overrides) {
36
16
  return {
37
- id: (overrides == null ? void 0 : overrides.id) ?? 1,
38
- shop_id: (overrides == null ? void 0 : overrides.shop_id) ?? 9,
39
- module: (overrides == null ? void 0 : overrides.module) ?? "product",
40
- module_data_id: (overrides == null ? void 0 : overrides.module_data_id) ?? 61416,
17
+ id: overrides?.id ?? 1,
18
+ shop_id: overrides?.shop_id ?? 9,
19
+ module: overrides?.module ?? 'product',
20
+ module_data_id: overrides?.module_data_id ?? 61416,
41
21
  data_variant_rule_id: ruleId,
42
22
  data,
43
- created_at: (overrides == null ? void 0 : overrides.created_at) ?? null,
44
- updated_at: (overrides == null ? void 0 : overrides.updated_at) ?? null,
45
- deleted_at: (overrides == null ? void 0 : overrides.deleted_at) ?? null
23
+ created_at: overrides?.created_at ?? null,
24
+ updated_at: overrides?.updated_at ?? null,
25
+ deleted_at: overrides?.deleted_at ?? null
46
26
  };
47
27
  }
48
- var EVENING_MENU_PRICE_STRATEGY = {
28
+
29
+ /**
30
+ * 晚场餐牌价:命中日程 + 餐牌商品范围后覆盖 price / stock。
31
+ */
32
+ const EVENING_MENU_PRICE_STRATEGY = exports.EVENING_MENU_PRICE_STRATEGY = {
49
33
  metadata: {
50
- id: "1",
51
- type: "data_variant",
34
+ id: '1',
35
+ type: 'data_variant',
52
36
  name: {
53
- "zh-CN": "晚场餐牌价",
54
- en: "Evening menu price"
37
+ 'zh-CN': '晚场餐牌价',
38
+ en: 'Evening menu price'
55
39
  },
56
40
  custom: {
57
- module: "product",
41
+ module: 'product',
58
42
  priority: 100,
59
- status: "active",
60
- updated_at: "2026-06-26 12:00:00"
43
+ status: 'active',
44
+ updated_at: '2026-06-26 12:00:00'
61
45
  }
62
46
  },
63
47
  conditions: {
64
- operator: "and",
65
- rules: [
66
- {
67
- type: "operator",
68
- field: "schedule",
69
- operator: "schedule_match",
70
- value: [1042]
71
- },
72
- {
73
- type: "operator",
74
- field: "product",
75
- operator: "menu_match",
76
- value: [43209]
77
- }
78
- ],
79
- actionIds: ["apply_data_variant"]
48
+ operator: 'and',
49
+ rules: [{
50
+ type: 'operator',
51
+ field: 'schedule',
52
+ operator: 'schedule_match',
53
+ value: [1042]
54
+ }, {
55
+ type: 'operator',
56
+ field: 'product',
57
+ operator: 'menu_match',
58
+ value: [43209]
59
+ }],
60
+ actionIds: ['apply_data_variant']
80
61
  },
81
- actions: [
82
- {
83
- id: "apply_data_variant",
84
- type: import_type.DATA_VARIANT_ACTION_TYPES.APPLY,
85
- target: "product",
86
- value: null,
87
- priority: 100
88
- }
89
- ]
62
+ actions: [{
63
+ id: 'apply_data_variant',
64
+ type: _type.DATA_VARIANT_ACTION_TYPES.APPLY,
65
+ target: 'product',
66
+ value: null,
67
+ priority: 100
68
+ }]
90
69
  };
91
- var VIP_PRODUCT_PRICE_STRATEGY = {
70
+
71
+ /**
72
+ * VIP 商品价:演示 product_match 与更高优先级字段覆盖。
73
+ */
74
+ const VIP_PRODUCT_PRICE_STRATEGY = exports.VIP_PRODUCT_PRICE_STRATEGY = {
92
75
  metadata: {
93
- id: "2",
94
- type: "data_variant",
76
+ id: '2',
77
+ type: 'data_variant',
95
78
  name: {
96
- "zh-CN": "VIP 商品价",
97
- en: "VIP product price"
79
+ 'zh-CN': 'VIP 商品价',
80
+ en: 'VIP product price'
98
81
  },
99
82
  custom: {
100
- module: "product",
83
+ module: 'product',
101
84
  priority: 200,
102
- status: "active",
103
- updated_at: "2026-06-26 13:00:00"
85
+ status: 'active',
86
+ updated_at: '2026-06-26 13:00:00'
104
87
  }
105
88
  },
106
89
  conditions: {
107
- operator: "and",
108
- rules: [
109
- {
110
- type: "operator",
111
- field: "productIdAndVariantId",
112
- operator: "product_match",
113
- value: [{ product_id: 2001, product_variant_id: 0 }]
114
- }
115
- ],
116
- actionIds: ["apply_data_variant"]
90
+ operator: 'and',
91
+ rules: [{
92
+ type: 'operator',
93
+ field: 'productIdAndVariantId',
94
+ operator: 'product_match',
95
+ value: [{
96
+ product_id: 2001,
97
+ product_variant_id: 0
98
+ }]
99
+ }],
100
+ actionIds: ['apply_data_variant']
117
101
  },
118
- actions: [
119
- {
120
- id: "apply_data_variant",
121
- type: import_type.DATA_VARIANT_ACTION_TYPES.APPLY,
122
- target: "product",
123
- value: null,
124
- priority: 200
125
- }
126
- ]
102
+ actions: [{
103
+ id: 'apply_data_variant',
104
+ type: _type.DATA_VARIANT_ACTION_TYPES.APPLY,
105
+ target: 'product',
106
+ value: null,
107
+ priority: 200
108
+ }]
127
109
  };
128
- var CUSTOMER_SCOPE_PRICE_STRATEGY = {
110
+
111
+ /**
112
+ * 客户/渠道/业务范围价:演示 customer_id、channel、business_code 的 in 条件。
113
+ */
114
+ const CUSTOMER_SCOPE_PRICE_STRATEGY = exports.CUSTOMER_SCOPE_PRICE_STRATEGY = {
129
115
  metadata: {
130
- id: "3",
131
- type: "data_variant",
116
+ id: '3',
117
+ type: 'data_variant',
132
118
  name: {
133
- "zh-CN": "指定客户渠道业务价",
134
- en: "Scoped customer channel business price"
119
+ 'zh-CN': '指定客户渠道业务价',
120
+ en: 'Scoped customer channel business price'
135
121
  },
136
122
  custom: {
137
- module: "product",
123
+ module: 'product',
138
124
  priority: 150,
139
- status: "active",
140
- updated_at: "2026-06-26 14:00:00"
125
+ status: 'active',
126
+ updated_at: '2026-06-26 14:00:00'
141
127
  }
142
128
  },
143
129
  conditions: {
144
- operator: "and",
145
- rules: [
146
- {
147
- type: "operator",
148
- field: "customer_id",
149
- operator: "in",
150
- value: [333, 444]
151
- },
152
- {
153
- type: "operator",
154
- field: "channel",
155
- operator: "in",
156
- value: ["pos", "online"]
157
- },
158
- {
159
- type: "operator",
160
- field: "business_code",
161
- operator: "in",
162
- value: ["venue", "retail"]
163
- }
164
- ],
165
- actionIds: ["apply_data_variant"]
130
+ operator: 'and',
131
+ rules: [{
132
+ type: 'operator',
133
+ field: 'customer_id',
134
+ operator: 'in',
135
+ value: [333, 444]
136
+ }, {
137
+ type: 'operator',
138
+ field: 'channel',
139
+ operator: 'in',
140
+ value: ['pos', 'online']
141
+ }, {
142
+ type: 'operator',
143
+ field: 'business_code',
144
+ operator: 'in',
145
+ value: ['venue', 'retail']
146
+ }],
147
+ actionIds: ['apply_data_variant']
166
148
  },
167
- actions: [
168
- {
169
- id: "apply_data_variant",
170
- type: import_type.DATA_VARIANT_ACTION_TYPES.APPLY,
171
- target: "product",
172
- value: null,
173
- priority: 150
174
- }
175
- ]
149
+ actions: [{
150
+ id: 'apply_data_variant',
151
+ type: _type.DATA_VARIANT_ACTION_TYPES.APPLY,
152
+ target: 'product',
153
+ value: null,
154
+ priority: 150
155
+ }]
176
156
  };
177
- var DATA_VARIANT_EXAMPLE_SCHEDULES = [
178
- {
179
- id: 1042,
180
- name: "晚场 17~20",
181
- color: "#1890ff",
182
- start_time: "2026-06-26 17:00:00",
183
- end_time: "2026-06-26 20:00:00",
184
- repeat_type: "none",
185
- repeat_rule: {
186
- end: { type: "never", end_date: null, occurrence: null },
187
- frequency: 1,
188
- excluded_date: [],
189
- included_date: [],
190
- frequency_date: []
157
+
158
+ /**
159
+ * 示例日程:2026-06-26 17:00 ~ 20:00 生效。
160
+ */
161
+ const DATA_VARIANT_EXAMPLE_SCHEDULES = exports.DATA_VARIANT_EXAMPLE_SCHEDULES = [{
162
+ id: 1042,
163
+ name: '晚场 17~20',
164
+ color: '#1890ff',
165
+ start_time: '2026-06-26 17:00:00',
166
+ end_time: '2026-06-26 20:00:00',
167
+ repeat_type: 'none',
168
+ repeat_rule: {
169
+ end: {
170
+ type: 'never',
171
+ end_date: null,
172
+ occurrence: null
191
173
  },
192
- type: "standard",
193
- time_slot: [],
194
- designation: [],
195
- is_all: 0,
196
- created_at: "2026-06-26 00:00:00",
197
- updated_at: "2026-06-26 00:00:00",
198
- order_count: 0,
199
- relation_count: 0
200
- }
201
- ];
202
- var DATA_VARIANT_EXAMPLE_MENUS = [
203
- {
204
- form_record_id: 43209,
205
- name: "kiosk餐牌1 17~20",
206
- status: "valid",
207
- schedule: [1042],
208
- partyroom_package: {
209
- type: "product_collection",
210
- products: [
211
- {
212
- product_collection_id: 128,
213
- product_id: 0,
214
- product_variant_id: 0
215
- }
216
- ]
217
- }
218
- }
219
- ];
220
- var DATA_VARIANT_EXAMPLE_PRODUCTS = [
221
- {
222
- id: 2001,
223
- title: "入场票",
224
- price: 100,
225
- stock: 50,
226
- collection: [{ id: 128, title: "Tickets" }],
227
- data_variants: [
228
- createExampleDataVariant(1, { price: 80, stock: 20 }, {
229
- id: 1,
230
- module_data_id: 2001
231
- }),
232
- createExampleDataVariant(2, { price: 70, title: "VIP专属票" }, {
233
- id: 2,
234
- module_data_id: 2001
235
- }),
236
- createExampleDataVariant(3, { price: 65, title: "VIP渠道价" }, {
237
- id: 4,
238
- module_data_id: 2001
239
- })
240
- ]
174
+ frequency: 1,
175
+ excluded_date: [],
176
+ included_date: [],
177
+ frequency_date: []
241
178
  },
242
- {
243
- id: 2002,
244
- title: "普通票",
245
- price: 100,
246
- stock: 50,
247
- collection: [{ id: 999, title: "Other" }],
248
- data_variants: [
249
- createExampleDataVariant(1, { price: 80, stock: 20 }, {
250
- id: 3,
251
- module_data_id: 2002
252
- })
253
- ]
179
+ type: 'standard',
180
+ time_slot: [],
181
+ designation: [],
182
+ is_all: 0,
183
+ created_at: '2026-06-26 00:00:00',
184
+ updated_at: '2026-06-26 00:00:00',
185
+ order_count: 0,
186
+ relation_count: 0
187
+ }];
188
+
189
+ /**
190
+ * 示例餐牌:product_collection = 128 的商品均属于餐牌。
191
+ */
192
+ const DATA_VARIANT_EXAMPLE_MENUS = exports.DATA_VARIANT_EXAMPLE_MENUS = [{
193
+ form_record_id: 43209,
194
+ name: 'kiosk餐牌1 17~20',
195
+ status: 'valid',
196
+ schedule: [1042],
197
+ partyroom_package: {
198
+ type: 'product_collection',
199
+ products: [{
200
+ product_collection_id: 128,
201
+ product_id: 0,
202
+ product_variant_id: 0
203
+ }]
254
204
  }
255
- ];
205
+ }];
206
+
207
+ /**
208
+ * 示例商品:同时带两条 Data Variant 覆盖数据。
209
+ */
210
+ const DATA_VARIANT_EXAMPLE_PRODUCTS = exports.DATA_VARIANT_EXAMPLE_PRODUCTS = [{
211
+ id: 2001,
212
+ title: '入场票',
213
+ price: 100,
214
+ stock: 50,
215
+ collection: [{
216
+ id: 128,
217
+ title: 'Tickets'
218
+ }],
219
+ data_variants: [createExampleDataVariant(1, {
220
+ price: 80,
221
+ stock: 20
222
+ }, {
223
+ id: 1,
224
+ module_data_id: 2001
225
+ }), createExampleDataVariant(2, {
226
+ price: 70,
227
+ title: 'VIP专属票'
228
+ }, {
229
+ id: 2,
230
+ module_data_id: 2001
231
+ }), createExampleDataVariant(3, {
232
+ price: 65,
233
+ title: 'VIP渠道价'
234
+ }, {
235
+ id: 4,
236
+ module_data_id: 2001
237
+ })]
238
+ }, {
239
+ id: 2002,
240
+ title: '普通票',
241
+ price: 100,
242
+ stock: 50,
243
+ collection: [{
244
+ id: 999,
245
+ title: 'Other'
246
+ }],
247
+ data_variants: [createExampleDataVariant(1, {
248
+ price: 80,
249
+ stock: 20
250
+ }, {
251
+ id: 3,
252
+ module_data_id: 2002
253
+ })]
254
+ }];
255
+
256
+ /**
257
+ * Data Variant 评估器示例调用。
258
+ */
256
259
  function runDataVariantDemo() {
257
- const evaluator = new import_evaluator.DataVariantEvaluator();
258
- evaluator.setStrategyConfigs([
259
- EVENING_MENU_PRICE_STRATEGY,
260
- VIP_PRODUCT_PRICE_STRATEGY
261
- ]);
260
+ const evaluator = new _evaluator.DataVariantEvaluator();
261
+ evaluator.setStrategyConfigs([EVENING_MENU_PRICE_STRATEGY, VIP_PRODUCT_PRICE_STRATEGY]);
262
262
  const businessData = {
263
263
  products: DATA_VARIANT_EXAMPLE_PRODUCTS,
264
- scheduleDateTime: "2026-06-26 18:00:00",
264
+ scheduleDateTime: '2026-06-26 18:00:00',
265
265
  scheduleList: DATA_VARIANT_EXAMPLE_SCHEDULES,
266
266
  menuList: DATA_VARIANT_EXAMPLE_MENUS,
267
- orderType: "booking"
267
+ orderType: 'booking'
268
268
  };
269
269
  return evaluator.resolveProducts(businessData);
270
270
  }
271
+
272
+ /**
273
+ * 客户/渠道/业务范围条件示例调用。
274
+ */
271
275
  function runCustomerScopeDataVariantDemo() {
272
- const evaluator = new import_evaluator.DataVariantEvaluator();
276
+ const evaluator = new _evaluator.DataVariantEvaluator();
273
277
  evaluator.setStrategyConfigs([CUSTOMER_SCOPE_PRICE_STRATEGY]);
274
278
  const businessData = {
275
279
  products: [DATA_VARIANT_EXAMPLE_PRODUCTS[0]],
276
280
  customerId: 333,
277
- channel: "pos",
278
- businessCode: "venue"
281
+ channel: 'pos',
282
+ businessCode: 'venue'
279
283
  };
280
284
  return evaluator.resolveProducts(businessData);
281
- }
282
- // Annotate the CommonJS export names for ESM import in node:
283
- 0 && (module.exports = {
284
- CUSTOMER_SCOPE_PRICE_STRATEGY,
285
- DATA_VARIANT_EXAMPLE_MENUS,
286
- DATA_VARIANT_EXAMPLE_PRODUCTS,
287
- DATA_VARIANT_EXAMPLE_SCHEDULES,
288
- EVENING_MENU_PRICE_STRATEGY,
289
- VIP_PRODUCT_PRICE_STRATEGY,
290
- createExampleDataVariant,
291
- runCustomerScopeDataVariantDemo,
292
- runDataVariantDemo
293
- });
285
+ }
@@ -1,38 +1,43 @@
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 });
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ DataVariantAdapter: true,
8
+ DataVariantEvaluator: true,
9
+ runDataVariantDemo: true
8
10
  };
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 });
11
+ Object.defineProperty(exports, "DataVariantAdapter", {
12
+ enumerable: true,
13
+ get: function () {
14
+ return _adapter.DataVariantAdapter;
14
15
  }
15
- return to;
16
- };
17
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/model/strategy/adapter/dataVariant/index.ts
21
- var dataVariant_exports = {};
22
- __export(dataVariant_exports, {
23
- DataVariantAdapter: () => import_adapter.DataVariantAdapter,
24
- DataVariantEvaluator: () => import_evaluator.DataVariantEvaluator,
25
- runDataVariantDemo: () => import_examples.runDataVariantDemo
26
16
  });
27
- module.exports = __toCommonJS(dataVariant_exports);
28
- var import_adapter = require("./adapter");
29
- var import_evaluator = require("./evaluator");
30
- var import_examples = require("./examples");
31
- __reExport(dataVariant_exports, require("./type"), module.exports);
32
- // Annotate the CommonJS export names for ESM import in node:
33
- 0 && (module.exports = {
34
- DataVariantAdapter,
35
- DataVariantEvaluator,
36
- runDataVariantDemo,
37
- ...require("./type")
17
+ Object.defineProperty(exports, "DataVariantEvaluator", {
18
+ enumerable: true,
19
+ get: function () {
20
+ return _evaluator.DataVariantEvaluator;
21
+ }
22
+ });
23
+ Object.defineProperty(exports, "runDataVariantDemo", {
24
+ enumerable: true,
25
+ get: function () {
26
+ return _examples.runDataVariantDemo;
27
+ }
38
28
  });
29
+ var _adapter = require("./adapter");
30
+ var _evaluator = require("./evaluator");
31
+ var _examples = require("./examples");
32
+ var _type = require("./type");
33
+ Object.keys(_type).forEach(function (key) {
34
+ if (key === "default" || key === "__esModule") return;
35
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
36
+ if (key in exports && exports[key] === _type[key]) return;
37
+ Object.defineProperty(exports, key, {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _type[key];
41
+ }
42
+ });
43
+ });