@pisell/pisellos 3.0.35 → 3.0.37
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/index.js +20 -34
- package/dist/modules/Cart/utils/cartAccount.d.ts +21 -0
- package/dist/modules/Cart/utils/cartAccount.js +52 -0
- package/dist/modules/Cart/utils/cartDate.d.ts +31 -0
- package/dist/modules/Cart/utils/cartDate.js +55 -0
- package/dist/modules/Cart/utils/cartDiscount.d.ts +19 -0
- package/dist/modules/Cart/utils/cartDiscount.js +35 -0
- package/dist/modules/Cart/utils/cartNote.d.ts +19 -0
- package/dist/modules/Cart/utils/cartNote.js +29 -0
- package/dist/modules/Cart/utils/cartProduct.d.ts +107 -0
- package/dist/modules/Cart/{utils.js → utils/cartProduct.js} +77 -416
- package/dist/modules/Cart/utils/cartRelationForms.d.ts +26 -0
- package/dist/modules/Cart/utils/cartRelationForms.js +29 -0
- package/dist/modules/Cart/utils/cartResource.d.ts +21 -0
- package/dist/modules/Cart/utils/cartResource.js +102 -0
- package/dist/modules/Cart/utils/index.d.ts +34 -0
- package/dist/modules/Cart/utils/index.js +63 -0
- package/dist/modules/Discount/index.js +2 -2
- package/dist/modules/Order/index.js +10 -4
- package/dist/modules/Product/types.d.ts +4 -0
- package/dist/modules/Product/utils.d.ts +17 -0
- package/dist/modules/Product/utils.js +41 -0
- package/dist/solution/BookingByStep/index.d.ts +8 -1
- package/dist/solution/BookingByStep/index.js +212 -78
- package/dist/solution/ShopDiscount/index.js +5 -4
- package/lib/modules/Cart/index.js +16 -24
- package/lib/modules/Cart/utils/cartAccount.d.ts +21 -0
- package/lib/modules/Cart/utils/cartAccount.js +65 -0
- package/lib/modules/Cart/utils/cartDate.d.ts +31 -0
- package/lib/modules/Cart/utils/cartDate.js +75 -0
- package/lib/modules/Cart/utils/cartDiscount.d.ts +19 -0
- package/lib/modules/Cart/utils/cartDiscount.js +52 -0
- package/lib/modules/Cart/utils/cartNote.d.ts +19 -0
- package/lib/modules/Cart/utils/cartNote.js +46 -0
- package/lib/modules/Cart/utils/cartProduct.d.ts +107 -0
- package/lib/modules/Cart/{utils.js → utils/cartProduct.js} +78 -328
- package/lib/modules/Cart/utils/cartRelationForms.d.ts +26 -0
- package/lib/modules/Cart/utils/cartRelationForms.js +48 -0
- package/lib/modules/Cart/utils/cartResource.d.ts +21 -0
- package/lib/modules/Cart/utils/cartResource.js +124 -0
- package/lib/modules/Cart/utils/index.d.ts +34 -0
- package/lib/modules/Cart/utils/index.js +91 -0
- package/lib/modules/Discount/index.js +3 -7
- package/lib/modules/Order/index.js +7 -3
- package/lib/modules/Product/types.d.ts +4 -0
- package/lib/modules/Product/utils.d.ts +17 -0
- package/lib/modules/Product/utils.js +46 -0
- package/lib/solution/BookingByStep/index.d.ts +8 -1
- package/lib/solution/BookingByStep/index.js +117 -47
- package/lib/solution/ShopDiscount/index.js +5 -9
- package/package.json +3 -3
- package/dist/modules/Cart/utils.d.ts +0 -257
- package/lib/modules/Cart/utils.d.ts +0 -257
|
@@ -23,7 +23,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
23
23
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
24
24
|
import { BaseModule } from "../BaseModule";
|
|
25
25
|
import { ECartItemCheckType, ECartItemInfoType } from "./types";
|
|
26
|
-
import { createCartItemOrigin, deleteHolderFromCartItem, deleteRelationFormsFromCartItem, deleteResourceFromCartItem, deleteTimeFromCartItem, formatAccountToCartItem, formatDateToCartItem, formatDiscountToCartItem, formatNoteToCartItem, formatProductToCartItem, formatRelationFormsToCartItem, formatResourceToCartItem, getUniqueId } from "./utils";
|
|
26
|
+
import { createCartItemOrigin, deleteHolderFromCartItem, deleteRelationFormsFromCartItem, deleteResourceFromCartItem, deleteTimeFromCartItem, formatAccountToCartItem, formatDateToCartItem, formatDiscountToCartItem, formatNoteToCartItem, formatProductToCartItem, formatRelationFormsToCartItem, formatResourceToCartItem, getUniqueId, handleVariantProduct } from "./utils";
|
|
27
27
|
import { cloneDeep } from 'lodash-es';
|
|
28
28
|
export * from "./types";
|
|
29
29
|
|
|
@@ -112,38 +112,28 @@ export var CartModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
112
112
|
key: "addItem",
|
|
113
113
|
value: (function () {
|
|
114
114
|
var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
|
|
115
|
-
var account, product, bundle, options, date, cartItem,
|
|
115
|
+
var account, product, bundle, options, date, _params$quantity, quantity, cartItem, newProduct, items;
|
|
116
116
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
117
117
|
while (1) switch (_context2.prev = _context2.next) {
|
|
118
118
|
case 0:
|
|
119
|
-
account = params.account, product = params.product, bundle = params.bundle, options = params.options, date = params.date; // 生成一个唯一的 ID
|
|
119
|
+
account = params.account, product = params.product, bundle = params.bundle, options = params.options, date = params.date, _params$quantity = params.quantity, quantity = _params$quantity === void 0 ? 1 : _params$quantity; // 生成一个唯一的 ID
|
|
120
120
|
cartItem = {
|
|
121
121
|
_id: getUniqueId(),
|
|
122
122
|
_origin: createCartItemOrigin()
|
|
123
123
|
};
|
|
124
124
|
if (product) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
targetVariant = product.variant.find(function (n) {
|
|
129
|
-
return n.id === product.product_variant_id;
|
|
130
|
-
});
|
|
131
|
-
if (targetVariant) {
|
|
132
|
-
product.price = targetVariant.price;
|
|
133
|
-
product.original_price = targetVariant.original_price;
|
|
134
|
-
product.is_charge_tax = targetVariant.is_charge_tax;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
cartItem._productOrigin = cloneDeep(product);
|
|
138
|
-
cartItem._productInit = cloneDeep(product);
|
|
125
|
+
newProduct = handleVariantProduct(product);
|
|
126
|
+
cartItem._productOrigin = cloneDeep(newProduct);
|
|
127
|
+
cartItem._productInit = cloneDeep(newProduct);
|
|
139
128
|
cartItem._bundleOrigin = cloneDeep(bundle);
|
|
140
129
|
cartItem._optionsOrigin = cloneDeep(options);
|
|
141
130
|
cartItem = formatProductToCartItem({
|
|
142
131
|
cartItem: cartItem,
|
|
143
|
-
product:
|
|
132
|
+
product: newProduct,
|
|
144
133
|
bundle: bundle,
|
|
145
134
|
options: options,
|
|
146
|
-
product_variant_id:
|
|
135
|
+
product_variant_id: newProduct.product_variant_id,
|
|
136
|
+
quantity: quantity
|
|
147
137
|
});
|
|
148
138
|
}
|
|
149
139
|
if (account) {
|
|
@@ -226,6 +216,7 @@ export var CartModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
226
216
|
}, {
|
|
227
217
|
key: "formatCartItem",
|
|
228
218
|
value: function formatCartItem(params) {
|
|
219
|
+
var _tempCartItem;
|
|
229
220
|
var _id = params._id,
|
|
230
221
|
cartItem = params.cartItem,
|
|
231
222
|
account = params.account,
|
|
@@ -237,9 +228,14 @@ export var CartModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
237
228
|
note = params.note,
|
|
238
229
|
date = params.date,
|
|
239
230
|
relationForms = params.relationForms;
|
|
231
|
+
var quantity = params.quantity;
|
|
240
232
|
var tempCartItem = this.store.list.find(function (i) {
|
|
241
233
|
return i._id === _id;
|
|
242
234
|
});
|
|
235
|
+
if (!quantity && (_tempCartItem = tempCartItem) !== null && _tempCartItem !== void 0 && _tempCartItem.num) {
|
|
236
|
+
var _tempCartItem2;
|
|
237
|
+
quantity = ((_tempCartItem2 = tempCartItem) === null || _tempCartItem2 === void 0 ? void 0 : _tempCartItem2.num) || 1;
|
|
238
|
+
}
|
|
243
239
|
if (!tempCartItem) {
|
|
244
240
|
throw new Error('[CartModule] 格式化数据到购物车失败,商品不存在');
|
|
245
241
|
}
|
|
@@ -247,27 +243,17 @@ export var CartModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
247
243
|
tempCartItem = cartItem;
|
|
248
244
|
}
|
|
249
245
|
if (product) {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
// 还需要判断 能从 variant 里找到对应的组合规格信息,才可以替换
|
|
253
|
-
var targetVariant = product.variant.find(function (n) {
|
|
254
|
-
return n.id === product.product_variant_id;
|
|
255
|
-
});
|
|
256
|
-
if (targetVariant) {
|
|
257
|
-
product.price = targetVariant.price;
|
|
258
|
-
product.original_price = targetVariant.original_price;
|
|
259
|
-
product.is_charge_tax = targetVariant.is_charge_tax;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
tempCartItem._productOrigin = cloneDeep(product);
|
|
246
|
+
var newProduct = handleVariantProduct(product);
|
|
247
|
+
tempCartItem._productOrigin = cloneDeep(newProduct);
|
|
263
248
|
tempCartItem._bundleOrigin = cloneDeep(bundle);
|
|
264
249
|
tempCartItem._optionsOrigin = cloneDeep(options);
|
|
265
250
|
tempCartItem = formatProductToCartItem({
|
|
266
251
|
cartItem: tempCartItem,
|
|
267
|
-
product:
|
|
252
|
+
product: newProduct,
|
|
268
253
|
bundle: bundle,
|
|
269
254
|
options: options,
|
|
270
|
-
product_variant_id:
|
|
255
|
+
product_variant_id: newProduct.product_variant_id,
|
|
256
|
+
quantity: quantity
|
|
271
257
|
});
|
|
272
258
|
}
|
|
273
259
|
if (discounts) {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Account } from '../../Account/types';
|
|
2
|
+
import { CartItem } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* 格式化账户到购物车
|
|
5
|
+
* @param account 账户
|
|
6
|
+
* @returns 格式化后的账户
|
|
7
|
+
*/
|
|
8
|
+
export declare const formatAccountToCartItem: (params: {
|
|
9
|
+
cartItem: CartItem;
|
|
10
|
+
account: Account;
|
|
11
|
+
}) => CartItem;
|
|
12
|
+
export declare const formatAccountToCartItemOrigin: (params: {
|
|
13
|
+
cartItem: CartItem;
|
|
14
|
+
account: Account;
|
|
15
|
+
}) => any;
|
|
16
|
+
/**
|
|
17
|
+
* 从购物车中删除账户信息
|
|
18
|
+
* @param cartItem 购物车
|
|
19
|
+
* @returns 删除后的购物车
|
|
20
|
+
*/
|
|
21
|
+
export declare const deleteHolderFromCartItem: (cartItem: CartItem) => CartItem;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 格式化账户到购物车
|
|
3
|
+
* @param account 账户
|
|
4
|
+
* @returns 格式化后的账户
|
|
5
|
+
*/
|
|
6
|
+
export var formatAccountToCartItem = function formatAccountToCartItem(params) {
|
|
7
|
+
var cartItem = params.cartItem,
|
|
8
|
+
account = params.account;
|
|
9
|
+
if (account) {
|
|
10
|
+
cartItem.holder_id = account.id;
|
|
11
|
+
cartItem.holder_title = account.username;
|
|
12
|
+
}
|
|
13
|
+
var oringin = formatAccountToCartItemOrigin(params);
|
|
14
|
+
cartItem._origin = oringin;
|
|
15
|
+
return cartItem;
|
|
16
|
+
};
|
|
17
|
+
export var formatAccountToCartItemOrigin = function formatAccountToCartItemOrigin(params) {
|
|
18
|
+
var cartItem = params.cartItem,
|
|
19
|
+
account = params.account;
|
|
20
|
+
var origin = cartItem._origin;
|
|
21
|
+
if (account) {
|
|
22
|
+
if ((account === null || account === void 0 ? void 0 : account.type) === 'holder') {
|
|
23
|
+
var _ref = (account === null || account === void 0 ? void 0 : account._origin) || {},
|
|
24
|
+
customer_id = _ref.customer_id,
|
|
25
|
+
form_id = _ref.form_id,
|
|
26
|
+
form_record_id = _ref.form_record_id;
|
|
27
|
+
origin.holder = {
|
|
28
|
+
customer_id: customer_id,
|
|
29
|
+
form_id: form_id,
|
|
30
|
+
form_record: form_record_id ? [form_record_id] : null
|
|
31
|
+
};
|
|
32
|
+
} else {
|
|
33
|
+
origin.metadata.account = account;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return origin;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* 从购物车中删除账户信息
|
|
41
|
+
* @param cartItem 购物车
|
|
42
|
+
* @returns 删除后的购物车
|
|
43
|
+
*/
|
|
44
|
+
export var deleteHolderFromCartItem = function deleteHolderFromCartItem(cartItem) {
|
|
45
|
+
// 删除UI层的数据
|
|
46
|
+
cartItem.holder_id = undefined;
|
|
47
|
+
cartItem.holder_title = undefined;
|
|
48
|
+
|
|
49
|
+
// 删除原始数据
|
|
50
|
+
cartItem._origin.holder = null;
|
|
51
|
+
return cartItem;
|
|
52
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CartItem } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* 格式化日期到购物车
|
|
4
|
+
* @param date 开始时间和结束时间
|
|
5
|
+
* @returns 格式化后的日期
|
|
6
|
+
*/
|
|
7
|
+
export declare const formatDateToCartItem: (params: {
|
|
8
|
+
cartItem: CartItem;
|
|
9
|
+
date: {
|
|
10
|
+
startTime: string;
|
|
11
|
+
endTime: string;
|
|
12
|
+
};
|
|
13
|
+
}) => CartItem;
|
|
14
|
+
/**
|
|
15
|
+
* 格式化日期到购物车原始数据
|
|
16
|
+
* @param date 开始时间和结束时间
|
|
17
|
+
* @returns 格式化后的日期原始数据
|
|
18
|
+
*/
|
|
19
|
+
export declare const formatDateToCartItemOrigin: (params: {
|
|
20
|
+
cartItem: CartItem;
|
|
21
|
+
date: {
|
|
22
|
+
startTime: string;
|
|
23
|
+
endTime: string;
|
|
24
|
+
};
|
|
25
|
+
}) => any;
|
|
26
|
+
/**
|
|
27
|
+
* 从购物车中删除时间
|
|
28
|
+
* @param cartItem 购物车
|
|
29
|
+
* @returns 删除后的购物车
|
|
30
|
+
*/
|
|
31
|
+
export declare const deleteTimeFromCartItem: (cartItem: CartItem) => CartItem;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
/**
|
|
3
|
+
* 格式化日期到购物车
|
|
4
|
+
* @param date 开始时间和结束时间
|
|
5
|
+
* @returns 格式化后的日期
|
|
6
|
+
*/
|
|
7
|
+
export var formatDateToCartItem = function formatDateToCartItem(params) {
|
|
8
|
+
var cartItem = params.cartItem,
|
|
9
|
+
date = params.date;
|
|
10
|
+
cartItem.start_date = dayjs(date.startTime).format('YYYY-MM-DD');
|
|
11
|
+
cartItem.start_time = dayjs(date.startTime).format('HH:mm');
|
|
12
|
+
cartItem.end_date = dayjs(date.endTime).format('YYYY-MM-DD');
|
|
13
|
+
cartItem.end_time = dayjs(date.endTime).format('HH:mm');
|
|
14
|
+
var oringin = formatDateToCartItemOrigin(params);
|
|
15
|
+
cartItem._origin = oringin;
|
|
16
|
+
return cartItem;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 格式化日期到购物车原始数据
|
|
21
|
+
* @param date 开始时间和结束时间
|
|
22
|
+
* @returns 格式化后的日期原始数据
|
|
23
|
+
*/
|
|
24
|
+
export var formatDateToCartItemOrigin = function formatDateToCartItemOrigin(params) {
|
|
25
|
+
var cartItem = params.cartItem,
|
|
26
|
+
date = params.date;
|
|
27
|
+
var origin = cartItem._origin;
|
|
28
|
+
origin.select_date = dayjs(date.startTime).format('YYYY-MM-DD');
|
|
29
|
+
origin.start_date = dayjs(date.startTime).format('YYYY-MM-DD');
|
|
30
|
+
origin.start_time = dayjs(date.startTime).format('HH:mm');
|
|
31
|
+
origin.end_date = dayjs(date.endTime).format('YYYY-MM-DD');
|
|
32
|
+
origin.end_time = dayjs(date.endTime).format('HH:mm');
|
|
33
|
+
return origin;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* 从购物车中删除时间
|
|
38
|
+
* @param cartItem 购物车
|
|
39
|
+
* @returns 删除后的购物车
|
|
40
|
+
*/
|
|
41
|
+
export var deleteTimeFromCartItem = function deleteTimeFromCartItem(cartItem) {
|
|
42
|
+
// 删除UI层的数据
|
|
43
|
+
cartItem.start_date = undefined;
|
|
44
|
+
cartItem.start_time = undefined;
|
|
45
|
+
cartItem.end_date = undefined;
|
|
46
|
+
cartItem.end_time = undefined;
|
|
47
|
+
|
|
48
|
+
// 删除原始数据
|
|
49
|
+
cartItem._origin.select_date = null;
|
|
50
|
+
cartItem._origin.start_date = null;
|
|
51
|
+
cartItem._origin.start_time = null;
|
|
52
|
+
cartItem._origin.end_date = null;
|
|
53
|
+
cartItem._origin.end_time = null;
|
|
54
|
+
return cartItem;
|
|
55
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CartItem, IDiscount } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* 格式化折扣到购物车
|
|
4
|
+
* @param params 参数
|
|
5
|
+
* @returns 格式化后的购物车
|
|
6
|
+
*/
|
|
7
|
+
export declare const formatDiscountToCartItem: (params: {
|
|
8
|
+
cartItem: CartItem;
|
|
9
|
+
discounts: IDiscount[];
|
|
10
|
+
}) => CartItem;
|
|
11
|
+
/**
|
|
12
|
+
* 格式化折扣到购物车原始数据
|
|
13
|
+
* @param params 参数
|
|
14
|
+
* @returns 格式化后的购物车原始数据
|
|
15
|
+
*/
|
|
16
|
+
export declare const formatDiscountToCartItemOrigin: (params: {
|
|
17
|
+
cartItem: CartItem;
|
|
18
|
+
discounts: IDiscount[];
|
|
19
|
+
}) => any;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 格式化折扣到购物车
|
|
3
|
+
* @param params 参数
|
|
4
|
+
* @returns 格式化后的购物车
|
|
5
|
+
*/
|
|
6
|
+
export var formatDiscountToCartItem = function formatDiscountToCartItem(params) {
|
|
7
|
+
var cartItem = params.cartItem;
|
|
8
|
+
var oringin = formatDiscountToCartItemOrigin(params);
|
|
9
|
+
cartItem._origin = oringin;
|
|
10
|
+
return cartItem;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 格式化折扣到购物车原始数据
|
|
15
|
+
* @param params 参数
|
|
16
|
+
* @returns 格式化后的购物车原始数据
|
|
17
|
+
*/
|
|
18
|
+
export var formatDiscountToCartItemOrigin = function formatDiscountToCartItemOrigin(params) {
|
|
19
|
+
var cartItem = params.cartItem,
|
|
20
|
+
discounts = params.discounts;
|
|
21
|
+
var origin = cartItem._origin;
|
|
22
|
+
if (discounts && discounts !== null && discounts !== void 0 && discounts.length) {
|
|
23
|
+
if (!origin.product) {
|
|
24
|
+
origin.product = {};
|
|
25
|
+
}
|
|
26
|
+
origin.product.discount_list = discounts;
|
|
27
|
+
} else {
|
|
28
|
+
// 如果折扣为空,则清空折扣列表
|
|
29
|
+
if (!origin.product) {
|
|
30
|
+
origin.product = {};
|
|
31
|
+
}
|
|
32
|
+
origin.product.discount_list = [];
|
|
33
|
+
}
|
|
34
|
+
return origin;
|
|
35
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CartItem } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* 格式化备注到购物车
|
|
4
|
+
* @param params 参数
|
|
5
|
+
* @returns 格式化后的购物车
|
|
6
|
+
*/
|
|
7
|
+
export declare const formatNoteToCartItem: (params: {
|
|
8
|
+
cartItem: CartItem;
|
|
9
|
+
note: string;
|
|
10
|
+
}) => CartItem;
|
|
11
|
+
/**
|
|
12
|
+
* 格式化备注到购物车原始数据
|
|
13
|
+
* @param params 参数
|
|
14
|
+
* @returns 格式化后的购物车原始数据
|
|
15
|
+
*/
|
|
16
|
+
export declare const formatNoteToCartItemOrigin: (params: {
|
|
17
|
+
cartItem: CartItem;
|
|
18
|
+
note: string;
|
|
19
|
+
}) => any;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 格式化备注到购物车
|
|
3
|
+
* @param params 参数
|
|
4
|
+
* @returns 格式化后的购物车
|
|
5
|
+
*/
|
|
6
|
+
export var formatNoteToCartItem = function formatNoteToCartItem(params) {
|
|
7
|
+
var cartItem = params.cartItem,
|
|
8
|
+
note = params.note;
|
|
9
|
+
cartItem.note = note;
|
|
10
|
+
var oringin = formatNoteToCartItemOrigin(params);
|
|
11
|
+
cartItem._origin = oringin;
|
|
12
|
+
return cartItem;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 格式化备注到购物车原始数据
|
|
17
|
+
* @param params 参数
|
|
18
|
+
* @returns 格式化后的购物车原始数据
|
|
19
|
+
*/
|
|
20
|
+
export var formatNoteToCartItemOrigin = function formatNoteToCartItemOrigin(params) {
|
|
21
|
+
var cartItem = params.cartItem,
|
|
22
|
+
note = params.note;
|
|
23
|
+
var origin = cartItem._origin;
|
|
24
|
+
if (!origin.product) {
|
|
25
|
+
origin.product = {};
|
|
26
|
+
}
|
|
27
|
+
origin.product.note = note;
|
|
28
|
+
return origin;
|
|
29
|
+
};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import Decimal from 'decimal.js';
|
|
2
|
+
import { ProductData } from '../../Product/types';
|
|
3
|
+
import { CartItem } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* @title 处理组合商品
|
|
6
|
+
* @description 组合商品需要直接修改 product 里的价格和 is_charge_tax
|
|
7
|
+
* @param product 商品
|
|
8
|
+
* @returns 处理后的商品
|
|
9
|
+
*/
|
|
10
|
+
export declare const handleVariantProduct: (product: ProductData) => ProductData;
|
|
11
|
+
/**
|
|
12
|
+
* 格式化商品到购物车
|
|
13
|
+
* @param product 商品
|
|
14
|
+
* @returns 格式化后的商品
|
|
15
|
+
*/
|
|
16
|
+
export declare const formatProductToCartItem: (params: {
|
|
17
|
+
cartItem: CartItem;
|
|
18
|
+
product: ProductData;
|
|
19
|
+
bundle?: any;
|
|
20
|
+
options?: any;
|
|
21
|
+
product_variant_id?: number;
|
|
22
|
+
quantity?: number;
|
|
23
|
+
}) => CartItem;
|
|
24
|
+
export declare const formatProductToCartItemOrigin: (params: {
|
|
25
|
+
cartItem: CartItem;
|
|
26
|
+
product: ProductData;
|
|
27
|
+
bundle?: any;
|
|
28
|
+
options?: any;
|
|
29
|
+
product_variant_id?: number;
|
|
30
|
+
quantity?: number;
|
|
31
|
+
}) => any;
|
|
32
|
+
/**
|
|
33
|
+
* 获取商品总价
|
|
34
|
+
* @description 当前总价计算基于商品数量为1
|
|
35
|
+
* @param item 商品
|
|
36
|
+
* @returns 商品总价
|
|
37
|
+
*/
|
|
38
|
+
export declare const getProductTotalPrice: (params: {
|
|
39
|
+
product: ProductData;
|
|
40
|
+
bundle?: any;
|
|
41
|
+
options?: any;
|
|
42
|
+
num?: number;
|
|
43
|
+
}) => number;
|
|
44
|
+
/**
|
|
45
|
+
* 获取商品原始总价
|
|
46
|
+
* @description 当前总价计算基于商品数量为1
|
|
47
|
+
* @param item 商品
|
|
48
|
+
* @returns 商品原始总价
|
|
49
|
+
*/
|
|
50
|
+
export declare const getProductOriginTotalPrice: (params: {
|
|
51
|
+
product: ProductData;
|
|
52
|
+
bundle?: any;
|
|
53
|
+
options?: any;
|
|
54
|
+
num?: number;
|
|
55
|
+
}) => number | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* 格式化套餐规格信息
|
|
58
|
+
* @param options 套餐规格信息
|
|
59
|
+
* @returns 格式化后的套餐规格信息
|
|
60
|
+
*/
|
|
61
|
+
export declare const formatOptions: (options: any) => any;
|
|
62
|
+
export declare const formatOptionsToOrigin: (options: any) => any;
|
|
63
|
+
/**
|
|
64
|
+
* 格式化商品套餐信息
|
|
65
|
+
* @param bundle 商品套餐信息
|
|
66
|
+
* @returns 格式化后的商品套餐信息
|
|
67
|
+
*/
|
|
68
|
+
export declare const formatBundle: (bundle: any) => any;
|
|
69
|
+
export declare const formatBundleToOrigin: (bundle: any) => any;
|
|
70
|
+
/**
|
|
71
|
+
* 获取商品定金
|
|
72
|
+
* @description 定金基于商品售价来算,最终乘商品数量
|
|
73
|
+
* 1、如果套餐主商品有定金规则,则定金为:(套餐商品总售价 * 定金百分比 + 定金固定金额)* 商品数量
|
|
74
|
+
* 2、如果套餐主商品没有定金规则,子商品有定金规则,则定金为:(套餐子商品售价 * 套餐子商品定金百分比 + 套餐子商品定金固定金额)* 商品数量,最终将所有子商品定金相加
|
|
75
|
+
* 3、普通商品/单规格商品/组合规则商品,定金规则:(商品总售价 * 定金百分比 + 定金固定金额)* 商品数量
|
|
76
|
+
* @param params 参数
|
|
77
|
+
* @returns 商品定金
|
|
78
|
+
*/
|
|
79
|
+
export declare const getProductDeposit: (params: {
|
|
80
|
+
cartItem: CartItem;
|
|
81
|
+
product: ProductData;
|
|
82
|
+
bundle?: any;
|
|
83
|
+
options?: any;
|
|
84
|
+
num?: number;
|
|
85
|
+
}) => {
|
|
86
|
+
total: number;
|
|
87
|
+
protocols: {
|
|
88
|
+
id: number;
|
|
89
|
+
title: string;
|
|
90
|
+
}[];
|
|
91
|
+
} | null;
|
|
92
|
+
/**
|
|
93
|
+
* 计算商品定金
|
|
94
|
+
* @param params 参数
|
|
95
|
+
* @returns 商品定金
|
|
96
|
+
*/
|
|
97
|
+
export declare const handleProductDeposit: (params: {
|
|
98
|
+
depositData: {
|
|
99
|
+
deposit_fixed?: string;
|
|
100
|
+
deposit_percentage?: string;
|
|
101
|
+
};
|
|
102
|
+
total: string | number;
|
|
103
|
+
num: number;
|
|
104
|
+
}) => {
|
|
105
|
+
result: boolean;
|
|
106
|
+
depositTotal: Decimal;
|
|
107
|
+
};
|