@pisell/pisellos 2.3.24 → 2.3.25

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 (69) hide show
  1. package/dist/model/strategy/adapter/index.d.ts +0 -4
  2. package/dist/model/strategy/adapter/index.js +1 -5
  3. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  4. package/dist/modules/Discount/index.d.ts +2 -5
  5. package/dist/modules/Discount/index.js +7 -30
  6. package/dist/modules/Discount/types.d.ts +0 -4
  7. package/dist/modules/Order/index.d.ts +1 -1
  8. package/dist/modules/Order/index.js +616 -568
  9. package/dist/modules/Order/types.d.ts +0 -2
  10. package/dist/modules/Product/types.d.ts +0 -22
  11. package/dist/modules/ProductList/index.d.ts +1 -1
  12. package/dist/modules/ProductList/index.js +2 -4
  13. package/dist/modules/ProductList/types.d.ts +0 -2
  14. package/dist/server/index.d.ts +0 -50
  15. package/dist/server/index.js +749 -995
  16. package/dist/server/modules/products/index.d.ts +7 -26
  17. package/dist/server/modules/products/index.js +76 -167
  18. package/dist/server/modules/products/types.d.ts +0 -14
  19. package/dist/solution/BaseSales/index.d.ts +0 -2
  20. package/dist/solution/BaseSales/index.js +50 -36
  21. package/dist/solution/BookingByStep/index.d.ts +1 -1
  22. package/dist/solution/BookingTicket/index.js +21 -5
  23. package/dist/solution/BookingTicket/types.d.ts +0 -2
  24. package/dist/solution/ShopDiscount/index.js +14 -15
  25. package/lib/model/strategy/adapter/index.d.ts +0 -4
  26. package/lib/model/strategy/adapter/index.js +2 -13
  27. package/lib/model/strategy/adapter/promotion/index.js +49 -0
  28. package/lib/modules/Discount/index.d.ts +2 -5
  29. package/lib/modules/Discount/index.js +3 -23
  30. package/lib/modules/Discount/types.d.ts +0 -4
  31. package/lib/modules/Order/index.d.ts +1 -1
  32. package/lib/modules/Order/index.js +36 -20
  33. package/lib/modules/Order/types.d.ts +0 -2
  34. package/lib/modules/Product/types.d.ts +0 -22
  35. package/lib/modules/ProductList/index.d.ts +1 -1
  36. package/lib/modules/ProductList/index.js +2 -4
  37. package/lib/modules/ProductList/types.d.ts +0 -2
  38. package/lib/server/index.d.ts +0 -50
  39. package/lib/server/index.js +29 -206
  40. package/lib/server/modules/products/index.d.ts +7 -26
  41. package/lib/server/modules/products/index.js +35 -114
  42. package/lib/server/modules/products/types.d.ts +0 -14
  43. package/lib/solution/BaseSales/index.d.ts +0 -2
  44. package/lib/solution/BaseSales/index.js +22 -12
  45. package/lib/solution/BookingByStep/index.d.ts +1 -1
  46. package/lib/solution/BookingTicket/index.js +18 -1
  47. package/lib/solution/BookingTicket/types.d.ts +0 -2
  48. package/lib/solution/ShopDiscount/index.js +1 -2
  49. package/package.json +1 -1
  50. package/dist/model/strategy/adapter/dataVariant/adapter.d.ts +0 -50
  51. package/dist/model/strategy/adapter/dataVariant/adapter.js +0 -167
  52. package/dist/model/strategy/adapter/dataVariant/evaluator.d.ts +0 -89
  53. package/dist/model/strategy/adapter/dataVariant/evaluator.js +0 -780
  54. package/dist/model/strategy/adapter/dataVariant/examples.d.ts +0 -39
  55. package/dist/model/strategy/adapter/dataVariant/examples.js +0 -277
  56. package/dist/model/strategy/adapter/dataVariant/index.d.ts +0 -4
  57. package/dist/model/strategy/adapter/dataVariant/index.js +0 -4
  58. package/dist/model/strategy/adapter/dataVariant/type.d.ts +0 -148
  59. package/dist/model/strategy/adapter/dataVariant/type.js +0 -54
  60. package/lib/model/strategy/adapter/dataVariant/adapter.d.ts +0 -50
  61. package/lib/model/strategy/adapter/dataVariant/adapter.js +0 -149
  62. package/lib/model/strategy/adapter/dataVariant/evaluator.d.ts +0 -89
  63. package/lib/model/strategy/adapter/dataVariant/evaluator.js +0 -583
  64. package/lib/model/strategy/adapter/dataVariant/examples.d.ts +0 -39
  65. package/lib/model/strategy/adapter/dataVariant/examples.js +0 -293
  66. package/lib/model/strategy/adapter/dataVariant/index.d.ts +0 -4
  67. package/lib/model/strategy/adapter/dataVariant/index.js +0 -38
  68. package/lib/model/strategy/adapter/dataVariant/type.d.ts +0 -148
  69. package/lib/model/strategy/adapter/dataVariant/type.js +0 -31
