@pisell/pisellos 3.0.43 → 3.0.45
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.
- package/dist/modules/Cart/utils/changePrice.js +22 -4
- package/dist/modules/Rules/index.js +1 -1
- package/dist/solution/BookingByStep/index.js +2 -2
- package/dist/solution/ShopDiscount/index.js +9 -8
- package/lib/modules/Cart/utils/changePrice.js +20 -3
- package/lib/modules/Rules/index.js +1 -1
- package/lib/solution/BookingByStep/index.js +1 -1
- package/lib/solution/ShopDiscount/index.js +6 -6
- package/package.json +1 -1
|
@@ -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
|
|
88
|
+
case 13:
|
|
71
89
|
case "end":
|
|
72
90
|
return _context.stop();
|
|
73
91
|
}
|
|
@@ -441,7 +441,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
441
441
|
productOriginTotal = product.total;
|
|
442
442
|
}
|
|
443
443
|
// 如果当前 product 有 discount_list,则必须从 origin_total 拿
|
|
444
|
-
if ((_product$discount_lis10 = product.discount_list) !== null && _product$discount_lis10 !== void 0 && _product$discount_lis10.length) {
|
|
444
|
+
if ((_product$discount_lis10 = product.discount_list) !== null && _product$discount_lis10 !== void 0 && _product$discount_lis10.length && product.origin_total) {
|
|
445
445
|
productOriginTotal = product.origin_total;
|
|
446
446
|
}
|
|
447
447
|
|
|
@@ -2167,12 +2167,12 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2167
2167
|
value: 10
|
|
2168
2168
|
};
|
|
2169
2169
|
resource.startTime = timeSlots.start_at.format('YYYY-MM-DD HH:mm');
|
|
2170
|
-
// 找到resource.times
|
|
2170
|
+
// 找到resource.times里最晚的end_at
|
|
2171
2171
|
var targetResourceTimes = allResources === null || allResources === void 0 || (_allResources$find = allResources.find(function (n) {
|
|
2172
2172
|
return n.id === resource.id;
|
|
2173
2173
|
})) === null || _allResources$find === void 0 ? void 0 : _allResources$find.times;
|
|
2174
2174
|
var resourcesEndTime = targetResourceTimes.reduce(function (acc, curr) {
|
|
2175
|
-
return dayjs(curr.end_at).
|
|
2175
|
+
return dayjs(curr.end_at).isAfter(dayjs(acc.end_at)) ? curr : acc;
|
|
2176
2176
|
}, targetResourceTimes[0]);
|
|
2177
2177
|
|
|
2178
2178
|
// 将 operating_day_boundary 转换为与 resourcesEndTime.end_at 相同日期的完整日期时间
|
|
@@ -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
|
|
48
|
-
const targetBundle = (
|
|
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();
|
|
@@ -1503,7 +1503,7 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
1503
1503
|
)) == null ? void 0 : _c.times;
|
|
1504
1504
|
const resourcesEndTime = targetResourceTimes.reduce(
|
|
1505
1505
|
(acc, curr) => {
|
|
1506
|
-
return (0, import_dayjs.default)(curr.end_at).
|
|
1506
|
+
return (0, import_dayjs.default)(curr.end_at).isAfter((0, import_dayjs.default)(acc.end_at)) ? curr : acc;
|
|
1507
1507
|
},
|
|
1508
1508
|
targetResourceTimes[0]
|
|
1509
1509
|
);
|
|
@@ -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;
|