@pisell/pisellos 2.1.172 → 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/apis/picoding.d.ts +0 -0
- package/dist/apis/picoding.js +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/model/strategy/adapter/promotion/evaluator.js +26 -99
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.d.ts +2 -2
- package/dist/model/strategy/adapter/walletPass/evaluator.js +12 -63
- package/dist/model/strategy/adapter/walletPass/locales.js +3 -12
- package/dist/model/strategy/engine.d.ts +5 -18
- package/dist/model/strategy/engine.js +45 -145
- package/dist/model/strategy/type.d.ts +0 -17
- package/dist/model/strategy/type.js +0 -4
- package/dist/modules/Cart/types.d.ts +0 -2
- package/dist/modules/Cart/utils/cartProduct.js +25 -56
- package/dist/modules/Cart/utils/changePrice.js +16 -9
- 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 +12 -3
- package/dist/modules/Discount/index.js +211 -17
- package/dist/modules/Discount/types.d.ts +42 -22
- 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/OpenData/index.d.ts +24 -0
- package/dist/modules/OpenData/index.js +173 -0
- package/dist/modules/OpenData/types.d.ts +73 -0
- package/dist/modules/OpenData/types.js +1 -0
- package/dist/modules/OpenData/utils.d.ts +2 -0
- package/dist/modules/OpenData/utils.js +75 -0
- package/dist/modules/Order/index.d.ts +67 -1
- package/dist/modules/Order/index.js +923 -30
- package/dist/modules/Order/types.d.ts +176 -12
- package/dist/modules/Order/types.js +2 -0
- package/dist/modules/Order/utils.d.ts +128 -0
- package/dist/modules/Order/utils.js +621 -5
- package/dist/modules/Payment/index.d.ts +1 -2
- package/dist/modules/Payment/index.js +7 -10
- package/dist/modules/Payment/utils.js +0 -3
- package/dist/modules/Payment/walletpass.d.ts +0 -23
- package/dist/modules/Payment/walletpass.js +95 -191
- package/dist/modules/Product/types.d.ts +7 -0
- package/dist/modules/Product/utils.js +2 -2
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +4 -3
- package/dist/modules/Quotation/index.d.ts +48 -0
- package/dist/modules/Quotation/index.js +248 -0
- package/dist/modules/Quotation/types.d.ts +42 -0
- package/dist/modules/Quotation/types.js +1 -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 +17 -11
- package/dist/modules/Rules/index.js +495 -726
- package/dist/modules/Rules/types.d.ts +2 -4
- package/dist/modules/SalesSummary/index.d.ts +63 -0
- package/dist/modules/SalesSummary/index.js +174 -0
- package/dist/modules/SalesSummary/types.d.ts +60 -0
- package/dist/modules/SalesSummary/types.js +1 -0
- package/dist/modules/SalesSummary/utils.d.ts +30 -0
- package/dist/modules/SalesSummary/utils.js +480 -0
- package/dist/modules/ScanOrderLogger/index.d.ts +23 -0
- package/dist/modules/ScanOrderLogger/index.js +174 -0
- package/dist/modules/ScanOrderLogger/providers/feishu.d.ts +2 -0
- package/dist/modules/ScanOrderLogger/providers/feishu.js +221 -0
- package/dist/modules/ScanOrderLogger/providers/grafana.d.ts +2 -0
- package/dist/modules/ScanOrderLogger/providers/grafana.js +50 -0
- package/dist/modules/ScanOrderLogger/types.d.ts +53 -0
- package/dist/modules/ScanOrderLogger/types.js +1 -0
- package/dist/modules/Schedule/getDateIsInSchedule.js +11 -18
- package/dist/modules/Schedule/utils.d.ts +1 -1
- package/dist/modules/Summary/types.d.ts +0 -2
- package/dist/modules/Summary/utils.d.ts +3 -9
- package/dist/modules/Summary/utils.js +67 -57
- package/dist/modules/index.d.ts +5 -0
- package/dist/modules/index.js +6 -1
- package/dist/plugins/window.d.ts +3 -2
- package/dist/solution/BookingByStep/index.d.ts +17 -3
- package/dist/solution/BookingByStep/index.js +322 -247
- package/dist/solution/BookingByStep/types.d.ts +4 -1
- package/dist/solution/BookingByStep/types.js +7 -1
- package/dist/solution/BookingByStep/utils/timeslots.d.ts +3 -1
- package/dist/solution/BookingByStep/utils/timeslots.js +19 -12
- package/dist/solution/Checkout/index.js +0 -2
- package/dist/solution/ScanOrder/index.d.ts +158 -0
- package/dist/solution/ScanOrder/index.js +3474 -0
- package/dist/solution/ScanOrder/types.d.ts +307 -0
- package/dist/solution/ScanOrder/types.js +35 -0
- package/dist/solution/ScanOrder/utils.d.ts +172 -0
- package/dist/solution/ScanOrder/utils.js +796 -0
- package/dist/solution/ShopDiscount/index.d.ts +6 -2
- package/dist/solution/ShopDiscount/index.js +194 -110
- package/dist/solution/ShopDiscount/types.d.ts +1 -1
- package/dist/solution/ShopDiscount/types.js +1 -2
- package/dist/solution/ShopDiscount/utils.d.ts +1 -0
- package/dist/solution/ShopDiscount/utils.js +52 -27
- package/dist/solution/VenueBooking/index.d.ts +225 -0
- package/dist/solution/VenueBooking/index.js +3749 -0
- package/dist/solution/VenueBooking/sales-section-4-annotated.json +343 -0
- package/dist/solution/VenueBooking/types.d.ts +156 -0
- package/dist/solution/VenueBooking/types.js +21 -0
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +11 -0
- package/dist/solution/VenueBooking/utils/dateSummary.js +104 -0
- package/dist/solution/VenueBooking/utils/resource.d.ts +14 -0
- package/dist/solution/VenueBooking/utils/resource.js +131 -0
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +38 -0
- package/dist/solution/VenueBooking/utils/slotMerge.js +239 -0
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +32 -0
- package/dist/solution/VenueBooking/utils/timeSlot.js +453 -0
- package/dist/solution/VenueBooking/utils.d.ts +1 -0
- package/dist/solution/VenueBooking/utils.js +1 -0
- package/dist/solution/index.d.ts +2 -0
- package/dist/solution/index.js +3 -1
- package/dist/types/index.d.ts +1 -0
- package/lib/apis/picoding.d.ts +0 -0
- package/lib/apis/picoding.js +0 -0
- package/lib/index.d.ts +0 -1
- package/lib/index.js +1 -3
- package/lib/model/strategy/adapter/promotion/evaluator.js +8 -57
- package/lib/model/strategy/adapter/promotion/index.js +49 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.d.ts +2 -2
- package/lib/model/strategy/adapter/walletPass/evaluator.js +7 -36
- package/lib/model/strategy/adapter/walletPass/locales.js +3 -12
- package/lib/model/strategy/engine.d.ts +5 -18
- package/lib/model/strategy/engine.js +21 -85
- package/lib/model/strategy/type.d.ts +0 -17
- package/lib/modules/Cart/types.d.ts +0 -2
- package/lib/modules/Cart/utils/cartProduct.js +12 -39
- package/lib/modules/Cart/utils/changePrice.js +13 -9
- 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 +12 -3
- package/lib/modules/Discount/index.js +123 -12
- package/lib/modules/Discount/types.d.ts +42 -22
- 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/OpenData/index.d.ts +24 -0
- package/lib/modules/OpenData/index.js +119 -0
- package/lib/modules/OpenData/types.d.ts +73 -0
- package/lib/modules/OpenData/types.js +17 -0
- package/lib/modules/OpenData/utils.d.ts +2 -0
- package/lib/modules/OpenData/utils.js +111 -0
- package/lib/modules/Order/index.d.ts +67 -1
- package/lib/modules/Order/index.js +529 -1
- package/lib/modules/Order/types.d.ts +176 -12
- package/lib/modules/Order/utils.d.ts +128 -0
- package/lib/modules/Order/utils.js +514 -2
- package/lib/modules/Payment/index.d.ts +1 -2
- package/lib/modules/Payment/index.js +0 -1
- package/lib/modules/Payment/utils.js +0 -3
- package/lib/modules/Payment/walletpass.d.ts +0 -23
- package/lib/modules/Payment/walletpass.js +17 -94
- package/lib/modules/Product/types.d.ts +7 -0
- package/lib/modules/Product/utils.js +2 -2
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +5 -4
- package/lib/modules/Quotation/index.d.ts +48 -0
- package/lib/modules/Quotation/index.js +152 -0
- package/lib/modules/Quotation/types.d.ts +42 -0
- package/lib/modules/Quotation/types.js +17 -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 +17 -11
- package/lib/modules/Rules/index.js +548 -798
- package/lib/modules/Rules/types.d.ts +2 -4
- package/lib/modules/SalesSummary/index.d.ts +63 -0
- package/lib/modules/SalesSummary/index.js +105 -0
- package/lib/modules/SalesSummary/types.d.ts +60 -0
- package/lib/modules/SalesSummary/types.js +17 -0
- package/lib/modules/SalesSummary/utils.d.ts +30 -0
- package/lib/modules/SalesSummary/utils.js +420 -0
- package/lib/modules/ScanOrderLogger/index.d.ts +23 -0
- package/lib/modules/ScanOrderLogger/index.js +147 -0
- package/lib/modules/ScanOrderLogger/providers/feishu.d.ts +2 -0
- package/lib/modules/ScanOrderLogger/providers/feishu.js +157 -0
- package/lib/modules/ScanOrderLogger/providers/grafana.d.ts +2 -0
- package/lib/modules/ScanOrderLogger/providers/grafana.js +52 -0
- package/lib/modules/ScanOrderLogger/types.d.ts +53 -0
- package/lib/modules/ScanOrderLogger/types.js +17 -0
- package/lib/modules/Schedule/getDateIsInSchedule.js +9 -11
- package/lib/modules/Schedule/utils.d.ts +1 -1
- package/lib/modules/Summary/types.d.ts +0 -2
- package/lib/modules/Summary/utils.d.ts +3 -9
- package/lib/modules/Summary/utils.js +45 -34
- package/lib/modules/index.d.ts +5 -0
- package/lib/modules/index.js +11 -1
- package/lib/plugins/window.d.ts +3 -2
- package/lib/solution/BookingByStep/index.d.ts +17 -3
- package/lib/solution/BookingByStep/index.js +45 -4
- package/lib/solution/BookingByStep/types.d.ts +4 -1
- package/lib/solution/BookingByStep/types.js +15 -0
- package/lib/solution/BookingByStep/utils/timeslots.d.ts +3 -1
- package/lib/solution/BookingByStep/utils/timeslots.js +19 -11
- package/lib/solution/Checkout/index.js +0 -2
- package/lib/solution/ScanOrder/index.d.ts +158 -0
- package/lib/solution/ScanOrder/index.js +2135 -0
- package/lib/solution/ScanOrder/types.d.ts +307 -0
- package/lib/solution/ScanOrder/types.js +36 -0
- package/lib/solution/ScanOrder/utils.d.ts +172 -0
- package/lib/solution/ScanOrder/utils.js +658 -0
- package/lib/solution/ShopDiscount/index.d.ts +6 -2
- package/lib/solution/ShopDiscount/index.js +94 -50
- package/lib/solution/ShopDiscount/types.d.ts +1 -1
- package/lib/solution/ShopDiscount/utils.d.ts +1 -0
- package/lib/solution/ShopDiscount/utils.js +48 -11
- package/lib/solution/VenueBooking/index.d.ts +225 -0
- package/lib/solution/VenueBooking/index.js +2073 -0
- package/lib/solution/VenueBooking/sales-section-4-annotated.json +343 -0
- package/lib/solution/VenueBooking/types.d.ts +156 -0
- package/lib/solution/VenueBooking/types.js +44 -0
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +11 -0
- package/lib/solution/VenueBooking/utils/dateSummary.js +110 -0
- package/lib/solution/VenueBooking/utils/resource.d.ts +14 -0
- package/lib/solution/VenueBooking/utils/resource.js +92 -0
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +38 -0
- package/lib/solution/VenueBooking/utils/slotMerge.js +237 -0
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +32 -0
- package/lib/solution/VenueBooking/utils/timeSlot.js +339 -0
- package/lib/solution/VenueBooking/utils.d.ts +1 -0
- package/lib/solution/VenueBooking/utils.js +69 -0
- package/lib/solution/index.d.ts +2 -0
- package/lib/solution/index.js +5 -1
- package/lib/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -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: [],
|
|
@@ -57,13 +61,28 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
57
61
|
currentBookingTime: "",
|
|
58
62
|
filteredDiscountList: [],
|
|
59
63
|
bookingSubject: undefined,
|
|
60
|
-
|
|
64
|
+
orderId: undefined
|
|
61
65
|
};
|
|
62
66
|
return _this;
|
|
63
67
|
}
|
|
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
|
}
|
|
@@ -289,14 +317,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
289
317
|
return _setCustomer.apply(this, arguments);
|
|
290
318
|
}
|
|
291
319
|
return setCustomer;
|
|
292
|
-
}()
|
|
293
|
-
}, {
|
|
294
|
-
key: "setOriginTotalAmount",
|
|
295
|
-
value: function setOriginTotalAmount(amount) {
|
|
296
|
-
this.store.orderTotalAmount = amount;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
// 设置holders
|
|
320
|
+
}() // 设置holders
|
|
300
321
|
}, {
|
|
301
322
|
key: "setHolders",
|
|
302
323
|
value: function setHolders(holders) {
|
|
@@ -307,6 +328,11 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
307
328
|
value: function setBookingSubject(bookingSubject) {
|
|
308
329
|
this.store.bookingSubject = bookingSubject;
|
|
309
330
|
}
|
|
331
|
+
}, {
|
|
332
|
+
key: "setOrderId",
|
|
333
|
+
value: function setOrderId(id) {
|
|
334
|
+
this.store.orderId = id;
|
|
335
|
+
}
|
|
310
336
|
|
|
311
337
|
// 计算优惠券
|
|
312
338
|
}, {
|
|
@@ -324,7 +350,6 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
324
350
|
var _ref = rulesModule.calcDiscount({
|
|
325
351
|
productList: productList,
|
|
326
352
|
discountList: this.getDiscountList(),
|
|
327
|
-
orderTotalAmount: this.store.orderTotalAmount || 0,
|
|
328
353
|
holders: this.store.holders || [],
|
|
329
354
|
isFormSubject: ((_this$store$bookingSu = this.store.bookingSubject) === null || _this$store$bookingSu === void 0 ? void 0 : _this$store$bookingSu.type) === 'form'
|
|
330
355
|
}, options) || {
|
|
@@ -333,6 +358,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
333
358
|
},
|
|
334
359
|
newProductList = _ref.productList,
|
|
335
360
|
newDiscountList = _ref.discountList;
|
|
361
|
+
if (this.entitlementPassEnabled) this.store.productList = newProductList || productList;
|
|
336
362
|
if (newDiscountList) {
|
|
337
363
|
newDiscountList = this.setDiscountList(newDiscountList);
|
|
338
364
|
}
|
|
@@ -397,13 +423,13 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
397
423
|
key: "batchSearchByProductIds",
|
|
398
424
|
value: function () {
|
|
399
425
|
var _batchSearchByProductIds = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(productIds) {
|
|
400
|
-
var _this$store$
|
|
426
|
+
var _this$store$discount5;
|
|
401
427
|
var resultDiscountList, currentDiscountList, newDiscountList;
|
|
402
428
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
403
429
|
while (1) switch (_context5.prev = _context5.next) {
|
|
404
430
|
case 0:
|
|
405
431
|
_context5.next = 2;
|
|
406
|
-
return (_this$store$
|
|
432
|
+
return (_this$store$discount5 = this.store.discount) === null || _this$store$discount5 === void 0 ? void 0 : _this$store$discount5.batchSearchByProductIds(productIds);
|
|
407
433
|
case 2:
|
|
408
434
|
_context5.t0 = _context5.sent;
|
|
409
435
|
if (_context5.t0) {
|
|
@@ -437,25 +463,33 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
437
463
|
key: "scanCode",
|
|
438
464
|
value: function () {
|
|
439
465
|
var _scanCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(code, customerId) {
|
|
440
|
-
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;
|
|
441
467
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
442
468
|
while (1) switch (_context6.prev = _context6.next) {
|
|
443
469
|
case 0:
|
|
444
470
|
_context6.prev = 0;
|
|
445
471
|
_context6.next = 3;
|
|
446
|
-
return (_this$store$
|
|
472
|
+
return (_this$store$discount6 = this.store.discount) === null || _this$store$discount6 === void 0 ? void 0 : _this$store$discount6.batchSearch(code, {
|
|
473
|
+
customerId: customerId,
|
|
474
|
+
orderId: this.store.orderId,
|
|
475
|
+
withEntitlementPass: this.entitlementPassEnabled
|
|
476
|
+
});
|
|
447
477
|
case 3:
|
|
448
478
|
_context6.t0 = _context6.sent;
|
|
449
479
|
if (_context6.t0) {
|
|
450
480
|
_context6.next = 6;
|
|
451
481
|
break;
|
|
452
482
|
}
|
|
453
|
-
_context6.t0 =
|
|
483
|
+
_context6.t0 = {
|
|
484
|
+
discountList: [],
|
|
485
|
+
unavailableReasonKey: null
|
|
486
|
+
};
|
|
454
487
|
case 6:
|
|
455
|
-
|
|
488
|
+
resultDiscountWithReason = _context6.t0;
|
|
489
|
+
resultDiscountList = resultDiscountWithReason.discountList, unavailableReasonKey = resultDiscountWithReason.unavailableReasonKey;
|
|
456
490
|
rulesModule = this.store.rules;
|
|
457
491
|
if (rulesModule) {
|
|
458
|
-
_context6.next =
|
|
492
|
+
_context6.next = 11;
|
|
459
493
|
break;
|
|
460
494
|
}
|
|
461
495
|
return _context6.abrupt("return", {
|
|
@@ -465,18 +499,19 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
465
499
|
discountList: this.getDiscountList(),
|
|
466
500
|
unavailableReason: UnavailableReason.Unknown
|
|
467
501
|
});
|
|
468
|
-
case
|
|
502
|
+
case 11:
|
|
469
503
|
if (resultDiscountList.length) {
|
|
470
|
-
_context6.next =
|
|
504
|
+
_context6.next = 13;
|
|
471
505
|
break;
|
|
472
506
|
}
|
|
473
507
|
return _context6.abrupt("return", {
|
|
474
508
|
type: "server",
|
|
475
509
|
isAvailable: false,
|
|
476
510
|
productList: this.store.productList || [],
|
|
477
|
-
discountList: this.getDiscountList()
|
|
511
|
+
discountList: this.getDiscountList(),
|
|
512
|
+
unavailableReasonKey: unavailableReasonKey
|
|
478
513
|
});
|
|
479
|
-
case
|
|
514
|
+
case 13:
|
|
480
515
|
withScanList = resultDiscountList.map(function (item) {
|
|
481
516
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
482
517
|
isScan: true
|
|
@@ -485,12 +520,12 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
485
520
|
currentSelectedDiscountList = this.getDiscountList().filter(function (n) {
|
|
486
521
|
return n.isSelected;
|
|
487
522
|
});
|
|
488
|
-
if (!(currentSelectedDiscountList.length && currentSelectedDiscountList.some(function (n) {
|
|
523
|
+
if (!(!withScanList.some(isEntitlementPass) && currentSelectedDiscountList.length && currentSelectedDiscountList.some(function (n) {
|
|
489
524
|
return withScanList.some(function (m) {
|
|
490
525
|
return m.id === n.id;
|
|
491
526
|
});
|
|
492
527
|
}))) {
|
|
493
|
-
_context6.next =
|
|
528
|
+
_context6.next = 17;
|
|
494
529
|
break;
|
|
495
530
|
}
|
|
496
531
|
return _context6.abrupt("return", {
|
|
@@ -499,42 +534,69 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
499
534
|
productList: this.store.productList || [],
|
|
500
535
|
discountList: this.getDiscountList()
|
|
501
536
|
});
|
|
502
|
-
case
|
|
537
|
+
case 17:
|
|
503
538
|
_ref2 = rulesModule.isDiscountListAvailable({
|
|
504
539
|
productList: this.store.productList || [],
|
|
505
540
|
oldDiscountList: this.getDiscountList(),
|
|
506
541
|
newDiscountList: withScanList,
|
|
507
|
-
orderTotalAmount: this.store.orderTotalAmount || 0,
|
|
508
542
|
holders: this.store.holders || [],
|
|
509
543
|
isFormSubject: ((_this$store$bookingSu2 = this.store.bookingSubject) === null || _this$store$bookingSu2 === void 0 ? void 0 : _this$store$bookingSu2.type) === 'form'
|
|
510
544
|
}) || {
|
|
511
545
|
isAvailable: false,
|
|
512
546
|
productList: this.store.productList || [],
|
|
513
547
|
discountList: this.getDiscountList()
|
|
514
|
-
}, 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;
|
|
515
550
|
if (!isAvailable) {
|
|
516
|
-
_context6.next =
|
|
551
|
+
_context6.next = 27;
|
|
517
552
|
break;
|
|
518
553
|
}
|
|
554
|
+
if (this.entitlementPassEnabled) this.setProductList(newProductList || []);
|
|
519
555
|
this.setDiscountList(newDiscountList || []);
|
|
520
556
|
this.store.originalDiscountList = newDiscountList || [];
|
|
521
|
-
this.setProductList(newProductList || []);
|
|
557
|
+
if (!this.entitlementPassEnabled) this.setProductList(newProductList || []);
|
|
522
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')) {
|
|
523
|
-
_context6.next =
|
|
559
|
+
_context6.next = 27;
|
|
524
560
|
break;
|
|
525
561
|
}
|
|
526
|
-
_context6.next =
|
|
562
|
+
_context6.next = 27;
|
|
527
563
|
return this.getCustomerWallet(resultDiscountList[0].customer_id);
|
|
528
|
-
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:
|
|
529
585
|
return _context6.abrupt("return", {
|
|
530
586
|
type: "clientCalc",
|
|
531
587
|
isAvailable: isAvailable || false,
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
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
|
|
535
597
|
});
|
|
536
|
-
case
|
|
537
|
-
_context6.prev =
|
|
598
|
+
case 35:
|
|
599
|
+
_context6.prev = 35;
|
|
538
600
|
_context6.t1 = _context6["catch"](0);
|
|
539
601
|
console.error('[ShopDiscount] 扫码出错:', _context6.t1);
|
|
540
602
|
return _context6.abrupt("return", {
|
|
@@ -544,11 +606,11 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
544
606
|
discountList: this.getDiscountList(),
|
|
545
607
|
unavailableReason: UnavailableReason.Unknown
|
|
546
608
|
});
|
|
547
|
-
case
|
|
609
|
+
case 39:
|
|
548
610
|
case "end":
|
|
549
611
|
return _context6.stop();
|
|
550
612
|
}
|
|
551
|
-
}, _callee6, this, [[0,
|
|
613
|
+
}, _callee6, this, [[0, 35]]);
|
|
552
614
|
}));
|
|
553
615
|
function scanCode(_x5, _x6) {
|
|
554
616
|
return _scanCode.apply(this, arguments);
|
|
@@ -558,8 +620,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
558
620
|
}, {
|
|
559
621
|
key: "calcDiscountApplicableProductTotalPrice",
|
|
560
622
|
value: function calcDiscountApplicableProductTotalPrice(discount) {
|
|
561
|
-
var _this$store$
|
|
562
|
-
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);
|
|
563
625
|
}
|
|
564
626
|
|
|
565
627
|
// =========== 私有辅助方法 ===========
|
|
@@ -604,7 +666,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
604
666
|
key: "setDiscountList",
|
|
605
667
|
value: function setDiscountList(discountList) {
|
|
606
668
|
var _this3 = this,
|
|
607
|
-
_this$
|
|
669
|
+
_this$hooks,
|
|
670
|
+
_this$store$discount9;
|
|
608
671
|
var productList = this.store.productList || [];
|
|
609
672
|
var editModeDiscountList = [];
|
|
610
673
|
productList.forEach(function (item) {
|
|
@@ -618,27 +681,21 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
618
681
|
return n.id === (((_discount$discount = discount.discount) === null || _discount$discount === void 0 ? void 0 : _discount$discount.resource_id) || discount.id);
|
|
619
682
|
});
|
|
620
683
|
if (index !== -1) {
|
|
621
|
-
var
|
|
684
|
+
var _discount$metadata;
|
|
622
685
|
editModeDiscountList[index] = _objectSpread(_objectSpread({}, editModeDiscountList[index]), {}, {
|
|
623
|
-
metadata: _objectSpread(_objectSpread({}, discount.metadata || {}), {}, {
|
|
624
|
-
num: ((editModeDiscountList === null || editModeDiscountList === void 0 || (_editModeDiscountList = editModeDiscountList[index]) === null || _editModeDiscountList === void 0 || (_editModeDiscountList = _editModeDiscountList.metadata) === null || _editModeDiscountList === void 0 ? void 0 : _editModeDiscountList.num) || 1) + (((_discount$metadata = discount.metadata) === null || _discount$metadata === void 0 ? void 0 : _discount$metadata.num) || 1)
|
|
625
|
-
}),
|
|
626
686
|
amount: new Decimal(discount.amount || 0).plus(new Decimal(editModeDiscountList[index].amount || 0)).toNumber(),
|
|
627
|
-
savedAmount: new Decimal(discount.amount || 0).times((product === null || product === void 0 ? void 0 : product.quantity) || (product === null || product === void 0 ? void 0 : product.num) || 1).plus((discount === null || discount === void 0 || (_discount$
|
|
687
|
+
savedAmount: new Decimal(discount.amount || 0).times((product === null || product === void 0 ? void 0 : product.quantity) || (product === null || product === void 0 ? void 0 : product.num) || 1).plus((discount === null || discount === void 0 || (_discount$metadata = discount.metadata) === null || _discount$metadata === void 0 ? void 0 : _discount$metadata.product_discount_difference) || 0).plus(new Decimal(editModeDiscountList[index].savedAmount || 0)).toNumber()
|
|
628
688
|
});
|
|
629
689
|
} else {
|
|
630
|
-
var _discount$
|
|
690
|
+
var _discount$metadata2, _discount$discount2, _discount$discount3, _discount$discount4;
|
|
631
691
|
if (discount.type && !discount.tag) {
|
|
632
692
|
discount.tag = discount.type;
|
|
633
693
|
}
|
|
634
694
|
editModeDiscountList.push(_objectSpread(_objectSpread({}, discount), {}, {
|
|
635
|
-
metadata: _objectSpread(_objectSpread({}, discount.metadata || {}), {}, {
|
|
636
|
-
num: ((_discount$metadata3 = discount.metadata) === null || _discount$metadata3 === void 0 ? void 0 : _discount$metadata3.num) || 1
|
|
637
|
-
}),
|
|
638
695
|
name: discount.name || discount.discount.title.auto,
|
|
639
696
|
isEditMode: true,
|
|
640
697
|
limited_relation_product_data: {},
|
|
641
|
-
savedAmount: new Decimal(discount.amount || 0).times((product === null || product === void 0 ? void 0 : product.quantity) || (product === null || product === void 0 ? void 0 : product.num) || 1).plus((discount === null || discount === void 0 || (_discount$
|
|
698
|
+
savedAmount: new Decimal(discount.amount || 0).times((product === null || product === void 0 ? void 0 : product.quantity) || (product === null || product === void 0 ? void 0 : product.num) || 1).plus((discount === null || discount === void 0 || (_discount$metadata2 = discount.metadata) === null || _discount$metadata2 === void 0 ? void 0 : _discount$metadata2.product_discount_difference) || 0).toNumber(),
|
|
642
699
|
isAvailable: true,
|
|
643
700
|
id: ((_discount$discount2 = discount.discount) === null || _discount$discount2 === void 0 ? void 0 : _discount$discount2.resource_id) || discount.id,
|
|
644
701
|
format_title: ((_discount$discount3 = discount.discount) === null || _discount$discount3 === void 0 ? void 0 : _discount$discount3.title) || discount.format_title,
|
|
@@ -651,8 +708,14 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
651
708
|
});
|
|
652
709
|
}
|
|
653
710
|
});
|
|
654
|
-
var newDiscountList = [].concat(
|
|
655
|
-
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);
|
|
656
719
|
})));
|
|
657
720
|
var isProductFree = function isProductFree(id) {
|
|
658
721
|
var _this3$hooks2;
|
|
@@ -693,7 +756,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
693
756
|
item.isDisabledForProductUsed = false;
|
|
694
757
|
}
|
|
695
758
|
});
|
|
696
|
-
(_this$store$
|
|
759
|
+
(_this$store$discount9 = this.store.discount) === null || _this$store$discount9 === void 0 || _this$store$discount9.setDiscountList(newDiscountList);
|
|
697
760
|
this.emitDiscountListChange(newDiscountList);
|
|
698
761
|
return newDiscountList;
|
|
699
762
|
}
|
|
@@ -702,8 +765,8 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
702
765
|
}, {
|
|
703
766
|
key: "getDiscountList",
|
|
704
767
|
value: function getDiscountList() {
|
|
705
|
-
var _this$store$
|
|
706
|
-
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()) || [];
|
|
707
770
|
}
|
|
708
771
|
|
|
709
772
|
// 获取客户钱包信息
|
|
@@ -711,7 +774,7 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
711
774
|
key: "getCustomerWallet",
|
|
712
775
|
value: function () {
|
|
713
776
|
var _getCustomerWallet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(id) {
|
|
714
|
-
var _result, customer;
|
|
777
|
+
var _result, customer, customerUpdate;
|
|
715
778
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
716
779
|
while (1) switch (_context8.prev = _context8.next) {
|
|
717
780
|
case 0:
|
|
@@ -723,25 +786,32 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
723
786
|
case 3:
|
|
724
787
|
_result = _context8.sent;
|
|
725
788
|
if (!(_result !== null && _result !== void 0 && _result.data)) {
|
|
726
|
-
_context8.next =
|
|
789
|
+
_context8.next = 12;
|
|
727
790
|
break;
|
|
728
791
|
}
|
|
729
792
|
customer = Object.assign({}, (_objectDestructuringEmpty(_result.data), _result.data));
|
|
730
|
-
this.setCustomer(customer);
|
|
731
|
-
|
|
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;
|
|
732
802
|
return this.core.effects.emit("".concat(this.name, ":onScanCustomerChange"), customer);
|
|
733
|
-
case
|
|
734
|
-
_context8.next =
|
|
803
|
+
case 12:
|
|
804
|
+
_context8.next = 17;
|
|
735
805
|
break;
|
|
736
|
-
case
|
|
737
|
-
_context8.prev =
|
|
806
|
+
case 14:
|
|
807
|
+
_context8.prev = 14;
|
|
738
808
|
_context8.t0 = _context8["catch"](0);
|
|
739
809
|
console.error('[ShopDiscount] 获取客户钱包信息出错:', _context8.t0);
|
|
740
|
-
case
|
|
810
|
+
case 17:
|
|
741
811
|
case "end":
|
|
742
812
|
return _context8.stop();
|
|
743
813
|
}
|
|
744
|
-
}, _callee8, this, [[0,
|
|
814
|
+
}, _callee8, this, [[0, 14]]);
|
|
745
815
|
}));
|
|
746
816
|
function getCustomerWallet(_x8) {
|
|
747
817
|
return _getCustomerWallet.apply(this, arguments);
|
|
@@ -785,65 +855,79 @@ export var ShopDiscountImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
785
855
|
key: "loadPrepareConfig",
|
|
786
856
|
value: function () {
|
|
787
857
|
var _loadPrepareConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
|
|
788
|
-
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;
|
|
789
860
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
790
861
|
while (1) switch (_context10.prev = _context10.next) {
|
|
791
862
|
case 0:
|
|
792
863
|
_context10.prev = 0;
|
|
864
|
+
entitlementPassEnabled = this.entitlementPassEnabled;
|
|
865
|
+
orderId = this.store.orderId;
|
|
793
866
|
customerId = params.customerId || ((_this$getCustomer2 = this.getCustomer()) === null || _this$getCustomer2 === void 0 ? void 0 : _this$getCustomer2.id); // if (customerId === 1 || !customerId) {
|
|
794
867
|
// return
|
|
795
868
|
// }
|
|
796
|
-
_context10.next =
|
|
797
|
-
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({
|
|
798
871
|
customer_id: customerId,
|
|
799
|
-
action: 'create',
|
|
872
|
+
action: orderId ? 'edit' : 'create',
|
|
800
873
|
with_good_pass: 1,
|
|
801
874
|
with_discount_card: 1,
|
|
802
|
-
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
|
+
} : {}), {}, {
|
|
803
880
|
request_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
804
|
-
}
|
|
805
|
-
|
|
881
|
+
}, orderId ? {
|
|
882
|
+
order_id: orderId
|
|
883
|
+
} : {}));
|
|
884
|
+
case 6:
|
|
806
885
|
goodPassList = _context10.sent;
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
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()); // 存储原始优惠券列表
|
|
817
899
|
this.store.originalDiscountList = newDiscountList;
|
|
818
|
-
_context10.next =
|
|
819
|
-
return (_this$store$
|
|
820
|
-
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:
|
|
821
903
|
// 根据当前预约时间过滤优惠券列表
|
|
822
|
-
filteredDiscountList =
|
|
904
|
+
filteredDiscountList = newDiscountList.filter(function (item) {
|
|
905
|
+
return isEntitlementPass(item) || _this4.filterDiscountListByBookingTime([item], _this4.store.currentBookingTime).length > 0;
|
|
906
|
+
});
|
|
823
907
|
this.store.filteredDiscountList = filteredDiscountList;
|
|
824
908
|
this.setDiscountList(filteredDiscountList || []);
|
|
825
909
|
if (!((_this$store$productLi2 = this.store.productList) !== null && _this$store$productLi2 !== void 0 && _this$store$productLi2.length)) {
|
|
826
|
-
_context10.next =
|
|
910
|
+
_context10.next = 22;
|
|
827
911
|
break;
|
|
828
912
|
}
|
|
829
913
|
_result3 = this.calcDiscount(this.store.productList);
|
|
830
|
-
_context10.next =
|
|
914
|
+
_context10.next = 22;
|
|
831
915
|
return this.core.effects.emit("".concat(this.name, ":onLoadPrepareCalcResult"), _result3);
|
|
832
|
-
case
|
|
833
|
-
_context10.next =
|
|
834
|
-
return this.core.effects.emit("".concat(this.name, ":onLoadDiscountList"),
|
|
835
|
-
case
|
|
836
|
-
_context10.next =
|
|
916
|
+
case 22:
|
|
917
|
+
_context10.next = 24;
|
|
918
|
+
return this.core.effects.emit("".concat(this.name, ":onLoadDiscountList"), filteredDiscountList);
|
|
919
|
+
case 24:
|
|
920
|
+
_context10.next = 29;
|
|
837
921
|
break;
|
|
838
|
-
case
|
|
839
|
-
_context10.prev =
|
|
922
|
+
case 26:
|
|
923
|
+
_context10.prev = 26;
|
|
840
924
|
_context10.t0 = _context10["catch"](0);
|
|
841
925
|
console.error('[ShopDiscount] 加载准备配置出错:', _context10.t0);
|
|
842
|
-
case
|
|
926
|
+
case 29:
|
|
843
927
|
case "end":
|
|
844
928
|
return _context10.stop();
|
|
845
929
|
}
|
|
846
|
-
}, _callee10, this, [[0,
|
|
930
|
+
}, _callee10, this, [[0, 26]]);
|
|
847
931
|
}));
|
|
848
932
|
function loadPrepareConfig(_x10) {
|
|
849
933
|
return _loadPrepareConfig.apply(this, arguments);
|
|
@@ -23,7 +23,6 @@ export interface ShopDiscountState {
|
|
|
23
23
|
discount: DiscountModule | null;
|
|
24
24
|
rules: RulesModule | null;
|
|
25
25
|
productList: Record<string, any>[];
|
|
26
|
-
orderTotalAmount?: number;
|
|
27
26
|
holders?: {
|
|
28
27
|
form_record_id: number;
|
|
29
28
|
form_id?: number;
|
|
@@ -36,6 +35,7 @@ export interface ShopDiscountState {
|
|
|
36
35
|
type?: 'form' | 'customer';
|
|
37
36
|
[key: string]: any;
|
|
38
37
|
};
|
|
38
|
+
orderId?: number;
|
|
39
39
|
}
|
|
40
40
|
export interface SetDiscountSelectedParams {
|
|
41
41
|
discountId: number;
|
|
@@ -8,5 +8,4 @@ export var ShopDiscountHooks = /*#__PURE__*/function (ShopDiscountHooks) {
|
|
|
8
8
|
ShopDiscountHooks["onRulesListChange"] = "shopDiscount:onRulesListChange";
|
|
9
9
|
ShopDiscountHooks["onLoadPrepareCalcResult"] = "shopDiscount:onLoadPrepareCalcResult";
|
|
10
10
|
return ShopDiscountHooks;
|
|
11
|
-
}({});
|
|
12
|
-
;
|
|
11
|
+
}({});
|
|
@@ -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;
|