@pisell/pisellos 3.0.45 → 3.0.46

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.
@@ -319,7 +319,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
319
319
 
320
320
  // 然后再处理应用哪些优惠券,此时只考虑filteredDiscountList中的优惠券
321
321
  sortedProductList.forEach(function (originProduct, i) {
322
- var _product$discount_lis4, _product$discount_lis5, _product$discount_lis6, _product$discount_lis7, _product$discount_lis8, _product$discount_lis9;
322
+ var _product$discount_lis4, _product$discount_lis5, _product$discount_lis7, _product$discount_lis8, _product$discount_lis9, _product$discount_lis10;
323
323
  var product = _this3.hooks.getProduct(originProduct);
324
324
  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) {
325
325
  return discount.id && ['good_pass', 'discount_card', 'product_discount_card'].includes(discount.tag || discount.type);
@@ -330,11 +330,15 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
330
330
 
331
331
  // 找到适用于此商品的所有优惠券,仅考虑isSelected不为false的优惠券
332
332
  var applicableDiscounts = sortedDiscountList.filter(function (discount) {
333
+ var _product$discount_lis6;
333
334
  // 如果商品价格为 0,其实不需要使用任何优惠券,直接 return true
334
335
  // 商品券时主商品价格为0不可用
335
336
  if ((Number(product.price) === 0 || !product.price) && (discount.tag || discount.type) === 'good_pass') return false;
336
337
  // 折扣卡时总价为0时不可用
337
- if ((Number(product.total) === 0 || !product.total) && (discount.tag || discount.type) !== 'good_pass') return false;
338
+ if ((Number(product.total) === 0 || !product.total) && !((_product$discount_lis6 = product.discount_list) !== null && _product$discount_lis6 !== void 0 && _product$discount_lis6.find(function (n) {
339
+ var _n$discount;
340
+ return ((_n$discount = n.discount) === null || _n$discount === void 0 ? void 0 : _n$discount.resource_id) === discount.id;
341
+ })) && (discount.tag || discount.type) !== 'good_pass') return false;
338
342
  // 如果优惠券已被使用,则跳过
339
343
  var targetUsedDiscounts = usedDiscounts.get(discount.id);
340
344
  if (targetUsedDiscounts && (discount.tag || discount.type) === 'good_pass') return false;
@@ -358,12 +362,12 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
358
362
  var selectedDiscount = selectedDiscountCard || applicableDiscounts[0];
359
363
 
360
364
  // 如果是手动折扣,则不适用优惠券
361
- var isManualDiscount = typeof product.isManualDiscount === 'boolean' ? product.isManualDiscount : product.total != product.origin_total && (!((_product$discount_lis6 = product.discount_list) !== null && _product$discount_lis6 !== void 0 && _product$discount_lis6.length) || (product === null || product === void 0 || (_product$discount_lis7 = product.discount_list) === null || _product$discount_lis7 === void 0 || (_product$discount_lis8 = _product$discount_lis7.every) === null || _product$discount_lis8 === void 0 ? void 0 : _product$discount_lis8.call(_product$discount_lis7, function (item) {
365
+ var isManualDiscount = typeof product.isManualDiscount === 'boolean' ? product.isManualDiscount : product.total != product.origin_total && (!((_product$discount_lis7 = product.discount_list) !== null && _product$discount_lis7 !== void 0 && _product$discount_lis7.length) || (product === null || product === void 0 || (_product$discount_lis8 = product.discount_list) === null || _product$discount_lis8 === void 0 || (_product$discount_lis9 = _product$discount_lis8.every) === null || _product$discount_lis9 === void 0 ? void 0 : _product$discount_lis9.call(_product$discount_lis8, function (item) {
362
366
  return item.type === 'product';
363
367
  })));
364
368
 
365
369
  // 勾选时覆盖手动折扣
366
- if (options !== null && options !== void 0 && options.discountId && (_product$discount_lis9 = product.discount_list) !== null && _product$discount_lis9 !== void 0 && _product$discount_lis9.some(function (item) {
370
+ if (options !== null && options !== void 0 && options.discountId && (_product$discount_lis10 = product.discount_list) !== null && _product$discount_lis10 !== void 0 && _product$discount_lis10.some(function (item) {
367
371
  var _item$discount;
368
372
  return ((_item$discount = item.discount) === null || _item$discount === void 0 ? void 0 : _item$discount.resource_id) === options.discountId;
369
373
  })) {
@@ -425,7 +429,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
425
429
  }));
426
430
  }
427
431
  for (var _i = 0; _i < splitCount; _i++) {
428
- var _originProduct$_produ, _product$discount_lis10;
432
+ var _originProduct$_produ, _product$discount_lis11;
429
433
  // 如果用过折扣卡,也就不存在拆分的情况了,这里直接使用上面计算出来的折扣卡
430
434
  var _selectedDiscount = selectedDiscountCard || applicableDiscounts[_i];
431
435
  // 标记优惠券为已使用
@@ -441,7 +445,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
441
445
  productOriginTotal = product.total;
442
446
  }
443
447
  // 如果当前 product 有 discount_list,则必须从 origin_total 拿
444
- if ((_product$discount_lis10 = product.discount_list) !== null && _product$discount_lis10 !== void 0 && _product$discount_lis10.length && product.origin_total) {
448
+ if ((_product$discount_lis11 = product.discount_list) !== null && _product$discount_lis11 !== void 0 && _product$discount_lis11.length && product.origin_total) {
445
449
  productOriginTotal = product.origin_total;
446
450
  }
447
451
 
@@ -214,9 +214,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
214
214
  return;
215
215
  }
216
216
  const applicableDiscounts = sortedDiscountList.filter((discount) => {
217
+ var _a2;
217
218
  if ((Number(product.price) === 0 || !product.price) && (discount.tag || discount.type) === "good_pass")
218
219
  return false;
219
- if ((Number(product.total) === 0 || !product.total) && (discount.tag || discount.type) !== "good_pass")
220
+ if ((Number(product.total) === 0 || !product.total) && !((_a2 = product.discount_list) == null ? void 0 : _a2.find((n) => {
221
+ var _a3;
222
+ return ((_a3 = n.discount) == null ? void 0 : _a3.resource_id) === discount.id;
223
+ })) && (discount.tag || discount.type) !== "good_pass")
220
224
  return false;
221
225
  const targetUsedDiscounts = usedDiscounts.get(discount.id);
222
226
  if (targetUsedDiscounts && (discount.tag || discount.type) === "good_pass")
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "3.0.45",
4
+ "version": "3.0.46",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",