@pisell/pisellos 0.0.239 → 0.0.241

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.
@@ -2,6 +2,7 @@ import { Module, PisellCore, ModuleOptions } from '../../types';
2
2
  import { BaseModule } from '../BaseModule';
3
3
  import { Rules, RulesModuleAPI, DiscountResult } from './types';
4
4
  import { Discount } from "../Discount/types";
5
+ import { SetDiscountSelectedParams } from '../../solution/ShopDiscount/types';
5
6
  export declare class RulesModule extends BaseModule implements Module, RulesModuleAPI {
6
7
  protected defaultName: string;
7
8
  protected defaultVersion: string;
@@ -26,6 +27,7 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
26
27
  }, options?: {
27
28
  isSelected?: boolean;
28
29
  discountId?: number;
30
+ selectedList?: SetDiscountSelectedParams[];
29
31
  scan?: boolean;
30
32
  }): DiscountResult;
31
33
  destroy(): Promise<void>;
@@ -324,7 +324,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
324
324
 
325
325
  // 然后再处理应用哪些优惠券,此时只考虑filteredDiscountList中的优惠券
326
326
  sortedProductList.forEach(function (originProduct, i) {
327
- var _product$discount_lis4, _product$discount_lis5, _product$discount_lis7, _product$discount_lis8, _product$discount_lis9, _product$discount_lis10;
327
+ var _product$discount_lis4, _product$discount_lis5, _product$discount_lis7, _product$discount_lis8, _product$discount_lis9, _product$discount_lis10, _product$discount_lis11;
328
328
  var product = _this3.hooks.getProduct(originProduct);
329
329
  if (product !== null && product !== void 0 && product.booking_id && (_product$discount_lis4 = product.discount_list) !== null && _product$discount_lis4 !== void 0 && _product$discount_lis4.length && product !== null && product !== void 0 && (_product$discount_lis5 = product.discount_list) !== null && _product$discount_lis5 !== void 0 && _product$discount_lis5.every(function (discount) {
330
330
  return discount.id && ['good_pass', 'discount_card', 'product_discount_card'].includes(discount.tag || discount.type);
@@ -378,6 +378,15 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
378
378
  })) {
379
379
  isManualDiscount = false;
380
380
  }
381
+ if (options !== null && options !== void 0 && options.selectedList && (_product$discount_lis11 = product.discount_list) !== null && _product$discount_lis11 !== void 0 && _product$discount_lis11.some(function (item) {
382
+ var _options$selectedList;
383
+ return options === null || options === void 0 || (_options$selectedList = options.selectedList) === null || _options$selectedList === void 0 ? void 0 : _options$selectedList.some(function (n) {
384
+ var _item$discount2;
385
+ return n.discountId === ((_item$discount2 = item.discount) === null || _item$discount2 === void 0 ? void 0 : _item$discount2.resource_id);
386
+ });
387
+ })) {
388
+ isManualDiscount = false;
389
+ }
381
390
 
382
391
  // 如果没有适用的优惠券,或者手动折扣,则不适用优惠券
383
392
  // 自定义商品:如果未开启适用折扣卡(product.vouchersApplicable),则不适用优惠券
@@ -435,7 +444,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
435
444
  }));
436
445
  }
