@pisell/pisellos 2.1.173 → 2.1.174
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/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.d.ts +2 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +4 -2
- 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 +6 -3
- package/dist/modules/Discount/index.js +125 -23
- package/dist/modules/Discount/types.d.ts +34 -5
- package/dist/modules/Holder/index.d.ts +48 -0
- package/dist/modules/Holder/index.js +640 -0
- package/dist/modules/Holder/types.d.ts +123 -0
- package/dist/modules/Holder/types.js +1 -0
- package/dist/modules/Holder/utils.d.ts +13 -0
- package/dist/modules/Holder/utils.js +34 -0
- package/dist/modules/Order/index.d.ts +1 -0
- package/dist/modules/Order/index.js +18 -1
- package/dist/modules/Order/types.d.ts +2 -0
- package/dist/modules/Order/utils.d.ts +10 -0
- package/dist/modules/Order/utils.js +35 -3
- package/dist/modules/Product/types.d.ts +7 -0
- package/dist/modules/Rules/entitlementLines.d.ts +8 -0
- package/dist/modules/Rules/entitlementLines.js +157 -0
- package/dist/modules/Rules/index.d.ts +12 -2
- package/dist/modules/Rules/index.js +377 -112
- package/dist/modules/Rules/types.d.ts +2 -2
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.js +2 -1
- package/dist/plugins/window.d.ts +3 -0
- package/dist/solution/BookingByStep/index.d.ts +17 -2
- package/dist/solution/BookingByStep/index.js +276 -204
- package/dist/solution/BookingByStep/types.d.ts +2 -1
- package/dist/solution/BookingByStep/types.js +3 -1
- package/dist/solution/ScanOrder/index.js +1 -1
- package/dist/solution/ScanOrder/types.d.ts +1 -0
- package/dist/solution/ShopDiscount/index.d.ts +3 -0
- package/dist/solution/ShopDiscount/index.js +161 -78
- package/dist/solution/ShopDiscount/utils.d.ts +1 -0
- package/dist/solution/ShopDiscount/utils.js +40 -1
- package/dist/solution/VenueBooking/index.d.ts +19 -0
- package/dist/solution/VenueBooking/index.js +978 -748
- package/dist/solution/VenueBooking/types.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/lib/model/strategy/adapter/promotion/index.js +49 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.d.ts +2 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.js +4 -2
- package/lib/modules/Discount/availability.d.ts +7 -0
- package/lib/modules/Discount/availability.js +91 -0
- package/lib/modules/Discount/entitlementPass.d.ts +34 -0
- package/lib/modules/Discount/entitlementPass.js +184 -0
- package/lib/modules/Discount/entitlementState.d.ts +8 -0
- package/lib/modules/Discount/entitlementState.js +206 -0
- package/lib/modules/Discount/index.d.ts +6 -3
- package/lib/modules/Discount/index.js +66 -16
- package/lib/modules/Discount/types.d.ts +34 -5
- package/lib/modules/Holder/index.d.ts +48 -0
- package/lib/modules/Holder/index.js +402 -0
- package/lib/modules/Holder/types.d.ts +123 -0
- package/lib/modules/Holder/types.js +17 -0
- package/lib/modules/Holder/utils.d.ts +13 -0
- package/lib/modules/Holder/utils.js +71 -0
- package/lib/modules/Order/index.d.ts +1 -0
- package/lib/modules/Order/index.js +14 -0
- package/lib/modules/Order/types.d.ts +2 -0
- package/lib/modules/Order/utils.d.ts +10 -0
- package/lib/modules/Order/utils.js +36 -5
- package/lib/modules/Product/types.d.ts +7 -0
- package/lib/modules/Rules/entitlementLines.d.ts +8 -0
- package/lib/modules/Rules/entitlementLines.js +158 -0
- package/lib/modules/Rules/index.d.ts +12 -2
- package/lib/modules/Rules/index.js +304 -70
- package/lib/modules/Rules/types.d.ts +2 -2
- package/lib/modules/index.d.ts +1 -0
- package/lib/modules/index.js +3 -1
- package/lib/plugins/window.d.ts +3 -0
- package/lib/solution/BookingByStep/index.d.ts +17 -2
- package/lib/solution/BookingByStep/index.js +39 -0
- package/lib/solution/BookingByStep/types.d.ts +2 -1
- package/lib/solution/BookingByStep/types.js +5 -0
- package/lib/solution/ScanOrder/index.js +1 -1
- package/lib/solution/ScanOrder/types.d.ts +1 -0
- package/lib/solution/ShopDiscount/index.d.ts +3 -0
- package/lib/solution/ShopDiscount/index.js +78 -28
- package/lib/solution/ShopDiscount/utils.d.ts +1 -0
- package/lib/solution/ShopDiscount/utils.js +42 -1
- package/lib/solution/VenueBooking/index.d.ts +19 -0
- package/lib/solution/VenueBooking/index.js +134 -16
- package/lib/solution/VenueBooking/types.d.ts +2 -0
- package/lib/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProductList, CartModule, ProductData, AccountModule, AccountListModule, DateModule, GuestListModule, OrderModule, PaymentModule, ResourceListModule, StepModule, SummaryModule, SalesSummaryModule, ScheduleModule, ScanOrderLoggerModule } from '../../modules';
|
|
1
|
+
import { ProductList, CartModule, ProductData, AccountModule, AccountListModule, DateModule, GuestListModule, OrderModule, PaymentModule, ResourceListModule, StepModule, SummaryModule, SalesSummaryModule, ScheduleModule, ScanOrderLoggerModule, HolderModule } from '../../modules';
|
|
2
2
|
export interface BookingByStepState {
|
|
3
3
|
cart: CartModule;
|
|
4
4
|
summary: SummaryModule;
|
|
@@ -16,6 +16,7 @@ export interface BookingByStepState {
|
|
|
16
16
|
schedule: ScheduleModule;
|
|
17
17
|
salesSummary?: SalesSummaryModule;
|
|
18
18
|
scanOrderLogger?: ScanOrderLoggerModule;
|
|
19
|
+
holder: HolderModule;
|
|
19
20
|
}
|
|
20
21
|
export declare function createModule<T extends keyof BookingByStepState>(moduleName: T, solutionName: string, name?: string, version?: string): BookingByStepState[T];
|
|
21
22
|
export declare enum BookingByStepHooks {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProductList, CartModule, AccountListModule, DateModule, OrderModule, PaymentModule, StepModule, SummaryModule, SalesSummaryModule, ScheduleModule, ScanOrderLoggerModule } from "../../modules";
|
|
1
|
+
import { ProductList, CartModule, AccountListModule, DateModule, OrderModule, PaymentModule, StepModule, SummaryModule, SalesSummaryModule, ScheduleModule, ScanOrderLoggerModule, HolderModule } from "../../modules";
|
|
2
2
|
export function createModule(moduleName, solutionName, name, version) {
|
|
3
3
|
switch (moduleName) {
|
|
4
4
|
case 'cart':
|
|
@@ -23,6 +23,8 @@ export function createModule(moduleName, solutionName, name, version) {
|
|
|
23
23
|
return new ScheduleModule("".concat(solutionName, "_").concat(name || moduleName), version);
|
|
24
24
|
case 'scanOrderLogger':
|
|
25
25
|
return new ScanOrderLoggerModule("".concat(solutionName, "_").concat(name || moduleName), version);
|
|
26
|
+
case 'holder':
|
|
27
|
+
return new HolderModule("".concat(solutionName, "_").concat(name || moduleName), version);
|
|
26
28
|
default:
|
|
27
29
|
throw new Error("Unknown module type: ".concat(moduleName));
|
|
28
30
|
}
|
|
@@ -857,7 +857,7 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
857
857
|
var tempOrder = this.store.order.ensureTempOrder();
|
|
858
858
|
tempOrder.metadata = _objectSpread(_objectSpread({}, tempOrder.metadata || {}), {}, {
|
|
859
859
|
shop_service_data: _objectSpread(_objectSpread({}, (tempOrder.metadata || {}).shop_service_data || {}), {}, {
|
|
860
|
-
service_type: ((_this$otherParams4 = this.otherParams) === null || _this$otherParams4 === void 0 ? void 0 : _this$otherParams4.businessCode) === 'dine_in' ? 'dine_in' : '
|
|
860
|
+
service_type: ((_this$otherParams4 = this.otherParams) === null || _this$otherParams4 === void 0 ? void 0 : _this$otherParams4.businessCode) === 'dine_in' ? 'dine_in' : '',
|
|
861
861
|
pickup_reference_mode: mode
|
|
862
862
|
})
|
|
863
863
|
});
|
|
@@ -34,6 +34,7 @@ export interface ScanOrderOrderProductIdentity {
|
|
|
34
34
|
/** 参与合并/匹配;与 remove 通配语义见 isSkuOnlyDeleteIdentity */
|
|
35
35
|
product_option_item?: any[];
|
|
36
36
|
product_bundle?: any[];
|
|
37
|
+
shop_id?: number | string;
|
|
37
38
|
}
|
|
38
39
|
export interface ScanOrderOrderProduct extends ScanOrderOrderProductIdentity {
|
|
39
40
|
order_detail_id: number | null;
|
|
@@ -12,6 +12,8 @@ export declare class ShopDiscountImpl extends BaseModule implements Module {
|
|
|
12
12
|
private store;
|
|
13
13
|
private options;
|
|
14
14
|
private hooks?;
|
|
15
|
+
private entitlementPassEnabled;
|
|
16
|
+
setEntitlementPassEnabled(enabled: boolean): void;
|
|
15
17
|
constructor(name?: string, version?: string);
|
|
16
18
|
initialize(core: PisellCore, options: any): Promise<void>;
|
|
17
19
|
destroy(): Promise<void>;
|
|
@@ -42,6 +44,7 @@ export declare class ShopDiscountImpl extends BaseModule implements Module {
|
|
|
42
44
|
batchSearchByProductIds(productIds: number[]): Promise<Discount[]>;
|
|
43
45
|
scanCode(code: string, customerId?: number): Promise<{
|
|
44
46
|
isAvailable: boolean;
|
|
47
|
+
isAccepted?: boolean;
|
|
45
48
|
productList: Record<string, any>[];
|
|
46
49
|
discountList: Discount[];
|
|
47
50
|
type: "server" | "clientCalc";
|
|
@@ -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: [],
|
|
@@ -64,6 +68,21 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
64
68
|
|
|
65
69
|
// =========== 生命周期方法 ===========
|
|
66
70
|
_createClass(ShopDiscountImpl, [{
|
|
71
|
+
key: "setEntitlementPassEnabled",
|
|
72
|
+
value:
|
|
73
|
+
// 由使用多次卡的预约组件显式开启,其他入口沿用原券流程。
|
|
74
|
+
function setEntitlementPassEnabled(enabled) {
|
|
75
|
+
var _this$store$rules;
|
|
76
|
+
this.entitlementPassEnabled = enabled;
|
|
77
|
+
(_this$store$rules = this.store.rules) === null || _this$store$rules === void 0 || _this$store$rules.setEntitlementPassEnabled(enabled);
|
|
78
|
+
if (!enabled) {
|
|
79
|
+
var _this$store$discount;
|
|
80
|
+
(_this$store$discount = this.store.discount) === null || _this$store$discount === void 0 || _this$store$discount.setDiscountList(this.getDiscountList().filter(function (item) {
|
|
81
|
+
return !isEntitlementPass(item);
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
67
86
|
key: "initialize",
|
|
68
87
|
value: function () {
|
|
69
88
|
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
|
|
@@ -100,14 +119,14 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
100
119
|
key: "destroy",
|
|
101
120
|
value: function () {
|
|
102
121
|
var _destroy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
103
|
-
var _this$store$
|
|
122
|
+
var _this$store$discount2, _this$store$rules2;
|
|
104
123
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
105
124
|
while (1) switch (_context2.prev = _context2.next) {
|
|
106
125
|
case 0:
|
|
107
126
|
this.store.productList = [];
|
|
108
127
|
this.store.customer = null;
|
|
109
|
-
(_this$store$
|
|
110
|
-
(_this$store$
|
|
128
|
+
(_this$store$discount2 = this.store.discount) === null || _this$store$discount2 === void 0 || _this$store$discount2.destroy();
|
|
129
|
+
(_this$store$rules2 = this.store.rules) === null || _this$store$rules2 === void 0 || _this$store$rules2.destroy();
|
|
111
130
|
this.core.effects.offByModuleDestroy(this.name);
|
|
112
131
|
_context2.next = 7;
|
|
113
132
|
return this.core.effects.emit("".concat(this.name, ":onDestroy"), {});
|
|
@@ -128,14 +147,14 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
128
147
|
key: "clear",
|
|
129
148
|
value: function () {
|
|
130
149
|
var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
131
|
-
var _this$store$
|
|
150
|
+
var _this$store$discount3, _this$store$rules3;
|
|
132
151
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
133
152
|
while (1) switch (_context3.prev = _context3.next) {
|
|
134
153
|
case 0:
|
|
135
154
|
this.store.productList = [];
|
|
136
155
|
this.store.customer = null;
|
|
137
|
-
(_this$store$
|
|
138
|
-
(_this$store$
|
|
156
|
+
(_this$store$discount3 = this.store.discount) === null || _this$store$discount3 === void 0 || _this$store$discount3.clear();
|
|
157
|
+
(_this$store$rules3 = this.store.rules) === null || _this$store$rules3 === void 0 || _this$store$rules3.clear();
|
|
139
158
|
console.log('[ShopDiscount] clear');
|
|
140
159
|
case 5:
|
|
141
160
|
case "end":
|
|
@@ -200,9 +219,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
200
219
|
var _this2 = this;
|
|
201
220
|
this.core.effects.only("".concat(this.name, ":onCustomerChange"), function (customer) {
|
|
202
221
|
var _this2$options$otherP;
|
|
203
|
-
if ((_this2$options$otherP = _this2.options.otherParams) !== null && _this2$options$otherP !== void 0 && _this2$options$otherP.cacheId && _this2.getDiscountList().length)
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
222
|
+
if (!_this2.entitlementPassEnabled && (_this2$options$otherP = _this2.options.otherParams) !== null && _this2$options$otherP !== void 0 && _this2$options$otherP.cacheId && _this2.getDiscountList().length) return;
|
|
206
223
|
_this2.loadPrepareConfig({
|
|
207
224
|
customerId: customer.id,
|
|
208
225
|
action: 'create',
|
|
@@ -269,17 +286,28 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
269
286
|
value: function () {
|
|
270
287
|
var _setCustomer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(customer) {
|
|
271
288
|
var _this$store$customer;
|
|
289
|
+
var _this$store$discount4, retained;
|
|
272
290
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
273
291
|
while (1) switch (_context4.prev = _context4.next) {
|
|
274
292
|
case 0:
|
|
275
293
|
if (!(((_this$store$customer = this.store.customer) === null || _this$store$customer === void 0 ? void 0 : _this$store$customer.id) !== customer.id)) {
|
|
276
|
-
_context4.next =
|
|
294
|
+
_context4.next = 8;
|
|
277
295
|
break;
|
|
278
296
|
}
|
|
279
297
|
this.store.customer = customer;
|
|
280
|
-
|
|
298
|
+
if (!this.entitlementPassEnabled) {
|
|
299
|
+
_context4.next = 6;
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
retained = this.getDiscountList().filter(function (item) {
|
|
303
|
+
return !isEntitlementPass(item) || item.isEditMode || item.isScan && String(item.customer_id) === String(customer.id);
|
|
304
|
+
});
|
|
305
|
+
_context4.next = 6;
|
|
306
|
+
return (_this$store$discount4 = this.store.discount) === null || _this$store$discount4 === void 0 ? void 0 : _this$store$discount4.setDiscountList(retained);
|
|
307
|
+
case 6:
|
|
308
|
+
_context4.next = 8;
|
|
281
309
|
return this.core.effects.emit("".concat(this.name, ":onCustomerChange"), customer);
|
|
282
|
-
case
|
|
310
|
+
case 8:
|
|
283
311
|
case "end":
|
|
284
312
|
return _context4.stop();
|
|
285
313
|
}
|
|
@@ -330,6 +358,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
330
358
|
},
|
|
331
359
|
newProductList = _ref.productList,
|
|
332
360
|
newDiscountList = _ref.discountList;
|
|
361
|
+
if (this.entitlementPassEnabled) this.store.productList = newProductList || productList;
|
|
333
362
|
if (newDiscountList) {
|
|
334
363
|
newDiscountList = this.setDiscountList(newDiscountList);
|
|
335
364
|
}
|
|
@@ -394,13 +423,13 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
394
423
|
key: "batchSearchByProductIds",
|
|
395
424
|
value: function () {
|
|
396
425
|
var _batchSearchByProductIds = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(productIds) {
|
|
397
|
-
var _this$store$
|
|
426
|
+
var _this$store$discount5;
|
|
398
427
|
var resultDiscountList, currentDiscountList, newDiscountList;
|
|
399
428
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
400
429
|
while (1) switch (_context5.prev = _context5.next) {
|
|
401
430
|
case 0:
|
|
402
431
|
_context5.next = 2;
|
|
403
|
-
return (_this$store$
|
|
432
|
+
return (_this$store$discount5 = this.store.discount) === null || _this$store$discount5 === void 0 ? void 0 : _this$store$discount5.batchSearchByProductIds(productIds);
|
|
404
433
|
case 2:
|
|
405
434
|
_context5.t0 = _context5.sent;
|
|
406
435
|
if (_context5.t0) {
|
|
@@ -434,15 +463,16 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
434
463
|
key: "scanCode",
|
|
435
464
|
value: function () {
|
|
436
465
|
var _scanCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(code, customerId) {
|
|
437
|
-
var _this$store$
|
|
466
|
+
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;
|
|
438
467
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
439
468
|
while (1) switch (_context6.prev = _context6.next) {
|
|
440
469
|
case 0:
|
|
441
470
|
_context6.prev = 0;
|
|
442
471
|
_context6.next = 3;
|
|
443
|
-
return (_this$store$
|
|
472
|
+
return (_this$store$discount6 = this.store.discount) === null || _this$store$discount6 === void 0 ? void 0 : _this$store$discount6.batchSearch(code, {
|
|
444
473
|
customerId: customerId,
|
|
445
|
-
orderId: this.store.orderId
|
|
474
|
+
orderId: this.store.orderId,
|
|
475
|
+
withEntitlementPass: this.entitlementPassEnabled
|
|
446
476
|
});
|
|
447
477
|
case 3:
|
|
448
478
|
_context6.t0 = _context6.sent;
|
|
@@ -490,7 +520,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
490
520
|
currentSelectedDiscountList = this.getDiscountList().filter(function (n) {
|
|
491
521
|
return n.isSelected;
|
|
492
522
|
});
|
|
493
|
-
if (!(currentSelectedDiscountList.length && currentSelectedDiscountList.some(function (n) {
|
|
523
|
+
if (!(!withScanList.some(isEntitlementPass) && currentSelectedDiscountList.length && currentSelectedDiscountList.some(function (n) {
|
|
494
524
|
return withScanList.some(function (m) {
|
|
495
525
|
return m.id === n.id;
|
|
496
526
|
});
|
|
@@ -515,30 +545,58 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
515
545
|
isAvailable: false,
|
|
516
546
|
productList: this.store.productList || [],
|
|
517
547
|
discountList: this.getDiscountList()
|
|
518
|
-
}, newProductList = _ref2.productList, newDiscountList = _ref2.discountList, isAvailable = _ref2.isAvailable, unavailableReason = _ref2.unavailableReason;
|
|
548
|
+
}, newProductList = _ref2.productList, newDiscountList = _ref2.discountList, evaluatedDiscountList = _ref2.evaluatedDiscountList, isAvailable = _ref2.isAvailable, unavailableReason = _ref2.unavailableReason;
|
|
549
|
+
isAccepted = isAvailable;
|
|
519
550
|
if (!isAvailable) {
|
|
520
|
-
_context6.next =
|
|
551
|
+
_context6.next = 27;
|
|
521
552
|
break;
|
|
522
553
|
}
|
|
554
|
+
if (this.entitlementPassEnabled) this.setProductList(newProductList || []);
|
|
523
555
|
this.setDiscountList(newDiscountList || []);
|
|
524
556
|
this.store.originalDiscountList = newDiscountList || [];
|
|
525
|
-
this.setProductList(newProductList || []);
|
|
557
|
+
if (!this.entitlementPassEnabled) this.setProductList(newProductList || []);
|
|
526
558
|
if (!(this.isWalkIn() && resultDiscountList.length && ((_this$options$otherPa6 = this.options.otherParams) === null || _this$options$otherPa6 === void 0 ? void 0 : _this$options$otherPa6.platform) === 'shop')) {
|
|
527
|
-
_context6.next =
|
|
559
|
+
_context6.next = 27;
|
|
528
560
|
break;
|
|
529
561
|
}
|
|
530
|
-
_context6.next =
|
|
562
|
+
_context6.next = 27;
|
|
531
563
|
return this.getCustomerWallet(resultDiscountList[0].customer_id);
|
|
532
|
-
case
|
|
564
|
+
case 27:
|
|
565
|
+
if (!isAvailable) {
|
|
566
|
+
ids = new Set(withScanList.map(function (item) {
|
|
567
|
+
return String(item.id);
|
|
568
|
+
}));
|
|
569
|
+
retainable = (evaluatedDiscountList || []).filter(function (item) {
|
|
570
|
+
return ids.has(String(item.id)) && isEntitlementPass(item) && !getDiscountLifecycleReason(item);
|
|
571
|
+
});
|
|
572
|
+
if (retainable.length) {
|
|
573
|
+
this.setDiscountList(retainScannedEntitlements(this.getDiscountList(), retainable));
|
|
574
|
+
isAccepted = true;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
if (!this.entitlementPassEnabled) {
|
|
578
|
+
_context6.next = 32;
|
|
579
|
+
break;
|
|
580
|
+
}
|
|
581
|
+
this.store.originalDiscountList = this.getDiscountList();
|
|
582
|
+
_context6.next = 32;
|
|
583
|
+
return (_this$store$discount7 = this.store.discount) === null || _this$store$discount7 === void 0 ? void 0 : _this$store$discount7.setOriginalDiscountList(this.getDiscountList());
|
|
584
|
+
case 32:
|
|
533
585
|
return _context6.abrupt("return", {
|
|
534
586
|
type: "clientCalc",
|
|
535
587
|
isAvailable: isAvailable || false,
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
588
|
+
isAccepted: isAccepted,
|
|
589
|
+
productList: isAvailable ? newProductList : this.store.productList || [],
|
|
590
|
+
discountList: this.getDiscountList(),
|
|
591
|
+
unavailableReason: unavailableReason,
|
|
592
|
+
unavailableReasonKey: ((_find = (evaluatedDiscountList || []).find(function (item) {
|
|
593
|
+
return withScanList.some(function (scanned) {
|
|
594
|
+
return String(scanned.id) === String(item.id);
|
|
595
|
+
}) && item.reasonCode;
|
|
596
|
+
})) === null || _find === void 0 ? void 0 : _find.reasonCode) || unavailableReasonKey
|
|
539
597
|
});
|
|
540
|
-
case
|
|
541
|
-
_context6.prev =
|
|
598
|
+
case 35:
|
|
599
|
+
_context6.prev = 35;
|
|
542
600
|
_context6.t1 = _context6["catch"](0);
|
|
543
601
|
console.error('[ShopDiscount] 扫码出错:', _context6.t1);
|
|
544
602
|
return _context6.abrupt("return", {
|
|
@@ -548,11 +606,11 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
548
606
|
discountList: this.getDiscountList(),
|
|
549
607
|
unavailableReason: UnavailableReason.Unknown
|
|
550
608
|
});
|
|
551
|
-
case
|
|
609
|
+
case 39:
|
|
552
610
|
case "end":
|
|
553
611
|
return _context6.stop();
|
|
554
612
|
}
|
|
555
|
-
}, _callee6, this, [[0,
|
|
613
|
+
}, _callee6, this, [[0, 35]]);
|
|
556
614
|
}));
|
|
557
615
|
function scanCode(_x5, _x6) {
|
|
558
616
|
return _scanCode.apply(this, arguments);
|
|
@@ -562,8 +620,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
562
620
|
}, {
|
|
563
621
|
key: "calcDiscountApplicableProductTotalPrice",
|
|
564
622
|
value: function calcDiscountApplicableProductTotalPrice(discount) {
|
|
565
|
-
var _this$store$
|
|
566
|
-
return (_this$store$
|
|
623
|
+
var _this$store$discount8;
|
|
624
|
+
return (_this$store$discount8 = this.store.discount) === null || _this$store$discount8 === void 0 ? void 0 : _this$store$discount8.calcDiscountApplicableProductTotalPrice(discount);
|
|
567
625
|
}
|
|
568
626
|
|
|
569
627
|
// =========== 私有辅助方法 ===========
|
|
@@ -608,7 +666,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
608
666
|
key: "setDiscountList",
|
|
609
667
|
value: function setDiscountList(discountList) {
|
|
610
668
|
var _this3 = this,
|
|
611
|
-
_this$
|
|
669
|
+
_this$hooks,
|
|
670
|
+
_this$store$discount9;
|
|
612
671
|
var productList = this.store.productList || [];
|
|
613
672
|
var editModeDiscountList = [];
|
|
614
673
|
productList.forEach(function (item) {
|
|
@@ -649,8 +708,14 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
649
708
|
});
|
|
650
709
|
}
|
|
651
710
|
});
|
|
652
|
-
var newDiscountList = [].concat(
|
|
653
|
-
return !item
|
|
711
|
+
var newDiscountList = this.entitlementPassEnabled ? withCommittedEntitlementDetails([].concat(_toConsumableArray(editModeDiscountList.filter(function (item) {
|
|
712
|
+
return !isEntitlementPass(item);
|
|
713
|
+
})), _toConsumableArray(discountList.filter(function (item) {
|
|
714
|
+
return isEntitlementPass(item) || !item.isDisabled;
|
|
715
|
+
}))), productList, ((_this$hooks = this.hooks) === null || _this$hooks === void 0 ? void 0 : _this$hooks.getProduct) || function (item) {
|
|
716
|
+
return item;
|
|
717
|
+
}) : [].concat(editModeDiscountList, _toConsumableArray(discountList.filter(function (item) {
|
|
718
|
+
return !item.isDisabled && !isEntitlementPass(item);
|
|
654
719
|
})));
|
|
655
720
|
var isProductFree = function isProductFree(id) {
|
|
656
721
|
var _this3$hooks2;
|
|
@@ -691,7 +756,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
691
756
|
item.isDisabledForProductUsed = false;
|
|
692
757
|
}
|
|
693
758
|
});
|
|
694
|
-
(_this$store$
|
|
759
|
+
(_this$store$discount9 = this.store.discount) === null || _this$store$discount9 === void 0 || _this$store$discount9.setDiscountList(newDiscountList);
|
|
695
760
|
this.emitDiscountListChange(newDiscountList);
|
|
696
761
|
return newDiscountList;
|
|
697
762
|
}
|
|
@@ -700,8 +765,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
700
765
|
}, {
|
|
701
766
|
key: "getDiscountList",
|
|
702
767
|
value: function getDiscountList() {
|
|
703
|
-
var _this$store$
|
|
704
|
-
return ((_this$store$
|
|
768
|
+
var _this$store$discount10;
|
|
769
|
+
return ((_this$store$discount10 = this.store.discount) === null || _this$store$discount10 === void 0 ? void 0 : _this$store$discount10.getDiscountList()) || [];
|
|
705
770
|
}
|
|
706
771
|
|
|
707
772
|
// 获取客户钱包信息
|
|
@@ -709,7 +774,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
709
774
|
key: "getCustomerWallet",
|
|
710
775
|
value: function () {
|
|
711
776
|
var _getCustomerWallet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(id) {
|
|
712
|
-
var _result, customer;
|
|
777
|
+
var _result, customer, customerUpdate;
|
|
713
778
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
714
779
|
while (1) switch (_context8.prev = _context8.next) {
|
|
715
780
|
case 0:
|
|
@@ -721,25 +786,32 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
721
786
|
case 3:
|
|
722
787
|
_result = _context8.sent;
|
|
723
788
|
if (!(_result !== null && _result !== void 0 && _result.data)) {
|
|
724
|
-
_context8.next =
|
|
789
|
+
_context8.next = 12;
|
|
725
790
|
break;
|
|
726
791
|
}
|
|
727
792
|
customer = Object.assign({}, (_objectDestructuringEmpty(_result.data), _result.data));
|
|
728
|
-
this.setCustomer(customer);
|
|
729
|
-
|
|
793
|
+
customerUpdate = this.setCustomer(customer);
|
|
794
|
+
if (!this.entitlementPassEnabled) {
|
|
795
|
+
_context8.next = 10;
|
|
796
|
+
break;
|
|
797
|
+
}
|
|
798
|
+
_context8.next = 10;
|
|
799
|
+
return customerUpdate;
|
|
800
|
+
case 10:
|
|
801
|
+
_context8.next = 12;
|
|
730
802
|
return this.core.effects.emit("".concat(this.name, ":onScanCustomerChange"), customer);
|
|
731
|
-
case
|
|
732
|
-
_context8.next =
|
|
803
|
+
case 12:
|
|
804
|
+
_context8.next = 17;
|
|
733
805
|
break;
|
|
734
|
-
case
|
|
735
|
-
_context8.prev =
|
|
806
|
+
case 14:
|
|
807
|
+
_context8.prev = 14;
|
|
736
808
|
_context8.t0 = _context8["catch"](0);
|
|
737
809
|
console.error('[ShopDiscount] 获取客户钱包信息出错:', _context8.t0);
|
|
738
|
-
case
|
|
810
|
+
case 17:
|
|
739
811
|
case "end":
|
|
740
812
|
return _context8.stop();
|
|
741
813
|
}
|
|
742
|
-
}, _callee8, this, [[0,
|
|
814
|
+
}, _callee8, this, [[0, 14]]);
|
|
743
815
|
}));
|
|
744
816
|
function getCustomerWallet(_x8) {
|
|
745
817
|
return _getCustomerWallet.apply(this, arguments);
|
|
@@ -783,68 +855,79 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
783
855
|
key: "loadPrepareConfig",
|
|
784
856
|
value: function () {
|
|
785
857
|
var _loadPrepareConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
|
|
786
|
-
var
|
|
858
|
+
var _this4 = this;
|
|
859
|
+
var _this$getCustomer2, _this$store$discount11, _this$getCustomer3, _this$store$discount12, _this$store$discount13, _this$store$productLi2, entitlementPassEnabled, orderId, customerId, goodPassList, newDiscountList, filteredDiscountList, _result3;
|
|
787
860
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
788
861
|
while (1) switch (_context10.prev = _context10.next) {
|
|
789
862
|
case 0:
|
|
790
863
|
_context10.prev = 0;
|
|
864
|
+
entitlementPassEnabled = this.entitlementPassEnabled;
|
|
791
865
|
orderId = this.store.orderId;
|
|
792
866
|
customerId = params.customerId || ((_this$getCustomer2 = this.getCustomer()) === null || _this$getCustomer2 === void 0 ? void 0 : _this$getCustomer2.id); // if (customerId === 1 || !customerId) {
|
|
793
867
|
// return
|
|
794
868
|
// }
|
|
795
|
-
_context10.next =
|
|
796
|
-
return (_this$store$
|
|
869
|
+
_context10.next = 6;
|
|
870
|
+
return (_this$store$discount11 = this.store.discount) === null || _this$store$discount11 === void 0 ? void 0 : _this$store$discount11.loadPrepareConfig(_objectSpread(_objectSpread({
|
|
797
871
|
customer_id: customerId,
|
|
798
872
|
action: orderId ? 'edit' : 'create',
|
|
799
873
|
with_good_pass: 1,
|
|
800
874
|
with_discount_card: 1,
|
|
801
|
-
with_wallet_pass_holder: 1
|
|
875
|
+
with_wallet_pass_holder: 1
|
|
876
|
+
}, this.entitlementPassEnabled ? {
|
|
877
|
+
with_entitlement_pass: 1,
|
|
878
|
+
filter_order_wallet_pass_usage: 0
|
|
879
|
+
} : {}), {}, {
|
|
802
880
|
request_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
803
881
|
}, orderId ? {
|
|
804
882
|
order_id: orderId
|
|
805
883
|
} : {}));
|
|
806
|
-
case
|
|
884
|
+
case 6:
|
|
807
885
|
goodPassList = _context10.sent;
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
886
|
+
if (!(entitlementPassEnabled !== this.entitlementPassEnabled)) {
|
|
887
|
+
_context10.next = 9;
|
|
888
|
+
break;
|
|
889
|
+
}
|
|
890
|
+
return _context10.abrupt("return");
|
|
891
|
+
case 9:
|
|
892
|
+
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)))) {
|
|
893
|
+
_context10.next = 11;
|
|
894
|
+
break;
|
|
895
|
+
}
|
|
896
|
+
return _context10.abrupt("return");
|
|
897
|
+
case 11:
|
|
898
|
+
newDiscountList = mergeEntitlementDiscountLists(this.getDiscountList(), goodPassList || [], (_this$store$discount12 = this.store.discount) === null || _this$store$discount12 === void 0 ? void 0 : _this$store$discount12.getOriginalDiscountList()); // 存储原始优惠券列表
|
|
818
899
|
this.store.originalDiscountList = newDiscountList;
|
|
819
|
-
_context10.next =
|
|
820
|
-
return (_this$store$
|
|
821
|
-
case
|
|
900
|
+
_context10.next = 15;
|
|
901
|
+
return (_this$store$discount13 = this.store.discount) === null || _this$store$discount13 === void 0 ? void 0 : _this$store$discount13.setOriginalDiscountList(newDiscountList);
|
|
902
|
+
case 15:
|
|
822
903
|
// 根据当前预约时间过滤优惠券列表
|
|
823
|
-
filteredDiscountList =
|
|
904
|
+
filteredDiscountList = newDiscountList.filter(function (item) {
|
|
905
|
+
return isEntitlementPass(item) || _this4.filterDiscountListByBookingTime([item], _this4.store.currentBookingTime).length > 0;
|
|
906
|
+
});
|
|
824
907
|
this.store.filteredDiscountList = filteredDiscountList;
|
|
825
908
|
this.setDiscountList(filteredDiscountList || []);
|
|
826
909
|
if (!((_this$store$productLi2 = this.store.productList) !== null && _this$store$productLi2 !== void 0 && _this$store$productLi2.length)) {
|
|
827
|
-
_context10.next =
|
|
910
|
+
_context10.next = 22;
|
|
828
911
|
break;
|
|
829
912
|
}
|
|
830
913
|
_result3 = this.calcDiscount(this.store.productList);
|
|
831
|
-
_context10.next = 20;
|
|
832
|
-
return this.core.effects.emit("".concat(this.name, ":onLoadPrepareCalcResult"), _result3);
|
|
833
|
-
case 20:
|
|
834
914
|
_context10.next = 22;
|
|
835
|
-
return this.core.effects.emit("".concat(this.name, ":
|
|
915
|
+
return this.core.effects.emit("".concat(this.name, ":onLoadPrepareCalcResult"), _result3);
|
|
836
916
|
case 22:
|
|
837
|
-
_context10.next =
|
|
838
|
-
|
|
917
|
+
_context10.next = 24;
|
|
918
|
+
return this.core.effects.emit("".concat(this.name, ":onLoadDiscountList"), filteredDiscountList);
|
|
839
919
|
case 24:
|
|
840
|
-
_context10.
|
|
920
|
+
_context10.next = 29;
|
|
921
|
+
break;
|
|
922
|
+
case 26:
|
|
923
|
+
_context10.prev = 26;
|
|
841
924
|
_context10.t0 = _context10["catch"](0);
|
|
842
925
|
console.error('[ShopDiscount] 加载准备配置出错:', _context10.t0);
|
|
843
|
-
case
|
|
926
|
+
case 29:
|
|
844
927
|
case "end":
|
|
845
928
|
return _context10.stop();
|
|
846
929
|
}
|
|
847
|
-
}, _callee10, this, [[0,
|
|
930
|
+
}, _callee10, this, [[0, 26]]);
|
|
848
931
|
}));
|
|
849
932
|
function loadPrepareConfig(_x10) {
|
|
850
933
|
return _loadPrepareConfig.apply(this, arguments);
|
|
@@ -89,3 +89,4 @@ export declare const calculateOrderLevelDiscountAllocation: (discount: Discount,
|
|
|
89
89
|
discountAmount: number;
|
|
90
90
|
difference: number;
|
|
91
91
|
}>;
|
|
92
|
+
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();
|
|
@@ -42,7 +47,7 @@ export var isAllNormalProduct = function isAllNormalProduct(items) {
|
|
|
42
47
|
export var getDiscountAmount = function getDiscountAmount(discount, total, price) {
|
|
43
48
|
var _discount$metadata;
|
|
44
49
|
// 商品券
|
|
45
|
-
if (discount
|
|
50
|
+
if (isFullCoveragePass(discount)) {
|
|
46
51
|
return new Decimal(price).minus(new Decimal(price || 0)).toNumber();
|
|
47
52
|
}
|
|
48
53
|
|
|
@@ -450,6 +455,7 @@ export var filterDiscountListByBookingTime = function filterDiscountListByBookin
|
|
|
450
455
|
}
|
|
451
456
|
return discountList.filter(function (discount) {
|
|
452
457
|
var _discount$metadata2;
|
|
458
|
+
if (isEntitlementPass(discount)) return !getDiscountTimeUnavailableReason(discount, bookingTime);
|
|
453
459
|
if ((discount === null || discount === void 0 || (_discount$metadata2 = discount.metadata) === null || _discount$metadata2 === void 0 ? void 0 : _discount$metadata2.validity_type) === "custom_schedule_validity") {
|
|
454
460
|
var _discount$custom_sche;
|
|
455
461
|
return getDateIsInSchedule(bookingTime, ((_discount$custom_sche = discount.custom_schedule_snapshot) === null || _discount$custom_sche === void 0 ? void 0 : _discount$custom_sche.data) || []);
|
|
@@ -596,4 +602,37 @@ export var calculateOrderLevelDiscountAllocation = function calculateOrderLevelD
|
|
|
596
602
|
}
|
|
597
603
|
}
|
|
598
604
|
return result;
|
|
605
|
+
};
|
|
606
|
+
export var getDiscountTimeUnavailableReason = function getDiscountTimeUnavailableReason(discount, useTime) {
|
|
607
|
+
var useTimeDayjs = dayjs(useTime);
|
|
608
|
+
if (!useTimeDayjs.isValid()) return 'time_limit';
|
|
609
|
+
try {
|
|
610
|
+
var _discount$metadata5, _discount$extension_d, _discount$custom_sche3;
|
|
611
|
+
if ((discount === null || discount === void 0 || (_discount$metadata5 = discount.metadata) === null || _discount$metadata5 === void 0 ? void 0 : _discount$metadata5.validity_type) === "custom_schedule_validity") {
|
|
612
|
+
var _discount$custom_sche2;
|
|
613
|
+
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';
|
|
614
|
+
}
|
|
615
|
+
var isHasStart = !!discount.start_date && !!discount.start_time;
|
|
616
|
+
var startDate = dayjs("".concat(discount.start_date, " ").concat(discount.start_time));
|
|
617
|
+
|
|
618
|
+
// 开始时刻包含在有效期内。
|
|
619
|
+
if (isHasStart) {
|
|
620
|
+
if (!startDate.isValid()) return 'time_limit';
|
|
621
|
+
if (useTimeDayjs.isBefore(startDate)) return 'not_started';
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
// 到期时刻不再可用;expire_time 为空时为长期有效。
|
|
625
|
+
var expireTime = discount.expire_time ? dayjs(discount.expire_time) : null;
|
|
626
|
+
var isBeforeExpire = expireTime ? expireTime.isValid() && useTimeDayjs.isBefore(expireTime) : true;
|
|
627
|
+
if (!isBeforeExpire) return 'time_limit';
|
|
628
|
+
var validity = (_discount$extension_d = discount.extension_data) === null || _discount$extension_d === void 0 || (_discount$extension_d = _discount$extension_d.find(function (field) {
|
|
629
|
+
return field.field_key === 'valid_times';
|
|
630
|
+
})) === null || _discount$extension_d === void 0 ? void 0 : _discount$extension_d.value;
|
|
631
|
+
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) || [])) {
|
|
632
|
+
return 'outside_schedule';
|
|
633
|
+
}
|
|
634
|
+
return undefined;
|
|
635
|
+
} catch (error) {
|
|
636
|
+
return 'time_limit';
|
|
637
|
+
}
|
|
599
638
|
};
|