@pisell/pisellos 0.0.190 → 0.0.192

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.
@@ -23,8 +23,8 @@ function _updateAllCartItemPrice() {
23
23
  _iterator = _createForOfIteratorHelper(cartItems);
24
24
  _context2.prev = 1;
25
25
  _loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() {
26
- var _bundle;
27
- var item, targetProduct, cartProduct, productInfo, bundle;
26
+ var _item$_productOrigin, _bundle;
27
+ var item, targetProduct, cartProduct, productInfo, bundle, _productInfo$variant;
28
28
  return _regeneratorRuntime().wrap(function _loop$(_context) {
29
29
  while (1) switch (_context.prev = _context.next) {
30
30
  case 0:
@@ -40,6 +40,7 @@ function _updateAllCartItemPrice() {
40
40
  bundle = item._bundleOrigin;
41
41
  productInfo.price = targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.price;
42
42
  productInfo.base_price = targetProduct === null || targetProduct === void 0 ? void 0 : targetProduct.base_price;
43
+ productInfo.product_variant_id = (_item$_productOrigin = item._productOrigin) === null || _item$_productOrigin === void 0 ? void 0 : _item$_productOrigin.product_variant_id;
43
44
  bundle = (_bundle = bundle) === null || _bundle === void 0 ? void 0 : _bundle.map(function (n) {
44
45
  var _targetProduct$bundle;
45
46
  // 更新 bundle 的价格
@@ -62,12 +63,29 @@ function _updateAllCartItemPrice() {
62
63
  }
63
64
  return n;
64
65
  });
66
+ // 如果有返回variant,则把对应variant的数据也补充进去
67
+ if (targetProduct !== null && targetProduct !== void 0 && targetProduct.variant) {
68
+ productInfo.variant = (_productInfo$variant = productInfo.variant) === null || _productInfo$variant === void 0 ? void 0 : _productInfo$variant.map(function (n) {
69
+ var _targetProduct$varian;
70
+ var targetVariant = (_targetProduct$varian = targetProduct.variant) === null || _targetProduct$varian === void 0 ? void 0 : _targetProduct$varian.find(function (m) {
71
+ return m.id === n.id;
72
+ });
73
+ if (targetVariant) {
74
+ return _objectSpread(_objectSpread({}, n), {}, {
75
+ price: targetVariant.price,
76
+ base_price: targetVariant.base_price
77
+ });
78
+ }
79
+ return n;
80
+ });
81
+ }
65
82
  updateCart({
66
83
  _id: item._id,
67
84
  product: productInfo,
68
- bundle: bundle
85
+ bundle: bundle,
86
+ options: item._optionsOrigin
69
87
  });
70
- case 11:
88
+ case 13:
71
89
  case "end":
72
90
  return _context.stop();
73
91
  }
@@ -439,7 +439,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
439
439
  productOriginTotal = product.total;
440
440
  }
441
441
  // 如果当前 product 有 discount_list,则必须从 origin_total 拿
442
- if ((_product$discount_lis10 = product.discount_list) !== null && _product$discount_lis10 !== void 0 && _product$discount_lis10.length) {
442
+ if ((_product$discount_lis10 = product.discount_list) !== null && _product$discount_lis10 !== void 0 && _product$discount_lis10.length && product.origin_total) {
443
443
  productOriginTotal = product.origin_total;
444
444
  }
445
445
 
@@ -274,6 +274,7 @@ export var getResourcesByProduct = function getResourcesByProduct(resourcesMap,
274
274
  resourcesMap[d].combined_resource.resource_ids.forEach(function (id) {
275
275
  if (resourcesMap[id]) {
276
276
  combiningResources.push(resourcesMap[id]);
277
+ debugger;
277
278
  childAcc.push(Object.assign({}, resourcesMap[id], {
278
279
  form_id: form_id,
279
280
  resourceType: item.type,
@@ -281,7 +282,9 @@ export var getResourcesByProduct = function getResourcesByProduct(resourcesMap,
281
282
  onlyComputed: true,
282
283
  // 是否是只用来计算用,组合资源里,假设商品只关联了组合资源没关联子资源,需要通过这个计算来在后面从 renderList 里删除这个资源
283
284
  metadata: _objectSpread(_objectSpread({}, resourcesMap[id].metadata), {}, {
284
- combined_resource: resourcesMap[id].combined_resource
285
+ combined_resource: resourcesMap[id].combined_resource,
286
+ form_name: item.title,
287
+ resource_name: resourcesMap[id].main_field
285
288
  })
286
289
  }));
287
290
  }
@@ -292,7 +295,9 @@ export var getResourcesByProduct = function getResourcesByProduct(resourcesMap,
292
295
  resourceType: item.type,
293
296
  children: combiningResources,
294
297
  metadata: _objectSpread(_objectSpread({}, resourcesMap[d].metadata), {}, {
295
- combined_resource: resourcesMap[d].combined_resource
298
+ combined_resource: resourcesMap[d].combined_resource,
299
+ form_name: item.title,
300
+ resource_name: resourcesMap[d].main_field
296
301
  })
297
302
  }));
298
303
  }
@@ -315,7 +320,9 @@ export var getResourcesByProduct = function getResourcesByProduct(resourcesMap,
315
320
  onlyComputed: true,
316
321
  // 是否是只用来计算用,组合资源里,假设商品只关联了组合资源没关联子资源,需要通过这个计算来在后面从 renderList 里删除这个资源
317
322
  metadata: _objectSpread(_objectSpread({}, resourcesMap[id].metadata), {}, {
318
- combined_resource: resourcesMap[id].combined_resource
323
+ combined_resource: resourcesMap[id].combined_resource,
324
+ form_name: item.title,
325
+ resource_name: resourcesMap[id].main_field
319
326
  })
320
327
  }));
321
328
  }
@@ -327,7 +334,9 @@ export var getResourcesByProduct = function getResourcesByProduct(resourcesMap,
327
334
  is_default: 1,
328
335
  children: combiningResources,
329
336
  metadata: _objectSpread(_objectSpread({}, resourcesMap[d].metadata), {}, {
330
- combined_resource: resourcesMap[d].combined_resource
337
+ combined_resource: resourcesMap[d].combined_resource,
338
+ form_name: item.title,
339
+ resource_name: resourcesMap[d].main_field
331
340
  })
332
341
  }));
333
342
  }
