@pisell/pisellos 2.1.93 → 2.1.94

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 (100) hide show
  1. package/dist/index.d.ts +0 -1
  2. package/dist/index.js +0 -1
  3. package/dist/modules/Cart/types.d.ts +0 -2
  4. package/dist/modules/Cart/utils/cartProduct.js +0 -11
  5. package/dist/modules/Discount/types.d.ts +0 -16
  6. package/dist/modules/Payment/index.d.ts +1 -2
  7. package/dist/modules/Payment/index.js +7 -10
  8. package/dist/modules/Payment/utils.js +0 -3
  9. package/dist/modules/Payment/walletpass.d.ts +0 -23
  10. package/dist/modules/Payment/walletpass.js +95 -191
  11. package/dist/modules/Rules/index.d.ts +5 -9
  12. package/dist/modules/Rules/index.js +125 -539
  13. package/dist/modules/Rules/types.d.ts +0 -1
  14. package/dist/modules/Summary/types.d.ts +0 -2
  15. package/dist/modules/Summary/utils.d.ts +0 -6
  16. package/dist/modules/Summary/utils.js +0 -21
  17. package/dist/plugins/window.d.ts +0 -2
  18. package/dist/solution/BookingByStep/index.d.ts +1 -2
  19. package/dist/solution/BookingByStep/index.js +5 -1
  20. package/dist/solution/BookingTicket/index.d.ts +1 -1
  21. package/dist/solution/Checkout/index.js +0 -2
  22. package/dist/solution/ShopDiscount/index.d.ts +0 -1
  23. package/dist/solution/ShopDiscount/index.js +7 -23
  24. package/dist/solution/ShopDiscount/types.d.ts +0 -1
  25. package/dist/solution/ShopDiscount/types.js +1 -2
  26. package/dist/solution/ShopDiscount/utils.js +12 -26
  27. package/lib/index.d.ts +0 -1
  28. package/lib/index.js +1 -3
  29. package/lib/modules/Cart/types.d.ts +0 -2
  30. package/lib/modules/Cart/utils/cartProduct.js +0 -9
  31. package/lib/modules/Discount/types.d.ts +0 -16
  32. package/lib/modules/Payment/index.d.ts +1 -2
  33. package/lib/modules/Payment/index.js +0 -1
  34. package/lib/modules/Payment/utils.js +0 -3
  35. package/lib/modules/Payment/walletpass.d.ts +0 -23
  36. package/lib/modules/Payment/walletpass.js +17 -94
  37. package/lib/modules/Rules/index.d.ts +5 -9
  38. package/lib/modules/Rules/index.js +259 -665
  39. package/lib/modules/Rules/types.d.ts +0 -1
  40. package/lib/modules/Summary/types.d.ts +0 -2
  41. package/lib/modules/Summary/utils.d.ts +0 -6
  42. package/lib/modules/Summary/utils.js +0 -15
  43. package/lib/plugins/window.d.ts +0 -2
  44. package/lib/solution/BookingByStep/index.d.ts +1 -2
  45. package/lib/solution/BookingByStep/index.js +3 -1
  46. package/lib/solution/BookingTicket/index.d.ts +1 -1
  47. package/lib/solution/Checkout/index.js +0 -2
  48. package/lib/solution/ShopDiscount/index.d.ts +0 -1
  49. package/lib/solution/ShopDiscount/index.js +8 -22
  50. package/lib/solution/ShopDiscount/types.d.ts +0 -1
  51. package/lib/solution/ShopDiscount/utils.js +6 -10
  52. package/package.json +1 -1
  53. package/dist/model/index.d.ts +0 -1
  54. package/dist/model/index.js +0 -1
  55. package/dist/model/strategy/adapter/index.d.ts +0 -3
  56. package/dist/model/strategy/adapter/index.js +0 -4
  57. package/dist/model/strategy/adapter/type.d.ts +0 -28
  58. package/dist/model/strategy/adapter/type.js +0 -1
  59. package/dist/model/strategy/adapter/walletPass/evaluator.d.ts +0 -84
  60. package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -497
  61. package/dist/model/strategy/adapter/walletPass/example.d.ts +0 -4
  62. package/dist/model/strategy/adapter/walletPass/example.js +0 -258
  63. package/dist/model/strategy/adapter/walletPass/index.d.ts +0 -32
  64. package/dist/model/strategy/adapter/walletPass/index.js +0 -182
  65. package/dist/model/strategy/adapter/walletPass/locales.d.ts +0 -1
  66. package/dist/model/strategy/adapter/walletPass/locales.js +0 -23
  67. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -165
  68. package/dist/model/strategy/adapter/walletPass/type.js +0 -1
  69. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -50
  70. package/dist/model/strategy/adapter/walletPass/utils.js +0 -965
  71. package/dist/model/strategy/index.d.ts +0 -94
  72. package/dist/model/strategy/index.js +0 -551
  73. package/dist/model/strategy/strategy-example.d.ts +0 -5
  74. package/dist/model/strategy/strategy-example.js +0 -331
  75. package/dist/model/strategy/type.d.ts +0 -228
  76. package/dist/model/strategy/type.js +0 -94
  77. package/lib/model/index.d.ts +0 -1
  78. package/lib/model/index.js +0 -23
  79. package/lib/model/strategy/adapter/index.d.ts +0 -3
  80. package/lib/model/strategy/adapter/index.js +0 -45
  81. package/lib/model/strategy/adapter/type.d.ts +0 -28
  82. package/lib/model/strategy/adapter/type.js +0 -17
  83. package/lib/model/strategy/adapter/walletPass/evaluator.d.ts +0 -84
  84. package/lib/model/strategy/adapter/walletPass/evaluator.js +0 -421
  85. package/lib/model/strategy/adapter/walletPass/example.d.ts +0 -4
  86. package/lib/model/strategy/adapter/walletPass/example.js +0 -207
  87. package/lib/model/strategy/adapter/walletPass/index.d.ts +0 -32
  88. package/lib/model/strategy/adapter/walletPass/index.js +0 -142
  89. package/lib/model/strategy/adapter/walletPass/locales.d.ts +0 -1
  90. package/lib/model/strategy/adapter/walletPass/locales.js +0 -51
  91. package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -165
  92. package/lib/model/strategy/adapter/walletPass/type.js +0 -17
  93. package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -50
  94. package/lib/model/strategy/adapter/walletPass/utils.js +0 -660
  95. package/lib/model/strategy/index.d.ts +0 -94
  96. package/lib/model/strategy/index.js +0 -413
  97. package/lib/model/strategy/strategy-example.d.ts +0 -5
  98. package/lib/model/strategy/strategy-example.js +0 -318
  99. package/lib/model/strategy/type.d.ts +0 -228
  100. package/lib/model/strategy/type.js +0 -44