@@ -1694,8 +1694,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
1694
1694
  }
1695
1695
  return _context17.abrupt("return", {
1696
1696
  productList: tempOrder.products || [],
1697
- discountList: currentDiscountList,
1698
- availableWalletIds: this.getAvailableWalletIds()
1697
+ discountList: currentDiscountList
1699
1698
  });
1700
1699
  case 27:
1701
1700
  nextDiscountList = this.mergeHistoricalDiscountList(preparedDiscountList || (discountModule === null || discountModule === void 0 || (_discountModule$getDi2 = discountModule.getDiscountList) === null || _discountModule$getDi2 === void 0 ? void 0 : _discountModule$getDi2.call(discountModule)) || [], tempOrder.products || []);
@@ -1730,8 +1729,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
1730
1729
  case 39:
1731
1730
  return _context17.abrupt("return", {
1732
1731
  productList: tempOrder.products || [],
1733
- discountList: nextDiscountList,
1734
- availableWalletIds: this.getAvailableWalletIds()
1732
+ discountList: nextDiscountList
1735
1733
  });
1736
1734
  case 40:
1737
1735
  if (!rulesModule) {
@@ -1832,8 +1830,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
1832
1830
  case 83:
1833
1831
  return _context17.abrupt("return", {
1834
1832
  productList: tempOrder.products || [],
1835
- discountList: nextDiscountList,
1836
- availableWalletIds: this.getAvailableWalletIds()
1833
+ discountList: nextDiscountList
1837
1834
  });
1838
1835
  case 84:
1839
1836
  case "end":
@@ -1846,13 +1843,6 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
1846
1843
  }
1847
1844
  return loadDiscountConfig;
1848
1845
  }()
1849
- }, {
1850
- key: "getAvailableWalletIds",
1851
- value: function getAvailableWalletIds() {
1852
- var _this$store$order4;
1853
- if (!((_this$store$order4 = this.store.order) !== null && _this$store$order4 !== void 0 && _this$store$order4.getAvailableWalletIds)) return [];
1854
- return this.store.order.getAvailableWalletIds();
1855
- }
1856
1846
  }, {
1857
1847
  key: "bestDiscount",
1858
1848
  value: function () {
@@ -1923,9 +1913,17 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
1923
1913
  });
1924
1914
  case 26:
1925
1915
  this.store.order.persistTempOrder();
1916
+ _context18.next = 29;
1917
+ return this.effectsEmit('onDiscountApplied', {
1918
+ productList: tempOrder.products || [],
1919
+ discountList: nextDiscountList,
1920
+ selectedDiscountList: tempOrder.discount_list || [],
1921
+ tempOrder: tempOrder
1922
+ });
1923
+ case 29:
1926
1924
  cb === null || cb === void 0 || cb(result);
1927
1925
  return _context18.abrupt("return", result);
1928
- case 29:
1926
+ case 31:
1929
1927
  case "end":
1930
1928
  return _context18.stop();
1931
1929
  }
@@ -2003,7 +2001,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
2003
2001
  key: "scanPromotionCode",
