@pisell/pisellos 0.0.359 → 0.0.360

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.
@@ -1031,9 +1031,10 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
1031
1031
  return !(item !== null && item !== void 0 && (_item$metadata = item.metadata) !== null && _item$metadata !== void 0 && _item$metadata.custom_product_bundle_map_id);
1032
1032
  });
1033
1033
  if (mainDiscountList && mainDiscountList.length > 0) {
1034
+ var _Decimal$minus$toNumb, _mainProductData$orig;
1034
1035
  var allDiscountAmount = getDiscountListAmountTotal(mainDiscountList);
1035
- newTotalWithDiscount = new Decimal(mainProductData.price || 0).minus(allDiscountAmount).toNumber() || newTotalWithDiscount;
1036
- newOriginTotalWithDiscount = mainProductData.origin_total || newOriginTotalWithDiscount;
1036
+ newTotalWithDiscount = (_Decimal$minus$toNumb = new Decimal(mainProductData.price || 0).minus(allDiscountAmount).toNumber()) !== null && _Decimal$minus$toNumb !== void 0 ? _Decimal$minus$toNumb : newTotalWithDiscount;
1037
+ newOriginTotalWithDiscount = (_mainProductData$orig = mainProductData.origin_total) !== null && _mainProductData$orig !== void 0 ? _mainProductData$orig : newOriginTotalWithDiscount;
1037
1038
  }
1038
1039
 
1039
1040
  // 累加bundle的价格(只累加一次)
@@ -1091,9 +1092,10 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
1091
1092
  return !(item !== null && item !== void 0 && (_item$metadata2 = item.metadata) !== null && _item$metadata2 !== void 0 && _item$metadata2.custom_product_bundle_map_id);
1092
1093
  });
1093
1094
  if (mainDiscountListOriginal && mainDiscountListOriginal.length > 0) {
1095
+ var _Decimal$minus$toNumb2, _mainProductData$orig2;
1094
1096
  var _allDiscountAmount = getDiscountListAmount(mainDiscountListOriginal);
1095
- newTotalOriginal = new Decimal(mainProductData.price || 0).minus(_allDiscountAmount).toNumber() || newTotalOriginal;
1096
- newOriginTotalOriginal = mainProductData.origin_total || newOriginTotalOriginal;
1097
+ newTotalOriginal = (_Decimal$minus$toNumb2 = new Decimal(mainProductData.price || 0).minus(_allDiscountAmount).toNumber()) !== null && _Decimal$minus$toNumb2 !== void 0 ? _Decimal$minus$toNumb2 : newTotalOriginal;
1098
+ newOriginTotalOriginal = (_mainProductData$orig2 = mainProductData.origin_total) !== null && _mainProductData$orig2 !== void 0 ? _mainProductData$orig2 : newOriginTotalOriginal;
1097
1099
  }
1098
1100
 
1099
1101
  // 累加bundle的价格(只累加一次)
@@ -1161,9 +1163,9 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
1161
1163
 
1162
1164
  // 如果是手动折扣,使用原有的total和origin_total,不重新计算
1163
1165
  if (isManualDiscount) {
1164
- var _mainProductData$tota, _mainProductData$orig;
1166
+ var _mainProductData$tota, _mainProductData$orig3;
1165
1167
  newTotal = (_mainProductData$tota = mainProductData.total) !== null && _mainProductData$tota !== void 0 ? _mainProductData$tota : newTotal;
1166
- newOriginTotal = (_mainProductData$orig = mainProductData.origin_total) !== null && _mainProductData$orig !== void 0 ? _mainProductData$orig : newOriginTotal;
1168
+ newOriginTotal = (_mainProductData$orig3 = mainProductData.origin_total) !== null && _mainProductData$orig3 !== void 0 ? _mainProductData$orig3 : newOriginTotal;
1167
1169
  } else {
1168
1170
  // 不是手动折扣时,才重新计算
1169
1171
  var _mainDiscountList = mainProductData.discount_list.filter(function (item) {
@@ -1173,9 +1175,10 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
1173
1175
 
1174
1176
  // 如果主商品本身有折扣,需要重新计算主商品价格
1175
1177
  if (_mainDiscountList && _mainDiscountList.length > 0) {
1178
+ var _Decimal$minus$toNumb3, _mainProductData$orig4;
1176
1179
  var _allDiscountAmount2 = getDiscountListAmount(_mainDiscountList);
1177
- newTotal = new Decimal(mainProductData.price || 0).minus(_allDiscountAmount2).toNumber() || newTotal;
1178
- newOriginTotal = mainProductData.origin_total || newOriginTotal;
1180
+ newTotal = (_Decimal$minus$toNumb3 = new Decimal(mainProductData.price || 0).minus(_allDiscountAmount2).toNumber()) !== null && _Decimal$minus$toNumb3 !== void 0 ? _Decimal$minus$toNumb3 : newTotal;
1181
+ newOriginTotal = (_mainProductData$orig4 = mainProductData.origin_total) !== null && _mainProductData$orig4 !== void 0 ? _mainProductData$orig4 : newOriginTotal;
1179
1182
  }
1180
1183
 
1181
1184
  // 累加bundle的价格(只累加一次)
@@ -1356,8 +1359,34 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
1356
1359
  // 套餐中购买时,判断是否为原价
1357
1360
  var _priceType = (_flatItem$bundleItem7 = flatItem.bundleItem) === null || _flatItem$bundleItem7 === void 0 ? void 0 : _flatItem$bundleItem7.price_type;
1358
1361
  var _priceTypeExt = (_flatItem$bundleItem8 = flatItem.bundleItem) === null || _flatItem$bundleItem8 === void 0 ? void 0 : _flatItem$bundleItem8.price_type_ext;
1362
+
1363
+ // original_price 对应:
1364
+ // 1. price_type: "markup" && price_type_ext: "product_price"
1365
+ // markup_price 对应:
1366
+ // price_type: "markup" && price_type_ext: ""
1367
+ /** 原价 */
1368
+ var _isOriginalPrice = _priceType === 'markup' && _priceTypeExt === 'product_price';
1369
+ /** 加价 */
1370
+ var _isMarkupPrice = _priceType === 'markup' && (_priceTypeExt === '' || !_priceTypeExt);
1371
+
1372
+ // 检查 rules
1373
+ if (rules.length > 0) {
1374
+ // 检查原价
1375
+ if (_isOriginalPrice && rules.includes('original_price')) {
1376
+ return true;
1377
+ }
1378
+
1379
+ // 检查加价
1380
+ if (_isMarkupPrice && rules.includes('markup_price')) {
1381
+ return true;
1382
+ }
1383
+
1384
+ // 如果都不匹配,则不可用
1385
+ return false;
1386
+ }
1387
+
1359
1388
  // 原价包括:price_type: "markup" && price_type_ext: "product_price"
1360
- return _priceType === 'markup' && _priceTypeExt === 'product_price';
1389
+ return _isOriginalPrice;
1361
1390
  }
1362
1391
  return false;
1363
1392
  }
@@ -780,8 +780,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
780
780
  });