@@ -28,7 +28,6 @@ export interface RulesModuleAPI {
28
28
  calcDiscount: (params: {
29
29
  discountList: any[];
30
30
  productList: any[];
31
- orderTotalAmount: number;
32
31
  holders: {
33
32
  form_record_id: number;
34
33
  }[];
@@ -6,8 +6,6 @@ export interface ISummaryState {
6
6
  subtotal: string | number;
7
7
  /** 最终总价 */
8
8
  total: string | number;
9
- /** 最终原始价格 不包含折扣卡商品券折扣 */
10
- originTotal: string | number;
11
9
  /** 税率标题 */
12
10
  taxTitle?: string;
13
11
  /** 商品总费率 */
@@ -58,12 +58,6 @@ export declare const getTax: ({ service, addons, bookingDetail, bookingId }: {
58
58
  * @returns 商品总价字符串,保留2位小数
59
59
  */
60
60
  export declare const calculateSubtotal: (items: CartItem[]) => string;
61
- /**
62
- * 计算商品小计(不含其他费用 不包含折扣卡商品券抵扣金额)
63
- * @param items - 购物车商品数组
64
- * @returns 商品总价字符串,保留2位小数
65
- */
66
- export declare const calculateOriginSubtotal: (items: CartItem[]) => string;
67
61
  /**
68
62
  * @title: 单个商品的税费
69
63
  * @description:
@@ -20,7 +20,6 @@ import { isNormalProduct } from "../Product/utils";
20
20
  import dayjs from 'dayjs';
21
21
  export var calculatePriceDetails = function calculatePriceDetails(shopInfo, items, isInScheduleByDate, surchargeList, scheduleById) {
22
22
  var subtotal = new Decimal(calculateSubtotal(items));
23
- var subOriginTotal = new Decimal(calculateOriginSubtotal(items));
24
23
  var totalTaxFee = new Decimal(calculateTaxFee(shopInfo, items));
25
24
  // 订单附加费列表
26
25
  var surcharge = getSurcharge({
@@ -59,15 +58,11 @@ export var calculatePriceDetails = function calculatePriceDetails(shopInfo, item
59
58
  originTax = _getTax.originTax;
60
59
  var total = shopInfo !== null && shopInfo !== void 0 && shopInfo.is_price_include_tax ? subtotal.plus(surchargeAmount) : subtotal.plus(tax).plus(surchargeAmount);
61
60
 
62
- // 计算总价 不包含折扣卡商品券折扣信息价格
63
- var originTotal = shopInfo !== null && shopInfo !== void 0 && shopInfo.is_price_include_tax ? subOriginTotal : subOriginTotal.plus(totalTaxFee);
64
-
65
61
  // 计算定金
66
62
  var deposit = calculateDeposit(items);
67
63
  return {
68
64
  subtotal: subtotal.toFixed(2),
69
65
  total: total.toFixed(2),
70
- originTotal: originTotal.toFixed(2),
71
66
  taxTitle: shopInfo === null || shopInfo === void 0 ? void 0 : shopInfo.tax_title,
72
67
  taxRate: shopInfo === null || shopInfo === void 0 ? void 0 : shopInfo.tax_rate,
73
68
  totalTaxFee: tax,
@@ -577,22 +572,6 @@ export var calculateSubtotal = function calculateSubtotal(items) {
577
572
  return subtotal.toFixed(2);
578
573
  };
579
574
 
580
- /**
581
- * 计算商品小计(不含其他费用 不包含折扣卡商品券抵扣金额)
582
- * @param items - 购物车商品数组
583
- * @returns 商品总价字符串,保留2位小数
584
- */
585
- export var calculateOriginSubtotal = function calculateOriginSubtotal(items) {
586
- if (!(items !== null && items !== void 0 && items.length)) {
587
- return '0.00';
588
- }
589
- var subtotal = items.reduce(function (sum, item) {
590
- var cartItemTotalPrice = new Decimal(item.summaryOriginTotal || 0);
591
- return sum.plus(cartItemTotalPrice);
592
- }, new Decimal(0));
593
- return subtotal.toFixed(2);
594
- };
595
-
596
575
  /**
597
576
  * @title: 单个商品的税费
598
577
  * @description:
@@ -1,4 +1,3 @@
1
- import { WalletPassEvaluator } from '../model';
2
1
  import { Plugin } from '../types';
3
2
  /**
4
3
  * WindowPlugin 接口定义
@@ -15,7 +14,6 @@ export interface WindowPlugin extends Plugin {
15
14
  document: Partial<Document>;
16
15
  history: History;
17
16
  interaction?: any;
18
- getWalletPassEvaluator?: () => WalletPassEvaluator;
19
17
  }
20
18
  /**
21
19
  * 简单的 Storage 接口实现
@@ -144,7 +144,6 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
144
144
  getSummary(): Promise<{
145
145
  subtotal: string | number;
146
146
  total: string | number;
147
- originTotal: string | number;
148
147
  taxTitle?: string | undefined;
149
148
  totalTaxFee?: string | number | undefined;
150
149
  isPriceIncludeTax?: 0 | 1 | undefined;
@@ -358,7 +357,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
358
357
  };
359
358
  setOtherData(key: string, value: any): void;
360
359
  getOtherData(key: string): any;
361
- getProductTypeById(id: number): Promise<"normal" | "duration" | "session">;
360
+ getProductTypeById(id: number): Promise<"duration" | "session" | "normal">;
362
361
  /**
363
362
  * 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
364
363
  *
@@ -2566,8 +2566,12 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
2566
2566
  _step3;
2567
2567
  try {
2568
2568
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
2569
+ var _time$event_list;
2569
2570
  var time = _step3.value;
2570
- var _iterator4 = _createForOfIteratorHelper(time.event_list || []),
2571
+ var blockedTimes = (_time$event_list = time.event_list) === null || _time$event_list === void 0 ? void 0 : _time$event_list.filter(function (event) {
2572
+ return event.type !== 'schedule_event';
2573
+ });
2574
+ var _iterator4 = _createForOfIteratorHelper(blockedTimes || []),
2571
2575
  _step4;
2572
2576
  try {
2573
2577
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -115,7 +115,7 @@ export declare class BookingTicketImpl extends BaseModule implements Module {
115
115
  * 获取当前的客户搜索条件
116
116
  * @returns 当前搜索条件
117
117
  */
118
- getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "skip" | "num">;
118
+ getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
119
119
  /**
120
120
  * 获取客户列表状态(包含滚动加载相关状态)
121
121
  * @returns 客户状态
@@ -403,7 +403,6 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
403
403
  product_id: item.product_id,
404
404
  product_variant_id: item.product_variant_id,
405
405
  quantity: item.num,
406
- is_price_include_tax: item.is_price_include_tax,
407
406
  // 商品是否含税:1;0
408
407
  is_charge_tax: (_item$is_charge_tax = item.is_charge_tax) !== null && _item$is_charge_tax !== void 0 ? _item$is_charge_tax : 0,
409
408
  // 若商品不含税,计算得到的税费,单位(元)
@@ -428,7 +427,6 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
428
427
  },
429
428
  product_bundle: item.product_bundle.map(function (bundle) {
430
429
  return {
431
- is_price_include_tax: item.is_price_include_tax,
432
430
  bundle_id: bundle.bundle_id,
433
431
  bundle_product_id: bundle.bundle_product_id,
434
432
  bundle_variant_id: bundle.bundle_variant_id,
@@ -22,7 +22,6 @@ export declare class ShopDiscountImpl extends BaseModule implements Module {
22
22
  getCurrentBookingTime(): string | null;
23
23
  private filterDiscountListByBookingTime;
24
24
  setCustomer(customer: Customer): Promise<void>;
25
- setOriginTotalAmount(amount: number): void;
26
25
  setHolders(holders: {
27
26
  form_record_id: number;
28
27
  }[]): void;
@@ -56,8 +56,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
56
56
  originalDiscountList: [],
57
57
  currentBookingTime: "",
58
58
  filteredDiscountList: [],
59
- bookingSubject: undefined,
60
- orderTotalAmount: 0
59
+ bookingSubject: undefined
61
60
  };
62
61
  return _this;
63
62
  }
@@ -289,14 +288,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
289
288
  return _setCustomer.apply(this, arguments);
290
289
  }
291
290
  return setCustomer;
292
- }()
293
- }, {
294
- key: "setOriginTotalAmount",
295
- value: function setOriginTotalAmount(amount) {
296
- this.store.orderTotalAmount = amount;
297
- }
298
-
299
- // 设置holders
291
+ }() // 设置holders
300
292
  }, {
301
293
  key: "setHolders",
302
294
  value: function setHolders(holders) {
@@ -324,7 +316,6 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
324
316
  var _ref = rulesModule.calcDiscount({
325
317
  productList: productList,
326
318
  discountList: this.getDiscountList(),
327
- orderTotalAmount: this.store.orderTotalAmount || 0,
328
319
  holders: this.store.holders || [],
329
320
  isFormSubject: ((_this$store$bookingSu = this.store.bookingSubject) === null || _this$store$bookingSu === void 0 ? void 0 : _this$store$bookingSu.type) === 'form'
330
321
  }, options) || {
@@ -504,7 +495,6 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
504
495
  productList: this.store.productList || [],
505
496
  oldDiscountList: this.getDiscountList(),
506
497
  newDiscountList: withScanList,
507
- orderTotalAmount: this.store.orderTotalAmount || 0,
508
498
  holders: this.store.holders || [],
509
499
  isFormSubject: ((_this$store$bookingSu2 = this.store.bookingSubject) === null || _this$store$bookingSu2 === void 0 ? void 0 : _this$store$bookingSu2.type) === 'form'
510
500
  }) || {
@@ -618,27 +608,21 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
618
608
  return n.id === (((_discount$discount = discount.discount) === null || _discount$discount === void 0 ? void 0 : _discount$discount.resource_id) || discount.id);
619
609
  });
620
610
  if (index !== -1) {
621
- var _editModeDiscountList, _discount$metadata, _discount$metadata2;
611
+ var _discount$metadata;
622
612
  editModeDiscountList[index] = _objectSpread(_objectSpread({}, editModeDiscountList[index]), {}, {
623
- metadata: _objectSpread(_objectSpread({}, discount.metadata || {}), {}, {
624
- num: ((editModeDiscountList === null || editModeDiscountList === void 0 || (_editModeDiscountList = editModeDiscountList[index]) === null || _editModeDiscountList === void 0 || (_editModeDiscountList = _editModeDiscountList.metadata) === null || _editModeDiscountList === void 0 ? void 0 : _editModeDiscountList.num) || 1) + (((_discount$metadata = discount.metadata) === null || _discount$metadata === void 0 ? void 0 : _discount$metadata.num) || 1)
625
- }),
626
613
  amount: new Decimal(discount.amount || 0).plus(new Decimal(editModeDiscountList[index].amount || 0)).toNumber(),
627
- savedAmount: new Decimal(discount.amount || 0).times((product === null || product === void 0 ? void 0 : product.quantity) || (product === null || product === void 0 ? void 0 : product.num) || 1).plus((discount === null || discount === void 0 || (_discount$metadata2 = discount.metadata) === null || _discount$metadata2 === void 0 ? void 0 : _discount$metadata2.product_discount_difference) || 0).plus(new Decimal(editModeDiscountList[index].savedAmount || 0)).toNumber()
614
+ savedAmount: new Decimal(discount.amount || 0).times((product === null || product === void 0 ? void 0 : product.quantity) || (product === null || product === void 0 ? void 0 : product.num) || 1).plus((discount === null || discount === void 0 || (_discount$metadata = discount.metadata) === null || _discount$metadata === void 0 ? void 0 : _discount$metadata.product_discount_difference) || 0).plus(new Decimal(editModeDiscountList[index].savedAmount || 0)).toNumber()
628
615
  });
629
616
  } else {
630
- var _discount$metadata3, _discount$metadata4, _discount$discount2, _discount$discount3, _discount$discount4;
617
+ var _discount$metadata2, _discount$discount2, _discount$discount3, _discount$discount4;
631
618
  if (discount.type && !discount.tag) {
632
619
  discount.tag = discount.type;
633
620
  }
634
621
  editModeDiscountList.push(_objectSpread(_objectSpread({}, discount), {}, {
635
- metadata: _objectSpread(_objectSpread({}, discount.metadata || {}), {}, {
636
- num: ((_discount$metadata3 = discount.metadata) === null || _discount$metadata3 === void 0 ? void 0 : _discount$metadata3.num) || 1
637
- }),
638
622
  name: discount.name || discount.discount.title.auto,
639
623
  isEditMode: true,
640
624
  limited_relation_product_data: {},
641
- savedAmount: new Decimal(discount.amount || 0).times((product === null || product === void 0 ? void 0 : product.quantity) || (product === null || product === void 0 ? void 0 : product.num) || 1).plus((discount === null || discount === void 0 || (_discount$metadata4 = discount.metadata) === null || _discount$metadata4 === void 0 ? void 0 : _discount$metadata4.product_discount_difference) || 0).toNumber(),
625
+ savedAmount: new Decimal(discount.amount || 0).times((product === null || product === void 0 ? void 0 : product.quantity) || (product === null || product === void 0 ? void 0 : product.num) || 1).plus((discount === null || discount === void 0 || (_discount$metadata2 = discount.metadata) === null || _discount$metadata2 === void 0 ? void 0 : _discount$metadata2.product_discount_difference) || 0).toNumber(),
642
626
  isAvailable: true,
643
627
  id: ((_discount$discount2 = discount.discount) === null || _discount$discount2 === void 0 ? void 0 : _discount$discount2.resource_id) || discount.id,
644
628
  format_title: ((_discount$discount3 = discount.discount) === null || _discount$discount3 === void 0 ? void 0 : _discount$discount3.title) || discount.format_title,
@@ -831,7 +815,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
831
815
  return this.core.effects.emit("".concat(this.name, ":onLoadPrepareCalcResult"), _result3);
832
816
  case 19:
833
817
  _context10.next = 21;
834
- return this.core.effects.emit("".concat(this.name, ":onLoadDiscountList"), newDiscountList);
818
+ return this.core.effects.emit("".concat(this.name, ":onLoadDiscountList"), filteredDiscountList);
835
819
  case 21:
836
820
  _context10.next = 26;
837
821
  break;
@@ -23,7 +23,6 @@ export interface ShopDiscountState {
23
23
  discount: DiscountModule | null;
24
24
  rules: RulesModule | null;
25
25
  productList: Record<string, any>[];
26
- orderTotalAmount?: number;
27
26
  holders?: {
28
27
  form_record_id: number;
29
28
  form_id?: number;
@@ -8,5 +8,4 @@ export var ShopDiscountHooks = /*#__PURE__*/function (ShopDiscountHooks) {
8
8
  ShopDiscountHooks["onRulesListChange"] = "shopDiscount:onRulesListChange";
9
9
  ShopDiscountHooks["onLoadPrepareCalcResult"] = "shopDiscount:onLoadPrepareCalcResult";
10
10
  return ShopDiscountHooks;
11
- }({});
12
- ;
11
+ }({});
@@ -40,37 +40,23 @@ export var isAllNormalProduct = function isAllNormalProduct(items) {
40
40
  * @returns
41
41
  */
42
42
  export var getDiscountAmount = function getDiscountAmount(discount, total, price) {
43
- var discountedPrice = 0;
44
-
43
+ var _discount$metadata;
45
44
  // 商品券
46
45
  if (discount.tag === 'good_pass') {
47
- discountedPrice = new Decimal(price).minus(new Decimal(price || 0)).toNumber();
48
- } else {
49
- var _discount$metadata;
50
- // 判断是否是固定金额
51
- var isFixedAmount = (discount === null || discount === void 0 || (_discount$metadata = discount.metadata) === null || _discount$metadata === void 0 ? void 0 : _discount$metadata.discount_card_type) === 'fixed_amount';
52
-
53
- // 固定金额 小于0时返回0
54
- if (isFixedAmount) {
55
- discountedPrice = Math.max(new Decimal(price).minus(new Decimal(discount.par_value || 0)).toNumber(), 0);
56
- } else {
57
- // 百分比:根据折扣卡金额计算
58
- discountedPrice = new Decimal(100).minus(discount.par_value || 0).div(100).mul(new Decimal(price)).toNumber();
59
- }
46
+ return new Decimal(price).minus(new Decimal(price || 0)).toNumber();
60
47
  }
61
48
 
62
- /*
63
- // 🔥 如果有 maxDeductionAmount 限制,确保折扣金额不超过限制
64
- if (discount.config?.maxDeductionAmount) {
65
- const actualDiscountAmount = new Decimal(price).minus(discountedPrice).toNumber();
66
- if (actualDiscountAmount > discount.config.maxDeductionAmount) {
67
- // 折扣金额超过限制,重新计算折扣后价格
68
- discountedPrice = new Decimal(price).minus(discount.config.maxDeductionAmount).toNumber();
69
- }
70
- }
71
- */
49
+ // 判断是否是固定金额
50
+ var isFixedAmount = (discount === null || discount === void 0 || (_discount$metadata = discount.metadata) === null || _discount$metadata === void 0 ? void 0 : _discount$metadata.discount_card_type) === 'fixed_amount';
51
+
52
+ // 固定金额 小于0时返回0
53
+ if (isFixedAmount) {
54
+ var _discount$amount;
55
+ return Math.max(new Decimal(price).minus(new Decimal(((_discount$amount = discount.amount) !== null && _discount$amount !== void 0 ? _discount$amount : discount.par_value) || 0)).toNumber(), 0);
56
+ }
72
57
 
73
- return discountedPrice;
58
+ // 百分比:根据折扣卡金额计算
59
+ return new Decimal(100).minus(discount.par_value || 0).div(100).mul(new Decimal(price)).toNumber();
74
60
  };
75
61
  export var getDiscountListAmountTotal = function getDiscountListAmountTotal(discount) {
76
62
  return discount.reduce(function (acc, cur) {
package/lib/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export * from './types';
6
6
  export * from './modules';
7
7
  export * from './plugins';
8
8
  export * from './solution';
9
- export * from './model';
10
9
  export { PisellOSCore } from './core';
11
10
  import PisellOSCore from './core';
12
11
  export default PisellOSCore;
package/lib/index.js CHANGED
@@ -38,7 +38,6 @@ __reExport(src_exports, require("./types"), module.exports);
38
38
  __reExport(src_exports, require("./modules"), module.exports);
39
39
  __reExport(src_exports, require("./plugins"), module.exports);
40
40
  __reExport(src_exports, require("./solution"), module.exports);
41
- __reExport(src_exports, require("./model"), module.exports);
42
41
  var import_core = require("./core");
43
42
  var import_core2 = __toESM(require("./core"));
44
43
  var src_default = import_core2.default;
@@ -48,6 +47,5 @@ var src_default = import_core2.default;
48
47
  ...require("./types"),
49
48
  ...require("./modules"),
50
49
  ...require("./plugins"),
51
- ...require("./solution"),
52
- ...require("./model")
50
+ ...require("./solution")
53
51
  });
@@ -75,8 +75,6 @@ export interface CartItem {
75
75
  summaryTotal?: number | string;
76
76
  /** 商品原价总价,排除原始价格为0的场景 */
77
77
  origin_total?: number | string;
78
- /** 基于 origin_total 乘以 商品数量的价格 */
79
- summaryOriginTotal?: number | string;
80
78
  /** 商品数量 */
81
79
  num?: number;
82
80
  /** 商品图片 */
@@ -90,14 +90,6 @@ var formatProductToCartItem = (params) => {
90
90
  num,
91
91
  discounts
92
92
  });
93
- const origin_total = getProductTotalPrice({
94
- product: cartItem._productInit || cartItem._productOrigin,
95
- bundle,
96
- options,
97
- num,
98
- discounts: []
99
- });
100
- cartItem.summaryOriginTotal = (origin_total || 0) * (num || 1);
101
93
  cartItem.image = product == null ? void 0 : product.cover;
102
94
  cartItem.like_status = "common";
103
95
  cartItem.duration = product == null ? void 0 : product.duration;
@@ -199,7 +191,6 @@ var getProductTotalPrice = (params) => {
199
191
  amount: currentValue.amount,
200
192
  tag: currentValue.type,
201
193
  par_value: currentValue.discount.percent,
202
- config: currentValue.config,
203
194
  metadata: {
204
195
  discount_card_type: (_a = currentValue == null ? void 0 : currentValue.discount) == null ? void 0 : _a.discount_card_type
205
196
  }
@@ -25,8 +25,6 @@ interface Limitedrelationproductdata {
25
25
  product_ids: number[];
26
26
  product_collection_id: number[];
27
27
  package_sub_item_usage_rules?: PackageSubItemUsageRules;
28
- filter: 0 | 1;
29
- exclude_product_ids: number[];
30
28
  }
31
29
  interface ApplicableProductDetails {
32
30
  amount: string;
@@ -83,7 +81,6 @@ export interface Discount {
83
81
  balance: string;
84
82
  format_title: Formattitle;
85
83
  metadata?: {
86
- num?: number;
87
84
  discount_card_type?: 'fixed_amount' | 'percent';
88
85
  custom_product_bundle_map_id?: string;
89
86
  validity_type?: "custom_schedule_validity" | "fixed_validity";
@@ -108,19 +105,6 @@ export interface Discount {
108
105
  isSelected?: boolean;
109
106
  isAvailable?: boolean;
110
107
  isUsed?: boolean;
111
- config?: {
112
- isAvailable?: boolean;
113
- /** 最大抵扣金额 */
114
- maxDeductionAmount?: number;
115
- /** 每单最多使用张数 */
116
- maxUsagePerOrder?: number;
117
- /** 是否抵扣税费与附加费 */
118
- deductTaxAndFee?: boolean;
119
- /** 适用粒度(多商品共用) */
120
- allowCrossProduct?: boolean;
121
- /** 可用商品数量上限 */
122
- applicableProductLimit?: number;
123
- };
124
108
  applicableProductIds?: number[];
125
109
  applicableProductDetails: ApplicableProductDetails[];
126
110
  appliedProductDetails: ApplicableProductDetails[];
@@ -1,5 +1,5 @@
1
1
  import { Module, PisellCore, ModuleOptions } from '../../types';
2
- import { RequestPlugin, WindowPlugin } from '../../plugins';
2
+ import { RequestPlugin } from '../../plugins';
3
3
  import { BaseModule } from '../BaseModule';
4
4
  import { PaymentModuleAPI, PaymentMethod, PaymentOrder, PaymentItem, PaymentItemInput, PaymentUpdateFields, PushOrderParams, CashPayment, EftposPayment, WalletPassPayment, RoundingRule, RoundingInterval, RoundingResult } from './types';
5
5
  export * from './types';
@@ -21,7 +21,6 @@ export declare class PaymentModule extends BaseModule implements Module, Payment
21
21
  request: RequestPlugin;
22
22
  private app;
23
23
  private store;
24
- window: WindowPlugin;
25
24
  private dbManager;
26
25
  private logger;
27
26
  protected otherParams: any;
@@ -70,7 +70,6 @@ var PaymentModule = class extends import_BaseModule.BaseModule {
70
70
  this.otherParams = options.otherParams || {};
71
71
  this.request = core.getPlugin("request");
72
72
  const appPlugin = core.getPlugin("app");
73
- this.window = core.getPlugin("window");
74
73
  if (!this.request) {
75
74
  throw new Error("支付模块需要 request 插件支持");
76
75
  }
@@ -25,9 +25,6 @@ __export(utils_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(utils_exports);
27
27
  var getAvailableMaxAmount = (data) => {
28
- if (typeof data._available_max_amount === "number") {
29
- return data._available_max_amount;
30
- }
31
28
  return data.tag !== "point_card" ? data.available_max_amount : data == null ? void 0 : data.recommended_usage_amount;
32
29
  };
33
30
  var formatWalletPassList2PreparePayments = (list) => {
@@ -9,7 +9,6 @@ export declare class WalletPassPaymentImpl implements WalletPassPayment {
9
9
  private userIdentificationCodes;
10
10
  private searchResults;
11
11
  private walletParams;
12
- private walletInitData;
13
12
  constructor(paymentModule: PaymentModule);
14
13
  /**
15
14
  * 发送事件的辅助方法
@@ -38,14 +37,7 @@ export declare class WalletPassPaymentImpl implements WalletPassPayment {
38
37
  initializeWalletDataFromBusinessAsync(businessData: WalletInitBusinessData): Promise<{
39
38
  walletRecommendList: WalletRecommendItem[];
40
39
  userIdentificationCodes: UserIdentificationCodeItem[];
41
- transformList: any[];
42
- noApplicableVoucher: any[];
43
- products: any[];
44
40
  }>;
45
- /**
46
- * 获取订单基础详情
47
- */
48
- getOrderBasicDetailAsync(orderId: string): Promise<any>;
49
41
  /**
50
42
  * 初始化钱包数据
51
43
  * 先获取推荐列表,再获取用户识别码列表(顺序执行)
@@ -53,9 +45,6 @@ export declare class WalletPassPaymentImpl implements WalletPassPayment {
53
45
  initializeWalletDataAsync(baseParams: WalletDeductionRecommendParams): Promise<{
54
46
  walletRecommendList: WalletRecommendItem[];
55
47
  userIdentificationCodes: UserIdentificationCodeItem[];
56
- transformList: any[];
57
- noApplicableVoucher: any[];
58
- products: any[];
59
48
  }>;
60
49
  getWalletPassRecommendListAsync(params: WalletDeductionRecommendParams): Promise<WalletRecommendItem[]>;
61
50
  formatWalletPassList2PreparePayments(list: WalletRecommendItem[]): {
@@ -103,18 +92,6 @@ export declare class WalletPassPaymentImpl implements WalletPassPayment {
103
92
  * 清除搜索结果缓存
104
93
  */
105
94
  clearSearchResults(): void;
106
- /**
107
- * 获取存储的钱包初始化数据
108
- */
109
- getStoredWalletInitData(): {
110
- transformList: any[];
111
- noApplicableVoucher: any[];
112
- products: any[];
113
- } | null;
114
- /**
115
- * 清除存储的钱包初始化数据
116
- */
117
- clearStoredWalletInitData(): void;
118
95
  /**
119
96
  * 清除所有缓存数据
120
97
  */