@pisell/pisellos 2.3.37 → 2.3.39
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/modules/Discount/index.d.ts +1 -0
- package/dist/modules/Discount/index.js +40 -11
- package/dist/modules/Discount/types.d.ts +1 -0
- 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.js +2 -2
- package/dist/modules/Order/index.d.ts +11 -28
- package/dist/modules/Order/index.js +513 -747
- package/dist/modules/Order/types.d.ts +10 -33
- package/dist/modules/Order/utils/orderCollectionIdentity.js +2 -7
- package/dist/modules/Order/utils.d.ts +10 -0
- package/dist/modules/Order/utils.js +40 -11
- package/dist/modules/Payment/index.d.ts +0 -2
- package/dist/modules/Payment/index.js +49 -78
- package/dist/modules/Payment/types.d.ts +24 -26
- package/dist/modules/Payment/types.js +0 -2
- package/dist/modules/Product/types.d.ts +1 -0
- package/dist/modules/ProductList/index.js +33 -14
- package/dist/modules/Quotation/index.d.ts +1 -1
- package/dist/modules/Quotation/index.js +2 -2
- package/dist/modules/ResourcePlanner/index.d.ts +24 -0
- package/dist/modules/ResourcePlanner/index.js +181 -0
- package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
- package/dist/modules/ResourcePlanner/planner.js +1069 -0
- package/dist/modules/ResourcePlanner/types.d.ts +227 -0
- package/dist/modules/ResourcePlanner/types.js +1 -0
- package/dist/modules/Rules/index.js +48 -15
- package/dist/modules/SalesSummary/index.js +12 -13
- package/dist/modules/ScanOrderLogger/index.d.ts +2 -0
- package/dist/modules/ScanOrderLogger/index.js +15 -2
- package/dist/modules/ScanOrderLogger/providers/feishu.js +45 -27
- package/dist/modules/ScanOrderLogger/types.d.ts +1 -0
- package/dist/modules/Schedule/index.d.ts +3 -1
- package/dist/modules/Schedule/index.js +21 -16
- package/dist/modules/Summary/utils.js +38 -13
- package/dist/modules/index.d.ts +2 -0
- package/dist/modules/index.js +3 -1
- package/dist/plugins/window.d.ts +1 -0
- package/dist/server/index.d.ts +14 -16
- package/dist/server/index.js +1162 -1943
- package/dist/server/modules/order/index.d.ts +4 -49
- package/dist/server/modules/order/index.js +695 -1574
- package/dist/server/modules/order/types.d.ts +3 -11
- package/dist/server/modules/order/types.js +1 -1
- package/dist/solution/BaseSales/index.d.ts +10 -33
- package/dist/solution/BaseSales/index.js +385 -676
- package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +1 -6
- package/dist/solution/BookingByStep/index.d.ts +17 -2
- package/dist/solution/BookingByStep/index.js +294 -215
- package/dist/solution/BookingByStep/types.d.ts +2 -1
- package/dist/solution/BookingByStep/types.js +3 -1
- package/dist/solution/BookingByStep/utils/capacity.js +17 -1
- package/dist/solution/BookingByStep/utils/timeslots.d.ts +3 -1
- package/dist/solution/BookingByStep/utils/timeslots.js +19 -12
- package/dist/solution/BookingTicket/index.js +1 -2
- package/dist/solution/Sales/index.d.ts +0 -1
- package/dist/solution/Sales/index.js +2 -10
- package/dist/solution/ScanOrder/index.d.ts +26 -14
- package/dist/solution/ScanOrder/index.js +1140 -737
- package/dist/solution/ScanOrder/types.d.ts +21 -1
- package/dist/solution/ScanOrder/utils.d.ts +8 -0
- package/dist/solution/ScanOrder/utils.js +66 -25
- package/dist/solution/ShopDiscount/index.d.ts +1 -0
- package/dist/solution/ShopDiscount/index.js +125 -87
- package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
- package/dist/solution/UnifiedBookingSales/index.js +1871 -0
- package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
- package/dist/solution/UnifiedBookingSales/types.js +11 -0
- package/dist/solution/VenueBooking/index.d.ts +39 -11
- package/dist/solution/VenueBooking/index.js +1177 -850
- package/dist/solution/VenueBooking/types.d.ts +3 -0
- package/dist/solution/VenueBooking/utils/resource.js +1 -0
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
- package/dist/solution/VenueBooking/utils/slotMerge.js +10 -5
- package/dist/solution/index.d.ts +1 -0
- package/dist/solution/index.js +2 -1
- package/dist/types/index.d.ts +1 -0
- package/lib/modules/Discount/index.d.ts +1 -0
- package/lib/modules/Discount/index.js +9 -0
- package/lib/modules/Discount/types.d.ts +1 -0
- 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.js +1 -1
- package/lib/modules/Order/index.d.ts +11 -28
- package/lib/modules/Order/index.js +83 -187
- package/lib/modules/Order/types.d.ts +10 -33
- package/lib/modules/Order/utils/orderCollectionIdentity.js +0 -3
- package/lib/modules/Order/utils.d.ts +10 -0
- package/lib/modules/Order/utils.js +39 -10
- package/lib/modules/Payment/index.d.ts +0 -2
- package/lib/modules/Payment/index.js +12 -33
- package/lib/modules/Payment/types.d.ts +24 -26
- package/lib/modules/Product/types.d.ts +1 -0
- package/lib/modules/ProductList/index.js +40 -31
- package/lib/modules/Quotation/index.d.ts +1 -1
- package/lib/modules/Quotation/index.js +2 -2
- package/lib/modules/ResourcePlanner/index.d.ts +24 -0
- package/lib/modules/ResourcePlanner/index.js +148 -0
- package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
- package/lib/modules/ResourcePlanner/planner.js +933 -0
- package/lib/modules/ResourcePlanner/types.d.ts +227 -0
- package/lib/modules/ResourcePlanner/types.js +17 -0
- package/lib/modules/Rules/index.js +34 -18
- package/lib/modules/SalesSummary/index.js +6 -7
- package/lib/modules/ScanOrderLogger/index.d.ts +2 -0
- package/lib/modules/ScanOrderLogger/index.js +13 -1
- package/lib/modules/ScanOrderLogger/providers/feishu.js +15 -6
- package/lib/modules/ScanOrderLogger/types.d.ts +1 -0
- package/lib/modules/Schedule/index.d.ts +3 -1
- package/lib/modules/Schedule/index.js +10 -8
- package/lib/modules/Summary/utils.js +21 -1
- package/lib/modules/index.d.ts +2 -0
- package/lib/modules/index.js +5 -1
- package/lib/plugins/window.d.ts +1 -0
- package/lib/server/index.d.ts +14 -16
- package/lib/server/index.js +88 -678
- package/lib/server/modules/order/index.d.ts +4 -49
- package/lib/server/modules/order/index.js +66 -657
- package/lib/server/modules/order/types.d.ts +3 -11
- package/lib/solution/BaseSales/index.d.ts +10 -33
- package/lib/solution/BaseSales/index.js +33 -201
- package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +1 -6
- package/lib/solution/BookingByStep/index.d.ts +17 -2
- package/lib/solution/BookingByStep/index.js +60 -18
- package/lib/solution/BookingByStep/types.d.ts +2 -1
- package/lib/solution/BookingByStep/types.js +5 -0
- package/lib/solution/BookingByStep/utils/capacity.js +20 -1
- package/lib/solution/BookingByStep/utils/timeslots.d.ts +3 -1
- package/lib/solution/BookingByStep/utils/timeslots.js +19 -11
- package/lib/solution/BookingTicket/index.js +1 -2
- package/lib/solution/Sales/index.d.ts +0 -1
- package/lib/solution/Sales/index.js +3 -5
- package/lib/solution/ScanOrder/index.d.ts +26 -14
- package/lib/solution/ScanOrder/index.js +449 -182
- package/lib/solution/ScanOrder/types.d.ts +21 -1
- package/lib/solution/ScanOrder/utils.d.ts +8 -0
- package/lib/solution/ScanOrder/utils.js +31 -0
- package/lib/solution/ShopDiscount/index.d.ts +1 -0
- package/lib/solution/ShopDiscount/index.js +14 -0
- package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
- package/lib/solution/UnifiedBookingSales/index.js +1076 -0
- package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
- package/lib/solution/UnifiedBookingSales/types.js +33 -0
- package/lib/solution/VenueBooking/index.d.ts +39 -11
- package/lib/solution/VenueBooking/index.js +328 -115
- package/lib/solution/VenueBooking/types.d.ts +3 -0
- package/lib/solution/VenueBooking/utils/resource.js +1 -0
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
- package/lib/solution/VenueBooking/utils/slotMerge.js +6 -4
- package/lib/solution/index.d.ts +1 -0
- package/lib/solution/index.js +3 -1
- package/lib/types/index.d.ts +1 -0
- package/package.json +2 -2
- package/dist/modules/Order/payment-utils.d.ts +0 -26
- package/dist/modules/Order/payment-utils.js +0 -225
- package/dist/utils/payment-number.d.ts +0 -9
- package/dist/utils/payment-number.js +0 -69
- package/lib/modules/Order/payment-utils.d.ts +0 -26
- package/lib/modules/Order/payment-utils.js +0 -224
- package/lib/utils/payment-number.d.ts +0 -9
- package/lib/utils/payment-number.js +0 -64
|
@@ -7,11 +7,11 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
|
|
|
7
7
|
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."); }
|
|
8
8
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
9
9
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
12
|
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; } } }; }
|
|
11
13
|
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); }
|
|
12
14
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
15
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
16
16
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
17
17
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
@@ -35,7 +35,6 @@ import dayjs from 'dayjs';
|
|
|
35
35
|
import { BaseModule } from "../../../modules/BaseModule";
|
|
36
36
|
import { applyOrderCollectionUidRemaps, getOrderCollectionPersistentId, getOrderCollectionReferenceUid, getOrderCollectionUid, isSameOrderCollectionItem, mergeOrderCollectionItems, normalizeOrderCollections } from "../../../modules/Order/utils/orderCollectionIdentity";
|
|
37
37
|
import { OrderHooks } from "./types";
|
|
38
|
-
import { getOrderPaymentIdentityKeys, isIdentifiedPendingOrderPayment, isPendingOrderPayment, mergeOrderPaymentListsByIdentity, mergeOrderPaymentRecord, resolveOrderPaymentIdentity } from "../../../modules/Order/payment-utils";
|
|
39
38
|
|
|
40
39
|
/**
|
|
41
40
|
* SQLite 存储名称
|
|
@@ -49,7 +48,7 @@ var ORDER_SQLITE_DEDUPE_MS = 15000;
|
|
|
49
48
|
/** silentRefresh 最小间隔,避免 preload 后立即全量重拉 */
|
|
50
49
|
var ORDER_SILENT_REFRESH_MIN_INTERVAL_MS = 30000;
|
|
51
50
|
/** 视为「业务侧刚写入」的来源,pubsub 回声可跳过 SQLite */
|
|
52
|
-
var ORDER_BUSINESS_WRITE_SOURCES = new Set(['upsertOrdersFromRemote', 'upsertPendingSyncOrders', '
|
|
51
|
+
var ORDER_BUSINESS_WRITE_SOURCES = new Set(['upsertOrdersFromRemote', 'upsertPendingSyncOrders', 'overwriteExistingOrder', 'markOrderSyncedByExternalSaleNumber']);
|
|
53
52
|
|
|
54
53
|
/**
|
|
55
54
|
* 合并热路径全表去重自检开关:默认关闭。
|
|
@@ -57,7 +56,6 @@ var ORDER_BUSINESS_WRITE_SOURCES = new Set(['upsertOrdersFromRemote', 'upsertPen
|
|
|
57
56
|
* 仅用于排查增量身份索引是否遗漏了重复订单,不应在生产常开。
|
|
58
57
|
*/
|
|
59
58
|
var ORDER_MERGE_SELF_CHECK = false;
|
|
60
|
-
var PENDING_PAYMENT_WITHOUT_UNIQUE_MARKER = '__pisell_os_pending_payment_without_unique_number__';
|
|
61
59
|
var ORDER_AUTHORITATIVE_COLLECTION_FIELDS = ['products', 'bookings', 'payments'];
|
|
62
60
|
var ORDER_COLLECTION_KIND_BY_FIELD = {
|
|
63
61
|
products: 'product',
|
|
@@ -140,7 +138,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
140
138
|
key: "initialize",
|
|
141
139
|
value: function () {
|
|
142
140
|
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(core, options) {
|
|
143
|
-
var _options$initialState
|
|
141
|
+
var _options$initialState,
|
|
142
|
+
_this3 = this;
|
|
144
143
|
var appPlugin, app;
|
|
145
144
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
146
145
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -157,7 +156,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
157
156
|
this.updateCreateStore();
|
|
158
157
|
}
|
|
159
158
|
if (Array.isArray(options === null || options === void 0 || (_options$initialState = options.initialState) === null || _options$initialState === void 0 ? void 0 : _options$initialState.list)) {
|
|
160
|
-
this.store.list =
|
|
159
|
+
this.store.list = options.initialState.list.map(function (order) {
|
|
160
|
+
return _this3.normalizeOrderForMemoryList(order);
|
|
161
|
+
});
|
|
161
162
|
this.syncOrdersMap();
|
|
162
163
|
this.emitOrdersChanged([], 'initialState');
|
|
163
164
|
} else {
|
|
@@ -246,31 +247,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
246
247
|
}, {
|
|
247
248
|
key: "normalizeOrderCollectionsForIngress",
|
|
248
249
|
value: function normalizeOrderCollectionsForIngress(order, source) {
|
|
249
|
-
var
|
|
250
|
-
var sourceOrderRecord = sourceOrder;
|
|
251
|
-
if (Array.isArray(sourceOrderRecord.payments)) {
|
|
252
|
-
sourceOrderRecord.payments = sourceOrderRecord.payments.map(function (payment) {
|
|
253
|
-
if (!isPendingOrderPayment(payment) || getOrderPaymentIdentityKeys(payment).some(function (key) {
|
|
254
|
-
return key.startsWith('unique_payment_number:');
|
|
255
|
-
})) {
|
|
256
|
-
return payment;
|
|
257
|
-
}
|
|
258
|
-
return _objectSpread(_objectSpread({}, payment), {}, _defineProperty({}, PENDING_PAYMENT_WITHOUT_UNIQUE_MARKER, true));
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
var result = normalizeOrderCollections(sourceOrder);
|
|
262
|
-
var normalizedOrderRecord = result.order;
|
|
263
|
-
if (Array.isArray(normalizedOrderRecord.payments)) {
|
|
264
|
-
normalizedOrderRecord.payments = normalizedOrderRecord.payments.map(function (payment) {
|
|
265
|
-
if (!(payment !== null && payment !== void 0 && payment[PENDING_PAYMENT_WITHOUT_UNIQUE_MARKER])) return payment;
|
|
266
|
-
var nextPayment = _objectSpread({}, payment);
|
|
267
|
-
var metadata = _objectSpread({}, nextPayment.metadata || {});
|
|
268
|
-
delete metadata.unique_payment_number;
|
|
269
|
-
delete nextPayment[PENDING_PAYMENT_WITHOUT_UNIQUE_MARKER];
|
|
270
|
-
nextPayment.metadata = metadata;
|
|
271
|
-
return nextPayment;
|
|
272
|
-
});
|
|
273
|
-
}
|
|
250
|
+
var result = normalizeOrderCollections(order);
|
|
274
251
|
var kinds = ['product', 'booking', 'payment'];
|
|
275
252
|
var hasChanges = kinds.some(function (kind) {
|
|
276
253
|
var stats = result.stats[kind];
|
|
@@ -314,14 +291,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
314
291
|
key: "mergeAuthoritativeOrderCollection",
|
|
315
292
|
value: function mergeAuthoritativeOrderCollection(field, existing, incoming) {
|
|
316
293
|
var uidRemaps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
317
|
-
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
318
294
|
var kind = ORDER_COLLECTION_KIND_BY_FIELD[field];
|
|
319
295
|
var existingItems = Array.isArray(existing) ? existing : [];
|
|
320
|
-
if (field === 'payments' && options.preserveIdentifiedPendingPayments) {
|
|
321
|
-
return mergeOrderPaymentListsByIdentity(existingItems, incoming, {
|
|
322
|
-
preserveUnmatchedExistingWhen: isIdentifiedPendingOrderPayment
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
296
|
return incoming.map(function (incomingItem) {
|
|
326
297
|
var existingItem = existingItems.find(function (item) {
|
|
327
298
|
return isSameOrderCollectionItem(kind, item, incomingItem);
|
|
@@ -630,27 +601,62 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
630
601
|
}, {
|
|
631
602
|
key: "preload",
|
|
632
603
|
value: function () {
|
|
633
|
-
var _preload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
634
|
-
var
|
|
635
|
-
|
|
636
|
-
|
|
604
|
+
var _preload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
605
|
+
var _this4 = this;
|
|
606
|
+
var getData;
|
|
607
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
608
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
637
609
|
case 0:
|
|
638
|
-
|
|
639
|
-
|
|
610
|
+
// const hasPulledInCurrentWindow = this.hasPulledOrdersToday()
|
|
611
|
+
// // 仅当缓存属于当前统计窗口时才直接复用,避免跨天/跨营业日窗口继续使用旧数据
|
|
612
|
+
// if (cachedOrders.length > 0 && hasPulledInCurrentWindow) {
|
|
613
|
+
// this.store.list = cloneDeep(cachedOrders)
|
|
614
|
+
// this.syncOrdersMap()
|
|
615
|
+
// this.core.effects.emit(OrderHooks.onOrdersChanged, this.store.list)
|
|
616
|
+
// return
|
|
617
|
+
// }
|
|
618
|
+
// if (hasPulledInCurrentWindow) {
|
|
619
|
+
// this.logInfo('当天已完成全量订单拉取,跳过本次全量拉取', {
|
|
620
|
+
// lastFullFetchAt: this.getStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY),
|
|
621
|
+
// })
|
|
622
|
+
// return
|
|
623
|
+
// }
|
|
624
|
+
getData = /*#__PURE__*/function () {
|
|
625
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
626
|
+
var orders;
|
|
627
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
628
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
629
|
+
case 0:
|
|
630
|
+
_context3.next = 2;
|
|
631
|
+
return _this4.loadOrdersByServer();
|
|
632
|
+
case 2:
|
|
633
|
+
orders = _context3.sent;
|
|
634
|
+
if (!(orders.length === 0)) {
|
|
635
|
+
_context3.next = 5;
|
|
636
|
+
break;
|
|
637
|
+
}
|
|
638
|
+
return _context3.abrupt("return");
|
|
639
|
+
case 5:
|
|
640
|
+
_this4.store.list = cloneDeep(orders);
|
|
641
|
+
_this4.syncOrdersMap();
|
|
642
|
+
_this4.emitOrdersChanged([], 'preload');
|
|
643
|
+
_this4.core.effects.emit(OrderHooks.onOrdersSyncCompleted, null);
|
|
644
|
+
case 9:
|
|
645
|
+
case "end":
|
|
646
|
+
return _context3.stop();
|
|
647
|
+
}
|
|
648
|
+
}, _callee3);
|
|
649
|
+
}));
|
|
650
|
+
return function getData() {
|
|
651
|
+
return _ref.apply(this, arguments);
|
|
652
|
+
};
|
|
653
|
+
}();
|
|
654
|
+
getData();
|
|
640
655
|
case 2:
|
|
641
|
-
orders = _context3.sent;
|
|
642
|
-
this.store.list = cloneDeep(orders);
|
|
643
|
-
this.syncOrdersMap();
|
|
644
|
-
_context3.next = 7;
|
|
645
|
-
return this.emitOrdersChanged([], 'preload');
|
|
646
|
-
case 7:
|
|
647
|
-
_context3.next = 9;
|
|
648
|
-
return this.core.effects.emit(OrderHooks.onOrdersSyncCompleted, null);
|
|
649
|
-
case 9:
|
|
650
656
|
case "end":
|
|
651
|
-
return
|
|
657
|
+
return _context4.stop();
|
|
652
658
|
}
|
|
653
|
-
},
|
|
659
|
+
}, _callee4);
|
|
654
660
|
}));
|
|
655
661
|
function preload() {
|
|
656
662
|
return _preload.apply(this, arguments);
|
|
@@ -674,125 +680,67 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
674
680
|
value: function getOrderByOrderId(orderId) {
|
|
675
681
|
return this.store.map.get(this.getIdKey(orderId));
|
|
676
682
|
}
|
|
677
|
-
}, {
|
|
678
|
-
key: "buildLocalPaymentOrderLogContext",
|
|
679
|
-
value: function buildLocalPaymentOrderLogContext(order) {
|
|
680
|
-
var _order$order_id3, _order$external_sale_, _order$order_number, _order$shop_order_num, _order$shop_full_orde, _order$status, _order$payment_status, _order$platform, _order$business_code, _order$order_sales_ch, _order$sales_channel, _order$type;
|
|
681
|
-
if (!order) return {};
|
|
682
|
-
return {
|
|
683
|
-
order_id: (_order$order_id3 = order.order_id) !== null && _order$order_id3 !== void 0 ? _order$order_id3 : null,
|
|
684
|
-
external_sale_number: (_order$external_sale_ = order.external_sale_number) !== null && _order$external_sale_ !== void 0 ? _order$external_sale_ : null,
|
|
685
|
-
order_number: (_order$order_number = order.order_number) !== null && _order$order_number !== void 0 ? _order$order_number : null,
|
|
686
|
-
shop_order_number: (_order$shop_order_num = order.shop_order_number) !== null && _order$shop_order_num !== void 0 ? _order$shop_order_num : null,
|
|
687
|
-
shop_full_order_number: (_order$shop_full_orde = order.shop_full_order_number) !== null && _order$shop_full_orde !== void 0 ? _order$shop_full_orde : null,
|
|
688
|
-
order_status: (_order$status = order.status) !== null && _order$status !== void 0 ? _order$status : null,
|
|
689
|
-
payment_status: (_order$payment_status = order.payment_status) !== null && _order$payment_status !== void 0 ? _order$payment_status : null,
|
|
690
|
-
is_draft_order: Number(order.is_draft_order || 0),
|
|
691
|
-
need_sync: Number(order.need_sync || 0),
|
|
692
|
-
platform: (_order$platform = order.platform) !== null && _order$platform !== void 0 ? _order$platform : null,
|
|
693
|
-
business_code: (_order$business_code = order.business_code) !== null && _order$business_code !== void 0 ? _order$business_code : null,
|
|
694
|
-
order_sales_channel: (_order$order_sales_ch = order.order_sales_channel) !== null && _order$order_sales_ch !== void 0 ? _order$order_sales_ch : null,
|
|
695
|
-
sales_channel: (_order$sales_channel = order.sales_channel) !== null && _order$sales_channel !== void 0 ? _order$sales_channel : null,
|
|
696
|
-
order_type: (_order$type = order.type) !== null && _order$type !== void 0 ? _order$type : null,
|
|
697
|
-
payments_count: Array.isArray(order.payments) ? order.payments.length : 0
|
|
698
|
-
};
|
|
699
|
-
}
|
|
700
683
|
}, {
|
|
701
684
|
key: "getLocalOrderFromMemoryByLookup",
|
|
702
685
|
value: function getLocalOrderFromMemoryByLookup(lookup) {
|
|
703
|
-
var
|
|
686
|
+
var _this5 = this;
|
|
704
687
|
var key = this.getIdKey(lookup);
|
|
705
688
|
var memoryOrderById = this.store.map.get(key);
|
|
706
689
|
if (memoryOrderById) return memoryOrderById;
|
|
707
690
|
var memoryOrder = this.store.list.find(function (order) {
|
|
708
|
-
return
|
|
691
|
+
return _this5.isOrderLookupMatch(order, key);
|
|
709
692
|
});
|
|
710
693
|
return memoryOrder || null;
|
|
711
694
|
}
|
|
712
695
|
}, {
|
|
713
696
|
key: "getLocalOrderByLookup",
|
|
714
697
|
value: function () {
|
|
715
|
-
var _getLocalOrderByLookup = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
716
|
-
var
|
|
717
|
-
var
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
memoryOrderById,
|
|
721
|
-
memoryOrder,
|
|
722
|
-
orders,
|
|
723
|
-
localOrder,
|
|
724
|
-
normalizedOrder,
|
|
725
|
-
_args4 = arguments;
|
|
726
|
-
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
727
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
698
|
+
var _getLocalOrderByLookup = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(lookup) {
|
|
699
|
+
var _this6 = this;
|
|
700
|
+
var key, memoryOrderById, memoryOrder, orders, localOrder;
|
|
701
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
702
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
728
703
|
case 0:
|
|
729
|
-
options = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {};
|
|
730
704
|
key = this.getIdKey(lookup);
|
|
731
|
-
logContext = {
|
|
732
|
-
operation_id: options.operationId,
|
|
733
|
-
lookup: key,
|
|
734
|
-
memory_order_count: this.store.list.length
|
|
735
|
-
};
|
|
736
|
-
if (options.operationId) {
|
|
737
|
-
this.logInfo('getLocalOrderByLookup-localPayment-开始', logContext);
|
|
738
|
-
}
|
|
739
705
|
memoryOrderById = this.store.map.get(key);
|
|
740
706
|
if (!memoryOrderById) {
|
|
741
|
-
|
|
707
|
+
_context5.next = 4;
|
|
742
708
|
break;
|
|
743
709
|
}
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
}
|
|
747
|
-
return _context4.abrupt("return", memoryOrderById);
|
|
748
|
-
case 8:
|
|
710
|
+
return _context5.abrupt("return", memoryOrderById);
|
|
711
|
+
case 4:
|
|
749
712
|
memoryOrder = this.store.list.find(function (order) {
|
|
750
|
-
return
|
|
713
|
+
return _this6.isOrderLookupMatch(order, key);
|
|
751
714
|
});
|
|
752
715
|
if (!memoryOrder) {
|
|
753
|
-
|
|
716
|
+
_context5.next = 7;
|
|
754
717
|
break;
|
|
755
718
|
}
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
return _context4.abrupt("return", memoryOrder);
|
|
760
|
-
case 12:
|
|
761
|
-
if (options.operationId) {
|
|
762
|
-
this.logInfo('getLocalOrderByLookup-localPayment-开始读取SQLite', logContext);
|
|
763
|
-
}
|
|
764
|
-
_context4.next = 15;
|
|
719
|
+
return _context5.abrupt("return", memoryOrder);
|
|
720
|
+
case 7:
|
|
721
|
+
_context5.next = 9;
|
|
765
722
|
return this.loadOrdersFromSQLite();
|
|
766
|
-
case
|
|
767
|
-
orders =
|
|
723
|
+
case 9:
|
|
724
|
+
orders = _context5.sent;
|
|
768
725
|
localOrder = orders.find(function (order) {
|
|
769
|
-
return
|
|
726
|
+
return _this6.isOrderLookupMatch(order, key);
|
|
770
727
|
});
|
|
771
728
|
if (localOrder) {
|
|
772
|
-
|
|
729
|
+
_context5.next = 13;
|
|
773
730
|
break;
|
|
774
731
|
}
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
}
|
|
780
|
-
return _context4.abrupt("return", null);
|
|
781
|
-
case 20:
|
|
782
|
-
this.store.list = this.normalizeOrdersForMemoryList(orders, 'getLocalOrderByLookup.sqliteMemory');
|
|
732
|
+
return _context5.abrupt("return", null);
|
|
733
|
+
case 13:
|
|
734
|
+
this.store.list = orders.map(function (order) {
|
|
735
|
+
return _this6.normalizeOrderForMemoryList(order);
|
|
736
|
+
});
|
|
783
737
|
this.syncOrdersMap();
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
this.logInfo('getLocalOrderByLookup-localPayment-SQLite命中', _objectSpread(_objectSpread({}, logContext), {}, {
|
|
787
|
-
sqlite_order_count: orders.length
|
|
788
|
-
}, this.buildLocalPaymentOrderLogContext(normalizedOrder)));
|
|
789
|
-
}
|
|
790
|
-
return _context4.abrupt("return", normalizedOrder);
|
|
791
|
-
case 25:
|
|
738
|
+
return _context5.abrupt("return", this.normalizeOrderForMemoryList(localOrder));
|
|
739
|
+
case 16:
|
|
792
740
|
case "end":
|
|
793
|
-
return
|
|
741
|
+
return _context5.stop();
|
|
794
742
|
}
|
|
795
|
-
},
|
|
743
|
+
}, _callee5, this);
|
|
796
744
|
}));
|
|
797
745
|
function getLocalOrderByLookup(_x3) {
|
|
798
746
|
return _getLocalOrderByLookup.apply(this, arguments);
|
|
@@ -800,254 +748,66 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
800
748
|
return getLocalOrderByLookup;
|
|
801
749
|
}()
|
|
802
750
|
}, {
|
|
803
|
-
key: "
|
|
804
|
-
value: function () {
|
|
805
|
-
var _getLocalPayment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(params) {
|
|
806
|
-
var logContext, order, payments, match;
|
|
807
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
808
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
809
|
-
case 0:
|
|
810
|
-
logContext = {
|
|
811
|
-
operation_id: params.operationId,
|
|
812
|
-
sale_id: params.saleId,
|
|
813
|
-
payment_number: params.paymentNumber
|
|
814
|
-
};
|
|
815
|
-
this.logInfo('getLocalPayment-开始', logContext);
|
|
816
|
-
_context5.prev = 2;
|
|
817
|
-
_context5.next = 5;
|
|
818
|
-
return this.getLocalOrderByLookup(params.saleId, {
|
|
819
|
-
operationId: params.operationId
|
|
820
|
-
});
|
|
821
|
-
case 5:
|
|
822
|
-
order = _context5.sent;
|
|
823
|
-
if (order) {
|
|
824
|
-
_context5.next = 9;
|
|
825
|
-
break;
|
|
826
|
-
}
|
|
827
|
-
this.logWarning('getLocalPayment-订单未命中', logContext);
|
|
828
|
-
return _context5.abrupt("return", null);
|
|
829
|
-
case 9:
|
|
830
|
-
payments = order.payments || [];
|
|
831
|
-
match = resolveOrderPaymentIdentity(payments, params.paymentNumber, 'compat');
|
|
832
|
-
if (match) {
|
|
833
|
-
_context5.next = 14;
|
|
834
|
-
break;
|
|
835
|
-
}
|
|
836
|
-
this.logWarning('getLocalPayment-支付项未命中', _objectSpread(_objectSpread(_objectSpread({}, logContext), this.buildLocalPaymentOrderLogContext(order)), {}, {
|
|
837
|
-
payments: payments
|
|
838
|
-
}));
|
|
839
|
-
return _context5.abrupt("return", null);
|
|
840
|
-
case 14:
|
|
841
|
-
this.logInfo('getLocalPayment-支付项命中', _objectSpread(_objectSpread(_objectSpread({}, logContext), this.buildLocalPaymentOrderLogContext(order)), {}, {
|
|
842
|
-
matched_by: match.matchedBy,
|
|
843
|
-
payment_index: match.index,
|
|
844
|
-
payment: match.payment
|
|
845
|
-
}));
|
|
846
|
-
return _context5.abrupt("return", {
|
|
847
|
-
order: order,
|
|
848
|
-
payment: match.payment,
|
|
849
|
-
paymentIndex: match.index,
|
|
850
|
-
matchedBy: match.matchedBy
|
|
851
|
-
});
|
|
852
|
-
case 18:
|
|
853
|
-
_context5.prev = 18;
|
|
854
|
-
_context5.t0 = _context5["catch"](2);
|
|
855
|
-
this.logError('getLocalPayment-查询失败', _objectSpread(_objectSpread({}, logContext), {}, {
|
|
856
|
-
error: _context5.t0 instanceof Error ? _context5.t0.message : String(_context5.t0)
|
|
857
|
-
}));
|
|
858
|
-
throw _context5.t0;
|
|
859
|
-
case 22:
|
|
860
|
-
case "end":
|
|
861
|
-
return _context5.stop();
|
|
862
|
-
}
|
|
863
|
-
}, _callee5, this, [[2, 18]]);
|
|
864
|
-
}));
|
|
865
|
-
function getLocalPayment(_x4) {
|
|
866
|
-
return _getLocalPayment.apply(this, arguments);
|
|
867
|
-
}
|
|
868
|
-
return getLocalPayment;
|
|
869
|
-
}()
|
|
870
|
-
}, {
|
|
871
|
-
key: "updateLocalPayment",
|
|
751
|
+
key: "loadOrdersByServer",
|
|
872
752
|
value: function () {
|
|
873
|
-
var
|
|
874
|
-
var
|
|
753
|
+
var _loadOrdersByServer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
754
|
+
var _this$store,
|
|
755
|
+
_this7 = this;
|
|
756
|
+
var orderList, data, mergedOrders, memoryOrders;
|
|
875
757
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
876
758
|
while (1) switch (_context6.prev = _context6.next) {
|
|
877
|
-
case 0:
|
|
878
|
-
logContext = {
|
|
879
|
-
operation_id: params.operationId,
|
|
880
|
-
sale_id: params.saleId,
|
|
881
|
-
payment_number: params.paymentNumber,
|
|
882
|
-
incoming_payment_update: params.updates
|
|
883
|
-
};
|
|
884
|
-
this.logInfo('updateLocalPayment-开始', logContext);
|
|
885
|
-
_context6.next = 4;
|
|
886
|
-
return this.getLocalPayment(params);
|
|
887
|
-
case 4:
|
|
888
|
-
found = _context6.sent;
|
|
889
|
-
if (found) {
|
|
890
|
-
_context6.next = 8;
|
|
891
|
-
break;
|
|
892
|
-
}
|
|
893
|
-
this.logWarning('updateLocalPayment-支付项未命中', logContext);
|
|
894
|
-
return _context6.abrupt("return", null);
|
|
895
|
-
case 8:
|
|
896
|
-
previousPayment = cloneDeep(found.payment);
|
|
897
|
-
nextPayment = mergeOrderPaymentRecord(found.payment, _objectSpread(_objectSpread({}, params.updates), {}, {
|
|
898
|
-
updated_at: params.updates.updated_at || dayjs().format('YYYY-MM-DD HH:mm:ss')
|
|
899
|
-
}));
|
|
900
|
-
nextOrder = _objectSpread(_objectSpread({}, found.order), {}, {
|
|
901
|
-
payments: (found.order.payments || []).map(function (payment, index) {
|
|
902
|
-
return index === found.paymentIndex ? nextPayment : payment;
|
|
903
|
-
}),
|
|
904
|
-
updated_at: dayjs().format('YYYY-MM-DD HH:mm:ss')
|
|
905
|
-
});
|
|
906
|
-
paymentContext = _objectSpread(_objectSpread(_objectSpread({}, logContext), {}, {
|
|
907
|
-
matched_by: found.matchedBy,
|
|
908
|
-
payment_index: found.paymentIndex
|
|
909
|
-
}, this.buildLocalPaymentOrderLogContext(nextOrder)), {}, {
|
|
910
|
-
previous_payment: previousPayment,
|
|
911
|
-
payment: nextPayment
|
|
912
|
-
});
|
|
913
|
-
this.logInfo('updateLocalPayment-支付项合并完成', paymentContext);
|
|
914
|
-
targetIndex = this.findOrderIndexByIdentity(this.store.list, found.order);
|
|
915
|
-
shouldKeepInMemory = this.shouldKeepOrderInMemory(nextOrder);
|
|
916
|
-
if (!(targetIndex < 0 && shouldKeepInMemory)) {
|
|
917
|
-
_context6.next = 18;
|
|
918
|
-
break;
|
|
919
|
-
}
|
|
920
|
-
this.logError('updateLocalPayment-订单Store索引未命中', paymentContext);
|
|
921
|
-
return _context6.abrupt("return", null);
|
|
922
|
-
case 18:
|
|
923
|
-
previousList = this.store.list;
|
|
924
|
-
this.store.list = shouldKeepInMemory ? this.store.list.map(function (order, index) {
|
|
925
|
-
return index === targetIndex ? nextOrder : order;
|
|
926
|
-
}) : this.store.list.filter(function (_, index) {
|
|
927
|
-
return index !== targetIndex;
|
|
928
|
-
});
|
|
929
|
-
this.syncOrdersMap();
|
|
930
|
-
storageOrder = this.withoutSyntheticDraftOrderId(nextOrder);
|
|
931
|
-
_context6.prev = 22;
|
|
932
|
-
this.logInfo('updateLocalPayment-SQLite写入开始', _objectSpread(_objectSpread({}, paymentContext), {}, {
|
|
933
|
-
storage_order_id: (_storageOrder$order_i = storageOrder.order_id) !== null && _storageOrder$order_i !== void 0 ? _storageOrder$order_i : null
|
|
934
|
-
}));
|
|
935
|
-
_context6.next = 26;
|
|
936
|
-
return this.updateOrderInSQLite(storageOrder, 'updateLocalPayment', {
|
|
937
|
-
throwOnError: true
|
|
938
|
-
});
|
|
939
|
-
case 26:
|
|
940
|
-
this.logInfo('updateLocalPayment-SQLite写入完成', _objectSpread(_objectSpread({}, paymentContext), {}, {
|
|
941
|
-
storage_order_id: (_storageOrder$order_i2 = storageOrder.order_id) !== null && _storageOrder$order_i2 !== void 0 ? _storageOrder$order_i2 : null
|
|
942
|
-
}));
|
|
943
|
-
_context6.next = 35;
|
|
944
|
-
break;
|
|
945
|
-
case 29:
|
|
946
|
-
_context6.prev = 29;
|
|
947
|
-
_context6.t0 = _context6["catch"](22);
|
|
948
|
-
this.store.list = previousList;
|
|
949
|
-
this.syncOrdersMap();
|
|
950
|
-
this.logError('updateLocalPayment-SQLite写入失败并回滚内存', _objectSpread(_objectSpread({}, paymentContext), {}, {
|
|
951
|
-
storage_order_id: (_storageOrder$order_i3 = storageOrder.order_id) !== null && _storageOrder$order_i3 !== void 0 ? _storageOrder$order_i3 : null,
|
|
952
|
-
error: _context6.t0 instanceof Error ? _context6.t0.message : String(_context6.t0)
|
|
953
|
-
}));
|
|
954
|
-
throw _context6.t0;
|
|
955
|
-
case 35:
|
|
956
|
-
if (!(shouldKeepInMemory || targetIndex >= 0)) {
|
|
957
|
-
_context6.next = 38;
|
|
958
|
-
break;
|
|
959
|
-
}
|
|
960
|
-
_context6.next = 38;
|
|
961
|
-
return this.emitOrdersChanged(shouldKeepInMemory ? [nextOrder] : [], shouldKeepInMemory ? 'updateLocalPayment' : 'updateLocalPayment.sqliteOnlyDraft');
|
|
962
|
-
case 38:
|
|
963
|
-
this.logInfo('updateLocalPayment-变更事件完成', paymentContext);
|
|
964
|
-
return _context6.abrupt("return", {
|
|
965
|
-
order: nextOrder,
|
|
966
|
-
payment: nextPayment,
|
|
967
|
-
previousPayment: previousPayment
|
|
968
|
-
});
|
|
969
|
-
case 40:
|
|
970
|
-
case "end":
|
|
971
|
-
return _context6.stop();
|
|
972
|
-
}
|
|
973
|
-
}, _callee6, this, [[22, 29]]);
|
|
974
|
-
}));
|
|
975
|
-
function updateLocalPayment(_x5) {
|
|
976
|
-
return _updateLocalPayment.apply(this, arguments);
|
|
977
|
-
}
|
|
978
|
-
return updateLocalPayment;
|
|
979
|
-
}()
|
|
980
|
-
}, {
|
|
981
|
-
key: "loadOrdersByServer",
|
|
982
|
-
value: function () {
|
|
983
|
-
var _loadOrdersByServer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
984
|
-
var _this5 = this,
|
|
985
|
-
_this$store;
|
|
986
|
-
var orderList, protectedOrdersBeforeRemoteFetch, data, mergedOrders, memoryOrders;
|
|
987
|
-
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
988
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
989
759
|
case 0:
|
|
990
760
|
orderList = [];
|
|
991
|
-
_context7.next = 3;
|
|
992
|
-
return this.loadOrdersFromSQLite();
|
|
993
|
-
case 3:
|
|
994
|
-
protectedOrdersBeforeRemoteFetch = _context7.sent.filter(function (order) {
|
|
995
|
-
return _this5.shouldProtectLocalOrderFromRemoteSnapshot(order);
|
|
996
|
-
});
|
|
997
761
|
this.logInfo('loadOrdersByServer-开始', {
|
|
998
762
|
hasOrderDataSource: !!this.orderDataSource,
|
|
999
|
-
query: ((_this$store = this.store) === null || _this$store === void 0 ? void 0 : _this$store.createdAtQuery) || null
|
|
1000
|
-
protectedLocalOrderCount: protectedOrdersBeforeRemoteFetch.length,
|
|
1001
|
-
protectedPendingPaymentCount: protectedOrdersBeforeRemoteFetch.reduce(function (count, order) {
|
|
1002
|
-
return count + _this5.getIdentifiedPendingPayments(order).length;
|
|
1003
|
-
}, 0)
|
|
763
|
+
query: ((_this$store = this.store) === null || _this$store === void 0 ? void 0 : _this$store.createdAtQuery) || null
|
|
1004
764
|
});
|
|
1005
765
|
if (!this.orderDataSource) {
|
|
1006
|
-
|
|
766
|
+
_context6.next = 17;
|
|
1007
767
|
break;
|
|
1008
768
|
}
|
|
1009
|
-
|
|
1010
|
-
|
|
769
|
+
_context6.prev = 3;
|
|
770
|
+
_context6.next = 6;
|
|
1011
771
|
return this.orderDataSource.run({
|
|
1012
772
|
sse: {
|
|
1013
773
|
query: this.store.createdAtQuery
|
|
1014
774
|
}
|
|
1015
775
|
});
|
|
1016
|
-
case
|
|
1017
|
-
data =
|
|
776
|
+
case 6:
|
|
777
|
+
data = _context6.sent;
|
|
1018
778
|
orderList = data || [];
|
|
1019
779
|
this.logInfo('loadOrdersByServer-SSE拉取成功', {
|
|
1020
780
|
count: orderList.length
|
|
1021
781
|
});
|
|
1022
782
|
this.markOrderPulledAtNow();
|
|
1023
783
|
this.lastServerFullFetchAtMs = Date.now();
|
|
1024
|
-
|
|
784
|
+
_context6.next = 17;
|
|
1025
785
|
break;
|
|
1026
|
-
case
|
|
1027
|
-
|
|
1028
|
-
|
|
786
|
+
case 13:
|
|
787
|
+
_context6.prev = 13;
|
|
788
|
+
_context6.t0 = _context6["catch"](3);
|
|
1029
789
|
this.logInfo('loadOrdersByServer-SSE拉取失败,保持当前内存订单');
|
|
1030
|
-
return
|
|
1031
|
-
case
|
|
1032
|
-
|
|
1033
|
-
return this.replaceOrdersSnapshotInSQLite(orderList, 'loadOrdersByServer'
|
|
1034
|
-
case
|
|
1035
|
-
mergedOrders =
|
|
1036
|
-
memoryOrders =
|
|
790
|
+
return _context6.abrupt("return", this.store.list);
|
|
791
|
+
case 17:
|
|
792
|
+
_context6.next = 19;
|
|
793
|
+
return this.replaceOrdersSnapshotInSQLite(orderList, 'loadOrdersByServer');
|
|
794
|
+
case 19:
|
|
795
|
+
mergedOrders = _context6.sent;
|
|
796
|
+
memoryOrders = mergedOrders.map(function (order) {
|
|
797
|
+
return _this7.normalizeOrderForMemoryList(order);
|
|
798
|
+
});
|
|
1037
799
|
this.logInfo('loadOrdersByServer-结束', {
|
|
1038
|
-
count: memoryOrders.length
|
|
1039
|
-
persistedCount: mergedOrders.length,
|
|
1040
|
-
sqliteOnlyDraftCount: mergedOrders.length - memoryOrders.length
|
|
800
|
+
count: memoryOrders.length
|
|
1041
801
|
});
|
|
1042
|
-
|
|
802
|
+
_context6.next = 24;
|
|
1043
803
|
return this.core.effects.emit(OrderHooks.onOrdersLoaded, memoryOrders);
|
|
1044
|
-
case
|
|
1045
|
-
return
|
|
1046
|
-
case
|
|
804
|
+
case 24:
|
|
805
|
+
return _context6.abrupt("return", memoryOrders);
|
|
806
|
+
case 25:
|
|
1047
807
|
case "end":
|
|
1048
|
-
return
|
|
808
|
+
return _context6.stop();
|
|
1049
809
|
}
|
|
1050
|
-
},
|
|
810
|
+
}, _callee6, this, [[3, 13]]);
|
|
1051
811
|
}));
|
|
1052
812
|
function loadOrdersByServer() {
|
|
1053
813
|
return _loadOrdersByServer.apply(this, arguments);
|
|
@@ -1062,54 +822,61 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1062
822
|
}, {
|
|
1063
823
|
key: "silentRefresh",
|
|
1064
824
|
value: (function () {
|
|
1065
|
-
var _silentRefresh = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
825
|
+
var _silentRefresh = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
1066
826
|
var startTime, elapsedSinceFullFetch, orders, errorMessage;
|
|
1067
|
-
return _regeneratorRuntime().wrap(function
|
|
1068
|
-
while (1) switch (
|
|
827
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
828
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
1069
829
|
case 0:
|
|
1070
830
|
startTime = Date.now();
|
|
1071
831
|
elapsedSinceFullFetch = Date.now() - this.lastServerFullFetchAtMs;
|
|
1072
832
|
if (!(this.lastServerFullFetchAtMs > 0 && elapsedSinceFullFetch < ORDER_SILENT_REFRESH_MIN_INTERVAL_MS)) {
|
|
1073
|
-
|
|
833
|
+
_context7.next = 4;
|
|
1074
834
|
break;
|
|
1075
835
|
}
|
|
1076
|
-
return
|
|
836
|
+
return _context7.abrupt("return", this.store.list);
|
|
1077
837
|
case 4:
|
|
1078
838
|
this.logInfo('silentRefresh 开始');
|
|
1079
|
-
|
|
839
|
+
_context7.prev = 5;
|
|
1080
840
|
// 刷新前,需要更新当前营业日边界(store.createdAtQuery)
|
|
1081
841
|
this.updateCreateStore();
|
|
1082
|
-
|
|
842
|
+
_context7.next = 9;
|
|
1083
843
|
return this.loadOrdersByServer();
|
|
1084
844
|
case 9:
|
|
1085
|
-
orders =
|
|
845
|
+
orders = _context7.sent;
|
|
846
|
+
if (!(orders.length > 0)) {
|
|
847
|
+
_context7.next = 19;
|
|
848
|
+
break;
|
|
849
|
+
}
|
|
1086
850
|
this.store.list = cloneDeep(orders);
|
|
1087
851
|
this.syncOrdersMap();
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
case 14:
|
|
1091
|
-
_context8.next = 16;
|
|
852
|
+
this.emitOrdersChanged([], 'silentRefresh');
|
|
853
|
+
_context7.next = 16;
|
|
1092
854
|
return this.core.effects.emit(OrderHooks.onOrdersSyncCompleted, null);
|
|
1093
855
|
case 16:
|
|
1094
856
|
this.logInfo('silentRefresh 完成', {
|
|
1095
857
|
orderCount: orders.length,
|
|
1096
858
|
duration: "".concat(Date.now() - startTime, "ms")
|
|
1097
859
|
});
|
|
1098
|
-
|
|
860
|
+
_context7.next = 20;
|
|
861
|
+
break;
|
|
862
|
+
case 19:
|
|
863
|
+
this.logInfo('silentRefresh: 服务器未返回数据');
|
|
1099
864
|
case 20:
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
865
|
+
return _context7.abrupt("return", this.store.list);
|
|
866
|
+
case 23:
|
|
867
|
+
_context7.prev = 23;
|
|
868
|
+
_context7.t0 = _context7["catch"](5);
|
|
869
|
+
errorMessage = _context7.t0 instanceof Error ? _context7.t0.message : String(_context7.t0);
|
|
1103
870
|
this.logError('silentRefresh 失败', {
|
|
1104
871
|
duration: "".concat(Date.now() - startTime, "ms"),
|
|
1105
872
|
error: errorMessage
|
|
1106
873
|
});
|
|
1107
|
-
return
|
|
1108
|
-
case
|
|
874
|
+
return _context7.abrupt("return", this.store.list);
|
|
875
|
+
case 28:
|
|
1109
876
|
case "end":
|
|
1110
|
-
return
|
|
877
|
+
return _context7.stop();
|
|
1111
878
|
}
|
|
1112
|
-
},
|
|
879
|
+
}, _callee7, this, [[5, 23]]);
|
|
1113
880
|
}));
|
|
1114
881
|
function silentRefresh() {
|
|
1115
882
|
return _silentRefresh.apply(this, arguments);
|
|
@@ -1122,9 +889,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1122
889
|
var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'normalizeOrderForMemoryList';
|
|
1123
890
|
var normalizedOrder = this.normalizeOrderCollectionsForIngress(order, source);
|
|
1124
891
|
var externalSaleNumber = normalizedOrder === null || normalizedOrder === void 0 ? void 0 : normalizedOrder.external_sale_number;
|
|
1125
|
-
if (this.isDraftOrder(normalizedOrder) && !this.hasRealOrderId(normalizedOrder)) {
|
|
1126
|
-
return normalizedOrder;
|
|
1127
|
-
}
|
|
1128
892
|
if ((normalizedOrder === null || normalizedOrder === void 0 ? void 0 : normalizedOrder.order_id) !== undefined && (normalizedOrder === null || normalizedOrder === void 0 ? void 0 : normalizedOrder.order_id) !== null && (normalizedOrder === null || normalizedOrder === void 0 ? void 0 : normalizedOrder.order_id) !== '') {
|
|
1129
893
|
return normalizedOrder;
|
|
1130
894
|
}
|
|
@@ -1135,39 +899,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1135
899
|
order_id: externalSaleNumber
|
|
1136
900
|
});
|
|
1137
901
|
}
|
|
1138
|
-
}, {
|
|
1139
|
-
key: "normalizeOrdersForMemoryList",
|
|
1140
|
-
value: function normalizeOrdersForMemoryList(orders, source) {
|
|
1141
|
-
var _this6 = this;
|
|
1142
|
-
return orders.map(function (order) {
|
|
1143
|
-
return _this6.normalizeOrderForMemoryList(order, source);
|
|
1144
|
-
}).filter(function (order) {
|
|
1145
|
-
return _this6.shouldKeepOrderInMemory(order);
|
|
1146
|
-
});
|
|
1147
|
-
}
|
|
1148
|
-
}, {
|
|
1149
|
-
key: "hasRealOrderId",
|
|
1150
|
-
value: function hasRealOrderId(order) {
|
|
1151
|
-
if (!order || this.isBlankIdentityValue(order.order_id)) return false;
|
|
1152
|
-
var externalSaleNumber = order.external_sale_number;
|
|
1153
|
-
return !(this.isDraftOrder(order) && !this.isBlankIdentityValue(externalSaleNumber) && String(order.order_id) === String(externalSaleNumber));
|
|
1154
|
-
}
|
|
1155
|
-
}, {
|
|
1156
|
-
key: "shouldKeepOrderInMemory",
|
|
1157
|
-
value: function shouldKeepOrderInMemory(order) {
|
|
1158
|
-
return !this.isDraftOrder(order) || this.hasRealOrderId(order);
|
|
1159
|
-
}
|
|
1160
|
-
}, {
|
|
1161
|
-
key: "withoutSyntheticDraftOrderId",
|
|
1162
|
-
value: function withoutSyntheticDraftOrderId(order) {
|
|
1163
|
-
var externalSaleNumber = order.external_sale_number;
|
|
1164
|
-
if (Number(order.is_draft_order || 0) !== 1 || order.order_id === undefined || externalSaleNumber === undefined || String(order.order_id) !== String(externalSaleNumber)) {
|
|
1165
|
-
return order;
|
|
1166
|
-
}
|
|
1167
|
-
var next = _objectSpread({}, order);
|
|
1168
|
-
delete next.order_id;
|
|
1169
|
-
return next;
|
|
1170
|
-
}
|
|
1171
902
|
|
|
1172
903
|
/**
|
|
1173
904
|
* 仅覆盖本地已存在的订单;不存在则直接跳过,不落库、不 emit。
|
|
@@ -1176,31 +907,31 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1176
907
|
}, {
|
|
1177
908
|
key: "overwriteExistingOrder",
|
|
1178
909
|
value: (function () {
|
|
1179
|
-
var _overwriteExistingOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1180
|
-
var
|
|
910
|
+
var _overwriteExistingOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(fresh) {
|
|
911
|
+
var _this8 = this;
|
|
1181
912
|
var orderId, key, normalizedFresh, existingOrder, reconciledFresh;
|
|
1182
|
-
return _regeneratorRuntime().wrap(function
|
|
1183
|
-
while (1) switch (
|
|
913
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
914
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
1184
915
|
case 0:
|
|
1185
916
|
orderId = fresh === null || fresh === void 0 ? void 0 : fresh.order_id;
|
|
1186
917
|
if (!(orderId === undefined || orderId === null)) {
|
|
1187
|
-
|
|
918
|
+
_context8.next = 4;
|
|
1188
919
|
break;
|
|
1189
920
|
}
|
|
1190
921
|
this.logError('overwriteExistingOrder-入参缺少 order_id');
|
|
1191
|
-
return
|
|
922
|
+
return _context8.abrupt("return", {
|
|
1192
923
|
overwritten: false
|
|
1193
924
|
});
|
|
1194
925
|
case 4:
|
|
1195
926
|
key = this.getIdKey(orderId);
|
|
1196
927
|
if (this.store.map.has(key)) {
|
|
1197
|
-
|
|
928
|
+
_context8.next = 8;
|
|
1198
929
|
break;
|
|
1199
930
|
}
|
|
1200
931
|
this.logInfo('overwriteExistingOrder-本地不存在该订单,跳过', {
|
|
1201
932
|
orderId: orderId
|
|
1202
933
|
});
|
|
1203
|
-
return
|
|
934
|
+
return _context8.abrupt("return", {
|
|
1204
935
|
overwritten: false
|
|
1205
936
|
});
|
|
1206
937
|
case 8:
|
|
@@ -1214,31 +945,31 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1214
945
|
this.store.list = this.store.list.map(function (order) {
|
|
1215
946
|
var id = order === null || order === void 0 ? void 0 : order.order_id;
|
|
1216
947
|
if (id === undefined || id === null) {
|
|
1217
|
-
return
|
|
948
|
+
return _this8.normalizeOrderForMemoryList(order, 'overwriteExistingOrder.existingMemory');
|
|
1218
949
|
}
|
|
1219
|
-
return
|
|
950
|
+
return _this8.getIdKey(id) === key ? reconciledFresh : _this8.normalizeOrderForMemoryList(order, 'overwriteExistingOrder.existingMemory');
|
|
1220
951
|
});
|
|
1221
952
|
this.syncOrdersMap();
|
|
1222
|
-
|
|
953
|
+
_context8.next = 16;
|
|
1223
954
|
return this.updateOrderInSQLite(reconciledFresh, 'overwriteExistingOrder');
|
|
1224
955
|
case 16:
|
|
1225
956
|
this.logInfo('overwriteExistingOrder-结束', {
|
|
1226
957
|
orderId: orderId,
|
|
1227
958
|
storeOrderCountAfter: this.store.list.length
|
|
1228
959
|
});
|
|
1229
|
-
|
|
960
|
+
_context8.next = 19;
|
|
1230
961
|
return this.emitOrdersChanged([reconciledFresh], 'overwriteExistingOrder');
|
|
1231
962
|
case 19:
|
|
1232
|
-
return
|
|
963
|
+
return _context8.abrupt("return", {
|
|
1233
964
|
overwritten: true
|
|
1234
965
|
});
|
|
1235
966
|
case 20:
|
|
1236
967
|
case "end":
|
|
1237
|
-
return
|
|
968
|
+
return _context8.stop();
|
|
1238
969
|
}
|
|
1239
|
-
},
|
|
970
|
+
}, _callee8, this);
|
|
1240
971
|
}));
|
|
1241
|
-
function overwriteExistingOrder(
|
|
972
|
+
function overwriteExistingOrder(_x4) {
|
|
1242
973
|
return _overwriteExistingOrder.apply(this, arguments);
|
|
1243
974
|
}
|
|
1244
975
|
return overwriteExistingOrder;
|
|
@@ -1251,33 +982,29 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1251
982
|
}, {
|
|
1252
983
|
key: "upsertOrdersFromRemote",
|
|
1253
984
|
value: (function () {
|
|
1254
|
-
var _upsertOrdersFromRemote = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
1258
|
-
while (1) switch (_context10.prev = _context10.next) {
|
|
985
|
+
var _upsertOrdersFromRemote = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(freshOrders) {
|
|
986
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
987
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
1259
988
|
case 0:
|
|
1260
|
-
source = _args10.length > 1 && _args10[1] !== undefined ? _args10[1] : 'upsertOrdersFromRemote';
|
|
1261
989
|
if (freshOrders !== null && freshOrders !== void 0 && freshOrders.length) {
|
|
1262
|
-
|
|
990
|
+
_context9.next = 3;
|
|
1263
991
|
break;
|
|
1264
992
|
}
|
|
1265
993
|
this.logInfo('upsertOrdersFromRemote-订单列表为空', {});
|
|
1266
|
-
return
|
|
1267
|
-
case
|
|
994
|
+
return _context9.abrupt("return");
|
|
995
|
+
case 3:
|
|
1268
996
|
this.logInfo('upsertOrdersFromRemote-开始', {
|
|
1269
|
-
count: freshOrders.length
|
|
1270
|
-
source: source
|
|
997
|
+
count: freshOrders.length
|
|
1271
998
|
});
|
|
1272
|
-
|
|
1273
|
-
return this.mergeOrdersToStore(freshOrders,
|
|
1274
|
-
case
|
|
999
|
+
_context9.next = 6;
|
|
1000
|
+
return this.mergeOrdersToStore(freshOrders, 'upsertOrdersFromRemote');
|
|
1001
|
+
case 6:
|
|
1275
1002
|
case "end":
|
|
1276
|
-
return
|
|
1003
|
+
return _context9.stop();
|
|
1277
1004
|
}
|
|
1278
|
-
},
|
|
1005
|
+
}, _callee9, this);
|
|
1279
1006
|
}));
|
|
1280
|
-
function upsertOrdersFromRemote(
|
|
1007
|
+
function upsertOrdersFromRemote(_x5) {
|
|
1281
1008
|
return _upsertOrdersFromRemote.apply(this, arguments);
|
|
1282
1009
|
}
|
|
1283
1010
|
return upsertOrdersFromRemote;
|
|
@@ -1285,21 +1012,21 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1285
1012
|
}, {
|
|
1286
1013
|
key: "markOrderSyncedByExternalSaleNumber",
|
|
1287
1014
|
value: function () {
|
|
1288
|
-
var _markOrderSyncedByExternalSaleNumber = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1289
|
-
var
|
|
1015
|
+
var _markOrderSyncedByExternalSaleNumber = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
|
|
1016
|
+
var _this9 = this,
|
|
1290
1017
|
_existing$external_sa,
|
|
1291
1018
|
_nextOrder$order_id;
|
|
1292
1019
|
var externalSaleNumber, key, targetIndex, existing, nextOrder, storageKey;
|
|
1293
|
-
return _regeneratorRuntime().wrap(function
|
|
1294
|
-
while (1) switch (
|
|
1020
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
1021
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
1295
1022
|
case 0:
|
|
1296
1023
|
externalSaleNumber = params.externalSaleNumber;
|
|
1297
1024
|
if (!(externalSaleNumber === undefined || externalSaleNumber === null || externalSaleNumber === '')) {
|
|
1298
|
-
|
|
1025
|
+
_context10.next = 4;
|
|
1299
1026
|
break;
|
|
1300
1027
|
}
|
|
1301
1028
|
this.logError('markOrderSyncedByExternalSaleNumber-缺少 external_sale_number');
|
|
1302
|
-
return
|
|
1029
|
+
return _context10.abrupt("return", {
|
|
1303
1030
|
updated: false
|
|
1304
1031
|
});
|
|
1305
1032
|
case 4:
|
|
@@ -1307,24 +1034,23 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1307
1034
|
targetIndex = this.store.list.findIndex(function (order) {
|
|
1308
1035
|
var value = order === null || order === void 0 ? void 0 : order.external_sale_number;
|
|
1309
1036
|
if (value === undefined || value === null || value === '') return false;
|
|
1310
|
-
return
|
|
1037
|
+
return _this9.getIdKey(value) === key;
|
|
1311
1038
|
});
|
|
1312
1039
|
if (!(targetIndex < 0)) {
|
|
1313
|
-
|
|
1040
|
+
_context10.next = 9;
|
|
1314
1041
|
break;
|
|
1315
1042
|
}
|
|
1316
1043
|
this.logInfo('markOrderSyncedByExternalSaleNumber-本地订单不存在,跳过', {
|
|
1317
1044
|
external_sale_number: externalSaleNumber
|
|
1318
1045
|
});
|
|
1319
|
-
return
|
|
1046
|
+
return _context10.abrupt("return", {
|
|
1320
1047
|
updated: false
|
|
1321
1048
|
});
|
|
1322
1049
|
case 9:
|
|
1323
1050
|
existing = this.store.list[targetIndex];
|
|
1324
1051
|
nextOrder = this.normalizeRemoteSyncedOrder(_objectSpread(_objectSpread(_objectSpread({}, existing), params.patch || {}), {}, {
|
|
1325
1052
|
external_sale_number: (_existing$external_sa = existing.external_sale_number) !== null && _existing$external_sa !== void 0 ? _existing$external_sa : externalSaleNumber,
|
|
1326
|
-
need_sync: 0
|
|
1327
|
-
is_draft_order: 0
|
|
1053
|
+
need_sync: 0
|
|
1328
1054
|
}));
|
|
1329
1055
|
storageKey = this.getOrderStorageKey(nextOrder) || key;
|
|
1330
1056
|
this.store.list = this.store.list.map(function (order, index) {
|
|
@@ -1332,27 +1058,27 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1332
1058
|
return nextOrder;
|
|
1333
1059
|
});
|
|
1334
1060
|
this.syncOrdersMap();
|
|
1335
|
-
|
|
1061
|
+
_context10.next = 16;
|
|
1336
1062
|
return this.patchOrdersInSQLite([nextOrder], 'markOrderSyncedByExternalSaleNumber', _defineProperty({}, storageKey, 'update'));
|
|
1337
1063
|
case 16:
|
|
1338
1064
|
this.logInfo('markOrderSyncedByExternalSaleNumber-完成', {
|
|
1339
1065
|
external_sale_number: externalSaleNumber,
|
|
1340
1066
|
order_id: (_nextOrder$order_id = nextOrder.order_id) !== null && _nextOrder$order_id !== void 0 ? _nextOrder$order_id : null
|
|
1341
1067
|
});
|
|
1342
|
-
|
|
1068
|
+
_context10.next = 19;
|
|
1343
1069
|
return this.emitOrdersChanged([nextOrder], 'markOrderSyncedByExternalSaleNumber');
|
|
1344
1070
|
case 19:
|
|
1345
|
-
return
|
|
1071
|
+
return _context10.abrupt("return", {
|
|
1346
1072
|
updated: true,
|
|
1347
1073
|
order: nextOrder
|
|
1348
1074
|
});
|
|
1349
1075
|
case 20:
|
|
1350
1076
|
case "end":
|
|
1351
|
-
return
|
|
1077
|
+
return _context10.stop();
|
|
1352
1078
|
}
|
|
1353
|
-
},
|
|
1079
|
+
}, _callee10, this);
|
|
1354
1080
|
}));
|
|
1355
|
-
function markOrderSyncedByExternalSaleNumber(
|
|
1081
|
+
function markOrderSyncedByExternalSaleNumber(_x6) {
|
|
1356
1082
|
return _markOrderSyncedByExternalSaleNumber.apply(this, arguments);
|
|
1357
1083
|
}
|
|
1358
1084
|
return markOrderSyncedByExternalSaleNumber;
|
|
@@ -1364,104 +1090,70 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1364
1090
|
}, {
|
|
1365
1091
|
key: "upsertPendingSyncOrders",
|
|
1366
1092
|
value: (function () {
|
|
1367
|
-
var _upsertPendingSyncOrders = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1368
|
-
var
|
|
1369
|
-
var
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
_iterator5,
|
|
1373
|
-
_step5,
|
|
1374
|
-
order,
|
|
1375
|
-
normalizedOrder,
|
|
1376
|
-
pendingOrder,
|
|
1377
|
-
storageKey,
|
|
1378
|
-
mergeActions,
|
|
1379
|
-
updatedList,
|
|
1380
|
-
identityKeyToIndex,
|
|
1381
|
-
index,
|
|
1382
|
-
_iterator6,
|
|
1383
|
-
_step6,
|
|
1384
|
-
key,
|
|
1385
|
-
_iterator7,
|
|
1386
|
-
_step7,
|
|
1387
|
-
_step7$value,
|
|
1388
|
-
_storageKey,
|
|
1389
|
-
_pendingOrder,
|
|
1390
|
-
matchIndex,
|
|
1391
|
-
existingOrder,
|
|
1392
|
-
mergedOrder,
|
|
1393
|
-
nextOrder,
|
|
1394
|
-
pendingSnapshot,
|
|
1395
|
-
insertIndex,
|
|
1396
|
-
patchedOrders,
|
|
1397
|
-
previousList,
|
|
1398
|
-
_args12 = arguments;
|
|
1399
|
-
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
1400
|
-
while (1) switch (_context12.prev = _context12.next) {
|
|
1093
|
+
var _upsertPendingSyncOrders = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(pendingOrders) {
|
|
1094
|
+
var _this10 = this;
|
|
1095
|
+
var pendingMap, memoryPendingMap, _iterator5, _step5, order, normalizedOrder, storageKey, mergeActions, updatedList, identityKeyToIndex, index, _iterator6, _step6, key, _iterator7, _step7, _step7$value, _storageKey, pendingOrder, matchIndex, existingOrder, mergedOrder, pendingSnapshot, insertIndex, patchedOrders;
|
|
1096
|
+
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
|
|
1097
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
1401
1098
|
case 0:
|
|
1402
|
-
options = _args12.length > 1 && _args12[1] !== undefined ? _args12[1] : {};
|
|
1403
1099
|
if (pendingOrders !== null && pendingOrders !== void 0 && pendingOrders.length) {
|
|
1404
|
-
|
|
1100
|
+
_context11.next = 3;
|
|
1405
1101
|
break;
|
|
1406
1102
|
}
|
|
1407
1103
|
this.logInfo('upsertPendingSyncOrders-订单列表为空', {});
|
|
1408
|
-
return
|
|
1409
|
-
case
|
|
1104
|
+
return _context11.abrupt("return");
|
|
1105
|
+
case 3:
|
|
1410
1106
|
pendingMap = new Map();
|
|
1411
1107
|
memoryPendingMap = new Map();
|
|
1412
1108
|
_iterator5 = _createForOfIteratorHelper(pendingOrders);
|
|
1413
|
-
|
|
1109
|
+
_context11.prev = 6;
|
|
1414
1110
|
_iterator5.s();
|
|
1415
|
-
case
|
|
1111
|
+
case 8:
|
|
1416
1112
|
if ((_step5 = _iterator5.n()).done) {
|
|
1417
|
-
|
|
1113
|
+
_context11.next = 18;
|
|
1418
1114
|
break;
|
|
1419
1115
|
}
|
|
1420
1116
|
order = _step5.value;
|
|
1421
1117
|
normalizedOrder = this.normalizeOrderCollectionsForIngress(order, 'upsertPendingSyncOrders.incoming');
|
|
1422
|
-
|
|
1423
|
-
need_sync: 1,
|
|
1424
|
-
is_draft_order: 0
|
|
1425
|
-
});
|
|
1426
|
-
storageKey = this.getOrderStorageKey(pendingOrder);
|
|
1118
|
+
storageKey = this.getOrderStorageKey(normalizedOrder);
|
|
1427
1119
|
if (storageKey) {
|
|
1428
|
-
|
|
1120
|
+
_context11.next = 14;
|
|
1429
1121
|
break;
|
|
1430
1122
|
}
|
|
1431
|
-
return
|
|
1123
|
+
return _context11.abrupt("continue", 16);
|
|
1124
|
+
case 14:
|
|
1125
|
+
pendingMap.set(storageKey, normalizedOrder);
|
|
1126
|
+
memoryPendingMap.set(storageKey, this.normalizeOrderForMemoryList(normalizedOrder, 'upsertPendingSyncOrders.memory'));
|
|
1432
1127
|
case 16:
|
|
1433
|
-
|
|
1434
|
-
|
|
1128
|
+
_context11.next = 8;
|
|
1129
|
+
break;
|
|
1435
1130
|
case 18:
|
|
1436
|
-
|
|
1131
|
+
_context11.next = 23;
|
|
1437
1132
|
break;
|
|
1438
1133
|
case 20:
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
_iterator5.e(_context12.t0);
|
|
1445
|
-
case 25:
|
|
1446
|
-
_context12.prev = 25;
|
|
1134
|
+
_context11.prev = 20;
|
|
1135
|
+
_context11.t0 = _context11["catch"](6);
|
|
1136
|
+
_iterator5.e(_context11.t0);
|
|
1137
|
+
case 23:
|
|
1138
|
+
_context11.prev = 23;
|
|
1447
1139
|
_iterator5.f();
|
|
1448
|
-
return
|
|
1449
|
-
case
|
|
1140
|
+
return _context11.finish(23);
|
|
1141
|
+
case 26:
|
|
1450
1142
|
if (!(pendingMap.size === 0)) {
|
|
1451
|
-
|
|
1143
|
+
_context11.next = 29;
|
|
1452
1144
|
break;
|
|
1453
1145
|
}
|
|
1454
1146
|
this.logError('upsertPendingSyncOrders-订单缺少可落库标识', {
|
|
1455
1147
|
count: pendingOrders.length
|
|
1456
1148
|
});
|
|
1457
|
-
return
|
|
1458
|
-
case
|
|
1149
|
+
return _context11.abrupt("return");
|
|
1150
|
+
case 29:
|
|
1459
1151
|
this.logInfo('upsertPendingSyncOrders-开始', {
|
|
1460
1152
|
count: pendingMap.size
|
|
1461
1153
|
});
|
|
1462
1154
|
mergeActions = {};
|
|
1463
1155
|
updatedList = this.store.list.map(function (order) {
|
|
1464
|
-
return
|
|
1156
|
+
return _this10.normalizeOrderForMemoryList(order, 'upsertPendingSyncOrders.existingMemory');
|
|
1465
1157
|
}); // 与 mergeOrdersToStore 一致:基于身份键(field:value)建立索引,把「查找已存在订单」
|
|
1466
1158
|
// 从 O(n) 线性扫描降为 O(1),整体复杂度由 O(n^2) 降为 O(n + m)。
|
|
1467
1159
|
identityKeyToIndex = new Map();
|
|
@@ -1480,314 +1172,116 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1480
1172
|
}
|
|
1481
1173
|
}
|
|
1482
1174
|
_iterator7 = _createForOfIteratorHelper(memoryPendingMap.entries());
|
|
1483
|
-
|
|
1175
|
+
_context11.prev = 35;
|
|
1484
1176
|
_iterator7.s();
|
|
1485
|
-
case
|
|
1177
|
+
case 37:
|
|
1486
1178
|
if ((_step7 = _iterator7.n()).done) {
|
|
1487
|
-
|
|
1179
|
+
_context11.next = 55;
|
|
1488
1180
|
break;
|
|
1489
1181
|
}
|
|
1490
|
-
_step7$value = _slicedToArray(_step7.value, 2), _storageKey = _step7$value[0],
|
|
1491
|
-
matchIndex = this.lookupOrderIndexByIdentityKeys(identityKeyToIndex, this.getOrderIdentityMatchKeys(
|
|
1182
|
+
_step7$value = _slicedToArray(_step7.value, 2), _storageKey = _step7$value[0], pendingOrder = _step7$value[1];
|
|
1183
|
+
matchIndex = this.lookupOrderIndexByIdentityKeys(identityKeyToIndex, this.getOrderIdentityMatchKeys(pendingOrder));
|
|
1492
1184
|
if (!(matchIndex >= 0)) {
|
|
1493
|
-
|
|
1185
|
+
_context11.next = 49;
|
|
1494
1186
|
break;
|
|
1495
1187
|
}
|
|
1496
1188
|
existingOrder = updatedList[matchIndex];
|
|
1497
|
-
mergedOrder = this.mergeOrderRecords(existingOrder,
|
|
1498
|
-
|
|
1499
|
-
need_sync: 1,
|
|
1500
|
-
is_draft_order: 0
|
|
1501
|
-
});
|
|
1502
|
-
updatedList[matchIndex] = nextOrder;
|
|
1189
|
+
mergedOrder = this.mergeOrderRecords(existingOrder, pendingOrder);
|
|
1190
|
+
updatedList[matchIndex] = mergedOrder;
|
|
1503
1191
|
pendingSnapshot = pendingMap.get(_storageKey);
|
|
1504
1192
|
if (pendingSnapshot) {
|
|
1505
1193
|
pendingMap.set(_storageKey, this.reconcileOverwriteOrderCollections(existingOrder, pendingSnapshot));
|
|
1506
1194
|
}
|
|
1507
1195
|
// 合并后身份字段可能新增(如挂单拿到 order_id),同步登记,供同批后续 pending 命中同一槽位
|
|
1508
|
-
this.registerOrderIdentityKeys(identityKeyToIndex,
|
|
1196
|
+
this.registerOrderIdentityKeys(identityKeyToIndex, mergedOrder, matchIndex);
|
|
1509
1197
|
mergeActions[_storageKey] = 'update';
|
|
1510
|
-
return
|
|
1511
|
-
case
|
|
1198
|
+
return _context11.abrupt("continue", 53);
|
|
1199
|
+
case 49:
|
|
1512
1200
|
insertIndex = updatedList.length;
|
|
1513
|
-
updatedList.push(
|
|
1514
|
-
this.registerOrderIdentityKeys(identityKeyToIndex,
|
|
1201
|
+
updatedList.push(pendingOrder);
|
|
1202
|
+
this.registerOrderIdentityKeys(identityKeyToIndex, pendingOrder, insertIndex);
|
|
1515
1203
|
mergeActions[_storageKey] = 'insert';
|
|
1516
|
-
case
|
|
1517
|
-
|
|
1204
|
+
case 53:
|
|
1205
|
+
_context11.next = 37;
|
|
1518
1206
|
break;
|
|
1519
|
-
case
|
|
1520
|
-
|
|
1207
|
+
case 55:
|
|
1208
|
+
_context11.next = 60;
|
|
1521
1209
|
break;
|
|
1210
|
+
case 57:
|
|
1211
|
+
_context11.prev = 57;
|
|
1212
|
+
_context11.t1 = _context11["catch"](35);
|
|
1213
|
+
_iterator7.e(_context11.t1);
|
|
1522
1214
|
case 60:
|
|
1523
|
-
|
|
1524
|
-
_context12.t1 = _context12["catch"](37);
|
|
1525
|
-
_iterator7.e(_context12.t1);
|
|
1526
|
-
case 63:
|
|
1527
|
-
_context12.prev = 63;
|
|
1215
|
+
_context11.prev = 60;
|
|
1528
1216
|
_iterator7.f();
|
|
1529
|
-
return
|
|
1530
|
-
case
|
|
1217
|
+
return _context11.finish(60);
|
|
1218
|
+
case 63:
|
|
1531
1219
|
patchedOrders = _toConsumableArray(pendingMap.values()); // 增量索引已保证 store 去重不变量,无需再对全表做 O(n^2) 压缩;仅自检开关开启时兜底。
|
|
1532
|
-
previousList = this.store.list;
|
|
1533
1220
|
this.store.list = this.runOrderStoreSelfCheck(updatedList, 'upsertPendingSyncOrders.store');
|
|
1534
1221
|
this.syncOrdersMap();
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
case 73:
|
|
1539
|
-
_context12.next = 80;
|
|
1540
|
-
break;
|
|
1541
|
-
case 75:
|
|
1542
|
-
_context12.prev = 75;
|
|
1543
|
-
_context12.t2 = _context12["catch"](70);
|
|
1544
|
-
this.store.list = previousList;
|
|
1545
|
-
this.syncOrdersMap();
|
|
1546
|
-
throw _context12.t2;
|
|
1547
|
-
case 80:
|
|
1222
|
+
_context11.next = 68;
|
|
1223
|
+
return this.patchOrdersInSQLite(patchedOrders, 'upsertPendingSyncOrders', mergeActions);
|
|
1224
|
+
case 68:
|
|
1548
1225
|
this.logInfo('upsertPendingSyncOrders-结束', {
|
|
1549
1226
|
count: patchedOrders.length,
|
|
1550
1227
|
storeOrderCountAfter: this.store.list.length
|
|
1551
1228
|
});
|
|
1552
|
-
|
|
1229
|
+
_context11.next = 71;
|
|
1553
1230
|
return this.emitOrdersChanged(patchedOrders, 'upsertPendingSyncOrders');
|
|
1554
|
-
case
|
|
1231
|
+
case 71:
|
|
1555
1232
|
case "end":
|
|
1556
|
-
return
|
|
1233
|
+
return _context11.stop();
|
|
1557
1234
|
}
|
|
1558
|
-
},
|
|
1235
|
+
}, _callee11, this, [[6, 20, 23, 26], [35, 57, 60, 63]]);
|
|
1559
1236
|
}));
|
|
1560
|
-
function upsertPendingSyncOrders(
|
|
1237
|
+
function upsertPendingSyncOrders(_x7) {
|
|
1561
1238
|
return _upsertPendingSyncOrders.apply(this, arguments);
|
|
1562
1239
|
}
|
|
1563
1240
|
return upsertPendingSyncOrders;
|
|
1564
1241
|
}()
|
|
1565
1242
|
/**
|
|
1566
|
-
*
|
|
1567
|
-
* 只有具备真实 order_id 的草稿进入 store;其余草稿仅供本地恢复查询。
|
|
1243
|
+
* 通过 SSE 按自定义 query 拉取订单(支持 select/with 精简字段)
|
|
1568
1244
|
*/
|
|
1569
1245
|
)
|
|
1570
1246
|
}, {
|
|
1571
|
-
key: "
|
|
1247
|
+
key: "fetchOrdersBySSE",
|
|
1572
1248
|
value: (function () {
|
|
1573
|
-
var
|
|
1574
|
-
var
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1249
|
+
var _fetchOrdersBySSE = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12() {
|
|
1250
|
+
var query,
|
|
1251
|
+
data,
|
|
1252
|
+
_args12 = arguments;
|
|
1253
|
+
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
1254
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
1578
1255
|
case 0:
|
|
1579
|
-
|
|
1580
|
-
|
|
1256
|
+
query = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : {};
|
|
1257
|
+
if (this.orderDataSource) {
|
|
1258
|
+
_context12.next = 3;
|
|
1581
1259
|
break;
|
|
1582
1260
|
}
|
|
1583
|
-
|
|
1584
|
-
return _context13.abrupt("return");
|
|
1261
|
+
return _context12.abrupt("return", []);
|
|
1585
1262
|
case 3:
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
_iterator8 = _createForOfIteratorHelper(draftOrders);
|
|
1589
|
-
_context13.prev = 6;
|
|
1590
|
-
_iterator8.s();
|
|
1591
|
-
case 8:
|
|
1592
|
-
if ((_step8 = _iterator8.n()).done) {
|
|
1593
|
-
_context13.next = 19;
|
|
1594
|
-
break;
|
|
1595
|
-
}
|
|
1596
|
-
order = _step8.value;
|
|
1597
|
-
draftOrder = _objectSpread(_objectSpread({}, order), {}, {
|
|
1598
|
-
need_sync: 0,
|
|
1599
|
-
is_draft_order: 1
|
|
1600
|
-
});
|
|
1601
|
-
storageKey = this.getOrderStorageKey(draftOrder);
|
|
1602
|
-
if (storageKey) {
|
|
1603
|
-
_context13.next = 14;
|
|
1604
|
-
break;
|
|
1605
|
-
}
|
|
1606
|
-
return _context13.abrupt("continue", 17);
|
|
1607
|
-
case 14:
|
|
1608
|
-
draftMap.set(storageKey, draftOrder);
|
|
1609
|
-
memoryDraftOrder = this.normalizeOrderForMemoryList(draftOrder);
|
|
1610
|
-
if (this.shouldKeepOrderInMemory(memoryDraftOrder)) {
|
|
1611
|
-
memoryDraftMap.set(storageKey, memoryDraftOrder);
|
|
1612
|
-
}
|
|
1613
|
-
case 17:
|
|
1614
|
-
_context13.next = 8;
|
|
1615
|
-
break;
|
|
1616
|
-
case 19:
|
|
1617
|
-
_context13.next = 24;
|
|
1618
|
-
break;
|
|
1619
|
-
case 21:
|
|
1620
|
-
_context13.prev = 21;
|
|
1621
|
-
_context13.t0 = _context13["catch"](6);
|
|
1622
|
-
_iterator8.e(_context13.t0);
|
|
1623
|
-
case 24:
|
|
1624
|
-
_context13.prev = 24;
|
|
1625
|
-
_iterator8.f();
|
|
1626
|
-
return _context13.finish(24);
|
|
1627
|
-
case 27:
|
|
1628
|
-
if (!(draftMap.size === 0)) {
|
|
1629
|
-
_context13.next = 30;
|
|
1630
|
-
break;
|
|
1631
|
-
}
|
|
1632
|
-
this.logError('upsertLocalDraftOrders-订单缺少可落库标识', {
|
|
1633
|
-
count: draftOrders.length
|
|
1634
|
-
});
|
|
1635
|
-
return _context13.abrupt("return");
|
|
1636
|
-
case 30:
|
|
1637
|
-
this.logInfo('upsertLocalDraftOrders-开始', {
|
|
1638
|
-
count: draftMap.size,
|
|
1639
|
-
memoryDraftCount: memoryDraftMap.size,
|
|
1640
|
-
sqliteOnlyDraftCount: draftMap.size - memoryDraftMap.size
|
|
1641
|
-
});
|
|
1642
|
-
patchedOrders = _toConsumableArray(draftMap.values());
|
|
1643
|
-
mergeActions = {};
|
|
1644
|
-
updatedList = this.store.list.filter(function (order) {
|
|
1645
|
-
return _this10.shouldKeepOrderInMemory(order);
|
|
1646
|
-
});
|
|
1647
|
-
identityKeyToIndex = new Map();
|
|
1648
|
-
for (index = 0; index < updatedList.length; index += 1) {
|
|
1649
|
-
_iterator9 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(updatedList[index]));
|
|
1650
|
-
try {
|
|
1651
|
-
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
1652
|
-
key = _step9.value;
|
|
1653
|
-
if (!identityKeyToIndex.has(key)) identityKeyToIndex.set(key, index);
|
|
1654
|
-
}
|
|
1655
|
-
} catch (err) {
|
|
1656
|
-
_iterator9.e(err);
|
|
1657
|
-
} finally {
|
|
1658
|
-
_iterator9.f();
|
|
1659
|
-
}
|
|
1660
|
-
}
|
|
1661
|
-
_iterator10 = _createForOfIteratorHelper(memoryDraftMap.entries());
|
|
1662
|
-
_context13.prev = 37;
|
|
1663
|
-
_iterator10.s();
|
|
1664
|
-
case 39:
|
|
1665
|
-
if ((_step10 = _iterator10.n()).done) {
|
|
1666
|
-
_context13.next = 55;
|
|
1667
|
-
break;
|
|
1668
|
-
}
|
|
1669
|
-
_step10$value = _slicedToArray(_step10.value, 2), _storageKey2 = _step10$value[0], _draftOrder = _step10$value[1];
|
|
1670
|
-
matchIndex = this.lookupOrderIndexByIdentityKeys(identityKeyToIndex, this.getOrderIdentityMatchKeys(_draftOrder));
|
|
1671
|
-
if (!(matchIndex >= 0)) {
|
|
1672
|
-
_context13.next = 49;
|
|
1673
|
-
break;
|
|
1674
|
-
}
|
|
1675
|
-
mergedOrder = this.mergeOrderRecords(updatedList[matchIndex], _draftOrder);
|
|
1676
|
-
nextOrder = _objectSpread(_objectSpread({}, mergedOrder), {}, {
|
|
1677
|
-
need_sync: 0,
|
|
1678
|
-
is_draft_order: 1
|
|
1679
|
-
});
|
|
1680
|
-
updatedList[matchIndex] = nextOrder;
|
|
1681
|
-
this.registerOrderIdentityKeys(identityKeyToIndex, nextOrder, matchIndex);
|
|
1682
|
-
mergeActions[_storageKey2] = 'update';
|
|
1683
|
-
return _context13.abrupt("continue", 53);
|
|
1684
|
-
case 49:
|
|
1685
|
-
insertIndex = updatedList.length;
|
|
1686
|
-
updatedList.push(_draftOrder);
|
|
1687
|
-
this.registerOrderIdentityKeys(identityKeyToIndex, _draftOrder, insertIndex);
|
|
1688
|
-
mergeActions[_storageKey2] = 'insert';
|
|
1689
|
-
case 53:
|
|
1690
|
-
_context13.next = 39;
|
|
1691
|
-
break;
|
|
1692
|
-
case 55:
|
|
1693
|
-
_context13.next = 60;
|
|
1694
|
-
break;
|
|
1695
|
-
case 57:
|
|
1696
|
-
_context13.prev = 57;
|
|
1697
|
-
_context13.t1 = _context13["catch"](37);
|
|
1698
|
-
_iterator10.e(_context13.t1);
|
|
1699
|
-
case 60:
|
|
1700
|
-
_context13.prev = 60;
|
|
1701
|
-
_iterator10.f();
|
|
1702
|
-
return _context13.finish(60);
|
|
1703
|
-
case 63:
|
|
1704
|
-
previousList = this.store.list;
|
|
1705
|
-
this.store.list = this.runOrderStoreSelfCheck(updatedList, 'upsertLocalDraftOrders.store');
|
|
1706
|
-
this.syncOrdersMap();
|
|
1707
|
-
_context13.prev = 66;
|
|
1708
|
-
_context13.next = 69;
|
|
1709
|
-
return this.patchOrdersInSQLite(patchedOrders, 'upsertLocalDraftOrders', mergeActions, {
|
|
1710
|
-
throwOnError: true
|
|
1711
|
-
});
|
|
1712
|
-
case 69:
|
|
1713
|
-
_context13.next = 76;
|
|
1714
|
-
break;
|
|
1715
|
-
case 71:
|
|
1716
|
-
_context13.prev = 71;
|
|
1717
|
-
_context13.t2 = _context13["catch"](66);
|
|
1718
|
-
this.store.list = previousList;
|
|
1719
|
-
this.syncOrdersMap();
|
|
1720
|
-
throw _context13.t2;
|
|
1721
|
-
case 76:
|
|
1722
|
-
this.logInfo('upsertLocalDraftOrders-结束', {
|
|
1723
|
-
count: patchedOrders.length,
|
|
1724
|
-
storeOrderCountAfter: this.store.list.length
|
|
1725
|
-
});
|
|
1726
|
-
removedLegacyMemoryDraft = previousList.some(function (order) {
|
|
1727
|
-
return !_this10.shouldKeepOrderInMemory(order);
|
|
1728
|
-
});
|
|
1729
|
-
if (!(memoryDraftMap.size > 0 || removedLegacyMemoryDraft)) {
|
|
1730
|
-
_context13.next = 81;
|
|
1731
|
-
break;
|
|
1732
|
-
}
|
|
1733
|
-
_context13.next = 81;
|
|
1734
|
-
return this.emitOrdersChanged(patchedOrders.filter(function (order) {
|
|
1735
|
-
return _this10.shouldKeepOrderInMemory(order);
|
|
1736
|
-
}), 'upsertLocalDraftOrders');
|
|
1737
|
-
case 81:
|
|
1738
|
-
case "end":
|
|
1739
|
-
return _context13.stop();
|
|
1740
|
-
}
|
|
1741
|
-
}, _callee13, this, [[6, 21, 24, 27], [37, 57, 60, 63], [66, 71]]);
|
|
1742
|
-
}));
|
|
1743
|
-
function upsertLocalDraftOrders(_x10) {
|
|
1744
|
-
return _upsertLocalDraftOrders.apply(this, arguments);
|
|
1745
|
-
}
|
|
1746
|
-
return upsertLocalDraftOrders;
|
|
1747
|
-
}()
|
|
1748
|
-
/**
|
|
1749
|
-
* 通过 SSE 按自定义 query 拉取订单(支持 select/with 精简字段)
|
|
1750
|
-
*/
|
|
1751
|
-
)
|
|
1752
|
-
}, {
|
|
1753
|
-
key: "fetchOrdersBySSE",
|
|
1754
|
-
value: (function () {
|
|
1755
|
-
var _fetchOrdersBySSE = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14() {
|
|
1756
|
-
var query,
|
|
1757
|
-
data,
|
|
1758
|
-
_args14 = arguments;
|
|
1759
|
-
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
1760
|
-
while (1) switch (_context14.prev = _context14.next) {
|
|
1761
|
-
case 0:
|
|
1762
|
-
query = _args14.length > 0 && _args14[0] !== undefined ? _args14[0] : {};
|
|
1763
|
-
if (this.orderDataSource) {
|
|
1764
|
-
_context14.next = 3;
|
|
1765
|
-
break;
|
|
1766
|
-
}
|
|
1767
|
-
return _context14.abrupt("return", []);
|
|
1768
|
-
case 3:
|
|
1769
|
-
_context14.prev = 3;
|
|
1770
|
-
_context14.next = 6;
|
|
1263
|
+
_context12.prev = 3;
|
|
1264
|
+
_context12.next = 6;
|
|
1771
1265
|
return this.orderDataSource.run({
|
|
1772
1266
|
sse: {
|
|
1773
1267
|
query: query
|
|
1774
1268
|
}
|
|
1775
1269
|
});
|
|
1776
1270
|
case 6:
|
|
1777
|
-
data =
|
|
1778
|
-
return
|
|
1271
|
+
data = _context12.sent;
|
|
1272
|
+
return _context12.abrupt("return", data || []);
|
|
1779
1273
|
case 10:
|
|
1780
|
-
|
|
1781
|
-
|
|
1274
|
+
_context12.prev = 10;
|
|
1275
|
+
_context12.t0 = _context12["catch"](3);
|
|
1782
1276
|
this.logError('fetchOrdersBySSE-失败', {
|
|
1783
|
-
error:
|
|
1277
|
+
error: _context12.t0 instanceof Error ? _context12.t0.message : String(_context12.t0)
|
|
1784
1278
|
});
|
|
1785
|
-
return
|
|
1279
|
+
return _context12.abrupt("return", []);
|
|
1786
1280
|
case 14:
|
|
1787
1281
|
case "end":
|
|
1788
|
-
return
|
|
1282
|
+
return _context12.stop();
|
|
1789
1283
|
}
|
|
1790
|
-
},
|
|
1284
|
+
}, _callee12, this, [[3, 10]]);
|
|
1791
1285
|
}));
|
|
1792
1286
|
function fetchOrdersBySSE() {
|
|
1793
1287
|
return _fetchOrdersBySSE.apply(this, arguments);
|
|
@@ -1815,24 +1309,20 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1815
1309
|
}, {
|
|
1816
1310
|
key: "syncOrdersMap",
|
|
1817
1311
|
value: function syncOrdersMap() {
|
|
1818
|
-
var _this11 = this;
|
|
1819
|
-
this.store.list = this.store.list.filter(function (order) {
|
|
1820
|
-
return _this11.shouldKeepOrderInMemory(order);
|
|
1821
|
-
});
|
|
1822
1312
|
this.store.map.clear();
|
|
1823
|
-
var
|
|
1824
|
-
|
|
1313
|
+
var _iterator8 = _createForOfIteratorHelper(this.store.list),
|
|
1314
|
+
_step8;
|
|
1825
1315
|
try {
|
|
1826
|
-
for (
|
|
1827
|
-
var order =
|
|
1316
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
1317
|
+
var order = _step8.value;
|
|
1828
1318
|
var primaryIdentity = this.getOrderMapKey(order);
|
|
1829
1319
|
if (!primaryIdentity) continue;
|
|
1830
1320
|
this.store.map.set(primaryIdentity, order);
|
|
1831
1321
|
}
|
|
1832
1322
|
} catch (err) {
|
|
1833
|
-
|
|
1323
|
+
_iterator8.e(err);
|
|
1834
1324
|
} finally {
|
|
1835
|
-
|
|
1325
|
+
_iterator8.f();
|
|
1836
1326
|
}
|
|
1837
1327
|
}
|
|
1838
1328
|
}, {
|
|
@@ -1856,7 +1346,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1856
1346
|
}, {
|
|
1857
1347
|
key: "getOrderIdentityEntries",
|
|
1858
1348
|
value: function getOrderIdentityEntries(order) {
|
|
1859
|
-
var
|
|
1349
|
+
var _this11 = this;
|
|
1860
1350
|
if (!order) return [];
|
|
1861
1351
|
var record = order;
|
|
1862
1352
|
var candidates = [{
|
|
@@ -1875,8 +1365,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1875
1365
|
var entries = [];
|
|
1876
1366
|
var _loop = function _loop() {
|
|
1877
1367
|
var candidate = _candidates[_i2];
|
|
1878
|
-
if (
|
|
1879
|
-
var key =
|
|
1368
|
+
if (_this11.isBlankIdentityValue(candidate.value)) return 0; // continue
|
|
1369
|
+
var key = _this11.getIdKey(candidate.value);
|
|
1880
1370
|
if (entries.some(function (entry) {
|
|
1881
1371
|
return entry.field === candidate.field && entry.key === key;
|
|
1882
1372
|
})) return 0; // continue
|
|
@@ -1896,17 +1386,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1896
1386
|
key: "getOrderIdentityKeys",
|
|
1897
1387
|
value: function getOrderIdentityKeys(order) {
|
|
1898
1388
|
var keys = [];
|
|
1899
|
-
var
|
|
1900
|
-
|
|
1389
|
+
var _iterator9 = _createForOfIteratorHelper(this.getOrderIdentityEntries(order)),
|
|
1390
|
+
_step9;
|
|
1901
1391
|
try {
|
|
1902
|
-
for (
|
|
1903
|
-
var entry =
|
|
1392
|
+
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
1393
|
+
var entry = _step9.value;
|
|
1904
1394
|
if (!keys.includes(entry.key)) keys.push(entry.key);
|
|
1905
1395
|
}
|
|
1906
1396
|
} catch (err) {
|
|
1907
|
-
|
|
1397
|
+
_iterator9.e(err);
|
|
1908
1398
|
} finally {
|
|
1909
|
-
|
|
1399
|
+
_iterator9.f();
|
|
1910
1400
|
}
|
|
1911
1401
|
return keys;
|
|
1912
1402
|
}
|
|
@@ -1943,7 +1433,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1943
1433
|
}, {
|
|
1944
1434
|
key: "setupOrderSync",
|
|
1945
1435
|
value: function setupOrderSync() {
|
|
1946
|
-
var
|
|
1436
|
+
var _this12 = this;
|
|
1947
1437
|
if (!this.orderDataSource) return;
|
|
1948
1438
|
this.orderDataSource.run({
|
|
1949
1439
|
pubsub: {
|
|
@@ -1951,22 +1441,22 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1951
1441
|
var _message$id, _message$order_id, _message$type;
|
|
1952
1442
|
console.log('orderDataSource', res);
|
|
1953
1443
|
var pubsubReceivedAt = Date.now();
|
|
1954
|
-
var message =
|
|
1444
|
+
var message = _this12.normalizeOrderSyncMessage(res);
|
|
1955
1445
|
if (!message) return;
|
|
1956
1446
|
message._pubsubReceivedAt = pubsubReceivedAt;
|
|
1957
|
-
|
|
1958
|
-
var throttleMs =
|
|
1959
|
-
var routeInfo =
|
|
1960
|
-
|
|
1447
|
+
_this12.pendingSyncMessages.push(message);
|
|
1448
|
+
var throttleMs = _this12.getOrderSyncThrottleMs();
|
|
1449
|
+
var routeInfo = _this12.resolveSyncMessageRoute(message);
|
|
1450
|
+
_this12.logInfo('orderSync-收到消息并入队', {
|
|
1961
1451
|
id: (_message$id = message.id) !== null && _message$id !== void 0 ? _message$id : null,
|
|
1962
1452
|
order_id: (_message$order_id = message.order_id) !== null && _message$order_id !== void 0 ? _message$order_id : null,
|
|
1963
1453
|
type: (_message$type = message.type) !== null && _message$type !== void 0 ? _message$type : null,
|
|
1964
|
-
pendingCount:
|
|
1454
|
+
pendingCount: _this12.pendingSyncMessages.length,
|
|
1965
1455
|
throttleMs: throttleMs,
|
|
1966
1456
|
pubsubReceivedAt: new Date(pubsubReceivedAt).toISOString(),
|
|
1967
1457
|
fullMessage: JSON.stringify(message)
|
|
1968
1458
|
});
|
|
1969
|
-
|
|
1459
|
+
_this12.scheduleOrderSyncThrottle();
|
|
1970
1460
|
}
|
|
1971
1461
|
}
|
|
1972
1462
|
}).catch(function () {
|
|
@@ -1983,7 +1473,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1983
1473
|
}, {
|
|
1984
1474
|
key: "scheduleOrderSyncThrottle",
|
|
1985
1475
|
value: function scheduleOrderSyncThrottle() {
|
|
1986
|
-
var
|
|
1476
|
+
var _this13 = this;
|
|
1987
1477
|
if (this.isProcessingSyncBatch) return;
|
|
1988
1478
|
if (this.isIdlePhase) {
|
|
1989
1479
|
this.isIdlePhase = false;
|
|
@@ -1994,8 +1484,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1994
1484
|
if (this.syncTimer) return;
|
|
1995
1485
|
var throttleMs = this.getOrderSyncThrottleMs();
|
|
1996
1486
|
this.syncTimer = setTimeout(function () {
|
|
1997
|
-
|
|
1998
|
-
void
|
|
1487
|
+
_this13.syncTimer = undefined;
|
|
1488
|
+
void _this13.flushOrderSyncMessagesByThrottle();
|
|
1999
1489
|
}, throttleMs);
|
|
2000
1490
|
}
|
|
2001
1491
|
|
|
@@ -2006,41 +1496,41 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2006
1496
|
}, {
|
|
2007
1497
|
key: "flushOrderSyncMessagesByThrottle",
|
|
2008
1498
|
value: (function () {
|
|
2009
|
-
var _flushOrderSyncMessagesByThrottle = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
2010
|
-
return _regeneratorRuntime().wrap(function
|
|
2011
|
-
while (1) switch (
|
|
1499
|
+
var _flushOrderSyncMessagesByThrottle = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13() {
|
|
1500
|
+
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
1501
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
2012
1502
|
case 0:
|
|
2013
1503
|
if (!this.isProcessingSyncBatch) {
|
|
2014
|
-
|
|
1504
|
+
_context13.next = 2;
|
|
2015
1505
|
break;
|
|
2016
1506
|
}
|
|
2017
|
-
return
|
|
1507
|
+
return _context13.abrupt("return");
|
|
2018
1508
|
case 2:
|
|
2019
1509
|
if (!(this.pendingSyncMessages.length === 0)) {
|
|
2020
|
-
|
|
1510
|
+
_context13.next = 5;
|
|
2021
1511
|
break;
|
|
2022
1512
|
}
|
|
2023
1513
|
this.isIdlePhase = true;
|
|
2024
|
-
return
|
|
1514
|
+
return _context13.abrupt("return");
|
|
2025
1515
|
case 5:
|
|
2026
1516
|
this.isProcessingSyncBatch = true;
|
|
2027
|
-
|
|
2028
|
-
|
|
1517
|
+
_context13.prev = 6;
|
|
1518
|
+
_context13.next = 9;
|
|
2029
1519
|
return this.processOrderSyncMessages();
|
|
2030
1520
|
case 9:
|
|
2031
|
-
|
|
1521
|
+
_context13.prev = 9;
|
|
2032
1522
|
this.isProcessingSyncBatch = false;
|
|
2033
1523
|
if (this.pendingSyncMessages.length > 0) {
|
|
2034
1524
|
this.scheduleOrderSyncThrottle();
|
|
2035
1525
|
} else {
|
|
2036
1526
|
this.isIdlePhase = true;
|
|
2037
1527
|
}
|
|
2038
|
-
return
|
|
1528
|
+
return _context13.finish(9);
|
|
2039
1529
|
case 13:
|
|
2040
1530
|
case "end":
|
|
2041
|
-
return
|
|
1531
|
+
return _context13.stop();
|
|
2042
1532
|
}
|
|
2043
|
-
},
|
|
1533
|
+
}, _callee13, this, [[6,, 9, 13]]);
|
|
2044
1534
|
}));
|
|
2045
1535
|
function flushOrderSyncMessagesByThrottle() {
|
|
2046
1536
|
return _flushOrderSyncMessagesByThrottle.apply(this, arguments);
|
|
@@ -2062,19 +1552,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2062
1552
|
}, {
|
|
2063
1553
|
key: "processOrderSyncMessages",
|
|
2064
1554
|
value: (function () {
|
|
2065
|
-
var _processOrderSyncMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
2066
|
-
var
|
|
1555
|
+
var _processOrderSyncMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14() {
|
|
1556
|
+
var _this14 = this;
|
|
2067
1557
|
var messages, batchProcessStartAt, earliestReceivedAt, upsertOrders, refreshIds, uniqueRefreshIds, upsertList, _this$filterRedundant, toFetch, skipped, freshOrders, batchProcessEndAt;
|
|
2068
|
-
return _regeneratorRuntime().wrap(function
|
|
2069
|
-
while (1) switch (
|
|
1558
|
+
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
1559
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
2070
1560
|
case 0:
|
|
2071
1561
|
messages = _toConsumableArray(this.pendingSyncMessages);
|
|
2072
1562
|
this.pendingSyncMessages = [];
|
|
2073
1563
|
if (!(messages.length === 0)) {
|
|
2074
|
-
|
|
1564
|
+
_context14.next = 4;
|
|
2075
1565
|
break;
|
|
2076
1566
|
}
|
|
2077
|
-
return
|
|
1567
|
+
return _context14.abrupt("return");
|
|
2078
1568
|
case 4:
|
|
2079
1569
|
batchProcessStartAt = Date.now();
|
|
2080
1570
|
earliestReceivedAt = Math.min.apply(Math, _toConsumableArray(messages.map(function (m) {
|
|
@@ -2090,13 +1580,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2090
1580
|
upsertOrders = new Map();
|
|
2091
1581
|
refreshIds = [];
|
|
2092
1582
|
messages.forEach(function (msg, msgIndex) {
|
|
2093
|
-
var routeInfo =
|
|
1583
|
+
var routeInfo = _this14.resolveSyncMessageRoute(msg);
|
|
2094
1584
|
var hasBatchIds = routeInfo.hasBatchIds;
|
|
2095
1585
|
var singleId = routeInfo.singleId;
|
|
2096
1586
|
var hasSingleId = routeInfo.hasSingleId;
|
|
2097
|
-
var normalizedBody =
|
|
1587
|
+
var normalizedBody = _this14.normalizeOrderSyncPayload(msg.body || msg.data);
|
|
2098
1588
|
if (routeInfo.route === 'bodyUpsert' && normalizedBody) {
|
|
2099
|
-
upsertOrders.set(
|
|
1589
|
+
upsertOrders.set(_this14.getIdKey(normalizedBody.order_id), normalizedBody);
|
|
2100
1590
|
return;
|
|
2101
1591
|
}
|
|
2102
1592
|
if (hasBatchIds) refreshIds.push.apply(refreshIds, _toConsumableArray(routeInfo.batchIds));else if (routeInfo.route === 'httpRefresh.singleId' && singleId !== null) refreshIds.push(singleId);else if (routeInfo.route === 'httpRefresh.relationIds') refreshIds.push.apply(refreshIds, _toConsumableArray(routeInfo.batchIds));
|
|
@@ -2108,41 +1598,41 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2108
1598
|
refreshIdCount: uniqueRefreshIds.length
|
|
2109
1599
|
});
|
|
2110
1600
|
if (!(upsertList.length > 0)) {
|
|
2111
|
-
|
|
1601
|
+
_context14.next = 16;
|
|
2112
1602
|
break;
|
|
2113
1603
|
}
|
|
2114
|
-
|
|
1604
|
+
_context14.next = 16;
|
|
2115
1605
|
return this.mergeOrdersToStore(upsertList, 'pubsub.bodyUpsert');
|
|
2116
1606
|
case 16:
|
|
2117
1607
|
if (!(uniqueRefreshIds.length > 0)) {
|
|
2118
|
-
|
|
1608
|
+
_context14.next = 28;
|
|
2119
1609
|
break;
|
|
2120
1610
|
}
|
|
2121
1611
|
_this$filterRedundant = this.filterRedundantHttpRefreshIds(uniqueRefreshIds), toFetch = _this$filterRedundant.toFetch, skipped = _this$filterRedundant.skipped;
|
|
2122
1612
|
if (skipped.length > 0) {}
|
|
2123
1613
|
if (!(toFetch.length > 0)) {
|
|
2124
|
-
|
|
1614
|
+
_context14.next = 28;
|
|
2125
1615
|
break;
|
|
2126
1616
|
}
|
|
2127
|
-
|
|
1617
|
+
_context14.next = 22;
|
|
2128
1618
|
return this.fetchOrdersByHttp(toFetch);
|
|
2129
1619
|
case 22:
|
|
2130
|
-
freshOrders =
|
|
1620
|
+
freshOrders = _context14.sent;
|
|
2131
1621
|
if (!(freshOrders.length > 0)) {
|
|
2132
|
-
|
|
1622
|
+
_context14.next = 28;
|
|
2133
1623
|
break;
|
|
2134
1624
|
}
|
|
2135
|
-
|
|
1625
|
+
_context14.next = 26;
|
|
2136
1626
|
return this.mergeOrdersToStore(freshOrders, 'pubsub.httpRefresh');
|
|
2137
1627
|
case 26:
|
|
2138
|
-
|
|
1628
|
+
_context14.next = 28;
|
|
2139
1629
|
break;
|
|
2140
1630
|
case 28:
|
|
2141
1631
|
if (!(upsertList.length === 0 && uniqueRefreshIds.length === 0)) {
|
|
2142
|
-
|
|
1632
|
+
_context14.next = 30;
|
|
2143
1633
|
break;
|
|
2144
1634
|
}
|
|
2145
|
-
return
|
|
1635
|
+
return _context14.abrupt("return");
|
|
2146
1636
|
case 30:
|
|
2147
1637
|
batchProcessEndAt = Date.now();
|
|
2148
1638
|
this.logInfo('processOrderSyncMessages-结束', {
|
|
@@ -2151,13 +1641,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2151
1641
|
batchProcessDurationMs: batchProcessEndAt - batchProcessStartAt,
|
|
2152
1642
|
totalFromPubsubToProcessedMs: batchProcessEndAt - earliestReceivedAt
|
|
2153
1643
|
});
|
|
2154
|
-
|
|
1644
|
+
_context14.next = 34;
|
|
2155
1645
|
return this.core.effects.emit(OrderHooks.onOrdersSyncCompleted, null);
|
|
2156
1646
|
case 34:
|
|
2157
1647
|
case "end":
|
|
2158
|
-
return
|
|
1648
|
+
return _context14.stop();
|
|
2159
1649
|
}
|
|
2160
|
-
},
|
|
1650
|
+
}, _callee14, this);
|
|
2161
1651
|
}));
|
|
2162
1652
|
function processOrderSyncMessages() {
|
|
2163
1653
|
return _processOrderSyncMessages.apply(this, arguments);
|
|
@@ -2178,29 +1668,29 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2178
1668
|
}, {
|
|
2179
1669
|
key: "fetchOrdersByHttp",
|
|
2180
1670
|
value: (function () {
|
|
2181
|
-
var _fetchOrdersByHttp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1671
|
+
var _fetchOrdersByHttp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15(ids) {
|
|
2182
1672
|
var _orderList, orderList;
|
|
2183
|
-
return _regeneratorRuntime().wrap(function
|
|
2184
|
-
while (1) switch (
|
|
1673
|
+
return _regeneratorRuntime().wrap(function _callee15$(_context15) {
|
|
1674
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
2185
1675
|
case 0:
|
|
2186
1676
|
if (!(!this.orderDataSource || ids.length === 0)) {
|
|
2187
|
-
|
|
1677
|
+
_context15.next = 2;
|
|
2188
1678
|
break;
|
|
2189
1679
|
}
|
|
2190
|
-
return
|
|
1680
|
+
return _context15.abrupt("return", []);
|
|
2191
1681
|
case 2:
|
|
2192
|
-
|
|
1682
|
+
_context15.prev = 2;
|
|
2193
1683
|
if (!(typeof this.orderDataSource.fetchOrdersByIds === 'function')) {
|
|
2194
|
-
|
|
1684
|
+
_context15.next = 8;
|
|
2195
1685
|
break;
|
|
2196
1686
|
}
|
|
2197
|
-
|
|
1687
|
+
_context15.next = 6;
|
|
2198
1688
|
return this.orderDataSource.fetchOrdersByIds(ids);
|
|
2199
1689
|
case 6:
|
|
2200
|
-
_orderList =
|
|
2201
|
-
return
|
|
1690
|
+
_orderList = _context15.sent;
|
|
1691
|
+
return _context15.abrupt("return", _orderList || []);
|
|
2202
1692
|
case 8:
|
|
2203
|
-
|
|
1693
|
+
_context15.next = 10;
|
|
2204
1694
|
return this.orderDataSource.run({
|
|
2205
1695
|
http: {
|
|
2206
1696
|
query: {
|
|
@@ -2209,19 +1699,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2209
1699
|
}
|
|
2210
1700
|
});
|
|
2211
1701
|
case 10:
|
|
2212
|
-
orderList =
|
|
2213
|
-
return
|
|
1702
|
+
orderList = _context15.sent;
|
|
1703
|
+
return _context15.abrupt("return", orderList || []);
|
|
2214
1704
|
case 14:
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
return
|
|
1705
|
+
_context15.prev = 14;
|
|
1706
|
+
_context15.t0 = _context15["catch"](2);
|
|
1707
|
+
return _context15.abrupt("return", []);
|
|
2218
1708
|
case 17:
|
|
2219
1709
|
case "end":
|
|
2220
|
-
return
|
|
1710
|
+
return _context15.stop();
|
|
2221
1711
|
}
|
|
2222
|
-
},
|
|
1712
|
+
}, _callee15, this, [[2, 14]]);
|
|
2223
1713
|
}));
|
|
2224
|
-
function fetchOrdersByHttp(
|
|
1714
|
+
function fetchOrdersByHttp(_x8) {
|
|
2225
1715
|
return _fetchOrdersByHttp.apply(this, arguments);
|
|
2226
1716
|
}
|
|
2227
1717
|
return fetchOrdersByHttp;
|
|
@@ -2233,11 +1723,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2233
1723
|
}, {
|
|
2234
1724
|
key: "mergeOrdersToStore",
|
|
2235
1725
|
value: (function () {
|
|
2236
|
-
var _mergeOrdersToStore = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
2237
|
-
var
|
|
2238
|
-
var storeOrderCountBefore, normalizedFreshOrders,
|
|
2239
|
-
return _regeneratorRuntime().wrap(function
|
|
2240
|
-
while (1) switch (
|
|
1726
|
+
var _mergeOrdersToStore = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee16(freshOrders, source) {
|
|
1727
|
+
var _this15 = this;
|
|
1728
|
+
var storeOrderCountBefore, normalizedFreshOrders, _iterator10, _step10, order, id, uniqueFreshOrders, uniqueFreshCount, patchedOrders, mergeActions, updatedList, identityKeyToIndex, index, identityKeys, _iterator11, _step11, key, _iterator12, _step12, fresh, freshIdentityKeys, matchIndex, storageKey, mergeKey, existingOrder, _ref2, _existingOrder$order_, _ref3, _external_sale_number2, _existingOrder$paymen, _fresh$payment_status, _existingOrder$need_s, _fresh$need_sync, mergedOrder, insertIndex, insertCount, updateCount;
|
|
1729
|
+
return _regeneratorRuntime().wrap(function _callee16$(_context16) {
|
|
1730
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
2241
1731
|
case 0:
|
|
2242
1732
|
storeOrderCountBefore = this.store.list.length;
|
|
2243
1733
|
this.logInfo('mergeOrdersToStore-开始', {
|
|
@@ -2247,37 +1737,37 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2247
1737
|
});
|
|
2248
1738
|
this.logDuplicateOrders("".concat(source, ".beforeMerge"), this.store.list);
|
|
2249
1739
|
normalizedFreshOrders = [];
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
1740
|
+
_iterator10 = _createForOfIteratorHelper(freshOrders);
|
|
1741
|
+
_context16.prev = 5;
|
|
1742
|
+
_iterator10.s();
|
|
2253
1743
|
case 7:
|
|
2254
|
-
if ((
|
|
2255
|
-
|
|
1744
|
+
if ((_step10 = _iterator10.n()).done) {
|
|
1745
|
+
_context16.next = 15;
|
|
2256
1746
|
break;
|
|
2257
1747
|
}
|
|
2258
|
-
order =
|
|
1748
|
+
order = _step10.value;
|
|
2259
1749
|
id = order === null || order === void 0 ? void 0 : order.order_id;
|
|
2260
1750
|
if (!(id === undefined || id === null)) {
|
|
2261
|
-
|
|
1751
|
+
_context16.next = 12;
|
|
2262
1752
|
break;
|
|
2263
1753
|
}
|
|
2264
|
-
return
|
|
1754
|
+
return _context16.abrupt("continue", 13);
|
|
2265
1755
|
case 12:
|
|
2266
1756
|
normalizedFreshOrders.push(this.normalizeRemoteSyncedOrder(order));
|
|
2267
1757
|
case 13:
|
|
2268
|
-
|
|
1758
|
+
_context16.next = 7;
|
|
2269
1759
|
break;
|
|
2270
1760
|
case 15:
|
|
2271
|
-
|
|
1761
|
+
_context16.next = 20;
|
|
2272
1762
|
break;
|
|
2273
1763
|
case 17:
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
1764
|
+
_context16.prev = 17;
|
|
1765
|
+
_context16.t0 = _context16["catch"](5);
|
|
1766
|
+
_iterator10.e(_context16.t0);
|
|
2277
1767
|
case 20:
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
return
|
|
1768
|
+
_context16.prev = 20;
|
|
1769
|
+
_iterator10.f();
|
|
1770
|
+
return _context16.finish(20);
|
|
2281
1771
|
case 23:
|
|
2282
1772
|
// 先对本批新单做去重(批内规模 m 很小),保证每条 fresh 身份唯一
|
|
2283
1773
|
uniqueFreshOrders = this.compactOrderListByIdentity(normalizedFreshOrders, "".concat(source, ".incoming")).list;
|
|
@@ -2285,168 +1775,89 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2285
1775
|
patchedOrders = [];
|
|
2286
1776
|
mergeActions = {};
|
|
2287
1777
|
updatedList = this.store.list.map(function (order) {
|
|
2288
|
-
return
|
|
1778
|
+
return _this15.normalizeOrderForMemoryList(order, "".concat(source, ".existingMemory"));
|
|
2289
1779
|
}); // 基于身份键(field:value)建立索引,把「查找已存在订单」从 O(n) 线性扫描降为 O(1),
|
|
2290
1780
|
// 整体合并复杂度由 O(n^2) 降为 O(n + m)。索引语义与 doOrdersShareIdentity 完全一致:
|
|
2291
1781
|
// 任一身份字段(order_id/external_sale_number/order_number/shop_order_number)同值即同一单。
|
|
2292
1782
|
identityKeyToIndex = new Map();
|
|
2293
1783
|
for (index = 0; index < updatedList.length; index += 1) {
|
|
2294
1784
|
identityKeys = this.getOrderIdentityMatchKeys(updatedList[index]);
|
|
2295
|
-
|
|
1785
|
+
_iterator11 = _createForOfIteratorHelper(identityKeys);
|
|
2296
1786
|
try {
|
|
2297
|
-
for (
|
|
2298
|
-
key =
|
|
1787
|
+
for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
|
|
1788
|
+
key = _step11.value;
|
|
2299
1789
|
// 同一 key 命中多张时保留最靠前的下标,与原 findIndex「取首个匹配」一致
|
|
2300
1790
|
if (!identityKeyToIndex.has(key)) identityKeyToIndex.set(key, index);
|
|
2301
1791
|
}
|
|
2302
1792
|
} catch (err) {
|
|
2303
|
-
|
|
1793
|
+
_iterator11.e(err);
|
|
2304
1794
|
} finally {
|
|
2305
|
-
|
|
1795
|
+
_iterator11.f();
|
|
2306
1796
|
}
|
|
2307
1797
|
}
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
1798
|
+
_iterator12 = _createForOfIteratorHelper(uniqueFreshOrders);
|
|
1799
|
+
_context16.prev = 31;
|
|
1800
|
+
_iterator12.s();
|
|
2311
1801
|
case 33:
|
|
2312
|
-
if ((
|
|
2313
|
-
|
|
1802
|
+
if ((_step12 = _iterator12.n()).done) {
|
|
1803
|
+
_context16.next = 57;
|
|
2314
1804
|
break;
|
|
2315
1805
|
}
|
|
2316
|
-
fresh =
|
|
1806
|
+
fresh = _step12.value;
|
|
2317
1807
|
freshIdentityKeys = this.getOrderIdentityMatchKeys(fresh);
|
|
2318
1808
|
matchIndex = this.lookupOrderIndexByIdentityKeys(identityKeyToIndex, freshIdentityKeys);
|
|
2319
1809
|
storageKey = this.getOrderStorageKey(fresh);
|
|
2320
1810
|
mergeKey = storageKey || (fresh.order_id !== undefined && fresh.order_id !== null ? this.getIdKey(fresh.order_id) : '');
|
|
2321
1811
|
if (!(matchIndex >= 0)) {
|
|
2322
|
-
|
|
1812
|
+
_context16.next = 50;
|
|
2323
1813
|
break;
|
|
2324
1814
|
}
|
|
2325
1815
|
existingOrder = updatedList[matchIndex];
|
|
2326
1816
|
if (!(this.isPendingSyncOrder(existingOrder) && this.isRemoteEchoMergeSource(source))) {
|
|
2327
|
-
|
|
1817
|
+
_context16.next = 44;
|
|
2328
1818
|
break;
|
|
2329
1819
|
}
|
|
2330
1820
|
this.logInfo('mergeOrdersToStore-跳过 pending 订单远端覆盖', {
|
|
2331
1821
|
source: source,
|
|
2332
|
-
order_id: (
|
|
2333
|
-
external_sale_number: (
|
|
1822
|
+
order_id: (_ref2 = (_existingOrder$order_ = existingOrder.order_id) !== null && _existingOrder$order_ !== void 0 ? _existingOrder$order_ : fresh.order_id) !== null && _ref2 !== void 0 ? _ref2 : null,
|
|
1823
|
+
external_sale_number: (_ref3 = (_external_sale_number2 = existingOrder.external_sale_number) !== null && _external_sale_number2 !== void 0 ? _external_sale_number2 : fresh.external_sale_number) !== null && _ref3 !== void 0 ? _ref3 : null,
|
|
2334
1824
|
local_payment_status: (_existingOrder$paymen = existingOrder.payment_status) !== null && _existingOrder$paymen !== void 0 ? _existingOrder$paymen : null,
|
|
2335
1825
|
remote_payment_status: (_fresh$payment_status = fresh.payment_status) !== null && _fresh$payment_status !== void 0 ? _fresh$payment_status : null,
|
|
2336
1826
|
local_need_sync: (_existingOrder$need_s = existingOrder.need_sync) !== null && _existingOrder$need_s !== void 0 ? _existingOrder$need_s : null,
|
|
2337
1827
|
remote_need_sync: (_fresh$need_sync = fresh.need_sync) !== null && _fresh$need_sync !== void 0 ? _fresh$need_sync : null,
|
|
2338
1828
|
reason: 'protect_pending_sync_order_from_remote_echo'
|
|
2339
1829
|
});
|
|
2340
|
-
return
|
|
1830
|
+
return _context16.abrupt("continue", 55);
|
|
2341
1831
|
case 44:
|
|
2342
|
-
if (!(this.isDraftOrder(existingOrder) && this.shouldProtectDraftOrderFromIncoming(source))) {
|
|
2343
|
-
_context18.next = 47;
|
|
2344
|
-
break;
|
|
2345
|
-
}
|
|
2346
|
-
this.logInfo('mergeOrdersToStore-跳过 draft 订单远端覆盖', {
|
|
2347
|
-
source: source,
|
|
2348
|
-
order_id: (_ref3 = (_existingOrder$order_2 = existingOrder.order_id) !== null && _existingOrder$order_2 !== void 0 ? _existingOrder$order_2 : fresh.order_id) !== null && _ref3 !== void 0 ? _ref3 : null,
|
|
2349
|
-
external_sale_number: (_ref4 = (_external_sale_number3 = existingOrder.external_sale_number) !== null && _external_sale_number3 !== void 0 ? _external_sale_number3 : fresh.external_sale_number) !== null && _ref4 !== void 0 ? _ref4 : null,
|
|
2350
|
-
local_is_draft_order: (_existingOrder$is_dra = existingOrder.is_draft_order) !== null && _existingOrder$is_dra !== void 0 ? _existingOrder$is_dra : null,
|
|
2351
|
-
remote_is_draft_order: (_fresh$is_draft_order = fresh.is_draft_order) !== null && _fresh$is_draft_order !== void 0 ? _fresh$is_draft_order : null,
|
|
2352
|
-
reason: 'protect_draft_order_from_remote_echo'
|
|
2353
|
-
});
|
|
2354
|
-
return _context18.abrupt("continue", 80);
|
|
2355
|
-
case 47:
|
|
2356
1832
|
mergedOrder = this.mergeOrderRecords(existingOrder, fresh);
|
|
2357
|
-
|
|
2358
|
-
duplicateIndexes = new Set();
|
|
2359
|
-
_iterator16 = _createForOfIteratorHelper(freshIdentityKeys);
|
|
2360
|
-
_context18.prev = 51;
|
|
2361
|
-
_iterator16.s();
|
|
2362
|
-
case 53:
|
|
2363
|
-
if ((_step16 = _iterator16.n()).done) {
|
|
2364
|
-
_context18.next = 61;
|
|
2365
|
-
break;
|
|
2366
|
-
}
|
|
2367
|
-
_key2 = _step16.value;
|
|
2368
|
-
_duplicateIndex = identityKeyToIndex.get(_key2);
|
|
2369
|
-
if (!(_duplicateIndex === undefined || _duplicateIndex === matchIndex)) {
|
|
2370
|
-
_context18.next = 58;
|
|
2371
|
-
break;
|
|
2372
|
-
}
|
|
2373
|
-
return _context18.abrupt("continue", 59);
|
|
2374
|
-
case 58:
|
|
2375
|
-
duplicateIndexes.add(_duplicateIndex);
|
|
2376
|
-
case 59:
|
|
2377
|
-
_context18.next = 53;
|
|
2378
|
-
break;
|
|
2379
|
-
case 61:
|
|
2380
|
-
_context18.next = 66;
|
|
2381
|
-
break;
|
|
2382
|
-
case 63:
|
|
2383
|
-
_context18.prev = 63;
|
|
2384
|
-
_context18.t1 = _context18["catch"](51);
|
|
2385
|
-
_iterator16.e(_context18.t1);
|
|
2386
|
-
case 66:
|
|
2387
|
-
_context18.prev = 66;
|
|
2388
|
-
_iterator16.f();
|
|
2389
|
-
return _context18.finish(66);
|
|
2390
|
-
case 69:
|
|
2391
|
-
if (duplicateIndexes.size > 0) {
|
|
2392
|
-
_iterator17 = _createForOfIteratorHelper(_toConsumableArray(duplicateIndexes).sort(function (left, right) {
|
|
2393
|
-
return right - left;
|
|
2394
|
-
}));
|
|
2395
|
-
try {
|
|
2396
|
-
for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
|
|
2397
|
-
duplicateIndex = _step17.value;
|
|
2398
|
-
mergedOrder = this.mergeOrderRecords(mergedOrder, updatedList[duplicateIndex]);
|
|
2399
|
-
updatedList.splice(duplicateIndex, 1);
|
|
2400
|
-
if (duplicateIndex < adjustedMatchIndex) adjustedMatchIndex -= 1;
|
|
2401
|
-
}
|
|
2402
|
-
} catch (err) {
|
|
2403
|
-
_iterator17.e(err);
|
|
2404
|
-
} finally {
|
|
2405
|
-
_iterator17.f();
|
|
2406
|
-
}
|
|
2407
|
-
identityKeyToIndex.clear();
|
|
2408
|
-
for (_index = 0; _index < updatedList.length; _index += 1) {
|
|
2409
|
-
_iterator18 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(updatedList[_index]));
|
|
2410
|
-
try {
|
|
2411
|
-
for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
|
|
2412
|
-
_key = _step18.value;
|
|
2413
|
-
if (!identityKeyToIndex.has(_key)) identityKeyToIndex.set(_key, _index);
|
|
2414
|
-
}
|
|
2415
|
-
} catch (err) {
|
|
2416
|
-
_iterator18.e(err);
|
|
2417
|
-
} finally {
|
|
2418
|
-
_iterator18.f();
|
|
2419
|
-
}
|
|
2420
|
-
}
|
|
2421
|
-
}
|
|
2422
|
-
updatedList[adjustedMatchIndex] = mergedOrder;
|
|
1833
|
+
updatedList[matchIndex] = mergedOrder;
|
|
2423
1834
|
// 合并后身份字段可能新增(如挂单拿到 order_id),同步登记到索引,
|
|
2424
1835
|
// 供同批后续 fresh 命中同一槽位,避免重复插入
|
|
2425
|
-
this.registerOrderIdentityKeys(identityKeyToIndex, mergedOrder,
|
|
1836
|
+
this.registerOrderIdentityKeys(identityKeyToIndex, mergedOrder, matchIndex);
|
|
2426
1837
|
patchedOrders.push(mergedOrder);
|
|
2427
1838
|
if (mergeKey) mergeActions[mergeKey] = 'update';
|
|
2428
|
-
return
|
|
2429
|
-
case
|
|
1839
|
+
return _context16.abrupt("continue", 55);
|
|
1840
|
+
case 50:
|
|
2430
1841
|
insertIndex = updatedList.length;
|
|
2431
1842
|
updatedList.push(fresh);
|
|
2432
1843
|
this.registerOrderIdentityKeys(identityKeyToIndex, fresh, insertIndex);
|
|
2433
1844
|
patchedOrders.push(fresh);
|
|
2434
1845
|
if (mergeKey) mergeActions[mergeKey] = 'insert';
|
|
2435
|
-
case
|
|
2436
|
-
|
|
1846
|
+
case 55:
|
|
1847
|
+
_context16.next = 33;
|
|
2437
1848
|
break;
|
|
2438
|
-
case
|
|
2439
|
-
|
|
1849
|
+
case 57:
|
|
1850
|
+
_context16.next = 62;
|
|
2440
1851
|
break;
|
|
2441
|
-
case
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
case
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
return
|
|
2449
|
-
case
|
|
1852
|
+
case 59:
|
|
1853
|
+
_context16.prev = 59;
|
|
1854
|
+
_context16.t1 = _context16["catch"](31);
|
|
1855
|
+
_iterator12.e(_context16.t1);
|
|
1856
|
+
case 62:
|
|
1857
|
+
_context16.prev = 62;
|
|
1858
|
+
_iterator12.f();
|
|
1859
|
+
return _context16.finish(62);
|
|
1860
|
+
case 65:
|
|
2450
1861
|
insertCount = Object.values(mergeActions).filter(function (v) {
|
|
2451
1862
|
return v === 'insert';
|
|
2452
1863
|
}).length;
|
|
@@ -2462,24 +1873,24 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2462
1873
|
// 仅在自检开关开启时做一次兜底校验。
|
|
2463
1874
|
this.store.list = this.runOrderStoreSelfCheck(updatedList, "".concat(source, ".store"));
|
|
2464
1875
|
this.syncOrdersMap();
|
|
2465
|
-
|
|
1876
|
+
_context16.next = 72;
|
|
2466
1877
|
return this.patchOrdersInSQLite(patchedOrders, source, mergeActions);
|
|
2467
|
-
case
|
|
1878
|
+
case 72:
|
|
2468
1879
|
this.logInfo('mergeOrdersToStore-结束', {
|
|
2469
1880
|
uniqueFreshCount: uniqueFreshCount,
|
|
2470
1881
|
storeOrderCountAfter: this.store.list.length,
|
|
2471
1882
|
insertCount: insertCount,
|
|
2472
1883
|
updateCount: updateCount
|
|
2473
1884
|
});
|
|
2474
|
-
|
|
1885
|
+
_context16.next = 75;
|
|
2475
1886
|
return this.emitOrdersChanged(patchedOrders, source);
|
|
2476
|
-
case
|
|
1887
|
+
case 75:
|
|
2477
1888
|
case "end":
|
|
2478
|
-
return
|
|
1889
|
+
return _context16.stop();
|
|
2479
1890
|
}
|
|
2480
|
-
},
|
|
1891
|
+
}, _callee16, this, [[5, 17, 20, 23], [31, 59, 62, 65]]);
|
|
2481
1892
|
}));
|
|
2482
|
-
function mergeOrdersToStore(
|
|
1893
|
+
function mergeOrdersToStore(_x9, _x10) {
|
|
2483
1894
|
return _mergeOrdersToStore.apply(this, arguments);
|
|
2484
1895
|
}
|
|
2485
1896
|
return mergeOrdersToStore;
|
|
@@ -2496,19 +1907,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2496
1907
|
key: "lookupOrderIndexByIdentityKeys",
|
|
2497
1908
|
value: function lookupOrderIndexByIdentityKeys(identityKeyToIndex, identityKeys) {
|
|
2498
1909
|
var matchIndex = -1;
|
|
2499
|
-
var
|
|
2500
|
-
|
|
1910
|
+
var _iterator13 = _createForOfIteratorHelper(identityKeys),
|
|
1911
|
+
_step13;
|
|
2501
1912
|
try {
|
|
2502
|
-
for (
|
|
2503
|
-
var key =
|
|
1913
|
+
for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
|
|
1914
|
+
var key = _step13.value;
|
|
2504
1915
|
var index = identityKeyToIndex.get(key);
|
|
2505
1916
|
if (index === undefined) continue;
|
|
2506
1917
|
if (matchIndex < 0 || index < matchIndex) matchIndex = index;
|
|
2507
1918
|
}
|
|
2508
1919
|
} catch (err) {
|
|
2509
|
-
|
|
1920
|
+
_iterator13.e(err);
|
|
2510
1921
|
} finally {
|
|
2511
|
-
|
|
1922
|
+
_iterator13.f();
|
|
2512
1923
|
}
|
|
2513
1924
|
return matchIndex;
|
|
2514
1925
|
}
|
|
@@ -2529,17 +1940,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2529
1940
|
key: "registerOrderIdentityKeys",
|
|
2530
1941
|
value: function registerOrderIdentityKeys(identityKeyToIndex, order, index) {
|
|
2531
1942
|
var identityKeys = this.getOrderIdentityMatchKeys(order);
|
|
2532
|
-
var
|
|
2533
|
-
|
|
1943
|
+
var _iterator14 = _createForOfIteratorHelper(identityKeys),
|
|
1944
|
+
_step14;
|
|
2534
1945
|
try {
|
|
2535
|
-
for (
|
|
2536
|
-
var key =
|
|
1946
|
+
for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
|
|
1947
|
+
var key = _step14.value;
|
|
2537
1948
|
identityKeyToIndex.set(key, index);
|
|
2538
1949
|
}
|
|
2539
1950
|
} catch (err) {
|
|
2540
|
-
|
|
1951
|
+
_iterator14.e(err);
|
|
2541
1952
|
} finally {
|
|
2542
|
-
|
|
1953
|
+
_iterator14.f();
|
|
2543
1954
|
}
|
|
2544
1955
|
}
|
|
2545
1956
|
|
|
@@ -2594,17 +2005,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2594
2005
|
key: "uniqueOrderIds",
|
|
2595
2006
|
value: function uniqueOrderIds(ids) {
|
|
2596
2007
|
var idMap = new Map();
|
|
2597
|
-
var
|
|
2598
|
-
|
|
2008
|
+
var _iterator15 = _createForOfIteratorHelper(ids),
|
|
2009
|
+
_step15;
|
|
2599
2010
|
try {
|
|
2600
|
-
for (
|
|
2601
|
-
var id =
|
|
2011
|
+
for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
|
|
2012
|
+
var id = _step15.value;
|
|
2602
2013
|
idMap.set(this.getIdKey(id), id);
|
|
2603
2014
|
}
|
|
2604
2015
|
} catch (err) {
|
|
2605
|
-
|
|
2016
|
+
_iterator15.e(err);
|
|
2606
2017
|
} finally {
|
|
2607
|
-
|
|
2018
|
+
_iterator15.f();
|
|
2608
2019
|
}
|
|
2609
2020
|
return _toConsumableArray(idMap.values());
|
|
2610
2021
|
}
|
|
@@ -2616,12 +2027,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2616
2027
|
}, {
|
|
2617
2028
|
key: "isOrderLookupMatch",
|
|
2618
2029
|
value: function isOrderLookupMatch(order, lookupKey) {
|
|
2619
|
-
var
|
|
2030
|
+
var _this16 = this;
|
|
2620
2031
|
if (!order || !lookupKey) return false;
|
|
2621
2032
|
var candidates = [order.order_id, order.external_sale_number, order.order_number, order.shop_order_number, order.shop_full_order_number];
|
|
2622
2033
|
return candidates.some(function (value) {
|
|
2623
2034
|
if (value === undefined || value === null || value === '') return false;
|
|
2624
|
-
return
|
|
2035
|
+
return _this16.getIdKey(value) === lookupKey;
|
|
2625
2036
|
});
|
|
2626
2037
|
}
|
|
2627
2038
|
|
|
@@ -2664,10 +2075,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2664
2075
|
}, {
|
|
2665
2076
|
key: "findOrderIndexByIdentity",
|
|
2666
2077
|
value: function findOrderIndexByIdentity(orders, target) {
|
|
2667
|
-
var
|
|
2078
|
+
var _this17 = this;
|
|
2668
2079
|
if (this.getOrderIdentityMatchKeys(target).length === 0) return -1;
|
|
2669
2080
|
return orders.findIndex(function (order) {
|
|
2670
|
-
return
|
|
2081
|
+
return _this17.doOrdersShareIdentity(order, target);
|
|
2671
2082
|
});
|
|
2672
2083
|
}
|
|
2673
2084
|
}, {
|
|
@@ -2691,121 +2102,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2691
2102
|
if (rightScore >= leftScore) return right;
|
|
2692
2103
|
return left;
|
|
2693
2104
|
}
|
|
2694
|
-
}, {
|
|
2695
|
-
key: "getProductIdentityKeys",
|
|
2696
|
-
value: function getProductIdentityKeys(product) {
|
|
2697
|
-
var _record$metadata;
|
|
2698
|
-
var record = product;
|
|
2699
|
-
if (!record) return [];
|
|
2700
|
-
var keys = [];
|
|
2701
|
-
var metadataUid = (_record$metadata = record.metadata) === null || _record$metadata === void 0 ? void 0 : _record$metadata.unique_identification_number;
|
|
2702
|
-
if (!this.isBlankIdentityValue(metadataUid)) keys.push("uid:".concat(String(metadataUid)));
|
|
2703
|
-
var topLevelUid = record.unique_identification_number;
|
|
2704
|
-
if (!this.isBlankIdentityValue(topLevelUid)) keys.push("uid:".concat(String(topLevelUid)));
|
|
2705
|
-
var orderDetailId = record.order_detail_id;
|
|
2706
|
-
if (!this.isBlankIdentityValue(orderDetailId)) keys.push("detail:".concat(String(orderDetailId)));
|
|
2707
|
-
var bookingUid = record.booking_uid;
|
|
2708
|
-
if (!this.isBlankIdentityValue(bookingUid)) keys.push("booking:".concat(String(bookingUid)));
|
|
2709
|
-
return keys;
|
|
2710
|
-
}
|
|
2711
|
-
}, {
|
|
2712
|
-
key: "mergeOrderProductLists",
|
|
2713
|
-
value: function mergeOrderProductLists(preferred, secondary) {
|
|
2714
|
-
var preferredList = Array.isArray(preferred) ? preferred : [];
|
|
2715
|
-
var secondaryList = Array.isArray(secondary) ? secondary : [];
|
|
2716
|
-
if (secondaryList.length === 0) return preferredList;
|
|
2717
|
-
if (preferredList.length === 0) return secondaryList;
|
|
2718
|
-
var seenKeys = new Set();
|
|
2719
|
-
var _iterator22 = _createForOfIteratorHelper(preferredList),
|
|
2720
|
-
_step22;
|
|
2721
|
-
try {
|
|
2722
|
-
for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
|
|
2723
|
-
var item = _step22.value;
|
|
2724
|
-
var keys = this.getProductIdentityKeys(item);
|
|
2725
|
-
var _iterator24 = _createForOfIteratorHelper(keys),
|
|
2726
|
-
_step24;
|
|
2727
|
-
try {
|
|
2728
|
-
for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
|
|
2729
|
-
var key = _step24.value;
|
|
2730
|
-
seenKeys.add(key);
|
|
2731
|
-
}
|
|
2732
|
-
} catch (err) {
|
|
2733
|
-
_iterator24.e(err);
|
|
2734
|
-
} finally {
|
|
2735
|
-
_iterator24.f();
|
|
2736
|
-
}
|
|
2737
|
-
}
|
|
2738
|
-
} catch (err) {
|
|
2739
|
-
_iterator22.e(err);
|
|
2740
|
-
} finally {
|
|
2741
|
-
_iterator22.f();
|
|
2742
|
-
}
|
|
2743
|
-
var result = _toConsumableArray(preferredList);
|
|
2744
|
-
var _iterator23 = _createForOfIteratorHelper(secondaryList),
|
|
2745
|
-
_step23;
|
|
2746
|
-
try {
|
|
2747
|
-
for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
|
|
2748
|
-
var _item = _step23.value;
|
|
2749
|
-
var _keys = this.getProductIdentityKeys(_item);
|
|
2750
|
-
if (_keys.length === 0 || _keys.some(function (key) {
|
|
2751
|
-
return seenKeys.has(key);
|
|
2752
|
-
})) continue;
|
|
2753
|
-
var _iterator25 = _createForOfIteratorHelper(_keys),
|
|
2754
|
-
_step25;
|
|
2755
|
-
try {
|
|
2756
|
-
for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
|
|
2757
|
-
var _key3 = _step25.value;
|
|
2758
|
-
seenKeys.add(_key3);
|
|
2759
|
-
}
|
|
2760
|
-
} catch (err) {
|
|
2761
|
-
_iterator25.e(err);
|
|
2762
|
-
} finally {
|
|
2763
|
-
_iterator25.f();
|
|
2764
|
-
}
|
|
2765
|
-
result.push(cloneDeep(_item));
|
|
2766
|
-
}
|
|
2767
|
-
} catch (err) {
|
|
2768
|
-
_iterator23.e(err);
|
|
2769
|
-
} finally {
|
|
2770
|
-
_iterator23.f();
|
|
2771
|
-
}
|
|
2772
|
-
return result;
|
|
2773
|
-
}
|
|
2774
|
-
}, {
|
|
2775
|
-
key: "mergeOrderPaymentLists",
|
|
2776
|
-
value: function mergeOrderPaymentLists(existing, incoming) {
|
|
2777
|
-
var existingList = Array.isArray(existing) ? existing : [];
|
|
2778
|
-
var incomingList = Array.isArray(incoming) ? incoming : [];
|
|
2779
|
-
if (incomingList.length === 0) return cloneDeep(existingList);
|
|
2780
|
-
return mergeOrderPaymentListsByIdentity(existingList, incomingList);
|
|
2781
|
-
}
|
|
2782
|
-
}, {
|
|
2783
|
-
key: "getIdentifiedPendingPayments",
|
|
2784
|
-
value: function getIdentifiedPendingPayments(order) {
|
|
2785
|
-
var payments = Array.isArray(order === null || order === void 0 ? void 0 : order.payments) ? order.payments : [];
|
|
2786
|
-
return payments.filter(function (payment) {
|
|
2787
|
-
return isIdentifiedPendingOrderPayment(payment);
|
|
2788
|
-
});
|
|
2789
|
-
}
|
|
2790
|
-
}, {
|
|
2791
|
-
key: "shouldProtectLocalOrderFromRemoteSnapshot",
|
|
2792
|
-
value: function shouldProtectLocalOrderFromRemoteSnapshot(order) {
|
|
2793
|
-
return this.isPendingSyncOrder(order) || this.isDraftOrder(order) || this.getIdentifiedPendingPayments(order).length > 0;
|
|
2794
|
-
}
|
|
2795
|
-
}, {
|
|
2796
|
-
key: "getUnmatchedIdentifiedPendingPayments",
|
|
2797
|
-
value: function getUnmatchedIdentifiedPendingPayments(existing, incoming) {
|
|
2798
|
-
var existingPayments = Array.isArray(existing) ? existing : [];
|
|
2799
|
-
var incomingPayments = Array.isArray(incoming) ? incoming : [];
|
|
2800
|
-
var incomingIdentityKeys = new Set(incomingPayments.flatMap(function (payment) {
|
|
2801
|
-
return getOrderPaymentIdentityKeys(payment);
|
|
2802
|
-
}));
|
|
2803
|
-
return existingPayments.filter(function (payment) {
|
|
2804
|
-
return isIdentifiedPendingOrderPayment(payment) && !getOrderPaymentIdentityKeys(payment).some(function (key) {
|
|
2805
|
-
return incomingIdentityKeys.has(key);
|
|
2806
|
-
});
|
|
2807
|
-
});
|
|
2808
|
-
}
|
|
2809
2105
|
}, {
|
|
2810
2106
|
key: "mergeOrderRecords",
|
|
2811
2107
|
value: function mergeOrderRecords(existing, incoming) {
|
|
@@ -2813,7 +2109,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2813
2109
|
var secondary = preferred === existing ? incoming : existing;
|
|
2814
2110
|
var merged = _objectSpread(_objectSpread({}, secondary), preferred);
|
|
2815
2111
|
var fieldsToPreserve = ['order_id', 'external_sale_number', 'order_number', 'shop_order_number', 'shop_full_order_number'];
|
|
2816
|
-
var incomingPatchFields = ['payment_status', 'status', 'shipping_status', 'updated_at', 'shop_discount', 'summary', 'note', 'customer_id', 'customer_name', 'customer', 'holder', 'contacts_info', 'phone', 'email', 'relation_forms'
|
|
2112
|
+
var incomingPatchFields = ['payment_status', 'status', 'shipping_status', 'updated_at', 'shop_discount', 'summary', 'note', 'customer_id', 'customer_name', 'customer', 'holder', 'contacts_info', 'phone', 'email', 'relation_forms'];
|
|
2817
2113
|
var mergedRecord = merged;
|
|
2818
2114
|
var preferredRecord = preferred;
|
|
2819
2115
|
var secondaryRecord = secondary;
|
|
@@ -2843,23 +2139,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2843
2139
|
for (var _i6 = 0, _ORDER_AUTHORITATIVE_2 = ORDER_AUTHORITATIVE_COLLECTION_FIELDS; _i6 < _ORDER_AUTHORITATIVE_2.length; _i6++) {
|
|
2844
2140
|
var _field2 = _ORDER_AUTHORITATIVE_2[_i6];
|
|
2845
2141
|
if (Array.isArray(incomingRecord[_field2])) {
|
|
2846
|
-
|
|
2847
|
-
var preservedPending = this.getUnmatchedIdentifiedPendingPayments(existingRecord[_field2], incomingRecord[_field2]);
|
|
2848
|
-
if (preservedPending.length > 0) {
|
|
2849
|
-
var _ref5, _existing$order_id, _ref6, _existingRecord$exter;
|
|
2850
|
-
this.logInfo('mergeOrderRecords-保留本地 pending 支付项', {
|
|
2851
|
-
order_id: (_ref5 = (_existing$order_id = existing.order_id) !== null && _existing$order_id !== void 0 ? _existing$order_id : incoming.order_id) !== null && _ref5 !== void 0 ? _ref5 : null,
|
|
2852
|
-
external_sale_number: (_ref6 = (_existingRecord$exter = existingRecord.external_sale_number) !== null && _existingRecord$exter !== void 0 ? _existingRecord$exter : incomingRecord.external_sale_number) !== null && _ref6 !== void 0 ? _ref6 : null,
|
|
2853
|
-
preserved_pending_count: preservedPending.length,
|
|
2854
|
-
preserved_payment_identities: preservedPending.map(function (payment) {
|
|
2855
|
-
return getOrderPaymentIdentityKeys(payment);
|
|
2856
|
-
})
|
|
2857
|
-
});
|
|
2858
|
-
}
|
|
2859
|
-
}
|
|
2860
|
-
mergedRecord[_field2] = this.mergeAuthoritativeOrderCollection(_field2, existingRecord[_field2], incomingRecord[_field2], childUidRemaps, {
|
|
2861
|
-
preserveIdentifiedPendingPayments: _field2 === 'payments'
|
|
2862
|
-
});
|
|
2142
|
+
mergedRecord[_field2] = this.mergeAuthoritativeOrderCollection(_field2, existingRecord[_field2], incomingRecord[_field2], childUidRemaps);
|
|
2863
2143
|
continue;
|
|
2864
2144
|
}
|
|
2865
2145
|
if (Object.prototype.hasOwnProperty.call(existingRecord, _field2)) {
|
|
@@ -2877,51 +2157,50 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2877
2157
|
key: "summarizeDuplicateOrders",
|
|
2878
2158
|
value: function summarizeDuplicateOrders(orders) {
|
|
2879
2159
|
var groups = new Map();
|
|
2880
|
-
var
|
|
2881
|
-
|
|
2160
|
+
var _iterator16 = _createForOfIteratorHelper(orders),
|
|
2161
|
+
_step16;
|
|
2882
2162
|
try {
|
|
2883
|
-
for (
|
|
2884
|
-
var order =
|
|
2885
|
-
var
|
|
2886
|
-
|
|
2163
|
+
for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
|
|
2164
|
+
var order = _step16.value;
|
|
2165
|
+
var _iterator17 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(order)),
|
|
2166
|
+
_step17;
|
|
2887
2167
|
try {
|
|
2888
|
-
for (
|
|
2889
|
-
var key =
|
|
2168
|
+
for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
|
|
2169
|
+
var key = _step17.value;
|
|
2890
2170
|
var group = groups.get(key) || [];
|
|
2891
2171
|
group.push(order);
|
|
2892
2172
|
groups.set(key, group);
|
|
2893
2173
|
}
|
|
2894
2174
|
} catch (err) {
|
|
2895
|
-
|
|
2175
|
+
_iterator17.e(err);
|
|
2896
2176
|
} finally {
|
|
2897
|
-
|
|
2177
|
+
_iterator17.f();
|
|
2898
2178
|
}
|
|
2899
2179
|
}
|
|
2900
2180
|
} catch (err) {
|
|
2901
|
-
|
|
2181
|
+
_iterator16.e(err);
|
|
2902
2182
|
} finally {
|
|
2903
|
-
|
|
2183
|
+
_iterator16.f();
|
|
2904
2184
|
}
|
|
2905
|
-
return _toConsumableArray(groups.entries()).filter(function (
|
|
2906
|
-
var
|
|
2907
|
-
group =
|
|
2185
|
+
return _toConsumableArray(groups.entries()).filter(function (_ref4) {
|
|
2186
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
2187
|
+
group = _ref5[1];
|
|
2908
2188
|
return group.length > 1;
|
|
2909
|
-
}).slice(0, 20).map(function (
|
|
2910
|
-
var
|
|
2911
|
-
key =
|
|
2912
|
-
group =
|
|
2189
|
+
}).slice(0, 20).map(function (_ref6) {
|
|
2190
|
+
var _ref7 = _slicedToArray(_ref6, 2),
|
|
2191
|
+
key = _ref7[0],
|
|
2192
|
+
group = _ref7[1];
|
|
2913
2193
|
return {
|
|
2914
2194
|
key: key,
|
|
2915
2195
|
count: group.length,
|
|
2916
2196
|
orders: group.map(function (order) {
|
|
2917
|
-
var _order$
|
|
2197
|
+
var _order$order_id3, _external_sale_number3, _shop_order_number, _shop_full_order_numb, _order$need_sync;
|
|
2918
2198
|
return {
|
|
2919
|
-
order_id: (_order$
|
|
2920
|
-
external_sale_number: (
|
|
2199
|
+
order_id: (_order$order_id3 = order.order_id) !== null && _order$order_id3 !== void 0 ? _order$order_id3 : null,
|
|
2200
|
+
external_sale_number: (_external_sale_number3 = order.external_sale_number) !== null && _external_sale_number3 !== void 0 ? _external_sale_number3 : null,
|
|
2921
2201
|
shop_order_number: (_shop_order_number = order.shop_order_number) !== null && _shop_order_number !== void 0 ? _shop_order_number : null,
|
|
2922
2202
|
shop_full_order_number: (_shop_full_order_numb = order.shop_full_order_number) !== null && _shop_full_order_numb !== void 0 ? _shop_full_order_numb : null,
|
|
2923
|
-
need_sync: (_order$need_sync = order.need_sync) !== null && _order$need_sync !== void 0 ? _order$need_sync : null
|
|
2924
|
-
is_draft_order: (_order$is_draft_order = order.is_draft_order) !== null && _order$is_draft_order !== void 0 ? _order$is_draft_order : null
|
|
2203
|
+
need_sync: (_order$need_sync = order.need_sync) !== null && _order$need_sync !== void 0 ? _order$need_sync : null
|
|
2925
2204
|
};
|
|
2926
2205
|
})
|
|
2927
2206
|
};
|
|
@@ -2943,11 +2222,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2943
2222
|
value: function compactOrderListByIdentity(orders, source) {
|
|
2944
2223
|
var list = [];
|
|
2945
2224
|
var removedCount = 0;
|
|
2946
|
-
var
|
|
2947
|
-
|
|
2225
|
+
var _iterator18 = _createForOfIteratorHelper(orders),
|
|
2226
|
+
_step18;
|
|
2948
2227
|
try {
|
|
2949
|
-
for (
|
|
2950
|
-
var order =
|
|
2228
|
+
for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
|
|
2229
|
+
var order = _step18.value;
|
|
2951
2230
|
var normalizedOrder = this.normalizeOrderCollectionsForIngress(order, "".concat(source, ".order"));
|
|
2952
2231
|
var matchIndex = this.findOrderIndexByIdentity(list, normalizedOrder);
|
|
2953
2232
|
if (matchIndex < 0) {
|
|
@@ -2958,9 +2237,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2958
2237
|
removedCount += 1;
|
|
2959
2238
|
}
|
|
2960
2239
|
} catch (err) {
|
|
2961
|
-
|
|
2240
|
+
_iterator18.e(err);
|
|
2962
2241
|
} finally {
|
|
2963
|
-
|
|
2242
|
+
_iterator18.f();
|
|
2964
2243
|
}
|
|
2965
2244
|
if (removedCount > 0) {
|
|
2966
2245
|
this.logWarning('订单列表重复项已压缩', {
|
|
@@ -3058,35 +2337,35 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3058
2337
|
}, {
|
|
3059
2338
|
key: "loadOrdersFromSQLite",
|
|
3060
2339
|
value: function () {
|
|
3061
|
-
var _loadOrdersFromSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3062
|
-
var
|
|
2340
|
+
var _loadOrdersFromSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17() {
|
|
2341
|
+
var _this18 = this;
|
|
3063
2342
|
var orders;
|
|
3064
|
-
return _regeneratorRuntime().wrap(function
|
|
3065
|
-
while (1) switch (
|
|
2343
|
+
return _regeneratorRuntime().wrap(function _callee17$(_context17) {
|
|
2344
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
3066
2345
|
case 0:
|
|
3067
2346
|
if (this.dbManager) {
|
|
3068
|
-
|
|
2347
|
+
_context17.next = 2;
|
|
3069
2348
|
break;
|
|
3070
2349
|
}
|
|
3071
|
-
return
|
|
2350
|
+
return _context17.abrupt("return", []);
|
|
3072
2351
|
case 2:
|
|
3073
|
-
|
|
3074
|
-
|
|
2352
|
+
_context17.prev = 2;
|
|
2353
|
+
_context17.next = 5;
|
|
3075
2354
|
return this.dbManager.getAll(INDEXDB_STORE_NAME);
|
|
3076
2355
|
case 5:
|
|
3077
|
-
orders =
|
|
3078
|
-
return
|
|
3079
|
-
return
|
|
2356
|
+
orders = _context17.sent;
|
|
2357
|
+
return _context17.abrupt("return", (orders || []).map(function (order) {
|
|
2358
|
+
return _this18.normalizeOrderCollectionsForIngress(order, 'loadOrdersFromSQLite');
|
|
3080
2359
|
}));
|
|
3081
2360
|
case 9:
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
return
|
|
2361
|
+
_context17.prev = 9;
|
|
2362
|
+
_context17.t0 = _context17["catch"](2);
|
|
2363
|
+
return _context17.abrupt("return", []);
|
|
3085
2364
|
case 12:
|
|
3086
2365
|
case "end":
|
|
3087
|
-
return
|
|
2366
|
+
return _context17.stop();
|
|
3088
2367
|
}
|
|
3089
|
-
},
|
|
2368
|
+
}, _callee17, this, [[2, 9]]);
|
|
3090
2369
|
}));
|
|
3091
2370
|
function loadOrdersFromSQLite() {
|
|
3092
2371
|
return _loadOrdersFromSQLite.apply(this, arguments);
|
|
@@ -3098,71 +2377,41 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3098
2377
|
value: function isPendingSyncOrder(order) {
|
|
3099
2378
|
return Number(order === null || order === void 0 ? void 0 : order.need_sync) === 1;
|
|
3100
2379
|
}
|
|
3101
|
-
}, {
|
|
3102
|
-
key: "isDraftOrder",
|
|
3103
|
-
value: function isDraftOrder(order) {
|
|
3104
|
-
return Number(order === null || order === void 0 ? void 0 : order.is_draft_order) === 1;
|
|
3105
|
-
}
|
|
3106
|
-
}, {
|
|
3107
|
-
key: "shouldProtectDraftOrderFromIncoming",
|
|
3108
|
-
value: function shouldProtectDraftOrderFromIncoming(source) {
|
|
3109
|
-
return source !== 'checkoutSync';
|
|
3110
|
-
}
|
|
3111
2380
|
}, {
|
|
3112
2381
|
key: "normalizeRemoteSyncedOrder",
|
|
3113
2382
|
value: function normalizeRemoteSyncedOrder(order) {
|
|
3114
2383
|
var normalizedOrder = this.normalizeOrderCollectionsForIngress(order, 'normalizeRemoteSyncedOrder');
|
|
3115
|
-
if (this.isPendingSyncOrder(normalizedOrder)) return
|
|
3116
|
-
is_draft_order: 0
|
|
3117
|
-
});
|
|
2384
|
+
if (this.isPendingSyncOrder(normalizedOrder)) return normalizedOrder;
|
|
3118
2385
|
return _objectSpread(_objectSpread({}, normalizedOrder), {}, {
|
|
3119
|
-
need_sync: 0
|
|
3120
|
-
is_draft_order: 0
|
|
2386
|
+
need_sync: 0
|
|
3121
2387
|
});
|
|
3122
2388
|
}
|
|
3123
|
-
}, {
|
|
3124
|
-
key: "mergeRemoteIdentityIntoDraftOrder",
|
|
3125
|
-
value: function mergeRemoteIdentityIntoDraftOrder(draftOrder, remoteOrder) {
|
|
3126
|
-
var merged = _objectSpread({}, this.withoutSyntheticDraftOrderId(draftOrder));
|
|
3127
|
-
var remote = remoteOrder;
|
|
3128
|
-
for (var _i7 = 0, _arr = ['order_id', 'order_number', 'shop_order_number', 'shop_full_order_number']; _i7 < _arr.length; _i7++) {
|
|
3129
|
-
var field = _arr[_i7];
|
|
3130
|
-
if (this.isBlankIdentityValue(merged[field]) && !this.isBlankIdentityValue(remote[field])) {
|
|
3131
|
-
merged[field] = remote[field];
|
|
3132
|
-
}
|
|
3133
|
-
}
|
|
3134
|
-
return this.normalizeOrderCollectionsForIngress(merged, 'mergeRemoteIdentityIntoDraftOrder');
|
|
3135
|
-
}
|
|
3136
2389
|
}, {
|
|
3137
2390
|
key: "mergeRemoteSnapshotWithPendingOrders",
|
|
3138
2391
|
value: function mergeRemoteSnapshotWithPendingOrders(remoteOrders, existingOrders) {
|
|
3139
|
-
var
|
|
2392
|
+
var _this19 = this;
|
|
3140
2393
|
var merged = remoteOrders.map(function (order) {
|
|
3141
|
-
return
|
|
2394
|
+
return _this19.normalizeRemoteSyncedOrder(order);
|
|
3142
2395
|
});
|
|
3143
|
-
var
|
|
3144
|
-
|
|
2396
|
+
var _iterator19 = _createForOfIteratorHelper(existingOrders),
|
|
2397
|
+
_step19;
|
|
3145
2398
|
try {
|
|
3146
|
-
for (
|
|
3147
|
-
var rawOrder =
|
|
2399
|
+
for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
|
|
2400
|
+
var rawOrder = _step19.value;
|
|
3148
2401
|
var order = this.normalizeOrderCollectionsForIngress(rawOrder, 'mergeRemoteSnapshotWithPendingOrders.existingSQLite');
|
|
3149
|
-
if (!this.
|
|
2402
|
+
if (!this.isPendingSyncOrder(order)) continue;
|
|
3150
2403
|
var matchIndex = this.findOrderIndexByIdentity(merged, order);
|
|
3151
2404
|
if (matchIndex >= 0) {
|
|
3152
|
-
|
|
3153
|
-
merged[matchIndex] = this.mergeRemoteIdentityIntoDraftOrder(order, merged[matchIndex]);
|
|
3154
|
-
} else {
|
|
3155
|
-
merged[matchIndex] = this.mergeOrderRecords(order, merged[matchIndex]);
|
|
3156
|
-
}
|
|
2405
|
+
merged[matchIndex] = this.mergeOrderRecords(order, merged[matchIndex]);
|
|
3157
2406
|
continue;
|
|
3158
2407
|
}
|
|
3159
2408
|
if (!this.getOrderStorageKey(order)) continue;
|
|
3160
2409
|
merged.push(order);
|
|
3161
2410
|
}
|
|
3162
2411
|
} catch (err) {
|
|
3163
|
-
|
|
2412
|
+
_iterator19.e(err);
|
|
3164
2413
|
} finally {
|
|
3165
|
-
|
|
2414
|
+
_iterator19.f();
|
|
3166
2415
|
}
|
|
3167
2416
|
return this.compactOrderListByIdentity(merged, 'mergeRemoteSnapshotWithPendingOrders').list;
|
|
3168
2417
|
}
|
|
@@ -3178,10 +2427,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3178
2427
|
}, {
|
|
3179
2428
|
key: "runInOrderSQLiteSaveQueue",
|
|
3180
2429
|
value: (function () {
|
|
3181
|
-
var _runInOrderSQLiteSaveQueue = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
2430
|
+
var _runInOrderSQLiteSaveQueue = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee18(task) {
|
|
3182
2431
|
var queuedTask;
|
|
3183
|
-
return _regeneratorRuntime().wrap(function
|
|
3184
|
-
while (1) switch (
|
|
2432
|
+
return _regeneratorRuntime().wrap(function _callee18$(_context18) {
|
|
2433
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
3185
2434
|
case 0:
|
|
3186
2435
|
queuedTask = this.orderSQLiteSaveQueue.then(task, task);
|
|
3187
2436
|
this.orderSQLiteSaveQueue = queuedTask.then(function () {
|
|
@@ -3189,14 +2438,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3189
2438
|
}, function () {
|
|
3190
2439
|
return undefined;
|
|
3191
2440
|
});
|
|
3192
|
-
return
|
|
2441
|
+
return _context18.abrupt("return", queuedTask);
|
|
3193
2442
|
case 3:
|
|
3194
2443
|
case "end":
|
|
3195
|
-
return
|
|
2444
|
+
return _context18.stop();
|
|
3196
2445
|
}
|
|
3197
|
-
},
|
|
2446
|
+
}, _callee18, this);
|
|
3198
2447
|
}));
|
|
3199
|
-
function runInOrderSQLiteSaveQueue(
|
|
2448
|
+
function runInOrderSQLiteSaveQueue(_x11) {
|
|
3200
2449
|
return _runInOrderSQLiteSaveQueue.apply(this, arguments);
|
|
3201
2450
|
}
|
|
3202
2451
|
return runInOrderSQLiteSaveQueue;
|
|
@@ -3211,174 +2460,146 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3211
2460
|
}, {
|
|
3212
2461
|
key: "patchOrdersInSQLite",
|
|
3213
2462
|
value: (function () {
|
|
3214
|
-
var _patchOrdersInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3215
|
-
var
|
|
2463
|
+
var _patchOrdersInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20(orders, source) {
|
|
2464
|
+
var _this20 = this;
|
|
3216
2465
|
var mergeActions,
|
|
3217
|
-
options,
|
|
3218
2466
|
ordersSnapshot,
|
|
3219
2467
|
_this$filterRedundant2,
|
|
3220
2468
|
toWrite,
|
|
3221
2469
|
skipped,
|
|
3222
2470
|
compactedToWrite,
|
|
3223
|
-
|
|
3224
|
-
return _regeneratorRuntime().wrap(function
|
|
3225
|
-
while (1) switch (
|
|
2471
|
+
_args20 = arguments;
|
|
2472
|
+
return _regeneratorRuntime().wrap(function _callee20$(_context20) {
|
|
2473
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
3226
2474
|
case 0:
|
|
3227
|
-
mergeActions =
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
_context22.next = 4;
|
|
3231
|
-
break;
|
|
3232
|
-
}
|
|
3233
|
-
return _context22.abrupt("return");
|
|
3234
|
-
case 4:
|
|
3235
|
-
if (this.dbManager) {
|
|
3236
|
-
_context22.next = 8;
|
|
2475
|
+
mergeActions = _args20.length > 2 && _args20[2] !== undefined ? _args20[2] : {};
|
|
2476
|
+
if (!(!this.dbManager || orders.length === 0)) {
|
|
2477
|
+
_context20.next = 3;
|
|
3237
2478
|
break;
|
|
3238
2479
|
}
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
break;
|
|
3242
|
-
}
|
|
3243
|
-
throw new Error('订单 SQLite 数据库未初始化');
|
|
3244
|
-
case 7:
|
|
3245
|
-
return _context22.abrupt("return");
|
|
3246
|
-
case 8:
|
|
2480
|
+
return _context20.abrupt("return");
|
|
2481
|
+
case 3:
|
|
3247
2482
|
ordersSnapshot = cloneDeep(orders).map(function (order) {
|
|
3248
|
-
return
|
|
2483
|
+
return _this20.normalizeOrderCollectionsForIngress(order, "".concat(source, ".sqliteIngress"));
|
|
3249
2484
|
}).filter(function (order) {
|
|
3250
|
-
return
|
|
2485
|
+
return _this20.getOrderStorageKey(order);
|
|
3251
2486
|
});
|
|
3252
2487
|
if (!(ordersSnapshot.length === 0)) {
|
|
3253
|
-
|
|
2488
|
+
_context20.next = 6;
|
|
3254
2489
|
break;
|
|
3255
2490
|
}
|
|
3256
|
-
return
|
|
3257
|
-
case
|
|
2491
|
+
return _context20.abrupt("return");
|
|
2492
|
+
case 6:
|
|
3258
2493
|
_this$filterRedundant2 = this.filterRedundantPatchOrders(source, ordersSnapshot, mergeActions), toWrite = _this$filterRedundant2.toWrite, skipped = _this$filterRedundant2.skipped;
|
|
3259
2494
|
if (!(toWrite.length === 0)) {
|
|
3260
|
-
|
|
2495
|
+
_context20.next = 9;
|
|
3261
2496
|
break;
|
|
3262
2497
|
}
|
|
3263
|
-
return
|
|
3264
|
-
case
|
|
2498
|
+
return _context20.abrupt("return");
|
|
2499
|
+
case 9:
|
|
3265
2500
|
compactedToWrite = this.compactOrderListByIdentity(toWrite, "".concat(source, ".sqlitePatch")).list;
|
|
3266
2501
|
if (!(compactedToWrite.length === 0)) {
|
|
3267
|
-
|
|
2502
|
+
_context20.next = 12;
|
|
3268
2503
|
break;
|
|
3269
2504
|
}
|
|
3270
|
-
return
|
|
3271
|
-
case
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3275
|
-
var writeMethod,
|
|
3276
|
-
return _regeneratorRuntime().wrap(function
|
|
3277
|
-
while (1) switch (
|
|
2505
|
+
return _context20.abrupt("return");
|
|
2506
|
+
case 12:
|
|
2507
|
+
_context20.prev = 12;
|
|
2508
|
+
_context20.next = 15;
|
|
2509
|
+
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19() {
|
|
2510
|
+
var writeMethod, _iterator20, _step20, order;
|
|
2511
|
+
return _regeneratorRuntime().wrap(function _callee19$(_context19) {
|
|
2512
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
3278
2513
|
case 0:
|
|
3279
2514
|
writeMethod = 'none';
|
|
3280
|
-
|
|
2515
|
+
_this20.logInfo('patchOrdersInSQLite-开始', {
|
|
3281
2516
|
source: source,
|
|
3282
2517
|
count: compactedToWrite.length,
|
|
3283
2518
|
dedupedCount: skipped.length
|
|
3284
2519
|
});
|
|
3285
|
-
if (!(typeof
|
|
3286
|
-
|
|
2520
|
+
if (!(typeof _this20.dbManager.bulkUpdate === 'function')) {
|
|
2521
|
+
_context19.next = 8;
|
|
3287
2522
|
break;
|
|
3288
2523
|
}
|
|
3289
2524
|
writeMethod = 'bulkUpdate';
|
|
3290
|
-
|
|
3291
|
-
return
|
|
2525
|
+
_context19.next = 6;
|
|
2526
|
+
return _this20.dbManager.bulkUpdate(INDEXDB_STORE_NAME, compactedToWrite);
|
|
3292
2527
|
case 6:
|
|
3293
|
-
|
|
2528
|
+
_context19.next = 33;
|
|
3294
2529
|
break;
|
|
3295
2530
|
case 8:
|
|
3296
|
-
if (!(typeof
|
|
3297
|
-
|
|
2531
|
+
if (!(typeof _this20.dbManager.bulkAdd === 'function')) {
|
|
2532
|
+
_context19.next = 14;
|
|
3298
2533
|
break;
|
|
3299
2534
|
}
|
|
3300
2535
|
writeMethod = 'bulkAdd';
|
|
3301
|
-
|
|
3302
|
-
return
|
|
2536
|
+
_context19.next = 12;
|
|
2537
|
+
return _this20.dbManager.bulkAdd(INDEXDB_STORE_NAME, compactedToWrite);
|
|
3303
2538
|
case 12:
|
|
3304
|
-
|
|
2539
|
+
_context19.next = 33;
|
|
3305
2540
|
break;
|
|
3306
2541
|
case 14:
|
|
3307
|
-
if (!(typeof
|
|
3308
|
-
|
|
2542
|
+
if (!(typeof _this20.dbManager.update === 'function')) {
|
|
2543
|
+
_context19.next = 33;
|
|
3309
2544
|
break;
|
|
3310
2545
|
}
|
|
3311
2546
|
writeMethod = 'update';
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
2547
|
+
_iterator20 = _createForOfIteratorHelper(compactedToWrite);
|
|
2548
|
+
_context19.prev = 17;
|
|
2549
|
+
_iterator20.s();
|
|
3315
2550
|
case 19:
|
|
3316
|
-
if ((
|
|
3317
|
-
|
|
2551
|
+
if ((_step20 = _iterator20.n()).done) {
|
|
2552
|
+
_context19.next = 25;
|
|
3318
2553
|
break;
|
|
3319
2554
|
}
|
|
3320
|
-
order =
|
|
3321
|
-
|
|
3322
|
-
return
|
|
2555
|
+
order = _step20.value;
|
|
2556
|
+
_context19.next = 23;
|
|
2557
|
+
return _this20.dbManager.update(INDEXDB_STORE_NAME, order);
|
|
3323
2558
|
case 23:
|
|
3324
|
-
|
|
2559
|
+
_context19.next = 19;
|
|
3325
2560
|
break;
|
|
3326
2561
|
case 25:
|
|
3327
|
-
|
|
2562
|
+
_context19.next = 30;
|
|
3328
2563
|
break;
|
|
3329
2564
|
case 27:
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
2565
|
+
_context19.prev = 27;
|
|
2566
|
+
_context19.t0 = _context19["catch"](17);
|
|
2567
|
+
_iterator20.e(_context19.t0);
|
|
3333
2568
|
case 30:
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
return
|
|
2569
|
+
_context19.prev = 30;
|
|
2570
|
+
_iterator20.f();
|
|
2571
|
+
return _context19.finish(30);
|
|
3337
2572
|
case 33:
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
case 35:
|
|
3341
|
-
if (!options.throwOnError) {
|
|
3342
|
-
_context21.next = 37;
|
|
3343
|
-
break;
|
|
3344
|
-
}
|
|
3345
|
-
throw new Error('订单 SQLite 数据库不支持写入');
|
|
3346
|
-
case 37:
|
|
3347
|
-
_this21.recordRecentSqliteWrite(source, compactedToWrite);
|
|
3348
|
-
_this21.logInfo('patchOrdersInSQLite-完成', {
|
|
2573
|
+
_this20.recordRecentSqliteWrite(source, compactedToWrite);
|
|
2574
|
+
_this20.logInfo('patchOrdersInSQLite-完成', {
|
|
3349
2575
|
source: source,
|
|
3350
2576
|
count: compactedToWrite.length,
|
|
3351
2577
|
writeMethod: writeMethod,
|
|
3352
2578
|
dedupedCount: skipped.length
|
|
3353
2579
|
});
|
|
3354
|
-
case
|
|
2580
|
+
case 35:
|
|
3355
2581
|
case "end":
|
|
3356
|
-
return
|
|
2582
|
+
return _context19.stop();
|
|
3357
2583
|
}
|
|
3358
|
-
},
|
|
2584
|
+
}, _callee19, null, [[17, 27, 30, 33]]);
|
|
3359
2585
|
})));
|
|
3360
|
-
case
|
|
3361
|
-
|
|
2586
|
+
case 15:
|
|
2587
|
+
_context20.next = 20;
|
|
3362
2588
|
break;
|
|
3363
|
-
case
|
|
3364
|
-
|
|
3365
|
-
|
|
2589
|
+
case 17:
|
|
2590
|
+
_context20.prev = 17;
|
|
2591
|
+
_context20.t0 = _context20["catch"](12);
|
|
3366
2592
|
this.logError('增量保存订单到 SQLite 失败', {
|
|
3367
|
-
error:
|
|
2593
|
+
error: _context20.t0 instanceof Error ? _context20.t0.message : String(_context20.t0),
|
|
3368
2594
|
orderCount: ordersSnapshot.length
|
|
3369
2595
|
});
|
|
3370
|
-
|
|
3371
|
-
_context22.next = 27;
|
|
3372
|
-
break;
|
|
3373
|
-
}
|
|
3374
|
-
throw _context22.t0;
|
|
3375
|
-
case 27:
|
|
2596
|
+
case 20:
|
|
3376
2597
|
case "end":
|
|
3377
|
-
return
|
|
2598
|
+
return _context20.stop();
|
|
3378
2599
|
}
|
|
3379
|
-
},
|
|
2600
|
+
}, _callee20, this, [[12, 17]]);
|
|
3380
2601
|
}));
|
|
3381
|
-
function patchOrdersInSQLite(
|
|
2602
|
+
function patchOrdersInSQLite(_x12, _x13) {
|
|
3382
2603
|
return _patchOrdersInSQLite.apply(this, arguments);
|
|
3383
2604
|
}
|
|
3384
2605
|
return patchOrdersInSQLite;
|
|
@@ -3393,135 +2614,98 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3393
2614
|
}, {
|
|
3394
2615
|
key: "updateOrderInSQLite",
|
|
3395
2616
|
value: (function () {
|
|
3396
|
-
var _updateOrderInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3397
|
-
var
|
|
3398
|
-
var
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
_args24 = arguments;
|
|
3402
|
-
return _regeneratorRuntime().wrap(function _callee24$(_context24) {
|
|
3403
|
-
while (1) switch (_context24.prev = _context24.next) {
|
|
2617
|
+
var _updateOrderInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22(order, source) {
|
|
2618
|
+
var _this21 = this;
|
|
2619
|
+
var orderSnapshot, _orderSnapshot$order_3;
|
|
2620
|
+
return _regeneratorRuntime().wrap(function _callee22$(_context22) {
|
|
2621
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
3404
2622
|
case 0:
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
_context24.next = 5;
|
|
3408
|
-
break;
|
|
3409
|
-
}
|
|
3410
|
-
if (!options.throwOnError) {
|
|
3411
|
-
_context24.next = 4;
|
|
2623
|
+
if (!(!this.dbManager || !this.getOrderStorageKey(order))) {
|
|
2624
|
+
_context22.next = 2;
|
|
3412
2625
|
break;
|
|
3413
2626
|
}
|
|
3414
|
-
|
|
3415
|
-
case
|
|
3416
|
-
return _context24.abrupt("return");
|
|
3417
|
-
case 5:
|
|
3418
|
-
if (this.dbManager) {
|
|
3419
|
-
_context24.next = 9;
|
|
3420
|
-
break;
|
|
3421
|
-
}
|
|
3422
|
-
if (!options.throwOnError) {
|
|
3423
|
-
_context24.next = 8;
|
|
3424
|
-
break;
|
|
3425
|
-
}
|
|
3426
|
-
throw new Error('订单 SQLite 数据库未初始化');
|
|
3427
|
-
case 8:
|
|
3428
|
-
return _context24.abrupt("return");
|
|
3429
|
-
case 9:
|
|
2627
|
+
return _context22.abrupt("return");
|
|
2628
|
+
case 2:
|
|
3430
2629
|
orderSnapshot = this.normalizeOrderCollectionsForIngress(cloneDeep(order), "".concat(source, ".sqliteIngress"));
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
2630
|
+
_context22.prev = 3;
|
|
2631
|
+
_context22.next = 6;
|
|
2632
|
+
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee21() {
|
|
3434
2633
|
var _orderSnapshot$order_, _orderSnapshot$order_2;
|
|
3435
2634
|
var writeMethod;
|
|
3436
|
-
return _regeneratorRuntime().wrap(function
|
|
3437
|
-
while (1) switch (
|
|
2635
|
+
return _regeneratorRuntime().wrap(function _callee21$(_context21) {
|
|
2636
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
3438
2637
|
case 0:
|
|
3439
2638
|
writeMethod = 'none';
|
|
3440
|
-
|
|
2639
|
+
_this21.logInfo('updateOrderInSQLite-开始', {
|
|
3441
2640
|
source: source,
|
|
3442
2641
|
orderId: (_orderSnapshot$order_ = orderSnapshot.order_id) !== null && _orderSnapshot$order_ !== void 0 ? _orderSnapshot$order_ : null,
|
|
3443
|
-
storageKey:
|
|
2642
|
+
storageKey: _this21.getOrderStorageKey(orderSnapshot)
|
|
3444
2643
|
});
|
|
3445
|
-
if (!(typeof
|
|
3446
|
-
|
|
2644
|
+
if (!(typeof _this21.dbManager.update === 'function')) {
|
|
2645
|
+
_context21.next = 8;
|
|
3447
2646
|
break;
|
|
3448
2647
|
}
|
|
3449
2648
|
writeMethod = 'update';
|
|
3450
|
-
|
|
3451
|
-
return
|
|
2649
|
+
_context21.next = 6;
|
|
2650
|
+
return _this21.dbManager.update(INDEXDB_STORE_NAME, orderSnapshot);
|
|
3452
2651
|
case 6:
|
|
3453
|
-
|
|
2652
|
+
_context21.next = 18;
|
|
3454
2653
|
break;
|
|
3455
2654
|
case 8:
|
|
3456
|
-
if (!(typeof
|
|
3457
|
-
|
|
2655
|
+
if (!(typeof _this21.dbManager.bulkUpdate === 'function')) {
|
|
2656
|
+
_context21.next = 14;
|
|
3458
2657
|
break;
|
|
3459
2658
|
}
|
|
3460
2659
|
writeMethod = 'bulkUpdate';
|
|
3461
|
-
|
|
3462
|
-
return
|
|
2660
|
+
_context21.next = 12;
|
|
2661
|
+
return _this21.dbManager.bulkUpdate(INDEXDB_STORE_NAME, [orderSnapshot]);
|
|
3463
2662
|
case 12:
|
|
3464
|
-
|
|
2663
|
+
_context21.next = 18;
|
|
3465
2664
|
break;
|
|
3466
2665
|
case 14:
|
|
3467
|
-
if (!(typeof
|
|
3468
|
-
|
|
2666
|
+
if (!(typeof _this21.dbManager.bulkAdd === 'function')) {
|
|
2667
|
+
_context21.next = 18;
|
|
3469
2668
|
break;
|
|
3470
2669
|
}
|
|
3471
2670
|
writeMethod = 'bulkAdd';
|
|
3472
|
-
|
|
3473
|
-
return
|
|
2671
|
+
_context21.next = 18;
|
|
2672
|
+
return _this21.dbManager.bulkAdd(INDEXDB_STORE_NAME, [orderSnapshot]);
|
|
3474
2673
|
case 18:
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
case 20:
|
|
3478
|
-
if (!options.throwOnError) {
|
|
3479
|
-
_context23.next = 22;
|
|
3480
|
-
break;
|
|
3481
|
-
}
|
|
3482
|
-
throw new Error('订单 SQLite 数据库不支持写入');
|
|
3483
|
-
case 22:
|
|
3484
|
-
_this22.recordRecentSqliteWrite(source, [orderSnapshot]);
|
|
3485
|
-
_this22.logInfo('updateOrderInSQLite-完成', {
|
|
2674
|
+
_this21.recordRecentSqliteWrite(source, [orderSnapshot]);
|
|
2675
|
+
_this21.logInfo('updateOrderInSQLite-完成', {
|
|
3486
2676
|
source: source,
|
|
3487
2677
|
orderId: (_orderSnapshot$order_2 = orderSnapshot.order_id) !== null && _orderSnapshot$order_2 !== void 0 ? _orderSnapshot$order_2 : null,
|
|
3488
2678
|
writeMethod: writeMethod
|
|
3489
2679
|
});
|
|
3490
|
-
case
|
|
2680
|
+
case 20:
|
|
3491
2681
|
case "end":
|
|
3492
|
-
return
|
|
2682
|
+
return _context21.stop();
|
|
3493
2683
|
}
|
|
3494
|
-
},
|
|
2684
|
+
}, _callee21);
|
|
3495
2685
|
})));
|
|
3496
|
-
case
|
|
3497
|
-
|
|
2686
|
+
case 6:
|
|
2687
|
+
_context22.next = 11;
|
|
3498
2688
|
break;
|
|
3499
|
-
case
|
|
3500
|
-
|
|
3501
|
-
|
|
2689
|
+
case 8:
|
|
2690
|
+
_context22.prev = 8;
|
|
2691
|
+
_context22.t0 = _context22["catch"](3);
|
|
3502
2692
|
this.logError('单条保存订单到 SQLite 失败', {
|
|
3503
|
-
error:
|
|
2693
|
+
error: _context22.t0 instanceof Error ? _context22.t0.message : String(_context22.t0),
|
|
3504
2694
|
orderId: (_orderSnapshot$order_3 = orderSnapshot.order_id) !== null && _orderSnapshot$order_3 !== void 0 ? _orderSnapshot$order_3 : null
|
|
3505
2695
|
});
|
|
3506
|
-
|
|
3507
|
-
_context24.next = 20;
|
|
3508
|
-
break;
|
|
3509
|
-
}
|
|
3510
|
-
throw _context24.t0;
|
|
3511
|
-
case 20:
|
|
2696
|
+
case 11:
|
|
3512
2697
|
case "end":
|
|
3513
|
-
return
|
|
2698
|
+
return _context22.stop();
|
|
3514
2699
|
}
|
|
3515
|
-
},
|
|
2700
|
+
}, _callee22, this, [[3, 8]]);
|
|
3516
2701
|
}));
|
|
3517
|
-
function updateOrderInSQLite(
|
|
2702
|
+
function updateOrderInSQLite(_x14, _x15) {
|
|
3518
2703
|
return _updateOrderInSQLite.apply(this, arguments);
|
|
3519
2704
|
}
|
|
3520
2705
|
return updateOrderInSQLite;
|
|
3521
2706
|
}()
|
|
3522
2707
|
/**
|
|
3523
|
-
* 全量快照替换 orders 表(clear + bulkAdd
|
|
3524
|
-
* 用于 SSE 全量拉取与营业日窗口裁剪。
|
|
2708
|
+
* 全量快照替换 orders 表(clear + bulkAdd),用于 SSE 全量拉取与营业日窗口裁剪。
|
|
3525
2709
|
*
|
|
3526
2710
|
* @example
|
|
3527
2711
|
* await this.replaceOrdersSnapshotInSQLite(orderList)
|
|
@@ -3530,163 +2714,100 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3530
2714
|
}, {
|
|
3531
2715
|
key: "replaceOrdersSnapshotInSQLite",
|
|
3532
2716
|
value: (function () {
|
|
3533
|
-
var _replaceOrdersSnapshotInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3534
|
-
var
|
|
3535
|
-
var
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
_args26 = arguments;
|
|
3539
|
-
return _regeneratorRuntime().wrap(function _callee26$(_context26) {
|
|
3540
|
-
while (1) switch (_context26.prev = _context26.next) {
|
|
2717
|
+
var _replaceOrdersSnapshotInSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee24(orderList, source) {
|
|
2718
|
+
var _this22 = this;
|
|
2719
|
+
var remoteSnapshot, mergedSnapshot;
|
|
2720
|
+
return _regeneratorRuntime().wrap(function _callee24$(_context24) {
|
|
2721
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
3541
2722
|
case 0:
|
|
3542
|
-
protectedOrdersBeforeRemoteFetch = _args26.length > 2 && _args26[2] !== undefined ? _args26[2] : [];
|
|
3543
2723
|
if (this.dbManager) {
|
|
3544
|
-
|
|
2724
|
+
_context24.next = 2;
|
|
3545
2725
|
break;
|
|
3546
2726
|
}
|
|
3547
|
-
return
|
|
3548
|
-
return
|
|
2727
|
+
return _context24.abrupt("return", this.compactOrderListByIdentity(orderList.map(function (order) {
|
|
2728
|
+
return _this22.normalizeRemoteSyncedOrder(order);
|
|
3549
2729
|
}), "".concat(source, ".snapshotNoDb")).list);
|
|
3550
|
-
case
|
|
2730
|
+
case 2:
|
|
3551
2731
|
remoteSnapshot = cloneDeep(orderList).map(function (order) {
|
|
3552
|
-
return
|
|
2732
|
+
return _this22.normalizeOrderCollectionsForIngress(order, "".concat(source, ".remoteIngress"));
|
|
3553
2733
|
});
|
|
3554
2734
|
mergedSnapshot = this.compactOrderListByIdentity(remoteSnapshot.map(function (order) {
|
|
3555
|
-
return
|
|
2735
|
+
return _this22.normalizeRemoteSyncedOrder(order);
|
|
3556
2736
|
}), "".concat(source, ".remoteSnapshot")).list;
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3560
|
-
var existingOrders,
|
|
3561
|
-
return _regeneratorRuntime().wrap(function
|
|
3562
|
-
while (1) switch (
|
|
2737
|
+
_context24.prev = 4;
|
|
2738
|
+
_context24.next = 7;
|
|
2739
|
+
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23() {
|
|
2740
|
+
var existingOrders, orderListSnapshot;
|
|
2741
|
+
return _regeneratorRuntime().wrap(function _callee23$(_context23) {
|
|
2742
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
3563
2743
|
case 0:
|
|
3564
|
-
if (!(typeof
|
|
3565
|
-
|
|
2744
|
+
if (!(typeof _this22.dbManager.getAll === 'function')) {
|
|
2745
|
+
_context23.next = 6;
|
|
3566
2746
|
break;
|
|
3567
2747
|
}
|
|
3568
|
-
|
|
3569
|
-
return
|
|
2748
|
+
_context23.next = 3;
|
|
2749
|
+
return _this22.dbManager.getAll(INDEXDB_STORE_NAME);
|
|
3570
2750
|
case 3:
|
|
3571
|
-
|
|
3572
|
-
|
|
2751
|
+
_context23.t0 = _context23.sent;
|
|
2752
|
+
_context23.next = 7;
|
|
3573
2753
|
break;
|
|
3574
2754
|
case 6:
|
|
3575
|
-
|
|
2755
|
+
_context23.t0 = [];
|
|
3576
2756
|
case 7:
|
|
3577
|
-
existingOrders =
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
return _this23.shouldProtectLocalOrderFromRemoteSnapshot(order);
|
|
3582
|
-
});
|
|
3583
|
-
_iterator31 = _createForOfIteratorHelper(existingOrders || []);
|
|
3584
|
-
_context25.prev = 10;
|
|
3585
|
-
_iterator31.s();
|
|
3586
|
-
case 12:
|
|
3587
|
-
if ((_step31 = _iterator31.n()).done) {
|
|
3588
|
-
_context25.next = 23;
|
|
3589
|
-
break;
|
|
3590
|
-
}
|
|
3591
|
-
rawCurrentOrder = _step31.value;
|
|
3592
|
-
currentOrder = _this23.normalizeOrderCollectionsForIngress(rawCurrentOrder, "".concat(source, ".currentSQLite"));
|
|
3593
|
-
protectedIndex = _this23.findOrderIndexByIdentity(protectedLocalOrders, currentOrder);
|
|
3594
|
-
currentNeedsProtection = _this23.shouldProtectLocalOrderFromRemoteSnapshot(currentOrder);
|
|
3595
|
-
if (!(protectedIndex >= 0)) {
|
|
3596
|
-
_context25.next = 20;
|
|
3597
|
-
break;
|
|
3598
|
-
}
|
|
3599
|
-
if (currentNeedsProtection) {
|
|
3600
|
-
protectedLocalOrders[protectedIndex] = currentOrder;
|
|
3601
|
-
} else {
|
|
3602
|
-
protectedLocalOrders.splice(protectedIndex, 1);
|
|
3603
|
-
}
|
|
3604
|
-
return _context25.abrupt("continue", 21);
|
|
3605
|
-
case 20:
|
|
3606
|
-
if (currentNeedsProtection) protectedLocalOrders.push(currentOrder);
|
|
3607
|
-
case 21:
|
|
3608
|
-
_context25.next = 12;
|
|
3609
|
-
break;
|
|
3610
|
-
case 23:
|
|
3611
|
-
_context25.next = 28;
|
|
3612
|
-
break;
|
|
3613
|
-
case 25:
|
|
3614
|
-
_context25.prev = 25;
|
|
3615
|
-
_context25.t1 = _context25["catch"](10);
|
|
3616
|
-
_iterator31.e(_context25.t1);
|
|
3617
|
-
case 28:
|
|
3618
|
-
_context25.prev = 28;
|
|
3619
|
-
_iterator31.f();
|
|
3620
|
-
return _context25.finish(28);
|
|
3621
|
-
case 31:
|
|
3622
|
-
orderListSnapshot = _this23.mergeRemoteSnapshotWithPendingOrders(remoteSnapshot, protectedLocalOrders);
|
|
3623
|
-
mergedSnapshot = _this23.compactOrderListByIdentity(orderListSnapshot, "".concat(source, ".sqliteSnapshot")).list;
|
|
3624
|
-
_this23.logInfo('replaceOrdersSnapshotInSQLite-开始', {
|
|
2757
|
+
existingOrders = _context23.t0;
|
|
2758
|
+
orderListSnapshot = _this22.mergeRemoteSnapshotWithPendingOrders(remoteSnapshot, existingOrders || []);
|
|
2759
|
+
mergedSnapshot = _this22.compactOrderListByIdentity(orderListSnapshot, "".concat(source, ".sqliteSnapshot")).list;
|
|
2760
|
+
_this22.logInfo('replaceOrdersSnapshotInSQLite-开始', {
|
|
3625
2761
|
source: source,
|
|
3626
2762
|
count: mergedSnapshot.length,
|
|
3627
2763
|
remoteCount: remoteSnapshot.length,
|
|
3628
|
-
|
|
3629
|
-
protectedLocalOrderCount: protectedLocalOrders.length,
|
|
3630
|
-
preservedLocalUnsyncedCount: mergedSnapshot.length - remoteSnapshot.length,
|
|
3631
|
-
protectedPendingPaymentCount: protectedLocalOrders.reduce(function (count, order) {
|
|
3632
|
-
return count + _this23.getIdentifiedPendingPayments(order).length;
|
|
3633
|
-
}, 0),
|
|
3634
|
-
protectedPendingPaymentIdentities: protectedLocalOrders.flatMap(function (order) {
|
|
3635
|
-
return _this23.getIdentifiedPendingPayments(order).map(function (payment) {
|
|
3636
|
-
var _order$order_id5, _external_sale_number5;
|
|
3637
|
-
return {
|
|
3638
|
-
order_id: (_order$order_id5 = order.order_id) !== null && _order$order_id5 !== void 0 ? _order$order_id5 : null,
|
|
3639
|
-
external_sale_number: (_external_sale_number5 = order.external_sale_number) !== null && _external_sale_number5 !== void 0 ? _external_sale_number5 : null,
|
|
3640
|
-
payment_identities: getOrderPaymentIdentityKeys(payment)
|
|
3641
|
-
};
|
|
3642
|
-
});
|
|
3643
|
-
})
|
|
2764
|
+
preservedPendingCount: mergedSnapshot.length - remoteSnapshot.length
|
|
3644
2765
|
});
|
|
3645
|
-
|
|
3646
|
-
return
|
|
3647
|
-
case
|
|
3648
|
-
|
|
2766
|
+
_context23.next = 13;
|
|
2767
|
+
return _this22.dbManager.clear(INDEXDB_STORE_NAME);
|
|
2768
|
+
case 13:
|
|
2769
|
+
_this22.logInfo('replaceOrdersSnapshotInSQLite-clear完成', {
|
|
3649
2770
|
count: mergedSnapshot.length
|
|
3650
2771
|
});
|
|
3651
2772
|
if (!(mergedSnapshot.length === 0)) {
|
|
3652
|
-
|
|
2773
|
+
_context23.next = 16;
|
|
3653
2774
|
break;
|
|
3654
2775
|
}
|
|
3655
|
-
return
|
|
3656
|
-
case
|
|
3657
|
-
|
|
3658
|
-
return
|
|
3659
|
-
case
|
|
3660
|
-
|
|
3661
|
-
|
|
2776
|
+
return _context23.abrupt("return");
|
|
2777
|
+
case 16:
|
|
2778
|
+
_context23.next = 18;
|
|
2779
|
+
return _this22.dbManager.bulkAdd(INDEXDB_STORE_NAME, mergedSnapshot);
|
|
2780
|
+
case 18:
|
|
2781
|
+
_this22.recordRecentSqliteWrite(source, mergedSnapshot);
|
|
2782
|
+
_this22.logInfo('replaceOrdersSnapshotInSQLite-bulkAdd完成', {
|
|
3662
2783
|
source: source,
|
|
3663
2784
|
count: mergedSnapshot.length
|
|
3664
2785
|
});
|
|
3665
|
-
case
|
|
2786
|
+
case 20:
|
|
3666
2787
|
case "end":
|
|
3667
|
-
return
|
|
2788
|
+
return _context23.stop();
|
|
3668
2789
|
}
|
|
3669
|
-
},
|
|
2790
|
+
}, _callee23);
|
|
3670
2791
|
})));
|
|
3671
|
-
case
|
|
3672
|
-
|
|
2792
|
+
case 7:
|
|
2793
|
+
_context24.next = 12;
|
|
3673
2794
|
break;
|
|
3674
|
-
case
|
|
3675
|
-
|
|
3676
|
-
|
|
2795
|
+
case 9:
|
|
2796
|
+
_context24.prev = 9;
|
|
2797
|
+
_context24.t0 = _context24["catch"](4);
|
|
3677
2798
|
this.logError('全量保存订单到 SQLite 失败', {
|
|
3678
|
-
error:
|
|
2799
|
+
error: _context24.t0 instanceof Error ? _context24.t0.message : String(_context24.t0),
|
|
3679
2800
|
orderList: remoteSnapshot.length
|
|
3680
2801
|
});
|
|
2802
|
+
case 12:
|
|
2803
|
+
return _context24.abrupt("return", mergedSnapshot);
|
|
3681
2804
|
case 13:
|
|
3682
|
-
return _context26.abrupt("return", mergedSnapshot);
|
|
3683
|
-
case 14:
|
|
3684
2805
|
case "end":
|
|
3685
|
-
return
|
|
2806
|
+
return _context24.stop();
|
|
3686
2807
|
}
|
|
3687
|
-
},
|
|
2808
|
+
}, _callee24, this, [[4, 9]]);
|
|
3688
2809
|
}));
|
|
3689
|
-
function replaceOrdersSnapshotInSQLite(
|
|
2810
|
+
function replaceOrdersSnapshotInSQLite(_x16, _x17) {
|
|
3690
2811
|
return _replaceOrdersSnapshotInSQLite.apply(this, arguments);
|
|
3691
2812
|
}
|
|
3692
2813
|
return replaceOrdersSnapshotInSQLite;
|
|
@@ -3701,38 +2822,38 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3701
2822
|
}, {
|
|
3702
2823
|
key: "clear",
|
|
3703
2824
|
value: (function () {
|
|
3704
|
-
var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3705
|
-
var
|
|
3706
|
-
return _regeneratorRuntime().wrap(function
|
|
3707
|
-
while (1) switch (
|
|
2825
|
+
var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26() {
|
|
2826
|
+
var _this23 = this;
|
|
2827
|
+
return _regeneratorRuntime().wrap(function _callee26$(_context26) {
|
|
2828
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
3708
2829
|
case 0:
|
|
3709
2830
|
this.store.list = [];
|
|
3710
2831
|
this.store.map = new Map();
|
|
3711
2832
|
if (!this.dbManager) {
|
|
3712
|
-
|
|
2833
|
+
_context26.next = 5;
|
|
3713
2834
|
break;
|
|
3714
2835
|
}
|
|
3715
|
-
|
|
3716
|
-
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3717
|
-
return _regeneratorRuntime().wrap(function
|
|
3718
|
-
while (1) switch (
|
|
2836
|
+
_context26.next = 5;
|
|
2837
|
+
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee25() {
|
|
2838
|
+
return _regeneratorRuntime().wrap(function _callee25$(_context25) {
|
|
2839
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
3719
2840
|
case 0:
|
|
3720
|
-
|
|
3721
|
-
return
|
|
2841
|
+
_context25.next = 2;
|
|
2842
|
+
return _this23.dbManager.clear(INDEXDB_STORE_NAME);
|
|
3722
2843
|
case 2:
|
|
3723
2844
|
case "end":
|
|
3724
|
-
return
|
|
2845
|
+
return _context25.stop();
|
|
3725
2846
|
}
|
|
3726
|
-
},
|
|
2847
|
+
}, _callee25);
|
|
3727
2848
|
})));
|
|
3728
2849
|
case 5:
|
|
3729
2850
|
this.setStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY, '');
|
|
3730
2851
|
this.emitOrdersChanged([], 'clear');
|
|
3731
2852
|
case 7:
|
|
3732
2853
|
case "end":
|
|
3733
|
-
return
|
|
2854
|
+
return _context26.stop();
|
|
3734
2855
|
}
|
|
3735
|
-
},
|
|
2856
|
+
}, _callee26, this);
|
|
3736
2857
|
}));
|
|
3737
2858
|
function clear() {
|
|
3738
2859
|
return _clear.apply(this, arguments);
|