781
781
  if (mainDiscountList && mainDiscountList.length > 0) {
782
782
  const allDiscountAmount = (0, import_utils.getDiscountListAmountTotal)(mainDiscountList);
783
- newTotalWithDiscount = new import_decimal.default(mainProductData.price || 0).minus(allDiscountAmount).toNumber() || newTotalWithDiscount;
784
- newOriginTotalWithDiscount = mainProductData.origin_total || newOriginTotalWithDiscount;
783
+ newTotalWithDiscount = new import_decimal.default(mainProductData.price || 0).minus(allDiscountAmount).toNumber() ?? newTotalWithDiscount;
784
+ newOriginTotalWithDiscount = mainProductData.origin_total ?? newOriginTotalWithDiscount;
785
785
  }
786
786
  if (newBundleWithDiscount.length > 0) {
787
787
  newBundleWithDiscount.forEach((item) => {
@@ -830,8 +830,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
830
830
  });
831
831
  if (mainDiscountListOriginal && mainDiscountListOriginal.length > 0) {
832
832
  const allDiscountAmount = (0, import_utils.getDiscountListAmount)(mainDiscountListOriginal);
833
- newTotalOriginal = new import_decimal.default(mainProductData.price || 0).minus(allDiscountAmount).toNumber() || newTotalOriginal;
834
- newOriginTotalOriginal = mainProductData.origin_total || newOriginTotalOriginal;
833
+ newTotalOriginal = new import_decimal.default(mainProductData.price || 0).minus(allDiscountAmount).toNumber() ?? newTotalOriginal;
834
+ newOriginTotalOriginal = mainProductData.origin_total ?? newOriginTotalOriginal;
835
835
  }
836
836
  if (newBundleOriginal.length > 0) {
837
837
  newBundleOriginal.forEach((item) => {
@@ -894,8 +894,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
894
894
  });
895
895
  if (mainDiscountList && mainDiscountList.length > 0) {
896
896
  const allDiscountAmount = (0, import_utils.getDiscountListAmount)(mainDiscountList);
897
- newTotal = new import_decimal.default(mainProductData.price || 0).minus(allDiscountAmount).toNumber() || newTotal;
898
- newOriginTotal = mainProductData.origin_total || newOriginTotal;
897
+ newTotal = new import_decimal.default(mainProductData.price || 0).minus(allDiscountAmount).toNumber() ?? newTotal;
898
+ newOriginTotal = mainProductData.origin_total ?? newOriginTotal;
899
899
  }
900
900
  if (newBundle.length > 0) {
901
901
  newBundle.forEach((item) => {
@@ -1036,7 +1036,18 @@ var RulesModule = class extends import_BaseModule.BaseModule {
1036
1036
  if (isBundleItem) {
1037
1037
  const priceType = (_c = flatItem.bundleItem) == null ? void 0 : _c.price_type;
1038
1038
  const priceTypeExt = (_d = flatItem.bundleItem) == null ? void 0 : _d.price_type_ext;
1039
- return priceType === "markup" && priceTypeExt === "product_price";
1039
+ const isOriginalPrice = priceType === "markup" && priceTypeExt === "product_price";
1040
+ const isMarkupPrice = priceType === "markup" && (priceTypeExt === "" || !priceTypeExt);
1041
+ if (rules.length > 0) {
1042
+ if (isOriginalPrice && rules.includes("original_price")) {
1043
+ return true;
1044
+ }
1045
+ if (isMarkupPrice && rules.includes("markup_price")) {
1046
+ return true;
1047
+ }
1048
+ return false;
1049
+ }
1050
+ return isOriginalPrice;
1040
1051
  }
1041
1052
  return false;
1042
1053
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "0.0.359",
4
+ "version": "0.0.360",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",