@@ -489,6 +489,15 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
489
489
  var newDiscountList = [].concat(editModeDiscountList, _toConsumableArray(discountList.filter(function (item) {
490
490
  return !item.isDisabled;
491
491
  })));
492
+ var isProductFree = function isProductFree(id) {
493
+ var _this3$hooks2;
494
+ var targetProduct = productList.find(function (n) {
495
+ return n.id === id;
496
+ });
497
+ var product = (_this3$hooks2 = _this3.hooks) === null || _this3$hooks2 === void 0 ? void 0 : _this3$hooks2.getProduct(targetProduct);
498
+ // 如果 product.total 是 0有可能是她已经用过商品券或者折扣卡导致的 0,所以此时还需要判断 origin_total 是否为 0
499
+ return Number(product === null || product === void 0 ? void 0 : product.total) === 0 && (Number(product === null || product === void 0 ? void 0 : product.origin_total) === 0 || !(product !== null && product !== void 0 && product.origin_total));
500
+ };
492
501
  var allUsedProductIds = newDiscountList.map(function (n) {
493
502
  var _n$appliedProductDeta;
494
503
  return n.isSelected ? (_n$appliedProductDeta = n.appliedProductDetails) === null || _n$appliedProductDeta === void 0 ? void 0 : _n$appliedProductDeta.map(function (n) {
@@ -498,14 +507,6 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
498
507
  }).flat();
499
508
  newDiscountList.forEach(function (item) {
500
509
  var _item$applicableProdu;
501
- var isProductFree = function isProductFree(id) {
502
- var _this3$hooks2;
503
- var targetProduct = productList.find(function (n) {
504
- return n.id === id;
505
- });
506
- var product = (_this3$hooks2 = _this3.hooks) === null || _this3$hooks2 === void 0 ? void 0 : _this3$hooks2.getProduct(targetProduct);
507
- return Number(product === null || product === void 0 ? void 0 : product.total) === 0;
508
- };
509
510
  var isAllProductUsedOrFree = (_item$applicableProdu = item.applicableProductIds) === null || _item$applicableProdu === void 0 ? void 0 : _item$applicableProdu.every(function (id) {
510
511
  var _item$applicableProdu2;
511
512
  // 检查当前 id是否在 item.applicableProductIds 里出现了几次,且要求次数和 item.applicableProductIds 里出现的次数一致
@@ -34,6 +34,7 @@ __export(changePrice_exports, {
34
34
  module.exports = __toCommonJS(changePrice_exports);
35
35
  var import_decimal = __toESM(require("decimal.js"));
36
36
  async function updateAllCartItemPrice(cartItems, priceData, getProduct, updateCart) {
37
+ var _a, _b;
37
38
  for (const item of cartItems) {
38
39
  const targetProduct = priceData.find((n) => n.id === item.id);
39
40
  const cartProduct = await getProduct(
@@ -43,9 +44,10 @@ async function updateAllCartItemPrice(cartItems, priceData, getProduct, updateCa
43
44
  let bundle = item._bundleOrigin;
44
45
  productInfo.price = targetProduct == null ? void 0 : targetProduct.price;
45
46
  productInfo.base_price = targetProduct == null ? void 0 : targetProduct.base_price;
47
+ productInfo.product_variant_id = (_a = item._productOrigin) == null ? void 0 : _a.product_variant_id;
46
48
  bundle = bundle == null ? void 0 : bundle.map((n) => {
47
- var _a;
48
- const targetBundle = (_a = targetProduct == null ? void 0 : targetProduct.bundle_group) == null ? void 0 : _a.find(
49
+ var _a2;
50
+ const targetBundle = (_a2 = targetProduct == null ? void 0 : targetProduct.bundle_group) == null ? void 0 : _a2.find(
49
51
  (m) => m.id === n.group_id
50
52
  );
51
53
  if (targetBundle) {
@@ -65,10 +67,25 @@ async function updateAllCartItemPrice(cartItems, priceData, getProduct, updateCa
65
67
  }
66
68
  return n;
67
69
  });
70
+ if (targetProduct == null ? void 0 : targetProduct.variant) {
71
+ productInfo.variant = (_b = productInfo.variant) == null ? void 0 : _b.map((n) => {
72
+ var _a2;
73
+ const targetVariant = (_a2 = targetProduct.variant) == null ? void 0 : _a2.find((m) => m.id === n.id);
74
+ if (targetVariant) {
75
+ return {
76
+ ...n,
77
+ price: targetVariant.price,
78
+ base_price: targetVariant.base_price
79
+ };
80
+ }
81
+ return n;
82
+ });
83
+ }
68
84
  updateCart({
69
85
  _id: item._id,
70
86
  product: productInfo,
71
- bundle
87
+ bundle,
88
+ options: item._optionsOrigin
72
89
  });
73
90
  }
74
91
  }
@@ -301,7 +301,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
301
301
  if (Number(((_g = originProduct == null ? void 0 : originProduct._productInit) == null ? void 0 : _g.original_price) || 0) > 0 && product.origin_total && product.total && product.origin_total !== product.total) {
302
302
  productOriginTotal = product.total;
303
303
  }
304
- if ((_h = product.discount_list) == null ? void 0 : _h.length) {
304
+ if (((_h = product.discount_list) == null ? void 0 : _h.length) && product.origin_total) {
305
305
  productOriginTotal = product.origin_total;
306
306
  }
307
307
  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();
@@ -206,6 +206,7 @@ var getResourcesByProduct = (resourcesMap, resources, selectedResources, capacit
206
206
  (id) => {
207
207
  if (resourcesMap[id]) {
208
208
  combiningResources.push(resourcesMap[id]);
209
+ debugger;
209
210
  childAcc.push(
210
211
  Object.assign({}, resourcesMap[id], {
211
212
  form_id,
@@ -215,7 +216,9 @@ var getResourcesByProduct = (resourcesMap, resources, selectedResources, capacit
215
216
  // 是否是只用来计算用,组合资源里,假设商品只关联了组合资源没关联子资源,需要通过这个计算来在后面从 renderList 里删除这个资源
216
217
  metadata: {
217
218
  ...resourcesMap[id].metadata,
218
- combined_resource: resourcesMap[id].combined_resource
219
+ combined_resource: resourcesMap[id].combined_resource,
220
+ form_name: item.title,
221
+ resource_name: resourcesMap[id].main_field
219
222
  }
220
223
  })
221
224
  );
@@ -230,7 +233,9 @@ var getResourcesByProduct = (resourcesMap, resources, selectedResources, capacit
230
233
  children: combiningResources,
231
234
  metadata: {
232
235
  ...resourcesMap[d].metadata,
233
- combined_resource: resourcesMap[d].combined_resource
236
+ combined_resource: resourcesMap[d].combined_resource,
237
+ form_name: item.title,
238
+ resource_name: resourcesMap[d].main_field
234
239
  }
235
240
  })
236
241
  );
@@ -259,7 +264,9 @@ var getResourcesByProduct = (resourcesMap, resources, selectedResources, capacit
259
264
  // 是否是只用来计算用,组合资源里,假设商品只关联了组合资源没关联子资源,需要通过这个计算来在后面从 renderList 里删除这个资源
260
265
  metadata: {
261
266
  ...resourcesMap[id].metadata,
262
- combined_resource: resourcesMap[id].combined_resource
267
+ combined_resource: resourcesMap[id].combined_resource,
268
+ form_name: item.title,
269
+ resource_name: resourcesMap[id].main_field
263
270
  }
264
271
  })
265
272
  );
@@ -275,7 +282,9 @@ var getResourcesByProduct = (resourcesMap, resources, selectedResources, capacit
275
282
  children: combiningResources,
276
283
  metadata: {
277
284
  ...resourcesMap[d].metadata,
278
- combined_resource: resourcesMap[d].combined_resource
285
+ combined_resource: resourcesMap[d].combined_resource,
286
+ form_name: item.title,
287
+ resource_name: resourcesMap[d].main_field
279
288
  }
280
289
  })
281
290
  );
@@ -333,6 +333,12 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
333
333
  ...editModeDiscountList,
334
334
  ...discountList.filter((item) => !item.isDisabled)
335
335
  ];
336
+ const isProductFree = (id) => {
337
+ var _a2;
338
+ const targetProduct = productList.find((n) => n.id === id);
339
+ const product = (_a2 = this.hooks) == null ? void 0 : _a2.getProduct(targetProduct);
340
+ return Number(product == null ? void 0 : product.total) === 0 && (Number(product == null ? void 0 : product.origin_total) === 0 || !(product == null ? void 0 : product.origin_total));
341
+ };
336
342
  const allUsedProductIds = newDiscountList.map((n) => {
337
343
  var _a2;
338
344
  return n.isSelected ? (_a2 = n.appliedProductDetails) == null ? void 0 : _a2.map((n2) => {
@@ -342,12 +348,6 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
342
348
  }).flat();
343
349
  newDiscountList.forEach((item) => {
344
350
  var _a2;
345
- const isProductFree = (id) => {
346
- var _a3;
347
- const targetProduct = productList.find((n) => n.id === id);
348
- const product = (_a3 = this.hooks) == null ? void 0 : _a3.getProduct(targetProduct);
349
- return Number(product == null ? void 0 : product.total) === 0;
350
- };
351
351
  const isAllProductUsedOrFree = (_a2 = item.applicableProductIds) == null ? void 0 : _a2.every((id) => {
352
352
  var _a3;
353
353
  const sameIdTimes = ((_a3 = item.applicableProductIds) == null ? void 0 : _a3.filter((n) => n === id).length) || 1;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "0.0.190",
4
+ "version": "0.0.192",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",