2004
2002
  value: function () {
2005
2003
  var _scanPromotionCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20(code, customerId) {
2006
- var raw;
2004
+ var raw, tempOrder;
2007
2005
  return _regeneratorRuntime().wrap(function _callee20$(_context20) {
2008
2006
  while (1) switch (_context20.prev = _context20.next) {
2009
2007
  case 0:
@@ -2019,7 +2017,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
2019
2017
  case 5:
2020
2018
  raw = _context20.sent;
2021
2019
  if (!raw.isAvailable) {
2022
- _context20.next = 10;
2020
+ _context20.next = 13;
2023
2021
  break;
2024
2022
  }
2025
2023
  _context20.next = 9;
@@ -2028,22 +2026,30 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
2028
2026
  });
2029
2027
  case 9:
2030
2028
  this.store.order.persistTempOrder();
2031
- case 10:
2029
+ tempOrder = this.store.order.ensureTempOrder();
2030
+ _context20.next = 13;
2031
+ return this.effectsEmit('onDiscountApplied', {
2032
+ productList: tempOrder.products || [],
2033
+ discountList: this.store.order.getDiscountList(),
2034
+ selectedDiscountList: tempOrder.discount_list || [],
2035
+ tempOrder: tempOrder
2036
+ });
2037
+ case 13:
2032
2038
  return _context20.abrupt("return", {
2033
2039
  isAvailable: raw.isAvailable,
2034
2040
  type: raw.type,
2035
2041
  unavailableReason: raw.unavailableReason,
2036
2042
  scannedDiscountList: raw.scannedDiscountList
2037
2043
  });
2038
- case 13:
2039
- _context20.prev = 13;
2044
+ case 16:
2045
+ _context20.prev = 16;
2040
2046
  _context20.t0 = _context20["catch"](0);
2041
2047
  throw _context20.t0;
2042
- case 16:
2048
+ case 19:
2043
2049
  case "end":
2044
2050
  return _context20.stop();
2045
2051
  }
2046
- }, _callee20, this, [[0, 13]]);
2052
+ }, _callee20, this, [[0, 16]]);
2047
2053
  }));
2048
2054
  function scanPromotionCode(_x14, _x15) {
2049
2055
  return _scanPromotionCode.apply(this, arguments);
@@ -2286,17 +2292,25 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
2286
2292
  });
2287
2293
  case 16:
2288
2294
  this.store.order.persistTempOrder();
2289
- _context22.next = 22;
2290
- break;
2295
+ _context22.next = 19;
2296
+ return this.effectsEmit('onDiscountApplied', {
2297
+ productList: tempOrder.products || [],
2298
+ discountList: result.discountList || [],
2299
+ selectedDiscountList: tempOrder.discount_list || [],
2300
+ tempOrder: tempOrder
2301
+ });
2291
2302
  case 19:
2292
- _context22.prev = 19;
2303
+ _context22.next = 24;
2304
+ break;
2305
+ case 21:
2306
+ _context22.prev = 21;
2293
2307
  _context22.t0 = _context22["catch"](0);
2294
2308
  throw _context22.t0;
2295
- case 22:
2309
+ case 24:
2296
2310
  case "end":
2297
2311
  return _context22.stop();
2298
2312
  }
2299
- }, _callee22, this, [[0, 19]]);
2313
+ }, _callee22, this, [[0, 21]]);
2300
2314
  }));
