@pisell/pisellos 2.1.119 → 2.1.120
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/model/index.d.ts +1 -0
- package/dist/model/index.js +1 -0
- package/dist/model/strategy/adapter/index.d.ts +7 -0
- package/dist/model/strategy/adapter/index.js +7 -0
- package/dist/model/strategy/adapter/itemRule/adapter.d.ts +59 -0
- package/dist/model/strategy/adapter/itemRule/adapter.js +439 -0
- package/dist/model/strategy/adapter/itemRule/evaluator.d.ts +43 -0
- package/dist/model/strategy/adapter/itemRule/evaluator.js +169 -0
- package/dist/model/strategy/adapter/itemRule/examples.d.ts +64 -0
- package/dist/model/strategy/adapter/itemRule/examples.js +315 -0
- package/dist/model/strategy/adapter/itemRule/index.d.ts +5 -0
- package/dist/model/strategy/adapter/itemRule/index.js +5 -0
- package/dist/model/strategy/adapter/itemRule/type.d.ts +206 -0
- package/dist/model/strategy/adapter/itemRule/type.js +101 -0
- package/dist/model/strategy/adapter/promotion/adapter.d.ts +66 -0
- package/dist/model/strategy/adapter/promotion/adapter.js +271 -0
- package/dist/model/strategy/adapter/promotion/evaluator.d.ts +213 -0
- package/dist/model/strategy/adapter/promotion/evaluator.js +1206 -0
- package/dist/model/strategy/adapter/promotion/examples.d.ts +138 -0
- package/dist/model/strategy/adapter/promotion/examples.js +166 -0
- package/dist/model/strategy/adapter/promotion/index.d.ts +4 -0
- package/dist/model/strategy/adapter/promotion/index.js +0 -0
- package/dist/model/strategy/adapter/promotion/type.d.ts +447 -0
- package/dist/model/strategy/adapter/promotion/type.js +209 -0
- package/dist/model/strategy/adapter/type.d.ts +28 -0
- package/dist/model/strategy/adapter/type.js +1 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.d.ts +84 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +502 -0
- package/dist/model/strategy/adapter/walletPass/example.d.ts +4 -0
- package/dist/model/strategy/adapter/walletPass/example.js +258 -0
- package/dist/model/strategy/adapter/walletPass/index.d.ts +32 -0
- package/dist/model/strategy/adapter/walletPass/index.js +182 -0
- package/dist/model/strategy/adapter/walletPass/locales.d.ts +1 -0
- package/dist/model/strategy/adapter/walletPass/locales.js +26 -0
- package/dist/model/strategy/adapter/walletPass/type.d.ts +187 -0
- package/dist/model/strategy/adapter/walletPass/type.js +1 -0
- package/dist/model/strategy/adapter/walletPass/utils.d.ts +50 -0
- package/dist/model/strategy/adapter/walletPass/utils.js +1104 -0
- package/dist/model/strategy/engine.d.ts +106 -0
- package/dist/model/strategy/engine.js +611 -0
- package/dist/model/strategy/index.d.ts +3 -0
- package/dist/model/strategy/index.js +8 -0
- package/dist/model/strategy/strategy-example.d.ts +5 -0
- package/dist/model/strategy/strategy-example.js +331 -0
- package/dist/model/strategy/type.d.ts +228 -0
- package/dist/model/strategy/type.js +94 -0
- package/dist/modules/Cart/utils/cartProduct.js +1 -0
- package/dist/modules/OpenData/index.d.ts +23 -0
- package/dist/modules/OpenData/index.js +167 -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 +58 -1
- package/dist/modules/Order/index.js +780 -29
- package/dist/modules/Order/types.d.ts +144 -12
- package/dist/modules/Order/utils.d.ts +25 -0
- package/dist/modules/Order/utils.js +225 -1
- package/dist/modules/Product/index.d.ts +1 -1
- package/dist/modules/Product/utils.js +2 -2
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +2 -1
- package/dist/modules/Quotation/index.d.ts +48 -0
- package/dist/modules/Quotation/index.js +245 -0
- package/dist/modules/Quotation/types.d.ts +42 -0
- package/dist/modules/Quotation/types.js +1 -0
- package/dist/modules/Rules/index.js +4 -1
- package/dist/modules/SalesSummary/index.d.ts +63 -0
- package/dist/modules/SalesSummary/index.js +174 -0
- package/dist/modules/SalesSummary/types.d.ts +59 -0
- package/dist/modules/SalesSummary/types.js +1 -0
- package/dist/modules/SalesSummary/utils.d.ts +30 -0
- package/dist/modules/SalesSummary/utils.js +513 -0
- package/dist/modules/ScanOrderLogger/index.d.ts +21 -0
- package/dist/modules/ScanOrderLogger/index.js +161 -0
- package/dist/modules/ScanOrderLogger/providers/feishu.d.ts +2 -0
- package/dist/modules/ScanOrderLogger/providers/feishu.js +95 -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 +46 -0
- package/dist/modules/ScanOrderLogger/types.js +1 -0
- package/dist/modules/Schedule/getDateIsInSchedule.js +11 -18
- package/dist/modules/Summary/utils.d.ts +3 -3
- package/dist/modules/Summary/utils.js +4 -4
- package/dist/modules/index.d.ts +4 -0
- package/dist/modules/index.js +5 -1
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/types.d.ts +3 -1
- package/dist/solution/BookingByStep/types.js +5 -1
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/dist/solution/ScanOrder/index.d.ts +90 -0
- package/dist/solution/ScanOrder/index.js +1853 -0
- package/dist/solution/ScanOrder/types.d.ts +210 -0
- package/dist/solution/ScanOrder/types.js +16 -0
- package/dist/solution/ScanOrder/utils.d.ts +93 -0
- package/dist/solution/ScanOrder/utils.js +397 -0
- package/dist/solution/VenueBooking/index.d.ts +158 -0
- package/dist/solution/VenueBooking/index.js +2873 -0
- package/dist/solution/VenueBooking/sales-section-4-annotated.json +343 -0
- package/dist/solution/VenueBooking/types.d.ts +130 -0
- package/dist/solution/VenueBooking/types.js +21 -0
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +10 -0
- package/dist/solution/VenueBooking/utils/dateSummary.js +102 -0
- package/dist/solution/VenueBooking/utils/resource.d.ts +4 -0
- package/dist/solution/VenueBooking/utils/resource.js +94 -0
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +29 -0
- package/dist/solution/VenueBooking/utils/slotMerge.js +204 -0
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +32 -0
- package/dist/solution/VenueBooking/utils/timeSlot.js +256 -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/lib/apis/picoding.d.ts +0 -0
- package/lib/apis/picoding.js +0 -0
- package/lib/model/index.d.ts +1 -0
- package/lib/model/index.js +23 -0
- package/lib/model/strategy/adapter/index.d.ts +7 -0
- package/lib/model/strategy/adapter/index.js +57 -0
- package/lib/model/strategy/adapter/itemRule/adapter.d.ts +59 -0
- package/lib/model/strategy/adapter/itemRule/adapter.js +338 -0
- package/lib/model/strategy/adapter/itemRule/evaluator.d.ts +43 -0
- package/lib/model/strategy/adapter/itemRule/evaluator.js +124 -0
- package/lib/model/strategy/adapter/itemRule/examples.d.ts +64 -0
- package/lib/model/strategy/adapter/itemRule/examples.js +269 -0
- package/lib/model/strategy/adapter/itemRule/index.d.ts +5 -0
- package/lib/model/strategy/adapter/itemRule/index.js +58 -0
- package/lib/model/strategy/adapter/itemRule/type.d.ts +206 -0
- package/lib/model/strategy/adapter/itemRule/type.js +46 -0
- package/lib/model/strategy/adapter/promotion/adapter.d.ts +66 -0
- package/lib/model/strategy/adapter/promotion/adapter.js +217 -0
- package/lib/model/strategy/adapter/promotion/evaluator.d.ts +213 -0
- package/lib/model/strategy/adapter/promotion/evaluator.js +844 -0
- package/lib/model/strategy/adapter/promotion/examples.d.ts +138 -0
- package/lib/model/strategy/adapter/promotion/examples.js +192 -0
- package/lib/model/strategy/adapter/promotion/index.d.ts +4 -0
- package/lib/model/strategy/adapter/promotion/index.js +0 -0
- package/lib/model/strategy/adapter/promotion/type.d.ts +447 -0
- package/lib/model/strategy/adapter/promotion/type.js +51 -0
- package/lib/model/strategy/adapter/type.d.ts +28 -0
- package/lib/model/strategy/adapter/type.js +17 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.d.ts +84 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.js +424 -0
- package/lib/model/strategy/adapter/walletPass/example.d.ts +4 -0
- package/lib/model/strategy/adapter/walletPass/example.js +207 -0
- package/lib/model/strategy/adapter/walletPass/index.d.ts +32 -0
- package/lib/model/strategy/adapter/walletPass/index.js +142 -0
- package/lib/model/strategy/adapter/walletPass/locales.d.ts +1 -0
- package/lib/model/strategy/adapter/walletPass/locales.js +54 -0
- package/lib/model/strategy/adapter/walletPass/type.d.ts +187 -0
- package/lib/model/strategy/adapter/walletPass/type.js +17 -0
- package/lib/model/strategy/adapter/walletPass/utils.d.ts +50 -0
- package/lib/model/strategy/adapter/walletPass/utils.js +791 -0
- package/lib/model/strategy/engine.d.ts +106 -0
- package/lib/model/strategy/engine.js +450 -0
- package/lib/model/strategy/index.d.ts +3 -0
- package/lib/model/strategy/index.js +38 -0
- package/lib/model/strategy/strategy-example.d.ts +5 -0
- package/lib/model/strategy/strategy-example.js +318 -0
- package/lib/model/strategy/type.d.ts +228 -0
- package/lib/model/strategy/type.js +44 -0
- package/lib/modules/Cart/utils/cartProduct.js +1 -0
- package/lib/modules/OpenData/index.d.ts +23 -0
- package/lib/modules/OpenData/index.js +116 -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 +58 -1
- package/lib/modules/Order/index.js +423 -1
- package/lib/modules/Order/types.d.ts +144 -12
- package/lib/modules/Order/utils.d.ts +25 -0
- package/lib/modules/Order/utils.js +229 -0
- package/lib/modules/Product/index.d.ts +1 -1
- package/lib/modules/Product/utils.js +2 -2
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +2 -1
- package/lib/modules/Quotation/index.d.ts +48 -0
- package/lib/modules/Quotation/index.js +149 -0
- package/lib/modules/Quotation/types.d.ts +42 -0
- package/lib/modules/Quotation/types.js +17 -0
- package/lib/modules/Rules/index.js +4 -1
- package/lib/modules/SalesSummary/index.d.ts +63 -0
- package/lib/modules/SalesSummary/index.js +105 -0
- package/lib/modules/SalesSummary/types.d.ts +59 -0
- package/lib/modules/SalesSummary/types.js +17 -0
- package/lib/modules/SalesSummary/utils.d.ts +30 -0
- package/lib/modules/SalesSummary/utils.js +452 -0
- package/lib/modules/ScanOrderLogger/index.d.ts +21 -0
- package/lib/modules/ScanOrderLogger/index.js +135 -0
- package/lib/modules/ScanOrderLogger/providers/feishu.d.ts +2 -0
- package/lib/modules/ScanOrderLogger/providers/feishu.js +82 -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 +46 -0
- package/lib/modules/ScanOrderLogger/types.js +17 -0
- package/lib/modules/Schedule/getDateIsInSchedule.js +9 -11
- package/lib/modules/Summary/utils.d.ts +3 -3
- package/lib/modules/Summary/utils.js +4 -4
- package/lib/modules/index.d.ts +4 -0
- package/lib/modules/index.js +9 -1
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/types.d.ts +3 -1
- package/lib/solution/BookingByStep/types.js +10 -0
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/lib/solution/ScanOrder/index.d.ts +90 -0
- package/lib/solution/ScanOrder/index.js +1071 -0
- package/lib/solution/ScanOrder/types.d.ts +210 -0
- package/lib/solution/ScanOrder/types.js +36 -0
- package/lib/solution/ScanOrder/utils.d.ts +93 -0
- package/lib/solution/ScanOrder/utils.js +359 -0
- package/lib/solution/VenueBooking/index.d.ts +158 -0
- package/lib/solution/VenueBooking/index.js +1545 -0
- package/lib/solution/VenueBooking/sales-section-4-annotated.json +343 -0
- package/lib/solution/VenueBooking/types.d.ts +130 -0
- package/lib/solution/VenueBooking/types.js +44 -0
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +10 -0
- package/lib/solution/VenueBooking/utils/dateSummary.js +101 -0
- package/lib/solution/VenueBooking/utils/resource.d.ts +4 -0
- package/lib/solution/VenueBooking/utils/resource.js +80 -0
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +29 -0
- package/lib/solution/VenueBooking/utils/slotMerge.js +209 -0
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +32 -0
- package/lib/solution/VenueBooking/utils/timeSlot.js +200 -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/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
2
3
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
4
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
5
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -24,14 +25,17 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
24
25
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
25
26
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
26
27
|
import { BaseModule } from "../BaseModule";
|
|
27
|
-
import { generateDuration, getAllDiscountList, mergeRelationForms } from "./utils";
|
|
28
|
+
import { generateDuration, getAllDiscountList, mergeRelationForms, buildSubmitPayload, createDefaultTempOrder, createEmptySummary, formatDateTime, formatV1Product, isTempOrder } from "./utils";
|
|
28
29
|
import { isNormalProduct } from "../Product/utils";
|
|
29
30
|
import dayjs from 'dayjs';
|
|
31
|
+
import { getProductIdentityIndex, getSafeProductNum, isIdentityMatch, normalizeOrderProduct } from "../../solution/ScanOrder/utils";
|
|
32
|
+
import { DiscountModule } from "../Discount";
|
|
33
|
+
import { RulesModule } from "../Rules";
|
|
34
|
+
import { UnavailableReason } from "../Rules/types";
|
|
35
|
+
import Decimal from 'decimal.js';
|
|
30
36
|
export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
31
37
|
_inherits(OrderModule, _BaseModule);
|
|
32
38
|
var _super = _createSuper(OrderModule);
|
|
33
|
-
// LoggerManager 实例
|
|
34
|
-
|
|
35
39
|
function OrderModule(name, version) {
|
|
36
40
|
var _this;
|
|
37
41
|
_classCallCheck(this, OrderModule);
|
|
@@ -41,30 +45,46 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
41
45
|
_defineProperty(_assertThisInitialized(_this), "store", void 0);
|
|
42
46
|
_defineProperty(_assertThisInitialized(_this), "request", void 0);
|
|
43
47
|
_defineProperty(_assertThisInitialized(_this), "logger", void 0);
|
|
48
|
+
// LoggerManager 实例
|
|
49
|
+
_defineProperty(_assertThisInitialized(_this), "window", void 0);
|
|
50
|
+
_defineProperty(_assertThisInitialized(_this), "cacheId", void 0);
|
|
51
|
+
_defineProperty(_assertThisInitialized(_this), "salesSummaryModuleName", void 0);
|
|
52
|
+
_defineProperty(_assertThisInitialized(_this), "rulesHooksOverride", void 0);
|
|
44
53
|
return _this;
|
|
45
54
|
}
|
|
46
55
|
_createClass(OrderModule, [{
|
|
47
56
|
key: "initialize",
|
|
48
57
|
value: function () {
|
|
49
58
|
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
|
|
50
|
-
var
|
|
59
|
+
var _otherParams$rules;
|
|
60
|
+
var otherParams, appPlugin, app;
|
|
51
61
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
52
62
|
while (1) switch (_context.prev = _context.next) {
|
|
53
63
|
case 0:
|
|
54
64
|
this.core = core;
|
|
55
65
|
this.store = options.store;
|
|
66
|
+
if (!this.store.tempOrder) {
|
|
67
|
+
this.store.tempOrder = null;
|
|
68
|
+
}
|
|
56
69
|
this.request = this.core.getPlugin('request');
|
|
70
|
+
this.window = this.core.getPlugin('window');
|
|
71
|
+
otherParams = options.otherParams || {};
|
|
72
|
+
this.cacheId = otherParams.cacheId;
|
|
73
|
+
this.salesSummaryModuleName = otherParams.salesSummaryModuleName;
|
|
74
|
+
this.rulesHooksOverride = (_otherParams$rules = otherParams.rules) === null || _otherParams$rules === void 0 ? void 0 : _otherParams$rules.hooks;
|
|
75
|
+
this.registerDiscountModules(options);
|
|
76
|
+
this.restoreTempOrderFromStorage();
|
|
57
77
|
appPlugin = this.core.getPlugin('app');
|
|
58
78
|
if (appPlugin) {
|
|
59
|
-
_context.next =
|
|
79
|
+
_context.next = 14;
|
|
60
80
|
break;
|
|
61
81
|
}
|
|
62
82
|
throw new Error('Order 模块需要 app 插件支持');
|
|
63
|
-
case
|
|
83
|
+
case 14:
|
|
64
84
|
app = appPlugin.getApp();
|
|
65
85
|
this.logger = app.logger;
|
|
66
86
|
this.logInfo('OrderModule initialized successfully');
|
|
67
|
-
case
|
|
87
|
+
case 17:
|
|
68
88
|
case "end":
|
|
69
89
|
return _context.stop();
|
|
70
90
|
}
|
|
@@ -119,6 +139,638 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
119
139
|
});
|
|
120
140
|
}
|
|
121
141
|
}
|
|
142
|
+
|
|
143
|
+
// ─── Discount: 子模块注册 ───
|
|
144
|
+
}, {
|
|
145
|
+
key: "registerDiscountModules",
|
|
146
|
+
value: function registerDiscountModules(options) {
|
|
147
|
+
var discount = new DiscountModule("".concat(this.name, "_discount"));
|
|
148
|
+
this.core.registerModule(discount, {
|
|
149
|
+
otherParams: {
|
|
150
|
+
fatherModule: this.name
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
this.store.discount = discount;
|
|
154
|
+
var rules = new RulesModule("".concat(this.name, "_rules"));
|
|
155
|
+
this.core.registerModule(rules, {
|
|
156
|
+
hooks: this.rulesHooksOverride || this.createDefaultRulesHooks()
|
|
157
|
+
});
|
|
158
|
+
this.store.rules = rules;
|
|
159
|
+
}
|
|
160
|
+
}, {
|
|
161
|
+
key: "createDefaultRulesHooks",
|
|
162
|
+
value: function createDefaultRulesHooks() {
|
|
163
|
+
return {
|
|
164
|
+
getProduct: function getProduct(product) {
|
|
165
|
+
var _product$_origin, _product$_origin2, _product$_origin3, _product$_origin4;
|
|
166
|
+
return {
|
|
167
|
+
id: product.product_id,
|
|
168
|
+
_id: product.identity_key ? "".concat(product.product_id, "_").concat(product.product_variant_id, "_").concat(product.identity_key) : "".concat(product.product_id, "_").concat(product.product_variant_id),
|
|
169
|
+
price: product.selling_price,
|
|
170
|
+
total: new Decimal(product.payment_price || product.selling_price || 0).times(product.num || 1).toNumber(),
|
|
171
|
+
origin_total: new Decimal(product.original_price || product.selling_price || 0).times(product.num || 1).toNumber(),
|
|
172
|
+
original_price: product.original_price,
|
|
173
|
+
quantity: product.num || 1,
|
|
174
|
+
num: product.num || 1,
|
|
175
|
+
discount_list: product.discount_list || [],
|
|
176
|
+
bundle: product.product_bundle || [],
|
|
177
|
+
booking_id: ((_product$_origin = product._origin) === null || _product$_origin === void 0 ? void 0 : _product$_origin.booking_id) || null,
|
|
178
|
+
isClient: false,
|
|
179
|
+
isManualDiscount: ((_product$_origin2 = product._origin) === null || _product$_origin2 === void 0 ? void 0 : _product$_origin2.isManualDiscount) || false,
|
|
180
|
+
holder_id: (_product$_origin3 = product._origin) === null || _product$_origin3 === void 0 ? void 0 : _product$_origin3.holder_id,
|
|
181
|
+
startDate: (_product$_origin4 = product._origin) === null || _product$_origin4 === void 0 ? void 0 : _product$_origin4.startDate
|
|
182
|
+
};
|
|
183
|
+
},
|
|
184
|
+
setProduct: function setProduct(product, values) {
|
|
185
|
+
var _values$discount_list, _values$quantity, _values$bundle;
|
|
186
|
+
return _objectSpread(_objectSpread({}, product), {}, {
|
|
187
|
+
selling_price: values.price !== undefined ? String(values.price) : product.selling_price,
|
|
188
|
+
payment_price: values.total !== undefined ? String(values.total) : product.payment_price,
|
|
189
|
+
original_price: values.original_price !== undefined ? String(values.original_price) : product.original_price,
|
|
190
|
+
discount_list: (_values$discount_list = values.discount_list) !== null && _values$discount_list !== void 0 ? _values$discount_list : product.discount_list,
|
|
191
|
+
num: (_values$quantity = values.quantity) !== null && _values$quantity !== void 0 ? _values$quantity : product.num,
|
|
192
|
+
product_bundle: (_values$bundle = values.bundle) !== null && _values$bundle !== void 0 ? _values$bundle : product.product_bundle,
|
|
193
|
+
metadata: _objectSpread(_objectSpread({}, product.metadata || {}), values.main_product_selling_price !== undefined ? {
|
|
194
|
+
main_product_selling_price: String(values.main_product_selling_price)
|
|
195
|
+
} : {})
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// ─── Discount: 公共 API ───
|
|
202
|
+
}, {
|
|
203
|
+
key: "loadDiscountConfig",
|
|
204
|
+
value: function () {
|
|
205
|
+
var _loadDiscountConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
|
|
206
|
+
var _this$store$discount, _this$store$tempOrder;
|
|
207
|
+
var discountList, _this$store$discount2;
|
|
208
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
209
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
210
|
+
case 0:
|
|
211
|
+
_context2.next = 2;
|
|
212
|
+
return (_this$store$discount = this.store.discount) === null || _this$store$discount === void 0 ? void 0 : _this$store$discount.loadPrepareConfig({
|
|
213
|
+
customer_id: params.customerId,
|
|
214
|
+
action: params.action || 'create',
|
|
215
|
+
with_good_pass: 1,
|
|
216
|
+
with_discount_card: 1,
|
|
217
|
+
with_wallet_pass_holder: 1,
|
|
218
|
+
request_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
219
|
+
});
|
|
220
|
+
case 2:
|
|
221
|
+
discountList = _context2.sent;
|
|
222
|
+
if (discountList) {
|
|
223
|
+
(_this$store$discount2 = this.store.discount) === null || _this$store$discount2 === void 0 || _this$store$discount2.setDiscountList(discountList);
|
|
224
|
+
}
|
|
225
|
+
if ((_this$store$tempOrder = this.store.tempOrder) !== null && _this$store$tempOrder !== void 0 && (_this$store$tempOrder = _this$store$tempOrder.products) !== null && _this$store$tempOrder !== void 0 && _this$store$tempOrder.length) {
|
|
226
|
+
this.applyDiscount();
|
|
227
|
+
}
|
|
228
|
+
case 5:
|
|
229
|
+
case "end":
|
|
230
|
+
return _context2.stop();
|
|
231
|
+
}
|
|
232
|
+
}, _callee2, this);
|
|
233
|
+
}));
|
|
234
|
+
function loadDiscountConfig(_x3) {
|
|
235
|
+
return _loadDiscountConfig.apply(this, arguments);
|
|
236
|
+
}
|
|
237
|
+
return loadDiscountConfig;
|
|
238
|
+
}()
|
|
239
|
+
}, {
|
|
240
|
+
key: "getDiscountList",
|
|
241
|
+
value: function getDiscountList() {
|
|
242
|
+
var _this$store$discount3;
|
|
243
|
+
return ((_this$store$discount3 = this.store.discount) === null || _this$store$discount3 === void 0 ? void 0 : _this$store$discount3.getDiscountList()) || [];
|
|
244
|
+
}
|
|
245
|
+
}, {
|
|
246
|
+
key: "scanCode",
|
|
247
|
+
value: function () {
|
|
248
|
+
var _scanCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(code, customerId) {
|
|
249
|
+
var _this$store$discount4, _tempOrder$holder, _tempOrder$holder2;
|
|
250
|
+
var resultDiscountList, rulesModule, withScanList, currentSelected, tempOrder, holders, _ref, isAvailable, newDiscountList, unavailableReason, _this$store$discount5;
|
|
251
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
252
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
253
|
+
case 0:
|
|
254
|
+
_context3.next = 2;
|
|
255
|
+
return (_this$store$discount4 = this.store.discount) === null || _this$store$discount4 === void 0 ? void 0 : _this$store$discount4.batchSearch(code, customerId);
|
|
256
|
+
case 2:
|
|
257
|
+
_context3.t0 = _context3.sent;
|
|
258
|
+
if (_context3.t0) {
|
|
259
|
+
_context3.next = 5;
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
_context3.t0 = [];
|
|
263
|
+
case 5:
|
|
264
|
+
resultDiscountList = _context3.t0;
|
|
265
|
+
rulesModule = this.store.rules;
|
|
266
|
+
if (rulesModule) {
|
|
267
|
+
_context3.next = 9;
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
return _context3.abrupt("return", {
|
|
271
|
+
type: 'clientCalc',
|
|
272
|
+
isAvailable: false,
|
|
273
|
+
discountList: this.getDiscountList(),
|
|
274
|
+
unavailableReason: UnavailableReason.Unknown
|
|
275
|
+
});
|
|
276
|
+
case 9:
|
|
277
|
+
if (resultDiscountList.length) {
|
|
278
|
+
_context3.next = 11;
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
return _context3.abrupt("return", {
|
|
282
|
+
type: 'server',
|
|
283
|
+
isAvailable: false,
|
|
284
|
+
discountList: this.getDiscountList()
|
|
285
|
+
});
|
|
286
|
+
case 11:
|
|
287
|
+
withScanList = resultDiscountList.map(function (item) {
|
|
288
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
289
|
+
isScan: true
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
currentSelected = this.getDiscountList().filter(function (n) {
|
|
293
|
+
return n.isSelected;
|
|
294
|
+
});
|
|
295
|
+
if (!(currentSelected.length && currentSelected.some(function (n) {
|
|
296
|
+
return withScanList.some(function (m) {
|
|
297
|
+
return m.id === n.id;
|
|
298
|
+
});
|
|
299
|
+
}))) {
|
|
300
|
+
_context3.next = 15;
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
return _context3.abrupt("return", {
|
|
304
|
+
type: 'clientCalc',
|
|
305
|
+
isAvailable: true,
|
|
306
|
+
discountList: this.getDiscountList()
|
|
307
|
+
});
|
|
308
|
+
case 15:
|
|
309
|
+
tempOrder = this.store.tempOrder;
|
|
310
|
+
holders = tempOrder !== null && tempOrder !== void 0 && (_tempOrder$holder = tempOrder.holder) !== null && _tempOrder$holder !== void 0 && _tempOrder$holder.form_record_id ? [{
|
|
311
|
+
form_record_id: tempOrder.holder.form_record_id
|
|
312
|
+
}] : [];
|
|
313
|
+
_ref = rulesModule.isDiscountListAvailable({
|
|
314
|
+
productList: (tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.products) || [],
|
|
315
|
+
oldDiscountList: this.getDiscountList(),
|
|
316
|
+
newDiscountList: withScanList,
|
|
317
|
+
holders: holders,
|
|
318
|
+
isFormSubject: !!(tempOrder !== null && tempOrder !== void 0 && (_tempOrder$holder2 = tempOrder.holder) !== null && _tempOrder$holder2 !== void 0 && _tempOrder$holder2.type) && tempOrder.holder.type === 'form'
|
|
319
|
+
}) || {
|
|
320
|
+
isAvailable: false,
|
|
321
|
+
discountList: this.getDiscountList()
|
|
322
|
+
}, isAvailable = _ref.isAvailable, newDiscountList = _ref.discountList, unavailableReason = _ref.unavailableReason;
|
|
323
|
+
if (isAvailable && newDiscountList) {
|
|
324
|
+
(_this$store$discount5 = this.store.discount) === null || _this$store$discount5 === void 0 || _this$store$discount5.setDiscountList(newDiscountList);
|
|
325
|
+
this.applyDiscount();
|
|
326
|
+
}
|
|
327
|
+
return _context3.abrupt("return", {
|
|
328
|
+
type: 'clientCalc',
|
|
329
|
+
isAvailable: isAvailable || false,
|
|
330
|
+
discountList: newDiscountList || this.getDiscountList(),
|
|
331
|
+
unavailableReason: unavailableReason
|
|
332
|
+
});
|
|
333
|
+
case 20:
|
|
334
|
+
case "end":
|
|
335
|
+
return _context3.stop();
|
|
336
|
+
}
|
|
337
|
+
}, _callee3, this);
|
|
338
|
+
}));
|
|
339
|
+
function scanCode(_x4, _x5) {
|
|
340
|
+
return _scanCode.apply(this, arguments);
|
|
341
|
+
}
|
|
342
|
+
return scanCode;
|
|
343
|
+
}()
|
|
344
|
+
}, {
|
|
345
|
+
key: "applyDiscount",
|
|
346
|
+
value: function applyDiscount() {
|
|
347
|
+
var _tempOrder$products, _this$store$discount6, _tempOrder$holder3, _tempOrder$holder4;
|
|
348
|
+
var tempOrder = this.store.tempOrder;
|
|
349
|
+
if (!(tempOrder !== null && tempOrder !== void 0 && (_tempOrder$products = tempOrder.products) !== null && _tempOrder$products !== void 0 && _tempOrder$products.length)) return;
|
|
350
|
+
var rulesModule = this.store.rules;
|
|
351
|
+
if (!rulesModule) return;
|
|
352
|
+
var discountList = ((_this$store$discount6 = this.store.discount) === null || _this$store$discount6 === void 0 ? void 0 : _this$store$discount6.getDiscountList()) || [];
|
|
353
|
+
var holders = (_tempOrder$holder3 = tempOrder.holder) !== null && _tempOrder$holder3 !== void 0 && _tempOrder$holder3.form_record_id ? [{
|
|
354
|
+
form_record_id: tempOrder.holder.form_record_id
|
|
355
|
+
}] : [];
|
|
356
|
+
var result = rulesModule.calcDiscount({
|
|
357
|
+
productList: tempOrder.products,
|
|
358
|
+
discountList: discountList,
|
|
359
|
+
holders: holders,
|
|
360
|
+
isFormSubject: !!((_tempOrder$holder4 = tempOrder.holder) !== null && _tempOrder$holder4 !== void 0 && _tempOrder$holder4.type) && tempOrder.holder.type === 'form'
|
|
361
|
+
});
|
|
362
|
+
if (result !== null && result !== void 0 && result.productList) {
|
|
363
|
+
tempOrder.products = result.productList;
|
|
364
|
+
}
|
|
365
|
+
if (result !== null && result !== void 0 && result.discountList) {
|
|
366
|
+
var _this$store$discount7;
|
|
367
|
+
OrderModule.populateSavedAmounts(result.productList || tempOrder.products, result.discountList);
|
|
368
|
+
(_this$store$discount7 = this.store.discount) === null || _this$store$discount7 === void 0 || _this$store$discount7.setDiscountList(result.discountList);
|
|
369
|
+
tempOrder.discount_list = result.discountList.filter(function (d) {
|
|
370
|
+
return d.isSelected;
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
// ─── TempOrder: 初始化入口 ───
|
|
376
|
+
}, {
|
|
377
|
+
key: "initTempOrder",
|
|
378
|
+
value: function initTempOrder(params) {
|
|
379
|
+
if (params.cacheId !== undefined) this.cacheId = params.cacheId;
|
|
380
|
+
if (params.salesSummaryModuleName !== undefined) this.salesSummaryModuleName = params.salesSummaryModuleName;
|
|
381
|
+
this.restoreTempOrderFromStorage();
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// ─── TempOrder: localStorage 持久化 ───
|
|
385
|
+
}, {
|
|
386
|
+
key: "getTempOrderStorageKey",
|
|
387
|
+
value: function getTempOrderStorageKey() {
|
|
388
|
+
if (!this.cacheId) return null;
|
|
389
|
+
return "scanOrder:tempOrder:".concat(this.cacheId);
|
|
390
|
+
}
|
|
391
|
+
}, {
|
|
392
|
+
key: "restoreTempOrderFromStorage",
|
|
393
|
+
value: function restoreTempOrderFromStorage() {
|
|
394
|
+
var key = this.getTempOrderStorageKey();
|
|
395
|
+
if (!key) return;
|
|
396
|
+
if (!this.window) return;
|
|
397
|
+
var cachedData = this.window.localStorage.getItem(key);
|
|
398
|
+
if (!cachedData) return;
|
|
399
|
+
try {
|
|
400
|
+
var parsedData = JSON.parse(cachedData);
|
|
401
|
+
if (!isTempOrder(parsedData)) {
|
|
402
|
+
this.window.localStorage.removeItem(key);
|
|
403
|
+
return;
|
|
404
|
+
}
|
|
405
|
+
this.store.tempOrder = parsedData;
|
|
406
|
+
} catch (_unused) {
|
|
407
|
+
var _this$window;
|
|
408
|
+
(_this$window = this.window) === null || _this$window === void 0 || (_this$window = _this$window.localStorage) === null || _this$window === void 0 || _this$window.removeItem(key);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}, {
|
|
412
|
+
key: "persistTempOrder",
|
|
413
|
+
value: function persistTempOrder() {
|
|
414
|
+
var key = this.getTempOrderStorageKey();
|
|
415
|
+
if (!key || !this.store.tempOrder) return;
|
|
416
|
+
if (!this.window) return;
|
|
417
|
+
this.window.localStorage.setItem(key, JSON.stringify(this.store.tempOrder));
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// ─── TempOrder: 创建 & 获取 ───
|
|
421
|
+
}, {
|
|
422
|
+
key: "createDefaultTempOrderInstance",
|
|
423
|
+
value: function createDefaultTempOrderInstance() {
|
|
424
|
+
return createDefaultTempOrder({
|
|
425
|
+
now: formatDateTime(new Date()),
|
|
426
|
+
summary: createEmptySummary()
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
}, {
|
|
430
|
+
key: "ensureTempOrder",
|
|
431
|
+
value: function ensureTempOrder() {
|
|
432
|
+
if (this.store.tempOrder) return this.store.tempOrder;
|
|
433
|
+
var newOrder = this.createDefaultTempOrderInstance();
|
|
434
|
+
this.store.tempOrder = newOrder;
|
|
435
|
+
this.persistTempOrder();
|
|
436
|
+
return newOrder;
|
|
437
|
+
}
|
|
438
|
+
}, {
|
|
439
|
+
key: "getTempOrder",
|
|
440
|
+
value: function getTempOrder() {
|
|
441
|
+
return this.store.tempOrder;
|
|
442
|
+
}
|
|
443
|
+
}, {
|
|
444
|
+
key: "addNewOrder",
|
|
445
|
+
value: function () {
|
|
446
|
+
var _addNewOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
447
|
+
var tempOrder;
|
|
448
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
449
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
450
|
+
case 0:
|
|
451
|
+
tempOrder = this.ensureTempOrder();
|
|
452
|
+
_context4.next = 3;
|
|
453
|
+
return this.recalculateSummary({
|
|
454
|
+
createIfMissing: true
|
|
455
|
+
});
|
|
456
|
+
case 3:
|
|
457
|
+
this.persistTempOrder();
|
|
458
|
+
return _context4.abrupt("return", tempOrder);
|
|
459
|
+
case 5:
|
|
460
|
+
case "end":
|
|
461
|
+
return _context4.stop();
|
|
462
|
+
}
|
|
463
|
+
}, _callee4, this);
|
|
464
|
+
}));
|
|
465
|
+
function addNewOrder() {
|
|
466
|
+
return _addNewOrder.apply(this, arguments);
|
|
467
|
+
}
|
|
468
|
+
return addNewOrder;
|
|
469
|
+
}()
|
|
470
|
+
}, {
|
|
471
|
+
key: "getOrderProducts",
|
|
472
|
+
value: function getOrderProducts() {
|
|
473
|
+
var tempOrder = this.ensureTempOrder();
|
|
474
|
+
return tempOrder.products;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
// ─── TempOrder: 金额汇总 ───
|
|
478
|
+
}, {
|
|
479
|
+
key: "getSalesSummary",
|
|
480
|
+
value: function getSalesSummary() {
|
|
481
|
+
if (!this.salesSummaryModuleName) return null;
|
|
482
|
+
return this.core.getModule(this.salesSummaryModuleName);
|
|
483
|
+
}
|
|
484
|
+
}, {
|
|
485
|
+
key: "recalculateSummary",
|
|
486
|
+
value: function () {
|
|
487
|
+
var _recalculateSummary = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(options) {
|
|
488
|
+
var tempOrder, salesSummary, summary;
|
|
489
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
490
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
491
|
+
case 0:
|
|
492
|
+
tempOrder = options !== null && options !== void 0 && options.createIfMissing ? this.ensureTempOrder() : this.store.tempOrder;
|
|
493
|
+
if (tempOrder) {
|
|
494
|
+
_context5.next = 3;
|
|
495
|
+
break;
|
|
496
|
+
}
|
|
497
|
+
return _context5.abrupt("return", null);
|
|
498
|
+
case 3:
|
|
499
|
+
salesSummary = this.getSalesSummary();
|
|
500
|
+
if (salesSummary) {
|
|
501
|
+
_context5.next = 8;
|
|
502
|
+
break;
|
|
503
|
+
}
|
|
504
|
+
tempOrder.summary = createEmptySummary();
|
|
505
|
+
tempOrder.surcharge_fee = tempOrder.summary.surcharge_fee;
|
|
506
|
+
return _context5.abrupt("return", tempOrder.summary);
|
|
507
|
+
case 8:
|
|
508
|
+
_context5.next = 10;
|
|
509
|
+
return salesSummary.getSummary({
|
|
510
|
+
products: tempOrder.products
|
|
511
|
+
});
|
|
512
|
+
case 10:
|
|
513
|
+
summary = _context5.sent;
|
|
514
|
+
tempOrder.summary = summary;
|
|
515
|
+
if (summary.is_price_include_tax !== undefined) {
|
|
516
|
+
tempOrder.is_price_include_tax = summary.is_price_include_tax;
|
|
517
|
+
}
|
|
518
|
+
if (typeof summary.tax_title === 'string') {
|
|
519
|
+
tempOrder.tax_title = summary.tax_title;
|
|
520
|
+
}
|
|
521
|
+
tempOrder.surcharge_fee = summary.surcharge_fee;
|
|
522
|
+
tempOrder.surcharges = summary.surcharges || [];
|
|
523
|
+
tempOrder.deposit_amount = summary.deposit_amount || '0.00';
|
|
524
|
+
tempOrder.is_deposit = summary.deposit_amount !== '0.00' ? 1 : 0;
|
|
525
|
+
tempOrder.shop_discount = summary.discount_amount || '0.00';
|
|
526
|
+
return _context5.abrupt("return", tempOrder.summary);
|
|
527
|
+
case 20:
|
|
528
|
+
case "end":
|
|
529
|
+
return _context5.stop();
|
|
530
|
+
}
|
|
531
|
+
}, _callee5, this);
|
|
532
|
+
}));
|
|
533
|
+
function recalculateSummary(_x6) {
|
|
534
|
+
return _recalculateSummary.apply(this, arguments);
|
|
535
|
+
}
|
|
536
|
+
return recalculateSummary;
|
|
537
|
+
}()
|
|
538
|
+
}, {
|
|
539
|
+
key: "getScanOrderSummary",
|
|
540
|
+
value: function () {
|
|
541
|
+
var _getScanOrderSummary = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
542
|
+
var summary;
|
|
543
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
544
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
545
|
+
case 0:
|
|
546
|
+
_context6.next = 2;
|
|
547
|
+
return this.recalculateSummary({
|
|
548
|
+
createIfMissing: true
|
|
549
|
+
});
|
|
550
|
+
case 2:
|
|
551
|
+
summary = _context6.sent;
|
|
552
|
+
if (summary) {
|
|
553
|
+
_context6.next = 5;
|
|
554
|
+
break;
|
|
555
|
+
}
|
|
556
|
+
return _context6.abrupt("return", createEmptySummary());
|
|
557
|
+
case 5:
|
|
558
|
+
this.persistTempOrder();
|
|
559
|
+
return _context6.abrupt("return", summary);
|
|
560
|
+
case 7:
|
|
561
|
+
case "end":
|
|
562
|
+
return _context6.stop();
|
|
563
|
+
}
|
|
564
|
+
}, _callee6, this);
|
|
565
|
+
}));
|
|
566
|
+
function getScanOrderSummary() {
|
|
567
|
+
return _getScanOrderSummary.apply(this, arguments);
|
|
568
|
+
}
|
|
569
|
+
return getScanOrderSummary;
|
|
570
|
+
}() // ─── TempOrder: 备注 ───
|
|
571
|
+
}, {
|
|
572
|
+
key: "updateTempOrderNote",
|
|
573
|
+
value: function updateTempOrderNote(note) {
|
|
574
|
+
var tempOrder = this.ensureTempOrder();
|
|
575
|
+
tempOrder.note = String(note || '');
|
|
576
|
+
this.persistTempOrder();
|
|
577
|
+
return tempOrder.note;
|
|
578
|
+
}
|
|
579
|
+
}, {
|
|
580
|
+
key: "updateTempOrderContactsInfo",
|
|
581
|
+
value: function updateTempOrderContactsInfo(contactsInfo) {
|
|
582
|
+
var tempOrder = this.ensureTempOrder();
|
|
583
|
+
tempOrder.contacts_info = Array.isArray(contactsInfo) ? contactsInfo : [];
|
|
584
|
+
this.persistTempOrder();
|
|
585
|
+
return tempOrder.contacts_info;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
// ─── TempOrder: 商品 CRUD ───
|
|
589
|
+
}, {
|
|
590
|
+
key: "addProductToOrder",
|
|
591
|
+
value: function () {
|
|
592
|
+
var _addProductToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(product) {
|
|
593
|
+
var tempOrder, normalizedProduct, productIndex, targetProduct;
|
|
594
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
595
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
596
|
+
case 0:
|
|
597
|
+
tempOrder = this.ensureTempOrder();
|
|
598
|
+
normalizedProduct = normalizeOrderProduct(product);
|
|
599
|
+
productIndex = getProductIdentityIndex(tempOrder.products, normalizedProduct);
|
|
600
|
+
if (productIndex === -1) {
|
|
601
|
+
tempOrder.products.push(normalizedProduct);
|
|
602
|
+
} else {
|
|
603
|
+
targetProduct = tempOrder.products[productIndex];
|
|
604
|
+
tempOrder.products[productIndex] = _objectSpread(_objectSpread(_objectSpread({}, targetProduct), normalizedProduct), {}, {
|
|
605
|
+
num: getSafeProductNum(targetProduct.num + normalizedProduct.num),
|
|
606
|
+
_origin: normalizedProduct._origin || targetProduct._origin
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
this.applyDiscount();
|
|
610
|
+
_context7.next = 7;
|
|
611
|
+
return this.recalculateSummary({
|
|
612
|
+
createIfMissing: true
|
|
613
|
+
});
|
|
614
|
+
case 7:
|
|
615
|
+
this.persistTempOrder();
|
|
616
|
+
return _context7.abrupt("return", tempOrder.products);
|
|
617
|
+
case 9:
|
|
618
|
+
case "end":
|
|
619
|
+
return _context7.stop();
|
|
620
|
+
}
|
|
621
|
+
}, _callee7, this);
|
|
622
|
+
}));
|
|
623
|
+
function addProductToOrder(_x7) {
|
|
624
|
+
return _addProductToOrder.apply(this, arguments);
|
|
625
|
+
}
|
|
626
|
+
return addProductToOrder;
|
|
627
|
+
}()
|
|
628
|
+
}, {
|
|
629
|
+
key: "updateProductInOrder",
|
|
630
|
+
value: function () {
|
|
631
|
+
var _updateProductInOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(params) {
|
|
632
|
+
var product_id, product_variant_id, updates, tempOrder, productIndex, targetProduct, nextProduct;
|
|
633
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
634
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
635
|
+
case 0:
|
|
636
|
+
product_id = params.product_id, product_variant_id = params.product_variant_id, updates = params.updates;
|
|
637
|
+
tempOrder = this.ensureTempOrder();
|
|
638
|
+
productIndex = getProductIdentityIndex(tempOrder.products, {
|
|
639
|
+
product_id: product_id,
|
|
640
|
+
product_variant_id: product_variant_id
|
|
641
|
+
});
|
|
642
|
+
if (!(productIndex === -1)) {
|
|
643
|
+
_context8.next = 5;
|
|
644
|
+
break;
|
|
645
|
+
}
|
|
646
|
+
throw new Error('[Order] 目标商品不存在,无法更新');
|
|
647
|
+
case 5:
|
|
648
|
+
targetProduct = tempOrder.products[productIndex];
|
|
649
|
+
nextProduct = _objectSpread(_objectSpread(_objectSpread({}, targetProduct), updates), {}, {
|
|
650
|
+
product_id: product_id,
|
|
651
|
+
product_variant_id: product_variant_id
|
|
652
|
+
});
|
|
653
|
+
nextProduct.num = getSafeProductNum(nextProduct.num);
|
|
654
|
+
tempOrder.products[productIndex] = nextProduct;
|
|
655
|
+
this.applyDiscount();
|
|
656
|
+
_context8.next = 12;
|
|
657
|
+
return this.recalculateSummary({
|
|
658
|
+
createIfMissing: true
|
|
659
|
+
});
|
|
660
|
+
case 12:
|
|
661
|
+
this.persistTempOrder();
|
|
662
|
+
return _context8.abrupt("return", tempOrder.products);
|
|
663
|
+
case 14:
|
|
664
|
+
case "end":
|
|
665
|
+
return _context8.stop();
|
|
666
|
+
}
|
|
667
|
+
}, _callee8, this);
|
|
668
|
+
}));
|
|
669
|
+
function updateProductInOrder(_x8) {
|
|
670
|
+
return _updateProductInOrder.apply(this, arguments);
|
|
671
|
+
}
|
|
672
|
+
return updateProductInOrder;
|
|
673
|
+
}()
|
|
674
|
+
}, {
|
|
675
|
+
key: "removeProductFromOrder",
|
|
676
|
+
value: function () {
|
|
677
|
+
var _removeProductFromOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(identity) {
|
|
678
|
+
var tempOrder, beforeProducts, removedByStrictIdentity;
|
|
679
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
680
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
681
|
+
case 0:
|
|
682
|
+
tempOrder = this.ensureTempOrder();
|
|
683
|
+
beforeProducts = tempOrder.products;
|
|
684
|
+
tempOrder.products = tempOrder.products.filter(function (item) {
|
|
685
|
+
return !isIdentityMatch(item, identity);
|
|
686
|
+
});
|
|
687
|
+
removedByStrictIdentity = beforeProducts.length - tempOrder.products.length;
|
|
688
|
+
if (removedByStrictIdentity === 0 && identity.identity_key) {
|
|
689
|
+
tempOrder.products = tempOrder.products.filter(function (item) {
|
|
690
|
+
var isSameProduct = String(item.product_id) === String(identity.product_id) && String(item.product_variant_id) === String(identity.product_variant_id);
|
|
691
|
+
var hasNoIdentityKey = !item.identity_key;
|
|
692
|
+
return !(isSameProduct && hasNoIdentityKey);
|
|
693
|
+
});
|
|
694
|
+
}
|
|
695
|
+
this.applyDiscount();
|
|
696
|
+
_context9.next = 8;
|
|
697
|
+
return this.recalculateSummary({
|
|
698
|
+
createIfMissing: true
|
|
699
|
+
});
|
|
700
|
+
case 8:
|
|
701
|
+
this.persistTempOrder();
|
|
702
|
+
return _context9.abrupt("return", tempOrder.products);
|
|
703
|
+
case 10:
|
|
704
|
+
case "end":
|
|
705
|
+
return _context9.stop();
|
|
706
|
+
}
|
|
707
|
+
}, _callee9, this);
|
|
708
|
+
}));
|
|
709
|
+
function removeProductFromOrder(_x9) {
|
|
710
|
+
return _removeProductFromOrder.apply(this, arguments);
|
|
711
|
+
}
|
|
712
|
+
return removeProductFromOrder;
|
|
713
|
+
}() // ─── TempOrder: 提交 ───
|
|
714
|
+
}, {
|
|
715
|
+
key: "submitTempOrder",
|
|
716
|
+
value: function () {
|
|
717
|
+
var _submitTempOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
|
|
718
|
+
var _params$cacheId;
|
|
719
|
+
var tempOrder, effectiveCacheId, payload, result, products, moreResult;
|
|
720
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
721
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
722
|
+
case 0:
|
|
723
|
+
tempOrder = this.ensureTempOrder();
|
|
724
|
+
this.persistTempOrder();
|
|
725
|
+
effectiveCacheId = (_params$cacheId = params === null || params === void 0 ? void 0 : params.cacheId) !== null && _params$cacheId !== void 0 ? _params$cacheId : this.cacheId;
|
|
726
|
+
payload = buildSubmitPayload({
|
|
727
|
+
tempOrder: tempOrder,
|
|
728
|
+
cacheId: effectiveCacheId
|
|
729
|
+
});
|
|
730
|
+
if (!tempOrder.order_id) {
|
|
731
|
+
_context10.next = 12;
|
|
732
|
+
break;
|
|
733
|
+
}
|
|
734
|
+
products = formatV1Product(payload.products);
|
|
735
|
+
_context10.next = 8;
|
|
736
|
+
return this.scanOrderMore({
|
|
737
|
+
query: {
|
|
738
|
+
order_id: tempOrder.order_id,
|
|
739
|
+
products: products,
|
|
740
|
+
request_unique_idempotency_token: payload.request_unique_idempotency_token
|
|
741
|
+
}
|
|
742
|
+
});
|
|
743
|
+
case 8:
|
|
744
|
+
moreResult = _context10.sent;
|
|
745
|
+
if (moreResult.code === 200) {
|
|
746
|
+
result = {
|
|
747
|
+
data: {
|
|
748
|
+
order_id: tempOrder.order_id
|
|
749
|
+
}
|
|
750
|
+
};
|
|
751
|
+
}
|
|
752
|
+
_context10.next = 15;
|
|
753
|
+
break;
|
|
754
|
+
case 12:
|
|
755
|
+
_context10.next = 14;
|
|
756
|
+
return this.submitScanOrder({
|
|
757
|
+
query: payload
|
|
758
|
+
});
|
|
759
|
+
case 14:
|
|
760
|
+
result = _context10.sent;
|
|
761
|
+
case 15:
|
|
762
|
+
return _context10.abrupt("return", result);
|
|
763
|
+
case 16:
|
|
764
|
+
case "end":
|
|
765
|
+
return _context10.stop();
|
|
766
|
+
}
|
|
767
|
+
}, _callee10, this);
|
|
768
|
+
}));
|
|
769
|
+
function submitTempOrder(_x10) {
|
|
770
|
+
return _submitTempOrder.apply(this, arguments);
|
|
771
|
+
}
|
|
772
|
+
return submitTempOrder;
|
|
773
|
+
}()
|
|
122
774
|
}, {
|
|
123
775
|
key: "createOrder",
|
|
124
776
|
value: function createOrder(params) {
|
|
@@ -203,11 +855,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
203
855
|
}, {
|
|
204
856
|
key: "submitOrder",
|
|
205
857
|
value: function () {
|
|
206
|
-
var _submitOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
858
|
+
var _submitOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(order) {
|
|
207
859
|
var _order$query$cartItem, _params$bookings, _params$relation_prod;
|
|
208
860
|
var url, query, fetchUrl, params;
|
|
209
|
-
return _regeneratorRuntime().wrap(function
|
|
210
|
-
while (1) switch (
|
|
861
|
+
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
|
|
862
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
211
863
|
case 0:
|
|
212
864
|
this.logInfo('submitOrder called', {
|
|
213
865
|
url: order.url,
|
|
@@ -227,14 +879,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
227
879
|
relationProductsCount: ((_params$relation_prod = params.relation_products) === null || _params$relation_prod === void 0 ? void 0 : _params$relation_prod.length) || 0,
|
|
228
880
|
scheduleDate: params.schedule_date
|
|
229
881
|
});
|
|
230
|
-
return
|
|
882
|
+
return _context11.abrupt("return", this.request.post(fetchUrl, params));
|
|
231
883
|
case 6:
|
|
232
884
|
case "end":
|
|
233
|
-
return
|
|
885
|
+
return _context11.stop();
|
|
234
886
|
}
|
|
235
|
-
},
|
|
887
|
+
}, _callee11, this);
|
|
236
888
|
}));
|
|
237
|
-
function submitOrder(
|
|
889
|
+
function submitOrder(_x11) {
|
|
238
890
|
return _submitOrder.apply(this, arguments);
|
|
239
891
|
}
|
|
240
892
|
return submitOrder;
|
|
@@ -252,11 +904,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
252
904
|
}, {
|
|
253
905
|
key: "createOrderByCheckout",
|
|
254
906
|
value: (function () {
|
|
255
|
-
var _createOrderByCheckout = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
907
|
+
var _createOrderByCheckout = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(params) {
|
|
256
908
|
var _params$bookings2, _params$relation_prod2, _params$payments, _params$payments2, _params$bookings3, _params$relation_prod3, _params$payments3;
|
|
257
909
|
var _orderData$payments, _orderData$bookings, _orderData$relation_p, _orderData$payments2, _orderData$payments3, _orderData$bookings2, _orderData$relation_p2, _orderData$payments4, _orderData$payments5, _response$data, orderData, response;
|
|
258
|
-
return _regeneratorRuntime().wrap(function
|
|
259
|
-
while (1) switch (
|
|
910
|
+
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
911
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
260
912
|
case 0:
|
|
261
913
|
this.logInfo('createOrderByCheckout called', {
|
|
262
914
|
type: params.type,
|
|
@@ -285,7 +937,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
285
937
|
relationProductsCount: ((_params$relation_prod3 = params.relation_products) === null || _params$relation_prod3 === void 0 ? void 0 : _params$relation_prod3.length) || 0,
|
|
286
938
|
paymentsCount: ((_params$payments3 = params.payments) === null || _params$payments3 === void 0 ? void 0 : _params$payments3.length) || 0
|
|
287
939
|
});
|
|
288
|
-
|
|
940
|
+
_context12.prev = 2;
|
|
289
941
|
// 构建订单数据,设置默认值并允许 params 覆盖
|
|
290
942
|
orderData = _objectSpread({
|
|
291
943
|
sales_channel: 'my_pisel',
|
|
@@ -349,10 +1001,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
349
1001
|
});
|
|
350
1002
|
|
|
351
1003
|
// 调用后端接口
|
|
352
|
-
|
|
1004
|
+
_context12.next = 10;
|
|
353
1005
|
return this.request.post('/order/checkout', orderData);
|
|
354
1006
|
case 10:
|
|
355
|
-
response =
|
|
1007
|
+
response = _context12.sent;
|
|
356
1008
|
this.logInfo('Order API called successfully', {
|
|
357
1009
|
response: response
|
|
358
1010
|
});
|
|
@@ -360,26 +1012,125 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
360
1012
|
success: !!response,
|
|
361
1013
|
hasOrderId: !!(response !== null && response !== void 0 && (_response$data = response.data) !== null && _response$data !== void 0 && _response$data.order_id || response !== null && response !== void 0 && response.order_id)
|
|
362
1014
|
});
|
|
363
|
-
return
|
|
1015
|
+
return _context12.abrupt("return", response);
|
|
364
1016
|
case 16:
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
console.error('[Order] createOrderByCheckout 创建订单失败:',
|
|
1017
|
+
_context12.prev = 16;
|
|
1018
|
+
_context12.t0 = _context12["catch"](2);
|
|
1019
|
+
console.error('[Order] createOrderByCheckout 创建订单失败:', _context12.t0);
|
|
368
1020
|
this.logInfo('Order API called failed', {
|
|
369
|
-
error:
|
|
1021
|
+
error: _context12.t0 instanceof Error ? _context12.t0.message : String(_context12.t0)
|
|
370
1022
|
});
|
|
371
|
-
throw
|
|
1023
|
+
throw _context12.t0;
|
|
372
1024
|
case 21:
|
|
373
1025
|
case "end":
|
|
374
|
-
return
|
|
1026
|
+
return _context12.stop();
|
|
375
1027
|
}
|
|
376
|
-
},
|
|
1028
|
+
}, _callee12, this, [[2, 16]]);
|
|
377
1029
|
}));
|
|
378
|
-
function createOrderByCheckout(
|
|
1030
|
+
function createOrderByCheckout(_x12) {
|
|
379
1031
|
return _createOrderByCheckout.apply(this, arguments);
|
|
380
1032
|
}
|
|
381
1033
|
return createOrderByCheckout;
|
|
382
1034
|
}())
|
|
1035
|
+
}, {
|
|
1036
|
+
key: "submitScanOrder",
|
|
1037
|
+
value: function () {
|
|
1038
|
+
var _submitScanOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(params) {
|
|
1039
|
+
var url, query, fetchUrl;
|
|
1040
|
+
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
1041
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
1042
|
+
case 0:
|
|
1043
|
+
url = params.url, query = params.query;
|
|
1044
|
+
fetchUrl = url || '/order/sales/checkout';
|
|
1045
|
+
return _context13.abrupt("return", this.request.post(fetchUrl, query));
|
|
1046
|
+
case 3:
|
|
1047
|
+
case "end":
|
|
1048
|
+
return _context13.stop();
|
|
1049
|
+
}
|
|
1050
|
+
}, _callee13, this);
|
|
1051
|
+
}));
|
|
1052
|
+
function submitScanOrder(_x13) {
|
|
1053
|
+
return _submitScanOrder.apply(this, arguments);
|
|
1054
|
+
}
|
|
1055
|
+
return submitScanOrder;
|
|
1056
|
+
}()
|
|
1057
|
+
}, {
|
|
1058
|
+
key: "scanOrderMore",
|
|
1059
|
+
value: function () {
|
|
1060
|
+
var _scanOrderMore = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14(params) {
|
|
1061
|
+
var url, query, fetchUrl, requestBody;
|
|
1062
|
+
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
1063
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
1064
|
+
case 0:
|
|
1065
|
+
url = params.url, query = params.query;
|
|
1066
|
+
fetchUrl = url || "/order/order/product/".concat(query.order_id);
|
|
1067
|
+
requestBody = {
|
|
1068
|
+
products: query.products,
|
|
1069
|
+
request_unique_idempotency_token: query.request_unique_idempotency_token
|
|
1070
|
+
};
|
|
1071
|
+
return _context14.abrupt("return", this.request.put(fetchUrl, requestBody));
|
|
1072
|
+
case 4:
|
|
1073
|
+
case "end":
|
|
1074
|
+
return _context14.stop();
|
|
1075
|
+
}
|
|
1076
|
+
}, _callee14, this);
|
|
1077
|
+
}));
|
|
1078
|
+
function scanOrderMore(_x14) {
|
|
1079
|
+
return _scanOrderMore.apply(this, arguments);
|
|
1080
|
+
}
|
|
1081
|
+
return scanOrderMore;
|
|
1082
|
+
}()
|
|
1083
|
+
}], [{
|
|
1084
|
+
key: "populateSavedAmounts",
|
|
1085
|
+
value:
|
|
1086
|
+
/**
|
|
1087
|
+
* Populate `savedAmount` on each discount based on product-level discount details.
|
|
1088
|
+
* Only selected discounts get a non-zero value.
|
|
1089
|
+
*/
|
|
1090
|
+
function populateSavedAmounts(productList, discountList) {
|
|
1091
|
+
var savedMap = new Map();
|
|
1092
|
+
var _iterator = _createForOfIteratorHelper(productList),
|
|
1093
|
+
_step;
|
|
1094
|
+
try {
|
|
1095
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1096
|
+
var product = _step.value;
|
|
1097
|
+
var qty = product.num || 1;
|
|
1098
|
+
var _iterator3 = _createForOfIteratorHelper(product.discount_list || []),
|
|
1099
|
+
_step3;
|
|
1100
|
+
try {
|
|
1101
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
1102
|
+
var _pd$discount, _pd$metadata;
|
|
1103
|
+
var pd = _step3.value;
|
|
1104
|
+
var discountKey = ((_pd$discount = pd.discount) === null || _pd$discount === void 0 ? void 0 : _pd$discount.resource_id) || pd.id;
|
|
1105
|
+
if (discountKey == null) continue;
|
|
1106
|
+
var amount = new Decimal(pd.amount || 0).times(qty).plus(((_pd$metadata = pd.metadata) === null || _pd$metadata === void 0 ? void 0 : _pd$metadata.product_discount_difference) || 0);
|
|
1107
|
+
savedMap.set(discountKey, (savedMap.get(discountKey) || new Decimal(0)).plus(amount));
|
|
1108
|
+
}
|
|
1109
|
+
} catch (err) {
|
|
1110
|
+
_iterator3.e(err);
|
|
1111
|
+
} finally {
|
|
1112
|
+
_iterator3.f();
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
} catch (err) {
|
|
1116
|
+
_iterator.e(err);
|
|
1117
|
+
} finally {
|
|
1118
|
+
_iterator.f();
|
|
1119
|
+
}
|
|
1120
|
+
var _iterator2 = _createForOfIteratorHelper(discountList),
|
|
1121
|
+
_step2;
|
|
1122
|
+
try {
|
|
1123
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1124
|
+
var d = _step2.value;
|
|
1125
|
+
var key = d.id;
|
|
1126
|
+
d.savedAmount = d.isSelected && key != null && savedMap.has(key) ? savedMap.get(key).toNumber() : 0;
|
|
1127
|
+
}
|
|
1128
|
+
} catch (err) {
|
|
1129
|
+
_iterator2.e(err);
|
|
1130
|
+
} finally {
|
|
1131
|
+
_iterator2.f();
|
|
1132
|
+
}
|
|
1133
|
+
}
|
|
383
1134
|
}]);
|
|
384
1135
|
return OrderModule;
|
|
385
1136
|
}(BaseModule);
|