@pisell/pisellos 2.0.17 → 2.0.18

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.
@@ -44,6 +44,7 @@ export interface Discount {
44
44
  balance: string;
45
45
  format_title: Formattitle;
46
46
  product: Product;
47
+ type: "product" | 'good_pass';
47
48
  resource_id?: number;
48
49
  savedAmount?: number;
49
50
  isEditMode?: boolean;
@@ -25,7 +25,8 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
25
25
  productList: any[];
26
26
  }, options?: {
27
27
  isSelected?: boolean;
28
- discountId: number;
28
+ discountId?: number;
29
+ scan?: boolean;
29
30
  }): DiscountResult;
30
31
  destroy(): Promise<void>;
31
32
  clear(): Promise<void>;
@@ -111,6 +111,8 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
111
111
  var result = this.calcDiscount({
112
112
  discountList: mergedDiscountList,
113
113
  productList: _toConsumableArray(productList)
114
+ }, {
115
+ scan: true
114
116
  });
115
117
 
116
118
  // 检查是否有产品使用了新折扣
@@ -214,7 +216,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
214
216
 
215
217
  // 编辑的商品 使用了优惠券不可用
216
218
  var isAvailableProduct = !(product !== null && product !== void 0 && product.booking_id && product !== null && product !== void 0 && (_product$discount_lis = product.discount_list) !== null && _product$discount_lis !== void 0 && _product$discount_lis.length && product !== null && product !== void 0 && (_product$discount_lis2 = product.discount_list) !== null && _product$discount_lis2 !== void 0 && _product$discount_lis2.every(function (discount) {
217
- return discount.id;
219
+ return discount.id && discount.type === 'good_pass';
218
220
  }));
219
221
 
220
222
  // 判断优惠券是否适用于该商品
@@ -244,7 +246,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
244
246
  var _product$discount_lis3, _product$discount_lis4, _product$discount_lis5;
245
247
  var product = _this3.hooks.getProduct(originProduct);
246
248
  if (product !== null && product !== void 0 && product.booking_id && (_product$discount_lis3 = product.discount_list) !== null && _product$discount_lis3 !== void 0 && _product$discount_lis3.length && product !== null && product !== void 0 && (_product$discount_lis4 = product.discount_list) !== null && _product$discount_lis4 !== void 0 && _product$discount_lis4.every(function (discount) {
247
- return discount.id;
249
+ return discount.id && discount.type === 'good_pass';
248
250
  })) {
249
251
  processedProductsMap.set(product._id, originProduct);
250
252
  return;
@@ -308,7 +310,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
308
310
  }
309
311
  return;
310
312
  }