2301
2315
  function applyDiscountCalculationResult(_x17) {
2302
2316
  return _applyDiscountCalculationResult.apply(this, arguments);
@@ -2425,7 +2439,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
2425
2439
  value: function () {
2426
2440
  var _printLocalOrderReceipt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26(lookup) {
2427
2441
  var _this$otherParams14, _this$otherParams15, _this$otherParams16, _this$otherParams17;
2428
- var hasLookup, lookupPayload, context, payload, response, _this$store$order$app, _this$store$order5, _data;
2442
+ var hasLookup, lookupPayload, context, payload, response, _this$store$order$app, _this$store$order4, _data;
2429
2443
  return _regeneratorRuntime().wrap(function _callee26$(_context26) {
2430
2444
  while (1) switch (_context26.prev = _context26.next) {
2431
2445
  case 0:
@@ -2473,7 +2487,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
2473
2487
  break;
2474
2488
  }
2475
2489
  _context26.next = 12;
2476
- return (_this$store$order$app = (_this$store$order5 = this.store.order).applyLocalPrintOrderNumbers) === null || _this$store$order$app === void 0 ? void 0 : _this$store$order$app.call(_this$store$order5, response === null || response === void 0 || (_data = response.data) === null || _data === void 0 ? void 0 : _data.order);
2490
+ return (_this$store$order$app = (_this$store$order4 = this.store.order).applyLocalPrintOrderNumbers) === null || _this$store$order$app === void 0 ? void 0 : _this$store$order$app.call(_this$store$order4, response === null || response === void 0 || (_data = response.data) === null || _data === void 0 ? void 0 : _data.order);
2477
2491
  case 12:
2478
2492
  return _context26.abrupt("return", response);
2479
2493
  case 13:
@@ -2490,9 +2504,9 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
2490
2504
  }, {
2491
2505
  key: "getSubmitPaymentStatus",
2492
2506
  value: function getSubmitPaymentStatus(paymentStatus) {
2493
- var _this$store$order6, _this$store$order6$ge;
2507
+ var _this$store$order5, _this$store$order5$ge;
2494
2508
  if (paymentStatus !== undefined) return paymentStatus;
2495
- var amountSnapshot = (_this$store$order6 = this.store.order) === null || _this$store$order6 === void 0 || (_this$store$order6$ge = _this$store$order6.getOrderAmountSnapshot) === null || _this$store$order6$ge === void 0 ? void 0 : _this$store$order6$ge.call(_this$store$order6);
2509
+ var amountSnapshot = (_this$store$order5 = this.store.order) === null || _this$store$order5 === void 0 || (_this$store$order5$ge = _this$store$order5.getOrderAmountSnapshot) === null || _this$store$order5$ge === void 0 ? void 0 : _this$store$order5$ge.call(_this$store$order5);
2496
2510
  if (!amountSnapshot) return undefined;
2497
2511
  try {
2498
2512
  return new Decimal(amountSnapshot.amountGap || 0).lte(0) ? 'paid' : undefined;
@@ -2816,8 +2830,8 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
2816
2830
  }, {
2817
2831
  key: "getWalletProductList",
2818
2832
  value: function getWalletProductList() {
2819
- var _this$store$order7, _tempOrder$products;
2820
- var tempOrder = (_this$store$order7 = this.store.order) === null || _this$store$order7 === void 0 ? void 0 : _this$store$order7.getTempOrder();
2833
+ var _this$store$order6, _tempOrder$products;
2834
+ var tempOrder = (_this$store$order6 = this.store.order) === null || _this$store$order6 === void 0 ? void 0 : _this$store$order6.getTempOrder();
2821
2835
  if (!(tempOrder !== null && tempOrder !== void 0 && (_tempOrder$products = tempOrder.products) !== null && _tempOrder$products !== void 0 && _tempOrder$products.length)) return [];
2822
2836
  // 过滤出有 product_id的商品来,如果没有代表他是自定义商品,不需要参与 wallet
2823
2837
  // debugger
@@ -3634,16 +3648,16 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
3634
3648
  }, {
3635
3649
  key: "getUnfulfilledPromotions",
3636
3650
  value: function getUnfulfilledPromotions() {
3637
- var _this$store$order8;
3638
- return ((_this$store$order8 = this.store.order) === null || _this$store$order8 === void 0 ? void 0 : _this$store$order8.getUnfulfilledPromotions()) || [];
3651
+ var _this$store$order7;
3652
+ return ((_this$store$order7 = this.store.order) === null || _this$store$order7 === void 0 ? void 0 : _this$store$order7.getUnfulfilledPromotions()) || [];
3639
3653
  }
3640
3654
 
3641
3655
  /** 最近一次促销计算输出的赠品操作 diff。 */
3642
3656
  }, {
3643
3657
  key: "getLastGiftActions",
3644
3658
  value: function getLastGiftActions() {
3645
- var _this$store$order9;
3646
- return ((_this$store$order9 = this.store.order) === null || _this$store$order9 === void 0 ? void 0 : _this$store$order9.getLastGiftActions()) || null;
3659
+ var _this$store$order8;
3660
+ return ((_this$store$order8 = this.store.order) === null || _this$store$order8 === void 0 ? void 0 : _this$store$order8.getLastGiftActions()) || null;
3647
3661
  }
3648
3662
 
3649
3663
  // 获取商品列表
@@ -311,7 +311,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
311
311
  date: string;
312
312
  status: string;
313
313
  week: string;
314
- weekNum: 0 | 1 | 2 | 6 | 3 | 4 | 5;
314
+ weekNum: 0 | 1 | 5 | 3 | 2 | 4 | 6;
315
315
  }[]>;
316
316
  submitTimeSlot(timeSlots: TimeSliceItem): void;
317
317
  private getScheduleDataByIds;
@@ -549,7 +549,7 @@ export var BookingTicketImpl = /*#__PURE__*/function (_BaseSalesImpl) {
549
549
  key: "scanPromotionCode",
550
550
  value: function () {
551
551
  var _scanPromotionCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(code, customerId) {
552
- var raw, scannedList, extractedCustomerId, hasOrderCustomer;
552
+ var raw, scannedList, extractedCustomerId, hasOrderCustomer, tempOrder;
553
553
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
554
554
  while (1) switch (_context7.prev = _context7.next) {
555
555
  case 0:
@@ -574,7 +574,7 @@ export var BookingTicketImpl = /*#__PURE__*/function (_BaseSalesImpl) {
574
574
  return this.hydrateOrderCustomerFromScanDiscounts(scannedList);
575
575
  case 11:
576
576
  if (!raw.isAvailable) {
577
- _context7.next = 15;
577
+ _context7.next = 18;
578
578
  break;
579
579
  }
580
580
  _context7.next = 14;
@@ -583,14 +583,22 @@ export var BookingTicketImpl = /*#__PURE__*/function (_BaseSalesImpl) {
583
583
  });
584
584
  case 14:
585
585
  this.store.order.persistTempOrder();
586
- case 15:
586
+ tempOrder = this.store.order.ensureTempOrder();
587
+ _context7.next = 18;
588
+ return this.effectsEmit('onDiscountApplied', {
589
+ productList: tempOrder.products || [],
590
+ discountList: this.store.order.getDiscountList(),
591
+ selectedDiscountList: tempOrder.discount_list || [],
592
+ tempOrder: tempOrder
593
+ });
594
+ case 18:
587
595
  return _context7.abrupt("return", {
588
596
  isAvailable: raw.isAvailable,
589
597
  type: raw.type,
590
598
  unavailableReason: raw.unavailableReason,
591
599
  scannedDiscountList: raw.scannedDiscountList
592
600
  });
593
- case 16:
601
+ case 19:
594
602
  case "end":
595
603
  return _context7.stop();
596
604
  }
@@ -1519,7 +1527,15 @@ export var BookingTicketImpl = /*#__PURE__*/function (_BaseSalesImpl) {
1519
1527
  void this.store.order.recalculateSummary({
1520
1528
  createIfMissing: true
1521
1529
  }).then(function () {
1522
- return _this3.store.order.persistTempOrder();
1530
+ var _discountModule$getDi;
1531
+ var tempOrder = _this3.store.order.ensureTempOrder();
1532
+ _this3.store.order.persistTempOrder();
1533
+ return _this3.effectsEmit('onDiscountApplied', {
1534
+ productList: tempOrder.products || [],
1535
+ discountList: (discountModule === null || discountModule === void 0 || (_discountModule$getDi = discountModule.getDiscountList) === null || _discountModule$getDi === void 0 ? void 0 : _discountModule$getDi.call(discountModule)) || [],
1536
+ selectedDiscountList: tempOrder.discount_list || [],
1537
+ tempOrder: tempOrder
1538
+ });
1523
1539
  }).catch(function (error) {
1524
1540
  console.error('Failed to recalculate summary after clearing customer:', error);
1525
1541
  });
@@ -83,8 +83,6 @@ export interface ILoadProductsParams {
83
83
  extension_type?: string[];
84
84
  /** 商品发布状态 */
85
85
  status?: string;
86
- /** 智能定价条件上下文,仅影响策略命中,不参与商品集合筛选 */
87
- strategy_context?: Record<string, any>;
88
86
  }
89
87
  /**
90
88
  * 加载商品详情的参数
@@ -756,7 +756,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
756
756
  key: "loadPrepareConfig",
757
757
  value: function () {
758
758
  var _loadPrepareConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(params) {
759
- var _this$getCustomer2, _this$store$discount7, _this$getDiscountList, _this$store$discount8, _this$store$productLi2, orderId, customerId, prepareConfigResult, goodPassList, scanDiscount, scanDiscountIds, newGoodPassList, newDiscountList, filteredDiscountList, _result3;
759
+ var _this$getCustomer2, _this$store$discount7, _this$getDiscountList, _this$store$discount8, _this$store$productLi2, orderId, customerId, goodPassList, scanDiscount, scanDiscountIds, newGoodPassList, newDiscountList, filteredDiscountList, _result3;
760
760
  return _regeneratorRuntime().wrap(function _callee9$(_context9) {
761
761
  while (1) switch (_context9.prev = _context9.next) {
762
762
  case 0:
@@ -777,8 +777,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
777
777
  order_id: orderId
778
778
  } : {}));
779
779
  case 5:
780
- prepareConfigResult = _context9.sent;
781
- goodPassList = (prepareConfigResult === null || prepareConfigResult === void 0 ? void 0 : prepareConfigResult.discountList) || [];
780
+ goodPassList = _context9.sent;
782
781
  scanDiscount = (_this$getDiscountList = this.getDiscountList()) === null || _this$getDiscountList === void 0 ? void 0 : _this$getDiscountList.filter(function (item) {
783
782
  return item.isScan;
784
783
  }); // goodPassList 里可能有 scanDiscount 重合的部分,goodPassList 需要剔除
@@ -790,35 +789,35 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
790
789
  });
791
790
  newDiscountList = [].concat(_toConsumableArray(scanDiscount), _toConsumableArray(newGoodPassList || [])); // 存储原始优惠券列表
792
791
  this.store.originalDiscountList = newDiscountList;
793
- _context9.next = 14;
792
+ _context9.next = 13;
794
793
  return (_this$store$discount8 = this.store.discount) === null || _this$store$discount8 === void 0 ? void 0 : _this$store$discount8.setOriginalDiscountList(newDiscountList);
795
- case 14:
794
+ case 13:
796
795
  // 根据当前预约时间过滤优惠券列表
797
796
  filteredDiscountList = this.filterDiscountListByBookingTime(newDiscountList, this.store.currentBookingTime);
798
797
  this.store.filteredDiscountList = filteredDiscountList;
799
798
  this.setDiscountList(filteredDiscountList || []);
800
799
  if (!((_this$store$productLi2 = this.store.productList) !== null && _this$store$productLi2 !== void 0 && _this$store$productLi2.length)) {
801
- _context9.next = 21;
800
+ _context9.next = 20;
802
801
  break;
803
802
  }
804
803
  _result3 = this.calcDiscount(this.store.productList);
805
- _context9.next = 21;
804
+ _context9.next = 20;
806
805
  return this.core.effects.emit("".concat(this.name, ":onLoadPrepareCalcResult"), _result3);
807
- case 21:
808
- _context9.next = 23;
806
+ case 20:
807
+ _context9.next = 22;
809
808
  return this.core.effects.emit("".concat(this.name, ":onLoadDiscountList"), filteredDiscountList);
810
- case 23:
811
- _context9.next = 28;
809
+ case 22:
810
+ _context9.next = 27;
812
811
  break;
813
- case 25:
814
- _context9.prev = 25;
812
+ case 24:
813
+ _context9.prev = 24;
815
814
  _context9.t0 = _context9["catch"](0);
816
815
  console.error('[ShopDiscount] 加载准备配置出错:', _context9.t0);
817
- case 28:
816
+ case 27:
818
817
  case "end":
819
818
  return _context9.stop();
820
819
  }
821
- }, _callee9, this, [[0, 25]]);
820
+ }, _callee9, this, [[0, 24]]);
822
821
  }));
823
822
  function loadPrepareConfig(_x9) {
824
823
  return _loadPrepareConfig.apply(this, arguments);
@@ -5,7 +5,3 @@ export { PromotionEvaluator } from './promotion/evaluator';
5
5
  export { PromotionAdapter } from './promotion/adapter';
6
6
  export { ItemRuleEvaluator } from './itemRule/evaluator';
7
7
  export { ItemRuleAdapter } from './itemRule/adapter';
8
- export { DataVariantEvaluator } from './dataVariant/evaluator';
9
- export { DataVariantAdapter } from './dataVariant/adapter';
10
- export { runDataVariantDemo } from './dataVariant/examples';
11
- export * from './dataVariant/type';
@@ -30,15 +30,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/model/strategy/adapter/index.ts
31
31
  var adapter_exports = {};
32
32
  __export(adapter_exports, {
33
- DataVariantAdapter: () => import_adapter3.DataVariantAdapter,
34
- DataVariantEvaluator: () => import_evaluator4.DataVariantEvaluator,
35
33
  ItemRuleAdapter: () => import_adapter2.ItemRuleAdapter,
36
34
  ItemRuleEvaluator: () => import_evaluator3.ItemRuleEvaluator,
37
35
  PromotionAdapter: () => import_adapter.PromotionAdapter,
38
36
  PromotionEvaluator: () => import_evaluator2.PromotionEvaluator,
39
37
  WalletPassAdapter: () => import_walletPass.default,
40
- WalletPassEvaluator: () => import_evaluator.WalletPassEvaluator,
41
- runDataVariantDemo: () => import_examples.runDataVariantDemo
38
+ WalletPassEvaluator: () => import_evaluator.WalletPassEvaluator
42
39
  });
43
40
  module.exports = __toCommonJS(adapter_exports);
44
41
  __reExport(adapter_exports, require("./type"), module.exports);
@@ -48,21 +45,13 @@ var import_evaluator2 = require("./promotion/evaluator");
48
45
  var import_adapter = require("./promotion/adapter");
49
46
  var import_evaluator3 = require("./itemRule/evaluator");
50
47
  var import_adapter2 = require("./itemRule/adapter");
51
- var import_evaluator4 = require("./dataVariant/evaluator");
52
- var import_adapter3 = require("./dataVariant/adapter");
53
- var import_examples = require("./dataVariant/examples");
54
- __reExport(adapter_exports, require("./dataVariant/type"), module.exports);
55
48
  // Annotate the CommonJS export names for ESM import in node:
56
49
  0 && (module.exports = {
57
- DataVariantAdapter,
58
- DataVariantEvaluator,
59
50
  ItemRuleAdapter,
60
51
  ItemRuleEvaluator,
61
52
  PromotionAdapter,
62
53
  PromotionEvaluator,
63
54
  WalletPassAdapter,
64
55
  WalletPassEvaluator,
65
- runDataVariantDemo,
66
- ...require("./type"),
67
- ...require("./dataVariant/type")
56
+ ...require("./type")
68
57
  });
@@ -0,0 +1,49 @@
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/model/strategy/adapter/promotion/index.ts
30
+ var promotion_exports = {};
31
+ __export(promotion_exports, {
32
+ BUY_X_GET_Y_FREE_STRATEGY: () => import_examples.BUY_X_GET_Y_FREE_STRATEGY,
33
+ PromotionAdapter: () => import_adapter.PromotionAdapter,
34
+ PromotionEvaluator: () => import_evaluator.PromotionEvaluator,
35
+ X_ITEMS_FOR_Y_PRICE_STRATEGY: () => import_examples.X_ITEMS_FOR_Y_PRICE_STRATEGY,
36
+ default: () => import_adapter2.default
37
+ });
38
+ module.exports = __toCommonJS(promotion_exports);
39
+ var import_evaluator = require("./evaluator");
40
+ var import_adapter = require("./adapter");
41
+ var import_adapter2 = __toESM(require("./adapter"));
42
+ var import_examples = require("./examples");
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ BUY_X_GET_Y_FREE_STRATEGY,
46
+ PromotionAdapter,
47
+ PromotionEvaluator,
48
+ X_ITEMS_FOR_Y_PRICE_STRATEGY
49
+ });
@@ -1,6 +1,6 @@
1
1
  import { Module, PisellCore, ModuleOptions } from '../../types';
2
2
  import { BaseModule } from '../BaseModule';
3
- import { Discount, DiscountModuleAPI, DiscountWithReason, DiscountPrepareConfigResult } from './types';
3
+ import { Discount, DiscountModuleAPI, DiscountWithReason } from './types';
4
4
  export declare class DiscountModule extends BaseModule implements Module, DiscountModuleAPI {
5
5
  protected defaultName: string;
6
6
  protected defaultVersion: string;
@@ -16,18 +16,15 @@ export declare class DiscountModule extends BaseModule implements Module, Discou
16
16
  getDiscountList(): Discount[];
17
17
  setOriginalDiscountList(originalDiscountList: Discount[]): Promise<void>;
18
18
  getOriginalDiscountList(): Discount[];
19
- private normalizePositiveNumberIds;
20
19
  loadPrepareConfig(params: {
21
20
  action?: 'create' | 'edit';
22
21
  with_good_pass: 0 | 1;
23
22
  with_discount_card: 0 | 1;
24
23
  customer_id: number;
25
24
  with_wallet_pass_holder: 0 | 1;
26
- with_available_wallet_flag?: 0 | 1;
27
- with_available_wallet_pass_flag?: 0 | 1;
28
25
  request_timezone: string;
29
26
  order_id?: number | string;
30
- }): Promise<DiscountPrepareConfigResult>;
27
+ }): Promise<Discount[]>;
31
28
  batchSearch(code: string, options?: {
32
29
  customerId?: number;
33
30
  orderId?: number;
@@ -91,43 +91,23 @@ var DiscountModule = class extends import_BaseModule.BaseModule {
91
91
  getOriginalDiscountList() {
92
92
  return this.store.originalDiscountList || [];
93
93
  }
94
- normalizePositiveNumberIds(values) {
95
- const ids = values.map((value) => Number(value)).filter((value) => Number.isFinite(value) && value > 0);
96
- return Array.from(new Set(ids));
97
- }
98
94
  async loadPrepareConfig(params) {
99
- var _a, _b, _c, _d, _e;
95
+ var _a, _b;
100
96
  if (typeof params.order_id === "string" && params.order_id.startsWith("LOCAL_")) {
101
97
  params.order_id = void 0;
102
98
  }
103
99
  const prepareConfig = await this.request.post(
104
100
  `/order/prepare/config`,
105
- {
106
- ...params,
107
- with_available_wallet_flag: params.with_available_wallet_flag ?? 1,
108
- with_available_wallet_pass_flag: params.with_available_wallet_pass_flag ?? 1
109
- }
101
+ params
110
102
  );
111
103
  const rawDiscountList = [
112
104
  ...((_a = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _a.good_pass_list) || [],
113
105
  ...((_b = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _b.discount_card_list) || []
114
106
  ];
115
- const availableWalletList = [
116
- ...((_c = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _c.avaiable_wallet_list) || [],
117
- ...((_d = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _d.available_wallet_list) || []
118
- ];
119
- const availableWalletPassList = ((_e = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _e.available_wallet_pass_list) || [];
120
- const availableWalletIds = this.normalizePositiveNumberIds([
121
- ...availableWalletList.map((item) => item == null ? void 0 : item.wallet_id),
122
- ...availableWalletPassList.map((item) => item == null ? void 0 : item.product_id)
123
- ]);
124
107
  const goodPassList = this.filterEnabledDiscountList(
125
108
  rawDiscountList
126
109
  ) || [];
127
- return {
128
- discountList: goodPassList,
129
- availableWalletIds
130
- };
110
+ return goodPassList;
131
111
  }
132
112
  async batchSearch(code, options) {
133
113
  const { customerId, orderId } = options || {};
@@ -68,10 +68,6 @@ export interface DiscountWithReason {
68
68
  discountList: Discount[];
69
69
  unavailableReasonKey: DiscountFilterRejectKey | null;
70
70
  }
71
- export interface DiscountPrepareConfigResult {
72
- discountList: Discount[];
73
- availableWalletIds: number[];
74
- }
75
71
  interface ExtensionData {
76
72
  id: number;
77
73
  shop_id: number;
@@ -75,7 +75,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
75
75
  apply?: boolean;
76
76
  }): Promise<Discount[]>;
77
77
  getDiscountList(): Discount[];
78
- getAvailableWalletIds(): number[];
78
+ private syncScannedDiscountsToOriginalDiscountList;
79
79
  private ensureEditDiscountConfigForProductChange;
80
80
  scanCode(code: string, customerId?: number): Promise<{
81
81
  isAvailable: boolean;