437
446
  for (var _i = 0; _i < splitCount; _i++) {
438
- var _product$discount_lis11, _originProduct$_produ;
447
+ var _product$discount_lis12, _originProduct$_produ;
439
448
  // 如果用过折扣卡,也就不存在拆分的情况了,这里直接使用上面计算出来的折扣卡
440
449
  var _selectedDiscount = selectedDiscountCard || applicableDiscounts[_i];
441
450
  // 标记优惠券为已使用
@@ -447,7 +456,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
447
456
  // 优先从 origin_total拿,可能会拿不到(比如用户端预约在没有配置 original_price 的情况下)
448
457
  var productOriginTotal = product.origin_total || product.total || 0;
449
458
  // 如果当前 product 有 discount_list,则先从 origin_total 拿
450
- if ((_product$discount_lis11 = product.discount_list) !== null && _product$discount_lis11 !== void 0 && _product$discount_lis11.length && product.origin_total) {
459
+ if ((_product$discount_lis12 = product.discount_list) !== null && _product$discount_lis12 !== void 0 && _product$discount_lis12.length && product.origin_total) {
451
460
  productOriginTotal = product.origin_total;
452
461
  }
453
462
  // 如果originProduct?._productInit?.original_price为 0,product.origin_total可能为空,此时取 product.total
@@ -111,7 +111,7 @@ export declare class BookingTicketImpl extends BaseModule implements Module {
111
111
  * 获取当前的客户搜索条件
112
112
  * @returns 当前搜索条件
113
113
  */
114
- getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "skip" | "num">;
114
+ getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
115
115
  /**
116
116
  * 获取客户列表状态(包含滚动加载相关状态)
117
117
  * @returns 客户状态
@@ -1,6 +1,6 @@
1
1
  import { Module, PisellCore } from '../../types';
2
2
  import { BaseModule } from '../../modules/BaseModule';
3
- import { Customer } from './types';
3
+ import { Customer, SetDiscountSelectedParams } from './types';
4
4
  import { Discount } from '../../modules/Discount/types';
5
5
  export declare class ShopDiscountImpl extends BaseModule implements Module {
6
6
  protected defaultName: string;
@@ -19,17 +19,11 @@ export declare class ShopDiscountImpl extends BaseModule implements Module {
19
19
  private registerDependentModules;
20
20
  private registerEventListeners;
21
21
  setCustomer(customer: Customer): Promise<void>;
22
- calcDiscount(productList: Record<string, any>[], options?: {
23
- discountId: number;
24
- isSelected: boolean;
25
- }): {
22
+ calcDiscount(productList: Record<string, any>[], options?: SetDiscountSelectedParams): {
26
23
  productList: Record<string, any>[];
27
24
  discountList: Discount[];
28
25
  };
29
- setDiscountSelected({ discountId, isSelected, }: {
30
- discountId: number;
31
- isSelected: boolean;
32
- }): {
26
+ setDiscountSelected(params: SetDiscountSelectedParams): {
33
27
  productList: Record<string, any>[];
34
28
  discountList: Discount[];
35
29
  };
@@ -267,19 +267,38 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
267
267
  // 设置优惠券使用状态
268
268
  }, {
269
269
  key: "setDiscountSelected",
270
- value: function setDiscountSelected(_ref2) {
271
- var discountId = _ref2.discountId,
272
- isSelected = _ref2.isSelected;
270
+ value: function setDiscountSelected(params) {
273
271
  // 获取当前优惠券列表
274
272
  var discountList = this.getDiscountList();
275
273
 
274
+ // 构建选择操作列表
275
+ var selectionOperations = [];
276
+
277
+ // 主要操作
278
+ selectionOperations.push({
279
+ discountId: params.discountId,
280
+ isSelected: params.isSelected
281
+ });
282
+
283
+ // 如果有批量操作列表,添加到操作列表中
284
+ if (params.selectedList && params.selectedList.length > 0) {
285
+ selectionOperations.push.apply(selectionOperations, _toConsumableArray(params.selectedList));
286
+ }
287
+
288
+ // 创建选择状态映射(去重处理,后面的操作会覆盖前面的)
289
+ var selectionMap = new Map();
290
+ selectionOperations.forEach(function (operation) {
291
+ selectionMap.set(operation.discountId, operation.isSelected);
292
+ });
293
+
276
294
  // 找到需要修改状态的优惠券
277
295
  var newDiscountList = discountList.map(function (discount) {
278
- if (discount.id === discountId) {
296
+ if (selectionMap.has(discount.id)) {
297
+ var targetIsSelected = selectionMap.get(discount.id);
279
298
  return _objectSpread(_objectSpread({}, discount), {}, {
280
- isSelected: isSelected,
299
+ isSelected: targetIsSelected,
281
300
  // 手动设置不使用
282
- isManualSelect: !isSelected
301
+ isManualSelect: !targetIsSelected
283
302
  });
284
303
  }
285
304
  return _objectSpread(_objectSpread({}, discount), {}, {
@@ -289,12 +308,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
289
308
 
290
309
  // 更新优惠券列表
291
310
  this.setDiscountList(newDiscountList);
292
-
293
- // 如果取消选择优惠券,需要重新计算其他可用优惠券
294
- return this.calcDiscount(this.store.productList || [], {
295
- discountId: discountId,
296
- isSelected: isSelected
297
- });
311
+ return this.calcDiscount(this.store.productList || [], params);
298
312
  }
299
313
  }, {
300
314
  key: "setProductList",
@@ -307,7 +321,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
307
321
  key: "scanCode",
308
322
  value: function () {
309
323
  var _scanCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(code, customerId) {
310
- var _this$store$discount3, resultDiscountList, rulesModule, withScanList, _ref3, newProductList, newDiscountList, isAvailable, _this$options$otherPa6;
324
+ var _this$store$discount3, resultDiscountList, rulesModule, withScanList, _ref2, newProductList, newDiscountList, isAvailable, _this$options$otherPa6;
311
325
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
312
326
  while (1) switch (_context5.prev = _context5.next) {
313
327
  case 0:
@@ -351,7 +365,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
351
365
  isScan: true
352
366
  });
353
367
  });
354
- _ref3 = rulesModule.isDiscountListAvailable({
368
+ _ref2 = rulesModule.isDiscountListAvailable({
355
369
  productList: this.store.productList || [],
356
370
  oldDiscountList: this.getDiscountList(),
357
371
  newDiscountList: withScanList
@@ -359,7 +373,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
359
373
  isAvailable: false,
360
374
  productList: this.store.productList || [],
361
375
  discountList: this.getDiscountList()
362
- }, newProductList = _ref3.productList, newDiscountList = _ref3.discountList, isAvailable = _ref3.isAvailable;
376
+ }, newProductList = _ref2.productList, newDiscountList = _ref2.discountList, isAvailable = _ref2.isAvailable;
363
377
  if (!isAvailable) {
364
378
  _context5.next = 21;
365
379
  break;
@@ -546,7 +560,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
546
560
  key: "getCustomerWallet",
547
561
  value: function () {
548
562
  var _getCustomerWallet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(id) {
549
- var result, customer;
563
+ var _result, customer;
550
564
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
551
565
  while (1) switch (_context7.prev = _context7.next) {
552
566
  case 0:
@@ -556,12 +570,12 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
556
570
  with_trashed: 1
557
571
  });
558
572
  case 3:
559
- result = _context7.sent;
560
- if (!(result !== null && result !== void 0 && result.data)) {
573
+ _result = _context7.sent;
574
+ if (!(_result !== null && _result !== void 0 && _result.data)) {
561
575
  _context7.next = 9;
562
576
  break;
563
577
  }
564
- customer = Object.assign({}, (_objectDestructuringEmpty(result.data), result.data));
578
+ customer = Object.assign({}, (_objectDestructuringEmpty(_result.data), _result.data));
565
579
  this.setCustomer(customer);
566
580
  _context7.next = 9;
567
581
  return this.core.effects.emit(ShopDiscountHooks.onScanCustomerChange, customer);
@@ -586,31 +600,32 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
586
600
  }, {
587
601
  key: "bestDiscount",
588
602
  value: function () {
589
- var _bestDiscount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
603
+ var _bestDiscount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(cb) {
590
604
  var _this$store$productLi;
591
- var newDiscountList, result;
605
+ var newDiscountList, _result2;
592
606
  return _regeneratorRuntime().wrap(function _callee8$(_context8) {
593
607
  while (1) switch (_context8.prev = _context8.next) {
594
608
  case 0:
595
609
  newDiscountList = this.store.originalDiscountList;
596
610
  this.setDiscountList(newDiscountList);
597
611
  if (!((_this$store$productLi = this.store.productList) !== null && _this$store$productLi !== void 0 && _this$store$productLi.length)) {
598
- _context8.next = 6;
612
+ _context8.next = 7;
599
613
  break;
600
614
  }
601
- result = this.calcDiscount(this.store.productList);
602
- _context8.next = 6;
603
- return this.core.effects.emit(ShopDiscountHooks.onLoadPrepareCalcResult, result);
604
- case 6:
605
- _context8.next = 8;
615
+ _result2 = this.calcDiscount(this.store.productList);
616
+ cb === null || cb === void 0 || cb(_result2);
617
+ _context8.next = 7;
618
+ return this.core.effects.emit(ShopDiscountHooks.onLoadPrepareCalcResult, _result2);
619
+ case 7:
620
+ _context8.next = 9;
606
621
  return this.core.effects.emit(ShopDiscountHooks.onLoadDiscountList, newDiscountList);
607
- case 8:
622
+ case 9:
608
623
  case "end":
609
624
  return _context8.stop();
610
625
  }
611
626
  }, _callee8, this);
612
627
  }));
613
- function bestDiscount() {
628
+ function bestDiscount(_x8) {
614
629
  return _bestDiscount.apply(this, arguments);
615
630
  }
616
631
  return bestDiscount;
@@ -619,7 +634,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
619
634
  key: "loadPrepareConfig",
620
635
  value: function () {
621
636
  var _loadPrepareConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(params) {
622
- var _this$getCustomer2, _this$store$discount7, _this$getDiscountList, _this$store$productLi2, customerId, goodPassList, scanDiscount, scanDiscountIds, newGoodPassList, newDiscountList, result;
637
+ var _this$getCustomer2, _this$store$discount7, _this$getDiscountList, _this$store$productLi2, customerId, goodPassList, scanDiscount, scanDiscountIds, newGoodPassList, newDiscountList, _result3;
623
638
  return _regeneratorRuntime().wrap(function _callee9$(_context9) {
624
639
  while (1) switch (_context9.prev = _context9.next) {
625
640
  case 0:
@@ -652,9 +667,9 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
652
667
  _context9.next = 15;
653
668
  break;
654
669
  }
655
- result = this.calcDiscount(this.store.productList);
670
+ _result3 = this.calcDiscount(this.store.productList);
656
671
  _context9.next = 15;
657
- return this.core.effects.emit(ShopDiscountHooks.onLoadPrepareCalcResult, result);
672
+ return this.core.effects.emit(ShopDiscountHooks.onLoadPrepareCalcResult, _result3);
658
673
  case 15:
659
674
  _context9.next = 17;
660
675
  return this.core.effects.emit(ShopDiscountHooks.onLoadDiscountList, newDiscountList);
@@ -671,7 +686,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
671
686
  }
672
687
  }, _callee9, this, [[0, 19]]);
673
688
  }));
674
- function loadPrepareConfig(_x8) {
689
+ function loadPrepareConfig(_x9) {
675
690
  return _loadPrepareConfig.apply(this, arguments);
676
691
  }
677
692
  return loadPrepareConfig;
@@ -24,3 +24,11 @@ export interface ShopDiscountState {
24
24
  productList: Record<string, any>[];
25
25
  originalDiscountList: Discount[];
26
26
  }
27
+ export interface SetDiscountSelectedParams {
28
+ discountId: number;
29
+ isSelected: boolean;
30
+ selectedList?: {
31
+ discountId: number;
32
+ isSelected: boolean;
33
+ }[];
34
+ }
@@ -2,6 +2,7 @@ import { Module, PisellCore, ModuleOptions } from '../../types';
2
2
  import { BaseModule } from '../BaseModule';
3
3
  import { Rules, RulesModuleAPI, DiscountResult } from './types';
4
4
  import { Discount } from "../Discount/types";
5
+ import { SetDiscountSelectedParams } from '../../solution/ShopDiscount/types';
5
6
  export declare class RulesModule extends BaseModule implements Module, RulesModuleAPI {
6
7
  protected defaultName: string;
7
8
  protected defaultVersion: string;
@@ -26,6 +27,7 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
26
27
  }, options?: {
27
28
  isSelected?: boolean;
28
29
  discountId?: number;
30
+ selectedList?: SetDiscountSelectedParams[];
29
31
  scan?: boolean;
30
32
  }): DiscountResult;
31
33
  destroy(): Promise<void>;
@@ -212,7 +212,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
212
212
  });
213
213
  console.log(sortedProductList, "sortedProductListsortedProductList");
214
214
  sortedProductList.forEach((originProduct, i) => {
215
- var _a, _b, _c, _d, _e, _f, _g, _h;
215
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
216
216
  const product = this.hooks.getProduct(originProduct);
217
217
  if ((product == null ? void 0 : product.booking_id) && ((_a = product.discount_list) == null ? void 0 : _a.length) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.every((discount) => discount.id && ["good_pass", "discount_card", "product_discount_card"].includes(discount.tag || discount.type)))) {
218
218
  processedProductsMap.set(product._id, [originProduct]);
@@ -247,6 +247,15 @@ var RulesModule = class extends import_BaseModule.BaseModule {
247
247
  }))) {
248
248
  isManualDiscount = false;
249
249
  }
250
+ if ((options == null ? void 0 : options.selectedList) && ((_g = product.discount_list) == null ? void 0 : _g.some((item) => {
251
+ var _a2;
252
+ return (_a2 = options == null ? void 0 : options.selectedList) == null ? void 0 : _a2.some((n) => {
253
+ var _a3;
254
+ return n.discountId === ((_a3 = item.discount) == null ? void 0 : _a3.resource_id);
255
+ });
256
+ }))) {
257
+ isManualDiscount = false;
258
+ }
250
259
  if (applicableDiscounts.length === 0 || isManualDiscount || (0, import_lodash_es.isBoolean)(product.vouchersApplicable) && !product.vouchersApplicable) {
251
260
  if (product.isClient) {
252
261
  processedProductsMap.set(
@@ -307,10 +316,10 @@ var RulesModule = class extends import_BaseModule.BaseModule {
307
316
  usedDiscounts.set(selectedDiscount2.id, true);
308
317
  const appliedProducts = appliedDiscountProducts.get(selectedDiscount2.id) || [];
309
318
  let productOriginTotal = product.origin_total || product.total || 0;
310
- if (((_g = product.discount_list) == null ? void 0 : _g.length) && product.origin_total) {
319
+ if (((_h = product.discount_list) == null ? void 0 : _h.length) && product.origin_total) {
311
320
  productOriginTotal = product.origin_total;
312
321
  }
313
- if (Number(((_h = originProduct == null ? void 0 : originProduct._productInit) == null ? void 0 : _h.original_price) || 0) > 0 && product.origin_total && product.total && product.origin_total !== product.total) {
322
+ if (Number(((_i = originProduct == null ? void 0 : originProduct._productInit) == null ? void 0 : _i.original_price) || 0) > 0 && product.origin_total && product.total && product.origin_total !== product.total) {
314
323
  productOriginTotal = product.total;
315
324
  }
316
325
  const targetProductTotal = selectedDiscount2.tag === "good_pass" ? new import_decimal.default(productOriginTotal).minus(new import_decimal.default(product.price || 0)).toNumber() : new import_decimal.default(100).minus(selectedDiscount2.par_value || 0).div(100).mul(new import_decimal.default(productOriginTotal)).toNumber();
@@ -111,7 +111,7 @@ export declare class BookingTicketImpl extends BaseModule implements Module {
111
111
  * 获取当前的客户搜索条件
112
112
  * @returns 当前搜索条件
113
113
  */
114
- getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "skip" | "num">;
114
+ getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
115
115
  /**
116
116
  * 获取客户列表状态(包含滚动加载相关状态)
117
117
  * @returns 客户状态
@@ -1,6 +1,6 @@
1
1
  import { Module, PisellCore } from '../../types';
2
2
  import { BaseModule } from '../../modules/BaseModule';
3
- import { Customer } from './types';
3
+ import { Customer, SetDiscountSelectedParams } from './types';
4
4
  import { Discount } from '../../modules/Discount/types';
5
5
  export declare class ShopDiscountImpl extends BaseModule implements Module {
6
6
  protected defaultName: string;
@@ -19,17 +19,11 @@ export declare class ShopDiscountImpl extends BaseModule implements Module {
19
19
  private registerDependentModules;
20
20
  private registerEventListeners;
21
21
  setCustomer(customer: Customer): Promise<void>;
22
- calcDiscount(productList: Record<string, any>[], options?: {
23
- discountId: number;
24
- isSelected: boolean;
25
- }): {
22
+ calcDiscount(productList: Record<string, any>[], options?: SetDiscountSelectedParams): {
26
23
  productList: Record<string, any>[];
27
24
  discountList: Discount[];
28
25
  };
29
- setDiscountSelected({ discountId, isSelected, }: {
30
- discountId: number;
31
- isSelected: boolean;
32
- }): {
26
+ setDiscountSelected(params: SetDiscountSelectedParams): {
33
27
  productList: Record<string, any>[];
34
28
  discountList: Discount[];
35
29
  };
@@ -174,27 +174,34 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
174
174
  };
175
175
  }
176
176
  // 设置优惠券使用状态
177
- setDiscountSelected({
178
- discountId,
179
- isSelected
180
- }) {
177
+ setDiscountSelected(params) {
181
178
  const discountList = this.getDiscountList();
179
+ const selectionOperations = [];
180
+ selectionOperations.push({
181
+ discountId: params.discountId,
182
+ isSelected: params.isSelected
183
+ });
184
+ if (params.selectedList && params.selectedList.length > 0) {
185
+ selectionOperations.push(...params.selectedList);
186
+ }
187
+ const selectionMap = /* @__PURE__ */ new Map();
188
+ selectionOperations.forEach((operation) => {
189
+ selectionMap.set(operation.discountId, operation.isSelected);
190
+ });
182
191
  const newDiscountList = discountList.map((discount) => {
183
- if (discount.id === discountId) {
192
+ if (selectionMap.has(discount.id)) {
193
+ const targetIsSelected = selectionMap.get(discount.id);
184
194
  return {
185
195
  ...discount,
186
- isSelected,
196
+ isSelected: targetIsSelected,
187
197
  // 手动设置不使用
188
- isManualSelect: !isSelected
198
+ isManualSelect: !targetIsSelected
189
199
  };
190
200
  }
191
201
  return { ...discount, isManualSelect: !(discount == null ? void 0 : discount.isSelected) };
192
202
  });
193
203
  this.setDiscountList(newDiscountList);
194
- return this.calcDiscount(this.store.productList || [], {
195
- discountId,
196
- isSelected
197
- });
204
+ return this.calcDiscount(this.store.productList || [], params);
198
205
  }
199
206
  setProductList(productList) {
200
207
  this.store.productList = productList;
@@ -390,12 +397,13 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
390
397
  console.error("[ShopDiscount] 获取客户钱包信息出错:", error);
391
398
  }
392
399
  }
393
- async bestDiscount() {
400
+ async bestDiscount(cb) {
394
401
  var _a;
395
402
  const newDiscountList = this.store.originalDiscountList;
396
403
  this.setDiscountList(newDiscountList);
397
404
  if ((_a = this.store.productList) == null ? void 0 : _a.length) {
398
405
  const result = this.calcDiscount(this.store.productList);
406
+ cb == null ? void 0 : cb(result);
399
407
  await this.core.effects.emit(
400
408
  import_types.ShopDiscountHooks.onLoadPrepareCalcResult,
401
409
  result
@@ -24,3 +24,11 @@ export interface ShopDiscountState {
24
24
  productList: Record<string, any>[];
25
25
  originalDiscountList: Discount[];
26
26
  }
27
+ export interface SetDiscountSelectedParams {
28
+ discountId: number;
29
+ isSelected: boolean;
30
+ selectedList?: {
31
+ discountId: number;
32
+ isSelected: boolean;
33
+ }[];
34
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "0.0.239",
4
+ "version": "0.0.241",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",