@pisell/pisellos 0.10.43 → 0.10.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/model/strategy/adapter/itemRule/adapter.d.ts +4 -1
- package/dist/model/strategy/adapter/itemRule/adapter.js +135 -35
- package/dist/model/strategy/adapter/itemRule/evaluator.d.ts +8 -1
- package/dist/model/strategy/adapter/itemRule/evaluator.js +25 -1
- package/dist/model/strategy/adapter/itemRule/type.d.ts +44 -0
- package/dist/model/strategy/adapter/itemRule/type.js +19 -1
- package/dist/modules/Order/index.d.ts +41 -9
- package/dist/modules/Order/index.js +1438 -878
- package/dist/modules/Order/salesNotes.d.ts +31 -0
- package/dist/modules/Order/salesNotes.js +492 -0
- package/dist/modules/Order/types.d.ts +105 -8
- package/dist/modules/Order/types.js +6 -1
- package/dist/modules/Order/utils.d.ts +3 -1
- package/dist/modules/Order/utils.js +191 -71
- package/dist/modules/Payment/cashRecommendationAlgorithm.d.ts +4 -5
- package/dist/modules/Payment/cashRecommendationAlgorithm.js +17 -367
- package/dist/modules/ProductList/index.d.ts +2 -1
- package/dist/modules/ProductList/index.js +100 -20
- package/dist/modules/ProductList/types.d.ts +10 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.js +45 -3
- package/dist/server/modules/order/index.js +6 -0
- package/dist/server/modules/order/types.d.ts +9 -0
- package/dist/server/utils/small-ticket.d.ts +1 -0
- package/dist/server/utils/small-ticket.js +142 -14
- package/dist/solution/BaseSales/index.d.ts +15 -1
- package/dist/solution/BaseSales/index.js +1240 -877
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +1 -0
- package/dist/solution/BookingTicket/index.js +37 -16
- package/dist/solution/BookingTicket/utils/orderCustomer.js +3 -2
- package/dist/solution/RegisterAndLogin/config.d.ts +9 -3
- package/dist/solution/RegisterAndLogin/config.js +95 -40
- package/dist/solution/RegisterAndLogin/index.js +4 -1
- package/dist/solution/ScanOrder/index.d.ts +1 -0
- package/dist/solution/ScanOrder/index.js +31 -27
- package/dist/solution/ScanOrder/utils.d.ts +1 -0
- package/dist/solution/ScanOrder/utils.js +2 -0
- package/dist/solution/UnifiedBookingSales/index.d.ts +15 -2
- package/dist/solution/UnifiedBookingSales/index.js +777 -510
- package/dist/solution/UnifiedBookingSales/types.d.ts +14 -1
- package/dist/solution/VenueBooking/index.d.ts +1 -0
- package/dist/solution/VenueBooking/index.js +8 -4
- package/lib/model/strategy/adapter/itemRule/adapter.d.ts +4 -1
- package/lib/model/strategy/adapter/itemRule/adapter.js +73 -4
- package/lib/model/strategy/adapter/itemRule/evaluator.d.ts +8 -1
- package/lib/model/strategy/adapter/itemRule/evaluator.js +23 -1
- package/lib/model/strategy/adapter/itemRule/type.d.ts +44 -0
- package/lib/model/strategy/adapter/itemRule/type.js +19 -1
- package/lib/modules/Order/index.d.ts +41 -9
- package/lib/modules/Order/index.js +434 -61
- package/lib/modules/Order/salesNotes.d.ts +31 -0
- package/lib/modules/Order/salesNotes.js +382 -0
- package/lib/modules/Order/types.d.ts +105 -8
- package/lib/modules/Order/types.js +5 -1
- package/lib/modules/Order/utils.d.ts +3 -1
- package/lib/modules/Order/utils.js +114 -1
- package/lib/modules/Payment/cashRecommendationAlgorithm.d.ts +4 -5
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +9 -354
- package/lib/modules/ProductList/index.d.ts +2 -1
- package/lib/modules/ProductList/index.js +47 -2
- package/lib/modules/ProductList/types.d.ts +10 -0
- package/lib/server/index.d.ts +7 -0
- package/lib/server/index.js +39 -3
- package/lib/server/modules/order/index.js +6 -0
- package/lib/server/modules/order/types.d.ts +9 -0
- package/lib/server/utils/small-ticket.d.ts +1 -0
- package/lib/server/utils/small-ticket.js +136 -12
- package/lib/solution/BaseSales/index.d.ts +15 -1
- package/lib/solution/BaseSales/index.js +192 -22
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +1 -0
- package/lib/solution/BookingTicket/index.js +23 -5
- package/lib/solution/BookingTicket/utils/orderCustomer.js +2 -1
- package/lib/solution/RegisterAndLogin/config.d.ts +9 -3
- package/lib/solution/RegisterAndLogin/config.js +49 -8
- package/lib/solution/RegisterAndLogin/index.js +4 -1
- package/lib/solution/ScanOrder/index.d.ts +1 -0
- package/lib/solution/ScanOrder/index.js +5 -1
- package/lib/solution/ScanOrder/utils.d.ts +1 -0
- package/lib/solution/ScanOrder/utils.js +1 -0
- package/lib/solution/UnifiedBookingSales/index.d.ts +15 -2
- package/lib/solution/UnifiedBookingSales/index.js +125 -1
- package/lib/solution/UnifiedBookingSales/types.d.ts +14 -1
- package/lib/solution/VenueBooking/index.d.ts +1 -0
- package/lib/solution/VenueBooking/index.js +5 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var _excluded = ["custom_product_bundle_map_id"],
|
|
2
2
|
_excluded2 = ["unique_identification_number"],
|
|
3
3
|
_excluded3 = ["num", "surcharge_fee", "discount_amount", "discount_type", "discountway", "product_discount_reason", "discount_per", "production_code"],
|
|
4
|
-
_excluded4 = ["_extend", "relation_id", "table_form_id", "resource_id", "summary", "lastOrderInfo", "paid_amount", "shop_id", "shop_note", "shop_service_type", "start_time", "customer", "discount_list", "order_meta_list", "tax_fee", "total_amount", "total_refund_amount", "create_date", "holder_id", "payment_status"],
|
|
4
|
+
_excluded4 = ["_extend", "relation_id", "table_form_id", "resource_id", "summary", "lastOrderInfo", "paid_amount", "shop_id", "shop_note", "shop_service_type", "start_time", "customer", "discount_list", "order_meta_list", "tax_fee", "total_amount", "total_refund_amount", "create_date", "holder_id", "payment_status", "notes"],
|
|
5
5
|
_excluded5 = ["collect_pax", "table_occupancy_duration", "cart_settlement_key", "cart_settlement_snapshot", "legal_currency_snapshot"];
|
|
6
6
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
7
7
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -9,21 +9,27 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
|
|
|
9
9
|
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."); }
|
|
10
10
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
11
11
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
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; } } }; }
|
|
12
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; }
|
|
13
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; }
|
|
14
15
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
16
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
16
17
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
|
-
function
|
|
18
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
20
|
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); }
|
|
19
21
|
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; }
|
|
22
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
23
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
24
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
21
25
|
import dayjs from 'dayjs';
|
|
22
26
|
import Decimal from 'decimal.js';
|
|
23
27
|
import { getProductHolderConfig } from "../Holder/utils";
|
|
24
28
|
import { buildProductLineFingerprint, createEmptySummary } from "../../solution/ScanOrder/utils";
|
|
25
29
|
import { createUuidV4 } from "./utils/orderCollectionIdentity";
|
|
30
|
+
import { encodeSalesNotes } from "./salesNotes";
|
|
26
31
|
var POINT_CARD_SNAPSHOT_TAG = 'point_card';
|
|
32
|
+
var VIRTUAL_CURRENCY_SNAPSHOT_TAG = 'virtual_currency';
|
|
27
33
|
function isPlainObject(value) {
|
|
28
34
|
return Boolean(value) && _typeof(value) === 'object' && !Array.isArray(value);
|
|
29
35
|
}
|
|
@@ -62,6 +68,106 @@ export function buildPointCardSnapshotFromWalletPassList(value) {
|
|
|
62
68
|
return result;
|
|
63
69
|
}, []);
|
|
64
70
|
}
|
|
71
|
+
function normalizeSnapshotNameMap(value) {
|
|
72
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
73
|
+
var normalizedText = String(value).trim();
|
|
74
|
+
return normalizedText ? {
|
|
75
|
+
original: normalizedText
|
|
76
|
+
} : {};
|
|
77
|
+
}
|
|
78
|
+
if (!isPlainObject(value)) return {};
|
|
79
|
+
return Object.entries(value).reduce(function (result, _ref) {
|
|
80
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
81
|
+
locale = _ref2[0],
|
|
82
|
+
text = _ref2[1];
|
|
83
|
+
if (!locale.trim()) return result;
|
|
84
|
+
if (typeof text !== 'string' && typeof text !== 'number') return result;
|
|
85
|
+
var normalizedText = String(text).trim();
|
|
86
|
+
if (normalizedText) result[locale] = normalizedText;
|
|
87
|
+
return result;
|
|
88
|
+
}, {});
|
|
89
|
+
}
|
|
90
|
+
function buildVirtualCurrencySnapshotName(value) {
|
|
91
|
+
var _value$amount_format;
|
|
92
|
+
if (!isPlainObject(value)) return {};
|
|
93
|
+
var amountFormat = String((_value$amount_format = value.amount_format) !== null && _value$amount_format !== void 0 ? _value$amount_format : '').trim();
|
|
94
|
+
var configuredName;
|
|
95
|
+
if (amountFormat === '{{amount}} {{unit}}') {
|
|
96
|
+
configuredName = value.unit_label;
|
|
97
|
+
} else if (amountFormat === '{{amount}} {{sym}}') {
|
|
98
|
+
configuredName = value.symbol;
|
|
99
|
+
} else {
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
var configuredNameMap = normalizeSnapshotNameMap(configuredName);
|
|
103
|
+
var shortNameMap = normalizeSnapshotNameMap(value.short_name);
|
|
104
|
+
|
|
105
|
+
// The configured unit/symbol is resolved before short_name. If it already
|
|
106
|
+
// carries a global fallback, keep it authoritative so (for example)
|
|
107
|
+
// short_name.en cannot mask unit_label.original. When it only has explicit
|
|
108
|
+
// locale entries, merge short_name so other receipt locales can still fall
|
|
109
|
+
// back after the configured value has no match.
|
|
110
|
+
var hasConfiguredGlobalFallback = ['original', 'auto', 'default', 'en'].some(function (locale) {
|
|
111
|
+
return Boolean(configuredNameMap[locale]);
|
|
112
|
+
});
|
|
113
|
+
if (hasConfiguredGlobalFallback) return configuredNameMap;
|
|
114
|
+
return _objectSpread(_objectSpread({}, shortNameMap), configuredNameMap);
|
|
115
|
+
}
|
|
116
|
+
export function normalizeVirtualCurrencySnapshotItem(value) {
|
|
117
|
+
var _value$product_name2, _value$par_value2, _value$used_par_value2;
|
|
118
|
+
if (!isPlainObject(value)) return null;
|
|
119
|
+
var id = normalizeSnapshotScalar(value.id);
|
|
120
|
+
if (id === undefined) return null;
|
|
121
|
+
if (String(value.tag || '').trim().toLowerCase() !== VIRTUAL_CURRENCY_SNAPSHOT_TAG) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
var snapshot = {
|
|
125
|
+
id: id,
|
|
126
|
+
tag: 'virtual_currency',
|
|
127
|
+
product_name: String((_value$product_name2 = value.product_name) !== null && _value$product_name2 !== void 0 ? _value$product_name2 : ''),
|
|
128
|
+
par_value: String((_value$par_value2 = value.par_value) !== null && _value$par_value2 !== void 0 ? _value$par_value2 : ''),
|
|
129
|
+
used_par_value: String((_value$used_par_value2 = value.used_par_value) !== null && _value$used_par_value2 !== void 0 ? _value$used_par_value2 : ''),
|
|
130
|
+
name: normalizeSnapshotNameMap(value.name)
|
|
131
|
+
};
|
|
132
|
+
var productId = normalizeSnapshotScalar(value.product_id);
|
|
133
|
+
if (productId !== undefined) {
|
|
134
|
+
snapshot.product_id = productId;
|
|
135
|
+
}
|
|
136
|
+
return snapshot;
|
|
137
|
+
}
|
|
138
|
+
function normalizeVirtualCurrencySnapshotList(value) {
|
|
139
|
+
if (!Array.isArray(value)) return [];
|
|
140
|
+
return value.reduce(function (result, item) {
|
|
141
|
+
var normalized = normalizeVirtualCurrencySnapshotItem(item);
|
|
142
|
+
if (normalized) result.push(normalized);
|
|
143
|
+
return result;
|
|
144
|
+
}, []);
|
|
145
|
+
}
|
|
146
|
+
export function buildVirtualCurrencySnapshotFromList(value) {
|
|
147
|
+
if (!Array.isArray(value)) return [];
|
|
148
|
+
return value.reduce(function (result, item) {
|
|
149
|
+
var _item$tag, _item$product_name, _item$par_value, _item$used_par_value;
|
|
150
|
+
if (!isPlainObject(item)) return result;
|
|
151
|
+
var id = normalizeSnapshotScalar(item.id);
|
|
152
|
+
if (id === undefined) return result;
|
|
153
|
+
var sourceTag = String((_item$tag = item.tag) !== null && _item$tag !== void 0 ? _item$tag : '').trim().toLowerCase();
|
|
154
|
+
if (sourceTag !== VIRTUAL_CURRENCY_SNAPSHOT_TAG) return result;
|
|
155
|
+
var snapshot = {
|
|
156
|
+
id: id,
|
|
157
|
+
tag: 'virtual_currency',
|
|
158
|
+
product_name: String((_item$product_name = item.product_name) !== null && _item$product_name !== void 0 ? _item$product_name : ''),
|
|
159
|
+
par_value: String((_item$par_value = item.par_value) !== null && _item$par_value !== void 0 ? _item$par_value : ''),
|
|
160
|
+
used_par_value: String((_item$used_par_value = item.used_par_value) !== null && _item$used_par_value !== void 0 ? _item$used_par_value : ''),
|
|
161
|
+
name: buildVirtualCurrencySnapshotName(item.virtual_currency_display)
|
|
162
|
+
};
|
|
163
|
+
var productId = normalizeSnapshotScalar(item.product_id);
|
|
164
|
+
if (productId !== undefined) {
|
|
165
|
+
snapshot.product_id = productId;
|
|
166
|
+
}
|
|
167
|
+
result.push(snapshot);
|
|
168
|
+
return result;
|
|
169
|
+
}, []);
|
|
170
|
+
}
|
|
65
171
|
export function normalizeOrderMetaList(value) {
|
|
66
172
|
if (value === undefined) return undefined;
|
|
67
173
|
if (!isPlainObject(value)) return undefined;
|
|
@@ -69,6 +175,9 @@ export function normalizeOrderMetaList(value) {
|
|
|
69
175
|
if (Object.prototype.hasOwnProperty.call(value, 'point_cards_snapshot')) {
|
|
70
176
|
normalized.point_cards_snapshot = buildPointCardSnapshotFromWalletPassList(value.point_cards_snapshot);
|
|
71
177
|
}
|
|
178
|
+
if (Object.prototype.hasOwnProperty.call(value, 'virtual_currency_snapshot')) {
|
|
179
|
+
normalized.virtual_currency_snapshot = normalizeVirtualCurrencySnapshotList(value.virtual_currency_snapshot);
|
|
180
|
+
}
|
|
72
181
|
if (Object.keys(normalized).length > 0) return normalized;
|
|
73
182
|
return {};
|
|
74
183
|
}
|
|
@@ -96,13 +205,13 @@ export function composeLinePrice(params) {
|
|
|
96
205
|
_step;
|
|
97
206
|
try {
|
|
98
207
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
99
|
-
var
|
|
208
|
+
var _ref3, _item$num;
|
|
100
209
|
var item = _step.value;
|
|
101
210
|
// markdown(减价)按带符号净额取减;markup/原价维持相加。
|
|
102
211
|
var signedUnit = getBundleSignedUnit(item, {
|
|
103
212
|
useOriginal: useOriginalBundle
|
|
104
213
|
});
|
|
105
|
-
var rawNum = (
|
|
214
|
+
var rawNum = (_ref3 = (_item$num = item === null || item === void 0 ? void 0 : item.num) !== null && _item$num !== void 0 ? _item$num : item === null || item === void 0 ? void 0 : item.quantity) !== null && _ref3 !== void 0 ? _ref3 : 1;
|
|
106
215
|
var num = new Decimal(Number(rawNum) || 0);
|
|
107
216
|
total = total.plus(signedUnit.times(num));
|
|
108
217
|
}
|
|
@@ -166,12 +275,12 @@ function getSafeOrderProductNum(num) {
|
|
|
166
275
|
return Math.floor(parsedNum);
|
|
167
276
|
}
|
|
168
277
|
function getOrderProductDepositUnitTotal(product) {
|
|
169
|
-
var
|
|
278
|
+
var _ref4;
|
|
170
279
|
var metadata = product.metadata || {};
|
|
171
280
|
var paymentPrice = metadata.main_product_attached_bundle_payment_price;
|
|
172
281
|
var mainSellingPrice = metadata.main_product_selling_price;
|
|
173
282
|
var fallbackPrice = product.selling_price;
|
|
174
|
-
return new Decimal(Number((
|
|
283
|
+
return new Decimal(Number((_ref4 = paymentPrice !== null && paymentPrice !== void 0 ? paymentPrice : mainSellingPrice) !== null && _ref4 !== void 0 ? _ref4 : fallbackPrice) || 0);
|
|
175
284
|
}
|
|
176
285
|
function normalizeDepositProtocols(protocols) {
|
|
177
286
|
if (!Array.isArray(protocols)) return [];
|
|
@@ -220,13 +329,13 @@ function handleOrderProductDeposit(params) {
|
|
|
220
329
|
};
|
|
221
330
|
}
|
|
222
331
|
function resolveOrderProductDepositSource(product, runtimeOrigin) {
|
|
223
|
-
var
|
|
332
|
+
var _ref5, _record$custom_deposi, _ref6, _record$variant;
|
|
224
333
|
var record = product;
|
|
225
334
|
var origin = record._origin || runtimeOrigin || {};
|
|
226
335
|
var originProduct = origin.product || {};
|
|
227
336
|
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, originProduct), origin), record), {}, {
|
|
228
|
-
custom_deposit_data: (
|
|
229
|
-
variant: (
|
|
337
|
+
custom_deposit_data: (_ref5 = (_record$custom_deposi = record.custom_deposit_data) !== null && _record$custom_deposi !== void 0 ? _record$custom_deposi : origin.custom_deposit_data) !== null && _ref5 !== void 0 ? _ref5 : originProduct.custom_deposit_data,
|
|
338
|
+
variant: (_ref6 = (_record$variant = record.variant) !== null && _record$variant !== void 0 ? _record$variant : origin.variant) !== null && _ref6 !== void 0 ? _ref6 : originProduct.variant
|
|
230
339
|
});
|
|
231
340
|
}
|
|
232
341
|
function getOrderProductDeposit(product, runtimeOrigin) {
|
|
@@ -378,12 +487,12 @@ export function isMarkdownBundle(bundle) {
|
|
|
378
487
|
* - markup(加价)/原价子商品:维持 `+(bundle_selling_price ?? price)`,行为不变。
|
|
379
488
|
*/
|
|
380
489
|
export function getBundleSignedUnit(bundle, options) {
|
|
381
|
-
var _options$useOriginal,
|
|
490
|
+
var _options$useOriginal, _ref13, _bundle$original_pric2, _bundle$bundle_sellin;
|
|
382
491
|
if (!bundle || _typeof(bundle) !== 'object') return new Decimal(0);
|
|
383
492
|
var useOriginal = (_options$useOriginal = options === null || options === void 0 ? void 0 : options.useOriginal) !== null && _options$useOriginal !== void 0 ? _options$useOriginal : false;
|
|
384
493
|
if (isMarkdownBundle(bundle)) {
|
|
385
|
-
var
|
|
386
|
-
var catalog = useOriginal ? (
|
|
494
|
+
var _ref7, _ref8, _ref9, _bundle$original_pric, _ref10, _ref11, _ref12, _bundle$custom_price;
|
|
495
|
+
var catalog = useOriginal ? (_ref7 = (_ref8 = (_ref9 = (_bundle$original_pric = bundle.original_price) !== null && _bundle$original_pric !== void 0 ? _bundle$original_pric : bundle.product_price) !== null && _ref9 !== void 0 ? _ref9 : bundle.custom_price) !== null && _ref8 !== void 0 ? _ref8 : bundle.base_price) !== null && _ref7 !== void 0 ? _ref7 : bundle.price : (_ref10 = (_ref11 = (_ref12 = (_bundle$custom_price = bundle.custom_price) !== null && _bundle$custom_price !== void 0 ? _bundle$custom_price : bundle.product_price) !== null && _ref12 !== void 0 ? _ref12 : bundle.original_price) !== null && _ref11 !== void 0 ? _ref11 : bundle.base_price) !== null && _ref10 !== void 0 ? _ref10 : bundle.price;
|
|
387
496
|
if (catalog !== undefined && catalog !== null && catalog !== '') {
|
|
388
497
|
var raw = new Decimal(Number(catalog) || 0);
|
|
389
498
|
// 负值表示价格已是「带符号净额」(如 cart/changePrice 产出的 -3.7),直接取用不再扣 option,
|
|
@@ -394,7 +503,7 @@ export function getBundleSignedUnit(bundle, options) {
|
|
|
394
503
|
// 仅剩净额(无毛价)兜底:直接取负,不再扣 option
|
|
395
504
|
return new Decimal(Number(bundle.bundle_selling_price) || 0).abs().negated();
|
|
396
505
|
}
|
|
397
|
-
var rawPrice = useOriginal ? (
|
|
506
|
+
var rawPrice = useOriginal ? (_ref13 = (_bundle$original_pric2 = bundle.original_price) !== null && _bundle$original_pric2 !== void 0 ? _bundle$original_pric2 : bundle.product_price) !== null && _ref13 !== void 0 ? _ref13 : bundle.price : (_bundle$bundle_sellin = bundle.bundle_selling_price) !== null && _bundle$bundle_sellin !== void 0 ? _bundle$bundle_sellin : bundle.price;
|
|
398
507
|
return new Decimal(Number(rawPrice) || 0);
|
|
399
508
|
}
|
|
400
509
|
|
|
@@ -628,8 +737,8 @@ export function createDefaultOrderRulesHooks() {
|
|
|
628
737
|
return new Decimal(Number(totalLike) || 0).dividedBy(effectiveNum).toDecimalPlaces(2).toString();
|
|
629
738
|
};
|
|
630
739
|
var getBundleIdentity = function getBundleIdentity(bundle) {
|
|
631
|
-
var
|
|
632
|
-
return [(
|
|
740
|
+
var _ref14, _bundle$bundle_id, _ref15, _ref16, _bundle$bundle_produc, _ref17, _ref18, _bundle$bundle_varian, _ref19, _bundle$bundle_group_;
|
|
741
|
+
return [(_ref14 = (_bundle$bundle_id = bundle.bundle_id) !== null && _bundle$bundle_id !== void 0 ? _bundle$bundle_id : bundle.id) !== null && _ref14 !== void 0 ? _ref14 : '', (_ref15 = (_ref16 = (_bundle$bundle_produc = bundle.bundle_product_id) !== null && _bundle$bundle_produc !== void 0 ? _bundle$bundle_produc : bundle._bundle_product_id) !== null && _ref16 !== void 0 ? _ref16 : bundle.product_id) !== null && _ref15 !== void 0 ? _ref15 : '', (_ref17 = (_ref18 = (_bundle$bundle_varian = bundle.bundle_variant_id) !== null && _bundle$bundle_varian !== void 0 ? _bundle$bundle_varian : bundle.variant_id) !== null && _ref18 !== void 0 ? _ref18 : bundle.product_variant_id) !== null && _ref17 !== void 0 ? _ref17 : 0, (_ref19 = (_bundle$bundle_group_ = bundle.bundle_group_id) !== null && _bundle$bundle_group_ !== void 0 ? _bundle$bundle_group_ : bundle.group_id) !== null && _ref19 !== void 0 ? _ref19 : ''].join('|');
|
|
633
742
|
};
|
|
634
743
|
var mergeRulesBundlePrices = function mergeRulesBundlePrices(currentBundle, rulesBundle) {
|
|
635
744
|
if (!Array.isArray(rulesBundle)) return rulesBundle;
|
|
@@ -639,7 +748,7 @@ export function createDefaultOrderRulesHooks() {
|
|
|
639
748
|
currentByIdentity.set(getBundleIdentity(bundle), bundle);
|
|
640
749
|
});
|
|
641
750
|
return rulesBundle.map(function (bundle) {
|
|
642
|
-
var _bundle$price_type_ex2,
|
|
751
|
+
var _bundle$price_type_ex2, _ref20, _ref21, _current$price, _ref22, _ref23, _ref24, _current$original_pri;
|
|
643
752
|
if (!bundle || _typeof(bundle) !== 'object') return bundle;
|
|
644
753
|
var current = currentByIdentity.get(getBundleIdentity(bundle));
|
|
645
754
|
if (!current) return bundle;
|
|
@@ -648,8 +757,8 @@ export function createDefaultOrderRulesHooks() {
|
|
|
648
757
|
} : {});
|
|
649
758
|
var isProductPriceBundle = ((_bundle$price_type_ex2 = bundle.price_type_ext) !== null && _bundle$price_type_ex2 !== void 0 ? _bundle$price_type_ex2 : current.price_type_ext) === 'product_price';
|
|
650
759
|
if (!isProductPriceBundle) return bundleWithDisplayFields;
|
|
651
|
-
var sourcePrice = (
|
|
652
|
-
var originalPrice = (
|
|
760
|
+
var sourcePrice = (_ref20 = (_ref21 = (_current$price = current.price) !== null && _current$price !== void 0 ? _current$price : current.custom_price) !== null && _ref21 !== void 0 ? _ref21 : current.original_price) !== null && _ref20 !== void 0 ? _ref20 : current.bundle_selling_price;
|
|
761
|
+
var originalPrice = (_ref22 = (_ref23 = (_ref24 = (_current$original_pri = current.original_price) !== null && _current$original_pri !== void 0 ? _current$original_pri : current.product_price) !== null && _ref24 !== void 0 ? _ref24 : current.price) !== null && _ref23 !== void 0 ? _ref23 : current.custom_price) !== null && _ref22 !== void 0 ? _ref22 : sourcePrice;
|
|
653
762
|
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, bundleWithDisplayFields), sourcePrice !== undefined ? {
|
|
654
763
|
price: sourcePrice
|
|
655
764
|
} : {}), originalPrice !== undefined ? {
|
|
@@ -713,10 +822,10 @@ export function createDefaultOrderRulesHooks() {
|
|
|
713
822
|
};
|
|
714
823
|
},
|
|
715
824
|
setProduct: function setProduct(product, values) {
|
|
716
|
-
var
|
|
717
|
-
var nextNum = Number((
|
|
825
|
+
var _ref25, _values$quantity, _ref26, _metadataAny$source_p, _values$discount_list, _values$quantity2;
|
|
826
|
+
var nextNum = Number((_ref25 = (_values$quantity = values.quantity) !== null && _values$quantity !== void 0 ? _values$quantity : product.num) !== null && _ref25 !== void 0 ? _ref25 : 1) || 1;
|
|
718
827
|
var metadataAny = product.metadata || {};
|
|
719
|
-
var existedSource = (
|
|
828
|
+
var existedSource = (_ref26 = (_metadataAny$source_p = metadataAny.source_product_price) !== null && _metadataAny$source_p !== void 0 ? _metadataAny$source_p : product.selling_price) !== null && _ref26 !== void 0 ? _ref26 : '0';
|
|
720
829
|
var nextOptions = getProductSkuOptions(product);
|
|
721
830
|
var optionSum = sumOptionUnitPrice(nextOptions);
|
|
722
831
|
|
|
@@ -926,7 +1035,7 @@ function formatSubmitBundleItems(bundle) {
|
|
|
926
1035
|
var formatOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
927
1036
|
if (!Array.isArray(bundle)) return [];
|
|
928
1037
|
return bundle.map(function (b) {
|
|
929
|
-
var
|
|
1038
|
+
var _ref27, _rawBundle$price, _rawBundle$surcharge_, _rawBundle$num, _rawBundle$is_charge_, _rawBundle$bundle_var, _rawBundle$quantity, _rawBundle$extension_, _rawBundle$extension_2, _ref28, _rawBundle$price_type, _ref29, _rawBundle$price_type2, _rawBundle$bundle_gro, _rawBundle$bundle_id, _rawBundle$bundle_pro;
|
|
930
1039
|
var rawBundle = b && _typeof(b) === 'object' ? b : {};
|
|
931
1040
|
var existedMetadata = rawBundle.metadata && _typeof(rawBundle.metadata) === 'object' ? rawBundle.metadata : {};
|
|
932
1041
|
var _customProductBundleMapId = existedMetadata.custom_product_bundle_map_id,
|
|
@@ -937,7 +1046,7 @@ function formatSubmitBundleItems(bundle) {
|
|
|
937
1046
|
var sellingPrice = formatOptions.virtualSettlementMode ? '0.00' : getBundleSellingMagnitude(rawBundle).toFixed(2);
|
|
938
1047
|
// payment 价由整单折扣均摊层产出;缺省(无折扣)时与 selling 净额同义。
|
|
939
1048
|
var paymentPrice = formatOptions.virtualSettlementMode ? '0.00' : rawBundle.bundle_payment_price !== undefined && rawBundle.bundle_payment_price !== null && rawBundle.bundle_payment_price !== '' ? toMoneyString(rawBundle.bundle_payment_price) : sellingPrice;
|
|
940
|
-
var priceValue = formatOptions.virtualSettlementMode ? 0 : (
|
|
1049
|
+
var priceValue = formatOptions.virtualSettlementMode ? 0 : (_ref27 = (_rawBundle$price = rawBundle.price) !== null && _rawBundle$price !== void 0 ? _rawBundle$price : rawBundle.custom_price) !== null && _ref27 !== void 0 ? _ref27 : rawBundle.bundle_selling_price;
|
|
941
1050
|
var relationSurchargeIds = Array.isArray(rawBundle.relation_surcharge_ids) ? rawBundle.relation_surcharge_ids : Array.isArray(existedMetadata.relation_surcharge_ids) ? existedMetadata.relation_surcharge_ids : [];
|
|
942
1051
|
var surchargeFee = toMoneyString((_rawBundle$surcharge_ = rawBundle.surcharge_fee) !== null && _rawBundle$surcharge_ !== void 0 ? _rawBundle$surcharge_ : existedMetadata.surcharge_fee);
|
|
943
1052
|
var productDiscountDifference = toBundleNumber(existedMetadata.product_discount_difference, 0);
|
|
@@ -956,8 +1065,8 @@ function formatSubmitBundleItems(bundle) {
|
|
|
956
1065
|
extension_id: (_rawBundle$extension_ = rawBundle.extension_id) !== null && _rawBundle$extension_ !== void 0 ? _rawBundle$extension_ : 0,
|
|
957
1066
|
extension_type: (_rawBundle$extension_2 = rawBundle.extension_type) !== null && _rawBundle$extension_2 !== void 0 ? _rawBundle$extension_2 : 'normal',
|
|
958
1067
|
price: priceValue,
|
|
959
|
-
price_type: (
|
|
960
|
-
price_type_ext: (
|
|
1068
|
+
price_type: (_ref28 = (_rawBundle$price_type = rawBundle.price_type) !== null && _rawBundle$price_type !== void 0 ? _rawBundle$price_type : rawBundle.custom_price_type) !== null && _ref28 !== void 0 ? _ref28 : '',
|
|
1069
|
+
price_type_ext: (_ref29 = (_rawBundle$price_type2 = rawBundle.price_type_ext) !== null && _rawBundle$price_type2 !== void 0 ? _rawBundle$price_type2 : rawBundle.custom_price_type_ext) !== null && _ref29 !== void 0 ? _ref29 : '',
|
|
961
1070
|
bundle_selling_price: sellingPrice,
|
|
962
1071
|
bundle_payment_price: paymentPrice,
|
|
963
1072
|
option: formatSubmitOptionItems(rawBundle.option, formatOptions),
|
|
@@ -993,11 +1102,11 @@ function formatSubmitBundleItems(bundle) {
|
|
|
993
1102
|
* 法币仅做字段/metadata 裁剪;虚拟币在出站前再次执行零加价与固定单价断言。
|
|
994
1103
|
*/
|
|
995
1104
|
function normalizeSubmitProduct(product) {
|
|
996
|
-
var
|
|
1105
|
+
var _ref31, _submitProduct$bundle, _rawMetadata$product_, _rawMetadata$selected, _rawMetadata$selected2, _submitProduct$produc, _submitProduct$paymen;
|
|
997
1106
|
var formatOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
998
|
-
var
|
|
999
|
-
_runtimeUid =
|
|
1000
|
-
submitProduct = _objectWithoutProperties(
|
|
1107
|
+
var _ref30 = product,
|
|
1108
|
+
_runtimeUid = _ref30.unique_identification_number,
|
|
1109
|
+
submitProduct = _objectWithoutProperties(_ref30, _excluded2);
|
|
1001
1110
|
var num = submitProduct.num,
|
|
1002
1111
|
_productSurchargeFee = submitProduct.surcharge_fee,
|
|
1003
1112
|
_deprecatedDiscountAmount = submitProduct.discount_amount,
|
|
@@ -1014,7 +1123,7 @@ function normalizeSubmitProduct(product) {
|
|
|
1014
1123
|
// 兼容历史 BigSale 编辑链路:bundle_edit 曾被写入 metadata,
|
|
1015
1124
|
// 出站时需提升到商品顶层;套餐未编辑时也必须显式提交 0。
|
|
1016
1125
|
var hasProductBundle = Array.isArray(submitProduct.product_bundle) && submitProduct.product_bundle.length > 0;
|
|
1017
|
-
var bundleEdit = (
|
|
1126
|
+
var bundleEdit = (_ref31 = (_submitProduct$bundle = submitProduct.bundle_edit) !== null && _submitProduct$bundle !== void 0 ? _submitProduct$bundle : rawMetadata.bundle_edit) !== null && _ref31 !== void 0 ? _ref31 : hasProductBundle ? 0 : undefined;
|
|
1018
1127
|
var cleanMetadata = {};
|
|
1019
1128
|
if (rawMetadata.unique_identification_number) {
|
|
1020
1129
|
cleanMetadata.unique_identification_number = rawMetadata.unique_identification_number;
|
|
@@ -1183,6 +1292,7 @@ export function createDefaultTempOrder(params) {
|
|
|
1183
1292
|
request_unique_idempotency_token: '',
|
|
1184
1293
|
vouchers: [],
|
|
1185
1294
|
products: [],
|
|
1295
|
+
notes: [],
|
|
1186
1296
|
bookings: [],
|
|
1187
1297
|
payments: [],
|
|
1188
1298
|
surcharges: [],
|
|
@@ -1192,7 +1302,11 @@ export function createDefaultTempOrder(params) {
|
|
|
1192
1302
|
holder: null,
|
|
1193
1303
|
metadata: {},
|
|
1194
1304
|
_extend: {
|
|
1195
|
-
productsByUid: {}
|
|
1305
|
+
productsByUid: {},
|
|
1306
|
+
salesNotesState: {
|
|
1307
|
+
loaded: true,
|
|
1308
|
+
dirty: false
|
|
1309
|
+
}
|
|
1196
1310
|
}
|
|
1197
1311
|
};
|
|
1198
1312
|
}
|
|
@@ -1240,7 +1354,7 @@ export function resolveSubmitOrderType(params) {
|
|
|
1240
1354
|
return 'virtual';
|
|
1241
1355
|
}
|
|
1242
1356
|
export function buildSubmitPayload(params) {
|
|
1243
|
-
var _tempOrder$metadata2, _tempOrder$customer_i, _tempOrder$country_ca, _tempOrder$phone, _tempOrder$email, _tempOrder$order_numb, _tempOrder$shop_order, _tempOrder$shop_full_,
|
|
1357
|
+
var _tempOrder$metadata2, _tempOrder$customer_i, _tempOrder$country_ca, _tempOrder$phone, _tempOrder$email, _tempOrder$order_numb, _tempOrder$shop_order, _tempOrder$shop_full_, _ref33, _tempOrder$is_price_i, _tempOrder$is_deposit, _tempOrder$_extend, _enhancedPayload$summ;
|
|
1244
1358
|
var tempOrder = params.tempOrder,
|
|
1245
1359
|
cacheId = params.cacheId,
|
|
1246
1360
|
_params$now = params.now,
|
|
@@ -1254,28 +1368,29 @@ export function buildSubmitPayload(params) {
|
|
|
1254
1368
|
var scheduleDate = tempOrder.schedule_date || tempOrder.created_at || formatDateTime(now);
|
|
1255
1369
|
var bookingUuid = createUuidV4();
|
|
1256
1370
|
var virtualSettlementMode = ((_tempOrder$metadata2 = tempOrder.metadata) === null || _tempOrder$metadata2 === void 0 || (_tempOrder$metadata2 = _tempOrder$metadata2.currency_settlement_config) === null || _tempOrder$metadata2 === void 0 ? void 0 : _tempOrder$metadata2.settlement_type) === 'virtual_currency';
|
|
1257
|
-
var
|
|
1258
|
-
_extend =
|
|
1259
|
-
_relationId =
|
|
1260
|
-
_tableFormId =
|
|
1261
|
-
_resourceId =
|
|
1262
|
-
_summary =
|
|
1263
|
-
_lastOrderInfo =
|
|
1264
|
-
_paidAmount =
|
|
1265
|
-
_shopId =
|
|
1266
|
-
_shopNote =
|
|
1267
|
-
_shopServiceType =
|
|
1268
|
-
_startTime =
|
|
1269
|
-
_customer =
|
|
1270
|
-
_discountList =
|
|
1271
|
-
_orderMetaList =
|
|
1272
|
-
_rootTaxFee =
|
|
1273
|
-
_totalAmount =
|
|
1274
|
-
_totalRefundAmount =
|
|
1275
|
-
_createDate =
|
|
1276
|
-
_holderId =
|
|
1277
|
-
_paymentStatus =
|
|
1278
|
-
|
|
1371
|
+
var _ref32 = tempOrder,
|
|
1372
|
+
_extend = _ref32._extend,
|
|
1373
|
+
_relationId = _ref32.relation_id,
|
|
1374
|
+
_tableFormId = _ref32.table_form_id,
|
|
1375
|
+
_resourceId = _ref32.resource_id,
|
|
1376
|
+
_summary = _ref32.summary,
|
|
1377
|
+
_lastOrderInfo = _ref32.lastOrderInfo,
|
|
1378
|
+
_paidAmount = _ref32.paid_amount,
|
|
1379
|
+
_shopId = _ref32.shop_id,
|
|
1380
|
+
_shopNote = _ref32.shop_note,
|
|
1381
|
+
_shopServiceType = _ref32.shop_service_type,
|
|
1382
|
+
_startTime = _ref32.start_time,
|
|
1383
|
+
_customer = _ref32.customer,
|
|
1384
|
+
_discountList = _ref32.discount_list,
|
|
1385
|
+
_orderMetaList = _ref32.order_meta_list,
|
|
1386
|
+
_rootTaxFee = _ref32.tax_fee,
|
|
1387
|
+
_totalAmount = _ref32.total_amount,
|
|
1388
|
+
_totalRefundAmount = _ref32.total_refund_amount,
|
|
1389
|
+
_createDate = _ref32.create_date,
|
|
1390
|
+
_holderId = _ref32.holder_id,
|
|
1391
|
+
_paymentStatus = _ref32.payment_status,
|
|
1392
|
+
_notes = _ref32.notes,
|
|
1393
|
+
tempOrderRest = _objectWithoutProperties(_ref32, _excluded4);
|
|
1279
1394
|
var resolvedBusinessCode = businessCode !== null && businessCode !== void 0 ? businessCode : tempOrder.business_code;
|
|
1280
1395
|
var normalizedOrderMetaList = normalizeOrderMetaList(tempOrder.order_meta_list);
|
|
1281
1396
|
var submitType = resolveSubmitOrderType({
|
|
@@ -1286,7 +1401,7 @@ export function buildSubmitPayload(params) {
|
|
|
1286
1401
|
tempOrderBusinessCode: tempOrder.business_code,
|
|
1287
1402
|
bookings: tempOrder.bookings
|
|
1288
1403
|
});
|
|
1289
|
-
var payload = _objectSpread(_objectSpread(_objectSpread({}, tempOrderRest), {}, {
|
|
1404
|
+
var payload = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tempOrderRest), {}, {
|
|
1290
1405
|
customer_id: (_tempOrder$customer_i = tempOrder.customer_id) !== null && _tempOrder$customer_i !== void 0 ? _tempOrder$customer_i : 1,
|
|
1291
1406
|
customer_name: tempOrder.customer_name || 'Walk-In',
|
|
1292
1407
|
country_calling_code: String((_tempOrder$country_ca = tempOrder.country_calling_code) !== null && _tempOrder$country_ca !== void 0 ? _tempOrder$country_ca : ''),
|
|
@@ -1300,7 +1415,7 @@ export function buildSubmitPayload(params) {
|
|
|
1300
1415
|
type: submitType,
|
|
1301
1416
|
business_code: resolvedBusinessCode,
|
|
1302
1417
|
sales_channel: tempOrder.sales_channel || 'my_pisel',
|
|
1303
|
-
order_sales_channel: (
|
|
1418
|
+
order_sales_channel: (_ref33 = channel !== null && channel !== void 0 ? channel : tempOrder.order_sales_channel) !== null && _ref33 !== void 0 ? _ref33 : 'online_store',
|
|
1304
1419
|
status: tempOrder.status || 'normal'
|
|
1305
1420
|
}, params.includePaymentStatus !== false ? {
|
|
1306
1421
|
payment_status: tempOrder.payment_status || 'payment_processing'
|
|
@@ -1328,15 +1443,20 @@ export function buildSubmitPayload(params) {
|
|
|
1328
1443
|
// holder: tempOrder.holder || null,
|
|
1329
1444
|
summary: summary || tempOrder.summary || createEmptySummary(),
|
|
1330
1445
|
metadata: function () {
|
|
1331
|
-
var
|
|
1332
|
-
_collectPax =
|
|
1333
|
-
_tableOccupancyDuration =
|
|
1334
|
-
_cartSettlementKey =
|
|
1335
|
-
_cartSettlementSnapshot =
|
|
1336
|
-
_legalCurrencySnapshot =
|
|
1337
|
-
rest = _objectWithoutProperties(
|
|
1446
|
+
var _ref34 = tempOrder.metadata || {},
|
|
1447
|
+
_collectPax = _ref34.collect_pax,
|
|
1448
|
+
_tableOccupancyDuration = _ref34.table_occupancy_duration,
|
|
1449
|
+
_cartSettlementKey = _ref34.cart_settlement_key,
|
|
1450
|
+
_cartSettlementSnapshot = _ref34.cart_settlement_snapshot,
|
|
1451
|
+
_legalCurrencySnapshot = _ref34.legal_currency_snapshot,
|
|
1452
|
+
rest = _objectWithoutProperties(_ref34, _excluded5);
|
|
1338
1453
|
return _objectSpread({}, rest);
|
|
1339
|
-
}()
|
|
1454
|
+
}()
|
|
1455
|
+
}, (_tempOrder$_extend = tempOrder._extend) !== null && _tempOrder$_extend !== void 0 && (_tempOrder$_extend = _tempOrder$_extend.salesNotesState) !== null && _tempOrder$_extend !== void 0 && _tempOrder$_extend.dirty ? {
|
|
1456
|
+
notes: encodeSalesNotes(tempOrder.notes || [], {
|
|
1457
|
+
allowUnresolvedOrderTarget: true
|
|
1458
|
+
})
|
|
1459
|
+
} : {}), {}, {
|
|
1340
1460
|
products: (tempOrder.products || []).map(function (product) {
|
|
1341
1461
|
return normalizeSubmitProduct(product, {
|
|
1342
1462
|
virtualSettlementMode: virtualSettlementMode
|
|
@@ -1468,7 +1588,7 @@ export function hasAssignedHolderId(value) {
|
|
|
1468
1588
|
* clearTempOrderHolderAssignments(tempOrder);
|
|
1469
1589
|
*/
|
|
1470
1590
|
export function clearTempOrderHolderAssignments(tempOrder) {
|
|
1471
|
-
var _tempOrder$
|
|
1591
|
+
var _tempOrder$_extend2;
|
|
1472
1592
|
var changed = false;
|
|
1473
1593
|
var resetHolderField = function resetHolderField(target) {
|
|
1474
1594
|
var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'holder_id';
|
|
@@ -1509,7 +1629,7 @@ export function clearTempOrderHolderAssignments(tempOrder) {
|
|
|
1509
1629
|
} finally {
|
|
1510
1630
|
_iterator9.f();
|
|
1511
1631
|
}
|
|
1512
|
-
var productsByUid = (_tempOrder$
|
|
1632
|
+
var productsByUid = (_tempOrder$_extend2 = tempOrder._extend) === null || _tempOrder$_extend2 === void 0 ? void 0 : _tempOrder$_extend2.productsByUid;
|
|
1513
1633
|
if (productsByUid && _typeof(productsByUid) === 'object') {
|
|
1514
1634
|
for (var _i4 = 0, _Object$values = Object.values(productsByUid); _i4 < _Object$values.length; _i4++) {
|
|
1515
1635
|
var entry = _Object$values[_i4];
|
|
@@ -1540,17 +1660,17 @@ export function getOrderProductLineUid(product) {
|
|
|
1540
1660
|
return String(uid);
|
|
1541
1661
|
}
|
|
1542
1662
|
export function getRuntimeProductOrigin(tempOrder, product) {
|
|
1543
|
-
var _tempOrder$
|
|
1663
|
+
var _tempOrder$_extend3, _tempOrder$_extend4;
|
|
1544
1664
|
var uid = getOrderProductLineUid(product);
|
|
1545
|
-
if (uid && tempOrder !== null && tempOrder !== void 0 && (_tempOrder$
|
|
1665
|
+
if (uid && tempOrder !== null && tempOrder !== void 0 && (_tempOrder$_extend3 = tempOrder._extend) !== null && _tempOrder$_extend3 !== void 0 && (_tempOrder$_extend3 = _tempOrder$_extend3.productsByUid) !== null && _tempOrder$_extend3 !== void 0 && (_tempOrder$_extend3 = _tempOrder$_extend3[uid]) !== null && _tempOrder$_extend3 !== void 0 && _tempOrder$_extend3.origin) {
|
|
1546
1666
|
return tempOrder._extend.productsByUid[uid].origin;
|
|
1547
1667
|
}
|
|
1548
1668
|
var matchedProduct = ((tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.products) || []).find(function (item) {
|
|
1549
|
-
var
|
|
1550
|
-
return item === product || getOrderProductLineUid(item) === uid || String((
|
|
1669
|
+
var _ref35, _item$product_id, _ref36, _product$product_id;
|
|
1670
|
+
return item === product || getOrderProductLineUid(item) === uid || String((_ref35 = (_item$product_id = item === null || item === void 0 ? void 0 : item.product_id) !== null && _item$product_id !== void 0 ? _item$product_id : item === null || item === void 0 ? void 0 : item.id) !== null && _ref35 !== void 0 ? _ref35 : '') === String((_ref36 = (_product$product_id = product === null || product === void 0 ? void 0 : product.product_id) !== null && _product$product_id !== void 0 ? _product$product_id : product === null || product === void 0 ? void 0 : product.id) !== null && _ref36 !== void 0 ? _ref36 : '');
|
|
1551
1671
|
});
|
|
1552
1672
|
var matchedUid = matchedProduct ? getOrderProductLineUid(matchedProduct) : '';
|
|
1553
|
-
return matchedUid ? (tempOrder === null || tempOrder === void 0 || (_tempOrder$
|
|
1673
|
+
return matchedUid ? (tempOrder === null || tempOrder === void 0 || (_tempOrder$_extend4 = tempOrder._extend) === null || _tempOrder$_extend4 === void 0 || (_tempOrder$_extend4 = _tempOrder$_extend4.productsByUid) === null || _tempOrder$_extend4 === void 0 || (_tempOrder$_extend4 = _tempOrder$_extend4[matchedUid]) === null || _tempOrder$_extend4 === void 0 ? void 0 : _tempOrder$_extend4.origin) || null : null;
|
|
1554
1674
|
}
|
|
1555
1675
|
export function isHolderConfigRequired(holderConfig) {
|
|
1556
1676
|
if (!holderConfig || _typeof(holderConfig) !== 'object') return false;
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* 现金支付推荐算法
|
|
3
3
|
*
|
|
4
4
|
* 核心原理:
|
|
5
|
-
* 1.
|
|
6
|
-
* 2.
|
|
7
|
-
* 3.
|
|
8
|
-
* 4. 根据组合判断去重,避免扩展组合
|
|
5
|
+
* 1. 第一项始终是精确应付金额
|
|
6
|
+
* 2. 其余推荐只能是严格大于应付金额的真实币种面额
|
|
7
|
+
* 3. 最多推荐三个更高面额
|
|
9
8
|
*/
|
|
10
9
|
/**
|
|
11
10
|
* 常见国家货币面额配置
|
|
@@ -13,7 +12,7 @@
|
|
|
13
12
|
export declare const CURRENCY_DENOMINATIONS: Record<string, number[]>;
|
|
14
13
|
/**
|
|
15
14
|
* 最优支付金额推荐算法
|
|
16
|
-
*
|
|
15
|
+
* 返回精确应付金额,以及最多三个更高的真实币种面额
|
|
17
16
|
*
|
|
18
17
|
* @param targetAmount 目标金额
|
|
19
18
|
* @param denominations 币种面值数组
|