@pisell/pisellos 0.0.571 → 0.0.572
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/effects/index.d.ts +2 -2
- package/dist/model/strategy/adapter/dataVariant/type.d.ts +3 -3
- package/dist/model/strategy/adapter/itemRule/type.d.ts +6 -6
- package/dist/model/strategy/adapter/promotion/index.d.ts +4 -0
- package/dist/model/strategy/adapter/promotion/type.d.ts +5 -5
- package/dist/model/strategy/adapter/walletPass/evaluator.d.ts +2 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +4 -2
- package/dist/model/strategy/type.d.ts +1 -1
- package/dist/modules/BookingContext/types.d.ts +4 -4
- package/dist/modules/BookingContext/utils/resourceErrors.d.ts +1 -1
- package/dist/modules/Customer/types.d.ts +1 -1
- package/dist/modules/Discount/availability.d.ts +7 -0
- package/dist/modules/Discount/availability.js +52 -0
- package/dist/modules/Discount/entitlementPass.d.ts +34 -0
- package/dist/modules/Discount/entitlementPass.js +147 -0
- package/dist/modules/Discount/entitlementState.d.ts +8 -0
- package/dist/modules/Discount/entitlementState.js +205 -0
- package/dist/modules/Discount/index.d.ts +5 -2
- package/dist/modules/Discount/index.js +124 -25
- package/dist/modules/Discount/types.d.ts +29 -6
- package/dist/modules/Holder/types.d.ts +1 -1
- package/dist/modules/OpenData/types.d.ts +1 -1
- package/dist/modules/Order/types.d.ts +5 -5
- package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +1 -1
- package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +1 -1
- package/dist/modules/Order/utils.d.ts +1 -1
- package/dist/modules/Payment/types.d.ts +7 -7
- package/dist/modules/Product/index.d.ts +1 -1
- package/dist/modules/ResourcePlanner/types.d.ts +4 -4
- package/dist/modules/Rules/entitlementLines.d.ts +8 -0
- package/dist/modules/Rules/entitlementLines.js +159 -0
- package/dist/modules/Rules/index.d.ts +13 -3
- package/dist/modules/Rules/index.js +617 -342
- package/dist/modules/Rules/types.d.ts +4 -4
- package/dist/modules/ScanOrderLogger/types.d.ts +2 -2
- package/dist/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
- package/dist/modules/Schedule/type.d.ts +7 -7
- package/dist/modules/Schedule/types.d.ts +9 -9
- package/dist/plugins/app.d.ts +1 -1
- package/dist/plugins/request.d.ts +2 -2
- package/dist/plugins/window.d.ts +2 -2
- package/dist/server/modules/floor-plan/types.d.ts +1 -1
- package/dist/server/modules/menu/types.d.ts +1 -1
- package/dist/server/modules/order/types.d.ts +16 -16
- package/dist/server/modules/products/types.d.ts +1 -1
- package/dist/server/modules/resource/types.d.ts +1 -1
- package/dist/server/modules/schedule/utils.d.ts +1 -1
- package/dist/server/types.d.ts +4 -4
- package/dist/server/utils/small-ticket.d.ts +1 -1
- package/dist/solution/BaseSales/index.d.ts +1 -1
- package/dist/solution/BaseSales/types.d.ts +7 -7
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +1 -1
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/utils/resources.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +13 -1
- package/dist/solution/BookingTicket/types.d.ts +3 -3
- package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +1 -1
- package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +1 -1
- package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +1 -1
- package/dist/solution/Sales/types.d.ts +4 -4
- package/dist/solution/ScanOrder/types.d.ts +5 -5
- package/dist/solution/ShopDiscount/index.d.ts +3 -0
- package/dist/solution/ShopDiscount/index.js +161 -78
- package/dist/solution/ShopDiscount/types.d.ts +1 -1
- package/dist/solution/ShopDiscount/utils.d.ts +3 -2
- package/dist/solution/ShopDiscount/utils.js +40 -1
- package/dist/solution/UnifiedBookingSales/types.d.ts +1 -1
- package/dist/solution/VenueBooking/types.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/task.d.ts +2 -2
- package/dist/utils/watch.d.ts +2 -2
- package/lib/effects/index.d.ts +2 -2
- package/lib/model/strategy/adapter/dataVariant/type.d.ts +3 -3
- package/lib/model/strategy/adapter/itemRule/type.d.ts +6 -6
- package/lib/model/strategy/adapter/promotion/index.d.ts +4 -0
- package/lib/model/strategy/adapter/promotion/type.d.ts +5 -5
- package/lib/model/strategy/adapter/walletPass/evaluator.d.ts +2 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.js +2 -0
- package/lib/model/strategy/type.d.ts +1 -1
- package/lib/modules/BookingContext/types.d.ts +4 -4
- package/lib/modules/BookingContext/utils/resourceErrors.d.ts +1 -1
- package/lib/modules/Customer/types.d.ts +1 -1
- package/lib/modules/Discount/availability.d.ts +7 -0
- package/lib/modules/Discount/availability.js +46 -0
- package/lib/modules/Discount/entitlementPass.d.ts +34 -0
- package/lib/modules/Discount/entitlementPass.js +141 -0
- package/lib/modules/Discount/entitlementState.d.ts +8 -0
- package/lib/modules/Discount/entitlementState.js +150 -0
- package/lib/modules/Discount/index.d.ts +5 -2
- package/lib/modules/Discount/index.js +59 -14
- package/lib/modules/Discount/types.d.ts +29 -6
- package/lib/modules/Holder/types.d.ts +1 -1
- package/lib/modules/OpenData/types.d.ts +1 -1
- package/lib/modules/Order/types.d.ts +5 -5
- package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +1 -1
- package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +1 -1
- package/lib/modules/Order/utils.d.ts +1 -1
- package/lib/modules/Payment/types.d.ts +7 -7
- package/lib/modules/Product/index.d.ts +1 -1
- package/lib/modules/ResourcePlanner/types.d.ts +4 -4
- package/lib/modules/Rules/entitlementLines.d.ts +8 -0
- package/lib/modules/Rules/entitlementLines.js +128 -0
- package/lib/modules/Rules/index.d.ts +13 -3
- package/lib/modules/Rules/index.js +284 -61
- package/lib/modules/Rules/types.d.ts +4 -4
- package/lib/modules/ScanOrderLogger/types.d.ts +2 -2
- package/lib/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
- package/lib/modules/Schedule/type.d.ts +7 -7
- package/lib/modules/Schedule/types.d.ts +9 -9
- package/lib/plugins/app.d.ts +1 -1
- package/lib/plugins/request.d.ts +2 -2
- package/lib/plugins/window.d.ts +2 -2
- package/lib/server/modules/floor-plan/types.d.ts +1 -1
- package/lib/server/modules/menu/types.d.ts +1 -1
- package/lib/server/modules/order/types.d.ts +16 -16
- package/lib/server/modules/products/types.d.ts +1 -1
- package/lib/server/modules/resource/types.d.ts +1 -1
- package/lib/server/modules/schedule/utils.d.ts +1 -1
- package/lib/server/types.d.ts +4 -4
- package/lib/server/utils/small-ticket.d.ts +1 -1
- package/lib/solution/BaseSales/index.d.ts +1 -1
- package/lib/solution/BaseSales/types.d.ts +7 -7
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +1 -1
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/utils/resources.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +13 -1
- package/lib/solution/BookingTicket/types.d.ts +3 -3
- package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +1 -1
- package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +1 -1
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +1 -1
- package/lib/solution/Sales/types.d.ts +4 -4
- package/lib/solution/ScanOrder/types.d.ts +5 -5
- package/lib/solution/ShopDiscount/index.d.ts +3 -0
- package/lib/solution/ShopDiscount/index.js +55 -18
- package/lib/solution/ShopDiscount/types.d.ts +1 -1
- package/lib/solution/ShopDiscount/utils.d.ts +3 -2
- package/lib/solution/ShopDiscount/utils.js +39 -3
- package/lib/solution/UnifiedBookingSales/types.d.ts +1 -1
- package/lib/solution/VenueBooking/types.d.ts +1 -1
- package/lib/types/index.d.ts +1 -1
- package/lib/utils/task.d.ts +2 -2
- package/lib/utils/watch.d.ts +2 -2
- package/package.json +19 -18
|
@@ -31,6 +31,9 @@ import { filterDiscountListByBookingTime as _filterDiscountListByBookingTime, is
|
|
|
31
31
|
import { UnavailableReason } from "../../modules/Rules/types";
|
|
32
32
|
import Decimal from 'decimal.js';
|
|
33
33
|
import { isBoolean } from 'lodash-es';
|
|
34
|
+
import { isEntitlementPass } from "../../modules/Discount/entitlementPass";
|
|
35
|
+
import { getDiscountLifecycleReason } from "../../modules/Discount/availability";
|
|
36
|
+
import { mergeEntitlementDiscountLists, retainScannedEntitlements, withCommittedEntitlementDetails } from "../../modules/Discount/entitlementState";
|
|
34
37
|
export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
35
38
|
_inherits(ShopDiscountImpl, _BaseModule);
|
|
36
39
|
var _super = _createSuper(ShopDiscountImpl);
|
|
@@ -47,6 +50,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
47
50
|
_defineProperty(_assertThisInitialized(_this), "store", void 0);
|
|
48
51
|
_defineProperty(_assertThisInitialized(_this), "options", {});
|
|
49
52
|
_defineProperty(_assertThisInitialized(_this), "hooks", void 0);
|
|
53
|
+
_defineProperty(_assertThisInitialized(_this), "entitlementPassEnabled", false);
|
|
50
54
|
_this.store = {
|
|
51
55
|
customer: null,
|
|
52
56
|
productList: [],
|
|
@@ -65,6 +69,21 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
65
69
|
|
|
66
70
|
// =========== 生命周期方法 ===========
|
|
67
71
|
_createClass(ShopDiscountImpl, [{
|
|
72
|
+
key: "setEntitlementPassEnabled",
|
|
73
|
+
value:
|
|
74
|
+
// 由使用多次卡的预约组件显式开启,其他入口沿用原券流程。
|
|
75
|
+
function setEntitlementPassEnabled(enabled) {
|
|
76
|
+
var _this$store$rules;
|
|
77
|
+
this.entitlementPassEnabled = enabled;
|
|
78
|
+
(_this$store$rules = this.store.rules) === null || _this$store$rules === void 0 || _this$store$rules.setEntitlementPassEnabled(enabled);
|
|
79
|
+
if (!enabled) {
|
|
80
|
+
var _this$store$discount;
|
|
81
|
+
(_this$store$discount = this.store.discount) === null || _this$store$discount === void 0 || _this$store$discount.setDiscountList(this.getDiscountList().filter(function (item) {
|
|
82
|
+
return !isEntitlementPass(item);
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
68
87
|
key: "initialize",
|
|
69
88
|
value: function () {
|
|
70
89
|
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
|
|
@@ -99,14 +118,14 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
99
118
|
key: "destroy",
|
|
100
119
|
value: function () {
|
|
101
120
|
var _destroy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
102
|
-
var _this$store$
|
|
121
|
+
var _this$store$discount2, _this$store$rules2;
|
|
103
122
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
104
123
|
while (1) switch (_context2.prev = _context2.next) {
|
|
105
124
|
case 0:
|
|
106
125
|
this.store.productList = [];
|
|
107
126
|
this.store.customer = null;
|
|
108
|
-
(_this$store$
|
|
109
|
-
(_this$store$
|
|
127
|
+
(_this$store$discount2 = this.store.discount) === null || _this$store$discount2 === void 0 || _this$store$discount2.destroy();
|
|
128
|
+
(_this$store$rules2 = this.store.rules) === null || _this$store$rules2 === void 0 || _this$store$rules2.destroy();
|
|
110
129
|
this.core.effects.offByModuleDestroy(this.name);
|
|
111
130
|
_context2.next = 7;
|
|
112
131
|
return this.core.effects.emit("".concat(this.name, ":onDestroy"), {});
|
|
@@ -125,14 +144,14 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
125
144
|
key: "clear",
|
|
126
145
|
value: function () {
|
|
127
146
|
var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
128
|
-
var _this$store$
|
|
147
|
+
var _this$store$discount3, _this$store$rules3;
|
|
129
148
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
130
149
|
while (1) switch (_context3.prev = _context3.next) {
|
|
131
150
|
case 0:
|
|
132
151
|
this.store.productList = [];
|
|
133
152
|
this.store.customer = null;
|
|
134
|
-
(_this$store$
|
|
135
|
-
(_this$store$
|
|
153
|
+
(_this$store$discount3 = this.store.discount) === null || _this$store$discount3 === void 0 || _this$store$discount3.clear();
|
|
154
|
+
(_this$store$rules3 = this.store.rules) === null || _this$store$rules3 === void 0 || _this$store$rules3.clear();
|
|
136
155
|
case 4:
|
|
137
156
|
case "end":
|
|
138
157
|
return _context3.stop();
|
|
@@ -196,9 +215,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
196
215
|
var _this2 = this;
|
|
197
216
|
this.core.effects.only("".concat(this.name, ":onCustomerChange"), function (customer) {
|
|
198
217
|
var _this2$options$otherP;
|
|
199
|
-
if ((_this2$options$otherP = _this2.options.otherParams) !== null && _this2$options$otherP !== void 0 && _this2$options$otherP.cacheId && _this2.getDiscountList().length)
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
218
|
+
if (!_this2.entitlementPassEnabled && (_this2$options$otherP = _this2.options.otherParams) !== null && _this2$options$otherP !== void 0 && _this2$options$otherP.cacheId && _this2.getDiscountList().length) return;
|
|
202
219
|
_this2.loadPrepareConfig({
|
|
203
220
|
customerId: customer.id,
|
|
204
221
|
action: 'create',
|
|
@@ -265,17 +282,28 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
265
282
|
value: function () {
|
|
266
283
|
var _setCustomer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(customer) {
|
|
267
284
|
var _this$store$customer;
|
|
285
|
+
var _this$store$discount4, retained;
|
|
268
286
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
269
287
|
while (1) switch (_context4.prev = _context4.next) {
|
|
270
288
|
case 0:
|
|
271
289
|
if (!(((_this$store$customer = this.store.customer) === null || _this$store$customer === void 0 ? void 0 : _this$store$customer.id) !== customer.id)) {
|
|
272
|
-
_context4.next =
|
|
290
|
+
_context4.next = 8;
|
|
273
291
|
break;
|
|
274
292
|
}
|
|
275
293
|
this.store.customer = customer;
|
|
276
|
-
|
|
294
|
+
if (!this.entitlementPassEnabled) {
|
|
295
|
+
_context4.next = 6;
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
298
|
+
retained = this.getDiscountList().filter(function (item) {
|
|
299
|
+
return !isEntitlementPass(item) || item.isEditMode || item.isScan && String(item.customer_id) === String(customer.id);
|
|
300
|
+
});
|
|
301
|
+
_context4.next = 6;
|
|
302
|
+
return (_this$store$discount4 = this.store.discount) === null || _this$store$discount4 === void 0 ? void 0 : _this$store$discount4.setDiscountList(retained);
|
|
303
|
+
case 6:
|
|
304
|
+
_context4.next = 8;
|
|
277
305
|
return this.core.effects.emit("".concat(this.name, ":onCustomerChange"), customer);
|
|
278
|
-
case
|
|
306
|
+
case 8:
|
|
279
307
|
case "end":
|
|
280
308
|
return _context4.stop();
|
|
281
309
|
}
|
|
@@ -334,6 +362,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
334
362
|
},
|
|
335
363
|
newProductList = _ref.productList,
|
|
336
364
|
newDiscountList = _ref.discountList;
|
|
365
|
+
if (this.entitlementPassEnabled) this.store.productList = newProductList || productList;
|
|
337
366
|
if (newDiscountList) {
|
|
338
367
|
newDiscountList = this.setDiscountList(newDiscountList);
|
|
339
368
|
}
|
|
@@ -399,13 +428,13 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
399
428
|
key: "batchSearchByProductIds",
|
|
400
429
|
value: function () {
|
|
401
430
|
var _batchSearchByProductIds = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(productIds) {
|
|
402
|
-
var _this$store$
|
|
431
|
+
var _this$store$discount5;
|
|
403
432
|
var resultDiscountList, currentDiscountList, newDiscountList;
|
|
404
433
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
405
434
|
while (1) switch (_context5.prev = _context5.next) {
|
|
406
435
|
case 0:
|
|
407
436
|
_context5.next = 2;
|
|
408
|
-
return (_this$store$
|
|
437
|
+
return (_this$store$discount5 = this.store.discount) === null || _this$store$discount5 === void 0 ? void 0 : _this$store$discount5.batchSearchByProductIds(productIds);
|
|
409
438
|
case 2:
|
|
410
439
|
_context5.t0 = _context5.sent;
|
|
411
440
|
if (_context5.t0) {
|
|
@@ -439,15 +468,16 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
439
468
|
key: "scanCode",
|
|
440
469
|
value: function () {
|
|
441
470
|
var _scanCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(code, customerId) {
|
|
442
|
-
var _this$store$
|
|
471
|
+
var _this$store$discount6, _this$store$bookingSu2, _find, resultDiscountWithReason, resultDiscountList, unavailableReasonKey, rulesModule, withScanList, currentSelectedDiscountList, _ref2, newProductList, newDiscountList, evaluatedDiscountList, isAvailable, unavailableReason, isAccepted, _this$options$otherPa6, ids, retainable, _this$store$discount7;
|
|
443
472
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
444
473
|
while (1) switch (_context6.prev = _context6.next) {
|
|
445
474
|
case 0:
|
|
446
475
|
_context6.prev = 0;
|
|
447
476
|
_context6.next = 3;
|
|
448
|
-
return (_this$store$
|
|
477
|
+
return (_this$store$discount6 = this.store.discount) === null || _this$store$discount6 === void 0 ? void 0 : _this$store$discount6.batchSearch(code, {
|
|
449
478
|
customerId: customerId,
|
|
450
|
-
orderId: this.store.orderId
|
|
479
|
+
orderId: this.store.orderId,
|
|
480
|
+
withEntitlementPass: this.entitlementPassEnabled
|
|
451
481
|
});
|
|
452
482
|
case 3:
|
|
453
483
|
_context6.t0 = _context6.sent;
|
|
@@ -495,7 +525,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
495
525
|
currentSelectedDiscountList = this.getDiscountList().filter(function (n) {
|
|
496
526
|
return n.isSelected;
|
|
497
527
|
});
|
|
498
|
-
if (!(currentSelectedDiscountList.length && currentSelectedDiscountList.some(function (n) {
|
|
528
|
+
if (!(!withScanList.some(isEntitlementPass) && currentSelectedDiscountList.length && currentSelectedDiscountList.some(function (n) {
|
|
499
529
|
return withScanList.some(function (m) {
|
|
500
530
|
return m.id === n.id;
|
|
501
531
|
});
|
|
@@ -521,30 +551,58 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
521
551
|
isAvailable: false,
|
|
522
552
|
productList: this.store.productList || [],
|
|
523
553
|
discountList: this.getDiscountList()
|
|
524
|
-
}, newProductList = _ref2.productList, newDiscountList = _ref2.discountList, isAvailable = _ref2.isAvailable, unavailableReason = _ref2.unavailableReason;
|
|
554
|
+
}, newProductList = _ref2.productList, newDiscountList = _ref2.discountList, evaluatedDiscountList = _ref2.evaluatedDiscountList, isAvailable = _ref2.isAvailable, unavailableReason = _ref2.unavailableReason;
|
|
555
|
+
isAccepted = isAvailable;
|
|
525
556
|
if (!isAvailable) {
|
|
526
|
-
_context6.next =
|
|
557
|
+
_context6.next = 27;
|
|
527
558
|
break;
|
|
528
559
|
}
|
|
560
|
+
if (this.entitlementPassEnabled) this.setProductList(newProductList || []);
|
|
529
561
|
this.setDiscountList(newDiscountList || []);
|
|
530
562
|
this.store.originalDiscountList = newDiscountList || [];
|
|
531
|
-
this.setProductList(newProductList || []);
|
|
563
|
+
if (!this.entitlementPassEnabled) this.setProductList(newProductList || []);
|
|
532
564
|
if (!(this.isWalkIn() && resultDiscountList.length && ((_this$options$otherPa6 = this.options.otherParams) === null || _this$options$otherPa6 === void 0 ? void 0 : _this$options$otherPa6.platform) === 'shop' && !((resultDiscountList[0].customer_id || 1) === 1))) {
|
|
533
|
-
_context6.next =
|
|
565
|
+
_context6.next = 27;
|
|
534
566
|
break;
|
|
535
567
|
}
|
|
536
|
-
_context6.next =
|
|
568
|
+
_context6.next = 27;
|
|
537
569
|
return this.getCustomerWallet(resultDiscountList[0].customer_id);
|
|
538
|
-
case
|
|
570
|
+
case 27:
|
|
571
|
+
if (!isAvailable) {
|
|
572
|
+
ids = new Set(withScanList.map(function (item) {
|
|
573
|
+
return String(item.id);
|
|
574
|
+
}));
|
|
575
|
+
retainable = (evaluatedDiscountList || []).filter(function (item) {
|
|
576
|
+
return ids.has(String(item.id)) && isEntitlementPass(item) && !getDiscountLifecycleReason(item);
|
|
577
|
+
});
|
|
578
|
+
if (retainable.length) {
|
|
579
|
+
this.setDiscountList(retainScannedEntitlements(this.getDiscountList(), retainable));
|
|
580
|
+
isAccepted = true;
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
if (!this.entitlementPassEnabled) {
|
|
584
|
+
_context6.next = 32;
|
|
585
|
+
break;
|
|
586
|
+
}
|
|
587
|
+
this.store.originalDiscountList = this.getDiscountList();
|
|
588
|
+
_context6.next = 32;
|
|
589
|
+
return (_this$store$discount7 = this.store.discount) === null || _this$store$discount7 === void 0 ? void 0 : _this$store$discount7.setOriginalDiscountList(this.getDiscountList());
|
|
590
|
+
case 32:
|
|
539
591
|
return _context6.abrupt("return", {
|
|
540
592
|
type: "clientCalc",
|
|
541
593
|
isAvailable: isAvailable || false,
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
594
|
+
isAccepted: isAccepted,
|
|
595
|
+
productList: isAvailable ? newProductList : this.store.productList || [],
|
|
596
|
+
discountList: this.getDiscountList(),
|
|
597
|
+
unavailableReason: unavailableReason,
|
|
598
|
+
unavailableReasonKey: ((_find = (evaluatedDiscountList || []).find(function (item) {
|
|
599
|
+
return withScanList.some(function (scanned) {
|
|
600
|
+
return String(scanned.id) === String(item.id);
|
|
601
|
+
}) && item.reasonCode;
|
|
602
|
+
})) === null || _find === void 0 ? void 0 : _find.reasonCode) || unavailableReasonKey
|
|
545
603
|
});
|
|
546
|
-
case
|
|
547
|
-
_context6.prev =
|
|
604
|
+
case 35:
|
|
605
|
+
_context6.prev = 35;
|
|
548
606
|
_context6.t1 = _context6["catch"](0);
|
|
549
607
|
console.error('[ShopDiscount] 扫码出错:', _context6.t1);
|
|
550
608
|
return _context6.abrupt("return", {
|
|
@@ -554,11 +612,11 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
554
612
|
discountList: this.getDiscountList(),
|
|
555
613
|
unavailableReason: UnavailableReason.Unknown
|
|
556
614
|
});
|
|
557
|
-
case
|
|
615
|
+
case 39:
|
|
558
616
|
case "end":
|
|
559
617
|
return _context6.stop();
|
|
560
618
|
}
|
|
561
|
-
}, _callee6, this, [[0,
|
|
619
|
+
}, _callee6, this, [[0, 35]]);
|
|
562
620
|
}));
|
|
563
621
|
function scanCode(_x5, _x6) {
|
|
564
622
|
return _scanCode.apply(this, arguments);
|
|
@@ -568,8 +626,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
568
626
|
}, {
|
|
569
627
|
key: "calcDiscountApplicableProductTotalPrice",
|
|
570
628
|
value: function calcDiscountApplicableProductTotalPrice(discount) {
|
|
571
|
-
var _this$store$
|
|
572
|
-
return (_this$store$
|
|
629
|
+
var _this$store$discount8;
|
|
630
|
+
return (_this$store$discount8 = this.store.discount) === null || _this$store$discount8 === void 0 ? void 0 : _this$store$discount8.calcDiscountApplicableProductTotalPrice(discount);
|
|
573
631
|
}
|
|
574
632
|
|
|
575
633
|
// =========== 私有辅助方法 ===========
|
|
@@ -614,7 +672,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
614
672
|
key: "setDiscountList",
|
|
615
673
|
value: function setDiscountList(discountList) {
|
|
616
674
|
var _this3 = this,
|
|
617
|
-
_this$
|
|
675
|
+
_this$hooks,
|
|
676
|
+
_this$store$discount9;
|
|
618
677
|
var productList = this.store.productList || [];
|
|
619
678
|
var editModeDiscountList = [];
|
|
620
679
|
productList.forEach(function (item) {
|
|
@@ -661,8 +720,14 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
661
720
|
});
|
|
662
721
|
}
|
|
663
722
|
});
|
|
664
|
-
var newDiscountList = [].concat(
|
|
665
|
-
return !item
|
|
723
|
+
var newDiscountList = this.entitlementPassEnabled ? withCommittedEntitlementDetails([].concat(_toConsumableArray(editModeDiscountList.filter(function (item) {
|
|
724
|
+
return !isEntitlementPass(item);
|
|
725
|
+
})), _toConsumableArray(discountList.filter(function (item) {
|
|
726
|
+
return isEntitlementPass(item) || !item.isDisabled;
|
|
727
|
+
}))), productList, ((_this$hooks = this.hooks) === null || _this$hooks === void 0 ? void 0 : _this$hooks.getProduct) || function (item) {
|
|
728
|
+
return item;
|
|
729
|
+
}) : [].concat(editModeDiscountList, _toConsumableArray(discountList.filter(function (item) {
|
|
730
|
+
return !item.isDisabled && !isEntitlementPass(item);
|
|
666
731
|
})));
|
|
667
732
|
var isProductFree = function isProductFree(id) {
|
|
668
733
|
var _this3$hooks2;
|
|
@@ -703,7 +768,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
703
768
|
item.isDisabledForProductUsed = false;
|
|
704
769
|
}
|
|
705
770
|
});
|
|
706
|
-
(_this$store$
|
|
771
|
+
(_this$store$discount9 = this.store.discount) === null || _this$store$discount9 === void 0 || _this$store$discount9.setDiscountList(newDiscountList);
|
|
707
772
|
this.emitDiscountListChange(newDiscountList);
|
|
708
773
|
return newDiscountList;
|
|
709
774
|
}
|
|
@@ -712,8 +777,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
712
777
|
}, {
|
|
713
778
|
key: "getDiscountList",
|
|
714
779
|
value: function getDiscountList() {
|
|
715
|
-
var _this$store$
|
|
716
|
-
return ((_this$store$
|
|
780
|
+
var _this$store$discount10;
|
|
781
|
+
return ((_this$store$discount10 = this.store.discount) === null || _this$store$discount10 === void 0 ? void 0 : _this$store$discount10.getDiscountList()) || [];
|
|
717
782
|
}
|
|
718
783
|
|
|
719
784
|
// 获取客户钱包信息
|
|
@@ -721,7 +786,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
721
786
|
key: "getCustomerWallet",
|
|
722
787
|
value: function () {
|
|
723
788
|
var _getCustomerWallet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(id) {
|
|
724
|
-
var _result, customer;
|
|
789
|
+
var _result, customer, customerUpdate;
|
|
725
790
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
726
791
|
while (1) switch (_context8.prev = _context8.next) {
|
|
727
792
|
case 0:
|
|
@@ -733,25 +798,32 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
733
798
|
case 3:
|
|
734
799
|
_result = _context8.sent;
|
|
735
800
|
if (!(_result !== null && _result !== void 0 && _result.data)) {
|
|
736
|
-
_context8.next =
|
|
801
|
+
_context8.next = 12;
|
|
737
802
|
break;
|
|
738
803
|
}
|
|
739
804
|
customer = Object.assign({}, (_objectDestructuringEmpty(_result.data), _result.data));
|
|
740
|
-
this.setCustomer(customer);
|
|
741
|
-
|
|
805
|
+
customerUpdate = this.setCustomer(customer);
|
|
806
|
+
if (!this.entitlementPassEnabled) {
|
|
807
|
+
_context8.next = 10;
|
|
808
|
+
break;
|
|
809
|
+
}
|
|
810
|
+
_context8.next = 10;
|
|
811
|
+
return customerUpdate;
|
|
812
|
+
case 10:
|
|
813
|
+
_context8.next = 12;
|
|
742
814
|
return this.core.effects.emit("".concat(this.name, ":onScanCustomerChange"), customer);
|
|
743
|
-
case
|
|
744
|
-
_context8.next =
|
|
815
|
+
case 12:
|
|
816
|
+
_context8.next = 17;
|
|
745
817
|
break;
|
|
746
|
-
case
|
|
747
|
-
_context8.prev =
|
|
818
|
+
case 14:
|
|
819
|
+
_context8.prev = 14;
|
|
748
820
|
_context8.t0 = _context8["catch"](0);
|
|
749
821
|
console.error('[ShopDiscount] 获取客户钱包信息出错:', _context8.t0);
|
|
750
|
-
case
|
|
822
|
+
case 17:
|
|
751
823
|
case "end":
|
|
752
824
|
return _context8.stop();
|
|
753
825
|
}
|
|
754
|
-
}, _callee8, this, [[0,
|
|
826
|
+
}, _callee8, this, [[0, 14]]);
|
|
755
827
|
}));
|
|
756
828
|
function getCustomerWallet(_x8) {
|
|
757
829
|
return _getCustomerWallet.apply(this, arguments);
|
|
@@ -795,69 +867,80 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
795
867
|
key: "loadPrepareConfig",
|
|
796
868
|
value: function () {
|
|
797
869
|
var _loadPrepareConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
|
|
798
|
-
var
|
|
870
|
+
var _this4 = this;
|
|
871
|
+
var _this$getCustomer2, _this$store$discount11, _this$getCustomer3, _this$store$discount12, _this$store$discount13, _this$store$productLi2, entitlementPassEnabled, orderId, customerId, prepareConfigResult, goodPassList, newDiscountList, filteredDiscountList, _result3;
|
|
799
872
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
800
873
|
while (1) switch (_context10.prev = _context10.next) {
|
|
801
874
|
case 0:
|
|
802
875
|
_context10.prev = 0;
|
|
876
|
+
entitlementPassEnabled = this.entitlementPassEnabled;
|
|
803
877
|
orderId = this.store.orderId;
|
|
804
878
|
customerId = params.customerId || ((_this$getCustomer2 = this.getCustomer()) === null || _this$getCustomer2 === void 0 ? void 0 : _this$getCustomer2.id); // if (customerId === 1 || !customerId) {
|
|
805
879
|
// return
|
|
806
880
|
// }
|
|
807
|
-
_context10.next =
|
|
808
|
-
return (_this$store$
|
|
881
|
+
_context10.next = 6;
|
|
882
|
+
return (_this$store$discount11 = this.store.discount) === null || _this$store$discount11 === void 0 ? void 0 : _this$store$discount11.loadPrepareConfig(_objectSpread(_objectSpread({
|
|
809
883
|
customer_id: customerId,
|
|
810
884
|
action: orderId ? 'edit' : 'create',
|
|
811
885
|
with_good_pass: 1,
|
|
812
886
|
with_discount_card: 1,
|
|
813
|
-
with_wallet_pass_holder: 1
|
|
887
|
+
with_wallet_pass_holder: 1
|
|
888
|
+
}, this.entitlementPassEnabled ? {
|
|
889
|
+
with_entitlement_pass: 1,
|
|
890
|
+
filter_order_wallet_pass_usage: 0
|
|
891
|
+
} : {}), {}, {
|
|
814
892
|
request_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
815
893
|
}, orderId ? {
|
|
816
894
|
order_id: orderId
|
|
817
895
|
} : {}));
|
|
818
|
-
case
|
|
896
|
+
case 6:
|
|
819
897
|
prepareConfigResult = _context10.sent;
|
|
820
898
|
goodPassList = (prepareConfigResult === null || prepareConfigResult === void 0 ? void 0 : prepareConfigResult.discountList) || [];
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
899
|
+
if (!(entitlementPassEnabled !== this.entitlementPassEnabled)) {
|
|
900
|
+
_context10.next = 10;
|
|
901
|
+
break;
|
|
902
|
+
}
|
|
903
|
+
return _context10.abrupt("return");
|
|
904
|
+
case 10:
|
|
905
|
+
if (!(entitlementPassEnabled && (String(customerId) !== String((_this$getCustomer3 = this.getCustomer()) === null || _this$getCustomer3 === void 0 ? void 0 : _this$getCustomer3.id) || String(orderId) !== String(this.store.orderId)))) {
|
|
906
|
+
_context10.next = 12;
|
|
907
|
+
break;
|
|
908
|
+
}
|
|
909
|
+
return _context10.abrupt("return");
|
|
910
|
+
case 12:
|
|
911
|
+
newDiscountList = mergeEntitlementDiscountLists(this.getDiscountList(), goodPassList || [], (_this$store$discount12 = this.store.discount) === null || _this$store$discount12 === void 0 ? void 0 : _this$store$discount12.getOriginalDiscountList()); // 存储原始优惠券列表
|
|
831
912
|
this.store.originalDiscountList = newDiscountList;
|
|
832
|
-
_context10.next =
|
|
833
|
-
return (_this$store$
|
|
834
|
-
case
|
|
913
|
+
_context10.next = 16;
|
|
914
|
+
return (_this$store$discount13 = this.store.discount) === null || _this$store$discount13 === void 0 ? void 0 : _this$store$discount13.setOriginalDiscountList(newDiscountList);
|
|
915
|
+
case 16:
|
|
835
916
|
// 根据当前预约时间过滤优惠券列表
|
|
836
|
-
filteredDiscountList =
|
|
917
|
+
filteredDiscountList = newDiscountList.filter(function (item) {
|
|
918
|
+
return isEntitlementPass(item) || _this4.filterDiscountListByBookingTime([item], _this4.store.currentBookingTime).length > 0;
|
|
919
|
+
});
|
|
837
920
|
this.store.filteredDiscountList = filteredDiscountList;
|
|
838
921
|
this.setDiscountList(filteredDiscountList || []);
|
|
839
922
|
if (!((_this$store$productLi2 = this.store.productList) !== null && _this$store$productLi2 !== void 0 && _this$store$productLi2.length)) {
|
|
840
|
-
_context10.next =
|
|
923
|
+
_context10.next = 23;
|
|
841
924
|
break;
|
|
842
925
|
}
|
|
843
926
|
_result3 = this.calcDiscount(this.store.productList);
|
|
844
|
-
_context10.next = 21;
|
|
845
|
-
return this.core.effects.emit("".concat(this.name, ":onLoadPrepareCalcResult"), _result3);
|
|
846
|
-
case 21:
|
|
847
927
|
_context10.next = 23;
|
|
848
|
-
return this.core.effects.emit("".concat(this.name, ":
|
|
928
|
+
return this.core.effects.emit("".concat(this.name, ":onLoadPrepareCalcResult"), _result3);
|
|
849
929
|
case 23:
|
|
850
|
-
_context10.next =
|
|
851
|
-
|
|
930
|
+
_context10.next = 25;
|
|
931
|
+
return this.core.effects.emit("".concat(this.name, ":onLoadDiscountList"), filteredDiscountList);
|
|
852
932
|
case 25:
|
|
853
|
-
_context10.
|
|
933
|
+
_context10.next = 30;
|
|
934
|
+
break;
|
|
935
|
+
case 27:
|
|
936
|
+
_context10.prev = 27;
|
|
854
937
|
_context10.t0 = _context10["catch"](0);
|
|
855
938
|
console.error('[ShopDiscount] 加载准备配置出错:', _context10.t0);
|
|
856
|
-
case
|
|
939
|
+
case 30:
|
|
857
940
|
case "end":
|
|
858
941
|
return _context10.stop();
|
|
859
942
|
}
|
|
860
|
-
}, _callee10, this, [[0,
|
|
943
|
+
}, _callee10, this, [[0, 27]]);
|
|
861
944
|
}));
|
|
862
945
|
function loadPrepareConfig(_x10) {
|
|
863
946
|
return _loadPrepareConfig.apply(this, arguments);
|
|
@@ -11,7 +11,7 @@ export declare enum ShopDiscountHooks {
|
|
|
11
11
|
onRulesListChange = "shopDiscount:onRulesListChange",
|
|
12
12
|
onLoadPrepareCalcResult = "shopDiscount:onLoadPrepareCalcResult"
|
|
13
13
|
}
|
|
14
|
-
export
|
|
14
|
+
export type Customer = {
|
|
15
15
|
id: string | number;
|
|
16
16
|
name: string;
|
|
17
17
|
email: string;
|
|
@@ -21,13 +21,13 @@ export declare const isAllNormalProduct: (items: any[]) => boolean;
|
|
|
21
21
|
* @returns
|
|
22
22
|
*/
|
|
23
23
|
export declare const getDiscountAmount: (discount: Discount, total: number, price: number) => number;
|
|
24
|
-
export declare const getDiscountListAmountTotal: (discount: Discount[]) =>
|
|
24
|
+
export declare const getDiscountListAmountTotal: (discount: Discount[]) => any;
|
|
25
25
|
/**
|
|
26
26
|
* 获取折扣金额 计算每个折扣的金额
|
|
27
27
|
* @param discount
|
|
28
28
|
* @returns
|
|
29
29
|
*/
|
|
30
|
-
export declare const getDiscountListAmount: (discount: Discount[]) =>
|
|
30
|
+
export declare const getDiscountListAmount: (discount: Discount[]) => any;
|
|
31
31
|
export interface ScheduleItem {
|
|
32
32
|
id: number;
|
|
33
33
|
name: string | {
|
|
@@ -98,3 +98,4 @@ export declare const calculateOrderLevelDiscountAllocation: (discount: Discount,
|
|
|
98
98
|
discountAmount: number;
|
|
99
99
|
difference: number;
|
|
100
100
|
}>;
|
|
101
|
+
export declare const getDiscountTimeUnavailableReason: (discount: Discount, useTime: string) => 'not_started' | 'time_limit' | 'outside_schedule' | undefined;
|
|
@@ -9,6 +9,11 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
9
9
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
10
10
|
import Decimal from "decimal.js";
|
|
11
11
|
import dayjs from "dayjs";
|
|
12
|
+
import isSameOrAfter from "dayjs/plugin/isSameOrAfter";
|
|
13
|
+
import isSameOrBefore from "dayjs/plugin/isSameOrBefore";
|
|
14
|
+
import { isEntitlementPass, isFullCoveragePass } from "../../modules/Discount/entitlementPass";
|
|
15
|
+
dayjs.extend(isSameOrAfter);
|
|
16
|
+
dayjs.extend(isSameOrBefore);
|
|
12
17
|
export var uniqueById = function uniqueById(arr) {
|
|
13
18
|
var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'id';
|
|
14
19
|
var seen = new Set();
|
|
@@ -51,7 +56,7 @@ export var isAllNormalProduct = function isAllNormalProduct(items) {
|
|
|
51
56
|
export var getDiscountAmount = function getDiscountAmount(discount, total, price) {
|
|
52
57
|
var _discount$metadata;
|
|
53
58
|
// 商品券
|
|
54
|
-
if (discount
|
|
59
|
+
if (isFullCoveragePass(discount)) {
|
|
55
60
|
return new Decimal(price).minus(new Decimal(price || 0)).toNumber();
|
|
56
61
|
}
|
|
57
62
|
|
|
@@ -459,6 +464,7 @@ export var filterDiscountListByBookingTime = function filterDiscountListByBookin
|
|
|
459
464
|
}
|
|
460
465
|
return discountList.filter(function (discount) {
|
|
461
466
|
var _discount$metadata2;
|
|
467
|
+
if (isEntitlementPass(discount)) return !getDiscountTimeUnavailableReason(discount, bookingTime);
|
|
462
468
|
if ((discount === null || discount === void 0 || (_discount$metadata2 = discount.metadata) === null || _discount$metadata2 === void 0 ? void 0 : _discount$metadata2.validity_type) === "custom_schedule_validity") {
|
|
463
469
|
var _discount$custom_sche;
|
|
464
470
|
return getDateIsInSchedule(bookingTime, ((_discount$custom_sche = discount.custom_schedule_snapshot) === null || _discount$custom_sche === void 0 ? void 0 : _discount$custom_sche.data) || []);
|
|
@@ -605,4 +611,37 @@ export var calculateOrderLevelDiscountAllocation = function calculateOrderLevelD
|
|
|
605
611
|
}
|
|
606
612
|
}
|
|
607
613
|
return result;
|
|
614
|
+
};
|
|
615
|
+
export var getDiscountTimeUnavailableReason = function getDiscountTimeUnavailableReason(discount, useTime) {
|
|
616
|
+
var useTimeDayjs = dayjs(useTime);
|
|
617
|
+
if (!useTimeDayjs.isValid()) return 'time_limit';
|
|
618
|
+
try {
|
|
619
|
+
var _discount$metadata5, _discount$extension_d, _discount$custom_sche3;
|
|
620
|
+
if ((discount === null || discount === void 0 || (_discount$metadata5 = discount.metadata) === null || _discount$metadata5 === void 0 ? void 0 : _discount$metadata5.validity_type) === "custom_schedule_validity") {
|
|
621
|
+
var _discount$custom_sche2;
|
|
622
|
+
return getDateIsInSchedule(useTime, ((_discount$custom_sche2 = discount.custom_schedule_snapshot) === null || _discount$custom_sche2 === void 0 ? void 0 : _discount$custom_sche2.data) || []) ? undefined : 'outside_schedule';
|
|
623
|
+
}
|
|
624
|
+
var isHasStart = !!discount.start_date && !!discount.start_time;
|
|
625
|
+
var startDate = dayjs("".concat(discount.start_date, " ").concat(discount.start_time));
|
|
626
|
+
|
|
627
|
+
// 开始时刻包含在有效期内。
|
|
628
|
+
if (isHasStart) {
|
|
629
|
+
if (!startDate.isValid()) return 'time_limit';
|
|
630
|
+
if (useTimeDayjs.isBefore(startDate)) return 'not_started';
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
// 到期时刻不再可用;expire_time 为空时为长期有效。
|
|
634
|
+
var expireTime = discount.expire_time ? dayjs(discount.expire_time) : null;
|
|
635
|
+
var isBeforeExpire = expireTime ? expireTime.isValid() && useTimeDayjs.isBefore(expireTime) : true;
|
|
636
|
+
if (!isBeforeExpire) return 'time_limit';
|
|
637
|
+
var validity = (_discount$extension_d = discount.extension_data) === null || _discount$extension_d === void 0 || (_discount$extension_d = _discount$extension_d.find(function (field) {
|
|
638
|
+
return field.field_key === 'valid_times';
|
|
639
|
+
})) === null || _discount$extension_d === void 0 ? void 0 : _discount$extension_d.value;
|
|
640
|
+
if ((validity === null || validity === void 0 ? void 0 : validity.restrict_use_by_schedule) === true && !getDateIsInSchedule(useTime, ((_discount$custom_sche3 = discount.custom_schedule_snapshot) === null || _discount$custom_sche3 === void 0 ? void 0 : _discount$custom_sche3.data) || [])) {
|
|
641
|
+
return 'outside_schedule';
|
|
642
|
+
}
|
|
643
|
+
return undefined;
|
|
644
|
+
} catch (error) {
|
|
645
|
+
return 'time_limit';
|
|
646
|
+
}
|
|
608
647
|
};
|
|
@@ -55,7 +55,7 @@ export interface UnifiedBookingSalesStagePlannerProductsParams {
|
|
|
55
55
|
rawProducts?: Record<string, any>[];
|
|
56
56
|
}
|
|
57
57
|
/** Ordinary retail product staging. No resource, time, or booking facts are required. */
|
|
58
|
-
export
|
|
58
|
+
export type UnifiedBookingSalesStageRetailProductsParams = UnifiedBookingSalesStagePlannerProductsParams;
|
|
59
59
|
/** Adds one ordinary retail product without replacing other retail lines already in the cart. */
|
|
60
60
|
export interface UnifiedBookingSalesAddRetailProductParams {
|
|
61
61
|
/** Prefer a supplied catalog record when the UI has already loaded it. */
|
|
@@ -11,7 +11,7 @@ export declare enum VenueBookingHooks {
|
|
|
11
11
|
/** 登录客户的智能定价、营销配置与订单汇总已完成刷新 */
|
|
12
12
|
onSmartPricingUpdated = "venueBooking:onSmartPricingUpdated"
|
|
13
13
|
}
|
|
14
|
-
export
|
|
14
|
+
export type VenueBookingStatus = 'idle' | 'initializing' | 'ready' | 'error';
|
|
15
15
|
export interface VenueBookingEntryContext {
|
|
16
16
|
biz: string;
|
|
17
17
|
venueId?: string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export interface ModuleOptions {
|
|
|
38
38
|
initialState?: Record<string, any>;
|
|
39
39
|
otherParams?: Record<string, any>;
|
|
40
40
|
}
|
|
41
|
-
export
|
|
41
|
+
export type EventHandler = (data?: any) => void;
|
|
42
42
|
export interface PisellCore {
|
|
43
43
|
registerPlugin: (plugin: Plugin, options?: PluginOptions) => void;
|
|
44
44
|
getPlugin: <T extends Plugin>(name: string) => T | null;
|
package/dist/utils/task.d.ts
CHANGED
package/dist/utils/watch.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* 监听模块
|
|
3
3
|
*
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
6
|
-
export
|
|
5
|
+
export type WatchEventCallback = (...args: any[]) => void;
|
|
6
|
+
export type WatchEventItem = {
|
|
7
7
|
key: string;
|
|
8
8
|
callback: WatchEventCallback;
|
|
9
9
|
};
|
package/lib/effects/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
type EffectCallback = (payload: any) => void | Promise<void | {
|
|
2
2
|
status: boolean;
|
|
3
3
|
message?: string;
|
|
4
4
|
}>;
|
|
5
|
-
|
|
5
|
+
type UnsubscribeFunction = () => void;
|
|
6
6
|
declare class EffectsManager {
|
|
7
7
|
private listeners;
|
|
8
8
|
on(event: string, callback: EffectCallback): UnsubscribeFunction;
|