311
- if (applicableDiscounts.length && product.booking_id && typeof selectedDiscount.isManualSelect === 'undefined') {
313
+ if (applicableDiscounts.length && product.booking_id && typeof selectedDiscount.isManualSelect === 'undefined' && !(options !== null && options !== void 0 && options.scan)) {
312
314
  return;
313
315
  }
314
316
 
@@ -366,7 +368,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
366
368
  var product = _this3.hooks.getProduct(originProduct);
367
369
  var getDefaultProduct = function getDefaultProduct() {
368
370
  if (product.isClient) {
369
- _this3.hooks.setProduct(originProduct, {
371
+ return _this3.hooks.setProduct(originProduct, {
370
372
  discount_list: [],
371
373
  price: product.price,
372
374
  origin_total: getProductOriginTotalPrice({
@@ -385,7 +387,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
385
387
  })
386
388
  });
387
389
  } else {
388
- _this3.hooks.setProduct(originProduct, {
390
+ return _this3.hooks.setProduct(originProduct, {
389
391
  discount_list: [],
390
392
  total: product.total,
391
393
  origin_total: product.origin_total,
@@ -434,7 +434,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
434
434
  productList.forEach(function (item) {
435
435
  if (item.booking_id) {
436
436
  (item.discount_list || []).forEach(function (discount) {
437
- if (discount.id) {
437
+ if (discount.id && discount.type === 'good_pass') {
438
438
  var _discount$discount, _discount$discount2, _discount$discount3;
439
439
  editModeDiscountList.push(_objectSpread(_objectSpread({}, discount), {}, {
440
440
  isEditMode: true,
@@ -44,6 +44,7 @@ export interface Discount {
44
44
  balance: string;
45
45
  format_title: Formattitle;
46
46
  product: Product;
47
+ type: "product" | 'good_pass';
47
48
  resource_id?: number;
48
49
  savedAmount?: number;
49
50
  isEditMode?: boolean;
@@ -25,7 +25,8 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
25
25
  productList: any[];
26
26
  }, options?: {
27
27
  isSelected?: boolean;
28
- discountId: number;
28
+ discountId?: number;
29
+ scan?: boolean;
29
30
  }): DiscountResult;
30
31
  destroy(): Promise<void>;
31
32
  clear(): Promise<void>;
@@ -65,6 +65,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
65
65
  const result = this.calcDiscount({
66
66
  discountList: mergedDiscountList,
67
67
  productList: [...productList]
68
+ }, {
69
+ scan: true
68
70
  });
69
71
  let hasApplicableDiscount = false;
70
72
  const newDiscountIds = newDiscountList.map((discount) => discount.id);
@@ -134,7 +136,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
134
136
  var _a, _b, _c;
135
137
  const limitedData = discount == null ? void 0 : discount.limited_relation_product_data;
136
138
  const isLimitedProduct = limitedData.type === "product_all" || limitedData.product_ids && limitedData.product_ids.includes(product.id);
137
- const isAvailableProduct = !((product == null ? void 0 : product.booking_id) && ((_a = product == null ? void 0 : product.discount_list) == null ? void 0 : _a.length) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.every((discount2) => discount2.id)));
139
+ const isAvailableProduct = !((product == null ? void 0 : product.booking_id) && ((_a = product == null ? void 0 : product.discount_list) == null ? void 0 : _a.length) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.every((discount2) => discount2.id && discount2.type === "good_pass")));
138
140
  if (isAvailableProduct && isLimitedProduct) {
139
141
  (_c = discountApplicability.get(discount.id)) == null ? void 0 : _c.push(product.id);
140
142
  const applicableProducts = discountApplicableProducts.get(discount.id) || [];
@@ -154,7 +156,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
154
156
  sortedProductList.forEach((originProduct) => {
155
157
  var _a, _b, _c;
156
158
  const product = this.hooks.getProduct(originProduct);
157
- if ((product == null ? void 0 : product.booking_id) && ((_a = product.discount_list) == null ? void 0 : _a.length) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.every((discount) => discount.id))) {
159
+ if ((product == null ? void 0 : product.booking_id) && ((_a = product.discount_list) == null ? void 0 : _a.length) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.every((discount) => discount.id && discount.type === "good_pass"))) {
158
160
  processedProductsMap.set(product._id, originProduct);
159
161
  return;
160
162
  }
@@ -213,7 +215,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
213
215
  }
214
216
  return;
215
217
  }
216
- if (applicableDiscounts.length && product.booking_id && typeof selectedDiscount.isManualSelect === "undefined") {
218
+ if (applicableDiscounts.length && product.booking_id && typeof selectedDiscount.isManualSelect === "undefined" && !(options == null ? void 0 : options.scan)) {
217
219
  return;
218
220
  }
219
221
  usedDiscounts.set(selectedDiscount.id, true);
@@ -268,7 +270,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
268
270
  const product = this.hooks.getProduct(originProduct);
269
271
  const getDefaultProduct = () => {
270
272
  if (product.isClient) {
271
- this.hooks.setProduct(originProduct, {
273
+ return this.hooks.setProduct(originProduct, {
272
274
  discount_list: [],
273
275
  price: product.price,
274
276
  origin_total: (0, import_utils2.getProductOriginTotalPrice)({
@@ -287,7 +289,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
287
289
  })
288
290
  });
289
291
  } else {
290
- this.hooks.setProduct(originProduct, {
292
+ return this.hooks.setProduct(originProduct, {
291
293
  discount_list: [],
292
294
  total: product.total,
293
295
  origin_total: product.origin_total,
@@ -271,7 +271,7 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
271
271
  if (item.booking_id) {
272
272
  (item.discount_list || []).forEach((discount) => {
273
273
  var _a2, _b, _c;
274
- if (discount.id) {
274
+ if (discount.id && discount.type === "good_pass") {
275
275
  editModeDiscountList.push({
276
276
  ...discount,
277
277
  isEditMode: true,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "2.0.17",
4
+ "version": "2.0.18",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",