@pisell/pisellos 2.2.267 → 2.2.269
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/core/index.d.ts +2 -0
- package/dist/core/index.js +7 -0
- package/dist/model/strategy/adapter/promotion/adapter.d.ts +4 -0
- package/dist/model/strategy/adapter/promotion/adapter.js +23 -0
- package/dist/model/strategy/adapter/promotion/evaluator.d.ts +17 -0
- package/dist/model/strategy/adapter/promotion/evaluator.js +279 -6
- package/dist/model/strategy/adapter/promotion/examples.d.ts +86 -0
- package/dist/model/strategy/adapter/promotion/examples.js +99 -0
- package/dist/model/strategy/adapter/promotion/index.d.ts +1 -1
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/promotion/type.d.ts +90 -2
- package/dist/model/strategy/adapter/promotion/type.js +45 -0
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +12 -10
- package/dist/modules/OpenData/index.d.ts +2 -0
- package/dist/modules/OpenData/index.js +8 -0
- package/dist/modules/Order/index.d.ts +33 -13
- package/dist/modules/Order/index.js +883 -524
- package/dist/modules/Order/payment-utils.d.ts +26 -0
- package/dist/modules/Order/payment-utils.js +225 -0
- package/dist/modules/Order/types.d.ts +56 -4
- package/dist/modules/Order/types.js +11 -0
- package/dist/modules/Order/utils/orderCollectionIdentity.js +7 -2
- package/dist/modules/Order/utils.js +10 -6
- package/dist/modules/Payment/index.d.ts +2 -0
- package/dist/modules/Payment/index.js +78 -49
- package/dist/modules/Payment/types.d.ts +104 -25
- package/dist/modules/Payment/types.js +17 -0
- package/dist/modules/Payment/walletpass.d.ts +38 -1
- package/dist/modules/Payment/walletpass.js +917 -114
- package/dist/modules/Rules/index.d.ts +3 -0
- package/dist/modules/Rules/index.js +146 -106
- package/dist/modules/SalesSummary/utils.js +7 -1
- package/dist/server/index.d.ts +16 -0
- package/dist/server/index.js +1940 -1043
- package/dist/server/modules/index.d.ts +1 -1
- package/dist/server/modules/order/index.d.ts +70 -4
- package/dist/server/modules/order/index.js +1816 -728
- package/dist/server/modules/order/types.d.ts +25 -3
- package/dist/server/modules/order/types.js +7 -1
- package/dist/solution/BaseSales/index.d.ts +118 -9
- package/dist/solution/BaseSales/index.js +1849 -480
- package/dist/solution/BaseSales/types.d.ts +55 -1
- package/dist/solution/BaseSales/types.js +2 -1
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +3 -1
- package/dist/solution/BaseSales/utils/cartPromotion.js +90 -31
- package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +6 -1
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +6 -3
- package/dist/solution/BookingTicket/index.d.ts +8 -16
- package/dist/solution/BookingTicket/index.js +138 -52
- package/dist/solution/BookingTicket/types.d.ts +4 -0
- package/dist/solution/BookingTicket/utils/cartView.js +44 -32
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +8 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +173 -83
- package/dist/solution/Sales/index.d.ts +2 -0
- package/dist/solution/Sales/index.js +26 -4
- package/dist/solution/ScanOrder/index.js +31 -20
- package/dist/solution/VenueBooking/index.d.ts +1 -0
- package/dist/solution/VenueBooking/index.js +30 -19
- package/dist/types/index.d.ts +1 -0
- package/dist/utils/payment-number.d.ts +9 -0
- package/dist/utils/payment-number.js +69 -0
- package/lib/core/index.d.ts +2 -0
- package/lib/core/index.js +4 -0
- package/lib/model/strategy/adapter/promotion/adapter.d.ts +4 -0
- package/lib/model/strategy/adapter/promotion/adapter.js +20 -0
- package/lib/model/strategy/adapter/promotion/evaluator.d.ts +17 -0
- package/lib/model/strategy/adapter/promotion/evaluator.js +235 -0
- package/lib/model/strategy/adapter/promotion/examples.d.ts +86 -0
- package/lib/model/strategy/adapter/promotion/examples.js +91 -0
- package/lib/model/strategy/adapter/promotion/index.d.ts +1 -1
- package/lib/model/strategy/adapter/promotion/type.d.ts +90 -2
- package/lib/model/strategy/adapter/promotion/type.js +2 -0
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +3 -1
- package/lib/modules/OpenData/index.d.ts +2 -0
- package/lib/modules/OpenData/index.js +5 -0
- package/lib/modules/Order/index.d.ts +33 -13
- package/lib/modules/Order/index.js +306 -79
- package/lib/modules/Order/payment-utils.d.ts +26 -0
- package/lib/modules/Order/payment-utils.js +224 -0
- package/lib/modules/Order/types.d.ts +56 -4
- package/lib/modules/Order/utils/orderCollectionIdentity.js +3 -0
- package/lib/modules/Order/utils.js +11 -4
- package/lib/modules/Payment/index.d.ts +2 -0
- package/lib/modules/Payment/index.js +33 -12
- package/lib/modules/Payment/types.d.ts +104 -25
- package/lib/modules/Payment/types.js +1 -0
- package/lib/modules/Payment/walletpass.d.ts +38 -1
- package/lib/modules/Payment/walletpass.js +730 -21
- package/lib/modules/Rules/index.d.ts +3 -0
- package/lib/modules/Rules/index.js +54 -21
- package/lib/modules/SalesSummary/utils.js +5 -1
- package/lib/server/index.d.ts +16 -0
- package/lib/server/index.js +670 -18
- package/lib/server/modules/index.d.ts +1 -1
- package/lib/server/modules/order/index.d.ts +70 -4
- package/lib/server/modules/order/index.js +818 -69
- package/lib/server/modules/order/types.d.ts +25 -3
- package/lib/server/modules/order/types.js +1 -0
- package/lib/solution/BaseSales/index.d.ts +118 -9
- package/lib/solution/BaseSales/index.js +902 -38
- package/lib/solution/BaseSales/types.d.ts +55 -1
- package/lib/solution/BaseSales/types.js +2 -1
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +3 -1
- package/lib/solution/BaseSales/utils/cartPromotion.js +63 -12
- package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +6 -1
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +3 -2
- package/lib/solution/BookingTicket/index.d.ts +8 -16
- package/lib/solution/BookingTicket/index.js +63 -9
- package/lib/solution/BookingTicket/types.d.ts +4 -0
- package/lib/solution/BookingTicket/utils/cartView.js +43 -30
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +8 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +37 -5
- package/lib/solution/Sales/index.d.ts +2 -0
- package/lib/solution/Sales/index.js +20 -6
- package/lib/solution/ScanOrder/index.js +8 -0
- package/lib/solution/VenueBooking/index.d.ts +1 -0
- package/lib/solution/VenueBooking/index.js +8 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/utils/payment-number.d.ts +9 -0
- package/lib/utils/payment-number.js +64 -0
- package/package.json +1 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type OrderPaymentTransactionStatus = 'success' | 'fail';
|
|
2
|
+
export interface OrderPaymentTransaction {
|
|
3
|
+
number: string;
|
|
4
|
+
status: OrderPaymentTransactionStatus;
|
|
5
|
+
}
|
|
6
|
+
export type OrderPaymentIdentityType = 'order_payment_id' | 'payment_number' | 'unique_payment_number';
|
|
7
|
+
export interface OrderPaymentIdentityMatch<T> {
|
|
8
|
+
index: number;
|
|
9
|
+
payment: T;
|
|
10
|
+
matchedBy: OrderPaymentIdentityType;
|
|
11
|
+
}
|
|
12
|
+
export declare function getOrderPaymentIdentityKeys(payment: unknown): string[];
|
|
13
|
+
export declare function isPendingOrderPayment(payment: unknown): boolean;
|
|
14
|
+
export declare function isIdentifiedPendingOrderPayment(payment: unknown): boolean;
|
|
15
|
+
export declare function hasOrderPaymentIdentityOverlap(left: unknown, right: unknown): boolean;
|
|
16
|
+
export declare function resolveOrderPaymentIdentity<T extends Record<string, any>>(payments: T[] | null | undefined, identity: string | number, mode?: 'payment_number' | 'compat'): OrderPaymentIdentityMatch<T> | null;
|
|
17
|
+
export declare function ensureOrderPaymentNumber<T extends Record<string, any>>(payment: T, devicePrefix: string, createPaymentNumber: () => string): T & {
|
|
18
|
+
payment_number: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function mergeOrderPaymentTransactions(current: unknown, incoming: unknown): OrderPaymentTransaction[];
|
|
21
|
+
export declare function mergeOrderPaymentRecord<T extends Record<string, any>>(payment: T, updates: Record<string, any>): T;
|
|
22
|
+
export declare function mergeOrderPaymentSnapshot<T extends Record<string, any>>(current: T, incoming: T): T;
|
|
23
|
+
export declare function mergeOrderPaymentListsByIdentity<T extends Record<string, any>>(existing: T[] | null | undefined, incoming: T[] | null | undefined, options?: {
|
|
24
|
+
preserveUnmatchedExisting?: boolean;
|
|
25
|
+
preserveUnmatchedExistingWhen?: (payment: T) => boolean;
|
|
26
|
+
}): T[];
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function 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; }
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
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); }
|
|
7
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8
|
+
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."); }
|
|
9
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
10
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
11
|
+
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
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
var PAYMENT_IDENTITY_TYPES = ['payment_number', 'order_payment_id', 'unique_payment_number'];
|
|
15
|
+
function normalizePaymentIdentityValue(value) {
|
|
16
|
+
if (value === undefined || value === null || value === '') return null;
|
|
17
|
+
return String(value);
|
|
18
|
+
}
|
|
19
|
+
function getPaymentIdentityValue(payment, type) {
|
|
20
|
+
if (type === 'unique_payment_number') {
|
|
21
|
+
var _payment$metadata;
|
|
22
|
+
return payment === null || payment === void 0 || (_payment$metadata = payment.metadata) === null || _payment$metadata === void 0 ? void 0 : _payment$metadata.unique_payment_number;
|
|
23
|
+
}
|
|
24
|
+
return payment === null || payment === void 0 ? void 0 : payment[type];
|
|
25
|
+
}
|
|
26
|
+
export function getOrderPaymentIdentityKeys(payment) {
|
|
27
|
+
var record = payment;
|
|
28
|
+
if (!record) return [];
|
|
29
|
+
return PAYMENT_IDENTITY_TYPES.flatMap(function (type) {
|
|
30
|
+
var value = normalizePaymentIdentityValue(getPaymentIdentityValue(record, type));
|
|
31
|
+
return value === null ? [] : ["".concat(type, ":").concat(value)];
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export function isPendingOrderPayment(payment) {
|
|
35
|
+
var record = payment;
|
|
36
|
+
return String((record === null || record === void 0 ? void 0 : record.status) || '').toLowerCase() === 'payment_pending';
|
|
37
|
+
}
|
|
38
|
+
export function isIdentifiedPendingOrderPayment(payment) {
|
|
39
|
+
return isPendingOrderPayment(payment) && getOrderPaymentIdentityKeys(payment).length > 0;
|
|
40
|
+
}
|
|
41
|
+
export function hasOrderPaymentIdentityOverlap(left, right) {
|
|
42
|
+
var leftKeys = new Set(getOrderPaymentIdentityKeys(left));
|
|
43
|
+
if (leftKeys.size === 0) return false;
|
|
44
|
+
return getOrderPaymentIdentityKeys(right).some(function (key) {
|
|
45
|
+
return leftKeys.has(key);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export function resolveOrderPaymentIdentity(payments, identity) {
|
|
49
|
+
var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'payment_number';
|
|
50
|
+
var target = String(identity);
|
|
51
|
+
var identityTypes = mode === 'payment_number' ? ['payment_number'] : PAYMENT_IDENTITY_TYPES;
|
|
52
|
+
var matchesByIndex = new Map();
|
|
53
|
+
var _iterator = _createForOfIteratorHelper(identityTypes),
|
|
54
|
+
_step;
|
|
55
|
+
try {
|
|
56
|
+
var _loop = function _loop() {
|
|
57
|
+
var type = _step.value;
|
|
58
|
+
(payments || []).forEach(function (payment, index) {
|
|
59
|
+
var value = normalizePaymentIdentityValue(getPaymentIdentityValue(payment, type));
|
|
60
|
+
if (value === target && !matchesByIndex.has(index)) {
|
|
61
|
+
matchesByIndex.set(index, {
|
|
62
|
+
index: index,
|
|
63
|
+
payment: payment,
|
|
64
|
+
matchedBy: type
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
70
|
+
_loop();
|
|
71
|
+
}
|
|
72
|
+
} catch (err) {
|
|
73
|
+
_iterator.e(err);
|
|
74
|
+
} finally {
|
|
75
|
+
_iterator.f();
|
|
76
|
+
}
|
|
77
|
+
var matches = _toConsumableArray(matchesByIndex.values());
|
|
78
|
+
if (matches.length > 1) {
|
|
79
|
+
throw new Error("\u652F\u4ED8\u9879\u8EAB\u4EFD\u5B58\u5728\u6B67\u4E49: ".concat(target));
|
|
80
|
+
}
|
|
81
|
+
return matches[0] || null;
|
|
82
|
+
}
|
|
83
|
+
export function ensureOrderPaymentNumber(payment, devicePrefix, createPaymentNumber) {
|
|
84
|
+
var existing = normalizePaymentIdentityValue(payment.payment_number);
|
|
85
|
+
if (existing) return _objectSpread(_objectSpread({}, payment), {}, {
|
|
86
|
+
payment_number: existing
|
|
87
|
+
});
|
|
88
|
+
var uuid = normalizePaymentIdentityValue(payment.uuid) || createPaymentNumber();
|
|
89
|
+
var prefix = normalizePaymentIdentityValue(devicePrefix) || 'LOCAL';
|
|
90
|
+
// TODO: 使用 ID Generator 替换当前 UUID 段生成器。
|
|
91
|
+
return _objectSpread(_objectSpread({}, payment), {}, {
|
|
92
|
+
payment_number: "".concat(prefix, "_").concat(uuid)
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
export function mergeOrderPaymentTransactions(current, incoming) {
|
|
96
|
+
var records = new Map();
|
|
97
|
+
var append = function append(value) {
|
|
98
|
+
if (!Array.isArray(value)) return;
|
|
99
|
+
value.forEach(function (item) {
|
|
100
|
+
var number = item && _typeof(item) === 'object' ? String(item.number || '') : '';
|
|
101
|
+
var status = item && _typeof(item) === 'object' ? item.status : undefined;
|
|
102
|
+
if (!number || status !== 'success' && status !== 'fail') return;
|
|
103
|
+
var previous = records.get(number);
|
|
104
|
+
if ((previous === null || previous === void 0 ? void 0 : previous.status) === 'success' && status === 'fail') return;
|
|
105
|
+
records.set(number, {
|
|
106
|
+
number: number,
|
|
107
|
+
status: status
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
append(current);
|
|
112
|
+
append(incoming);
|
|
113
|
+
return _toConsumableArray(records.values());
|
|
114
|
+
}
|
|
115
|
+
export function mergeOrderPaymentRecord(payment, updates) {
|
|
116
|
+
var _updates$status, _updates$updated_at;
|
|
117
|
+
var currentMetadata = payment.metadata || {};
|
|
118
|
+
var incomingMetadata = updates.metadata || {};
|
|
119
|
+
var transactions = mergeOrderPaymentTransactions(currentMetadata.transactions, incomingMetadata.transactions);
|
|
120
|
+
var currentPaid = payment.status === 'paid';
|
|
121
|
+
var nextStatus = currentPaid && updates.status !== 'paid' ? 'paid' : (_updates$status = updates.status) !== null && _updates$status !== void 0 ? _updates$status : payment.status;
|
|
122
|
+
return _objectSpread(_objectSpread(_objectSpread({}, payment), updates), {}, {
|
|
123
|
+
status: nextStatus,
|
|
124
|
+
updated_at: (_updates$updated_at = updates.updated_at) !== null && _updates$updated_at !== void 0 ? _updates$updated_at : payment.updated_at,
|
|
125
|
+
metadata: _objectSpread(_objectSpread(_objectSpread({}, currentMetadata), incomingMetadata), transactions.length > 0 || Array.isArray(incomingMetadata.transactions) ? {
|
|
126
|
+
transactions: transactions
|
|
127
|
+
} : {})
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
export function mergeOrderPaymentSnapshot(current, incoming) {
|
|
131
|
+
var currentMetadata = current.metadata || {};
|
|
132
|
+
var incomingMetadata = incoming.metadata || {};
|
|
133
|
+
var currentUniquePaymentNumber = normalizePaymentIdentityValue(currentMetadata.unique_payment_number);
|
|
134
|
+
var incomingUniquePaymentNumber = normalizePaymentIdentityValue(incomingMetadata.unique_payment_number);
|
|
135
|
+
var incomingOrderPaymentId = normalizePaymentIdentityValue(incoming.order_payment_id);
|
|
136
|
+
var incomingFallbackPrefix = incomingOrderPaymentId ? "os-fallback:payment:order-payment:".concat(incomingOrderPaymentId) : null;
|
|
137
|
+
var incomingUsesDerivedUniquePaymentNumber = Boolean(incomingUniquePaymentNumber && incomingFallbackPrefix && (incomingUniquePaymentNumber === incomingFallbackPrefix || incomingUniquePaymentNumber.startsWith("".concat(incomingFallbackPrefix, ":conflict:"))));
|
|
138
|
+
var transactions = mergeOrderPaymentTransactions(currentMetadata.transactions, incomingMetadata.transactions);
|
|
139
|
+
return _objectSpread(_objectSpread(_objectSpread({}, current), incoming), {}, {
|
|
140
|
+
order_payment_id: normalizePaymentIdentityValue(incoming.order_payment_id) !== null ? incoming.order_payment_id : current.order_payment_id,
|
|
141
|
+
payment_number: incoming.payment_number || current.payment_number,
|
|
142
|
+
metadata: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, currentMetadata), incomingMetadata), incomingUsesDerivedUniquePaymentNumber && currentUniquePaymentNumber ? {
|
|
143
|
+
unique_payment_number: currentUniquePaymentNumber
|
|
144
|
+
} : {}), transactions.length > 0 ? {
|
|
145
|
+
transactions: transactions
|
|
146
|
+
} : {})
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
function compactOrderPaymentList(payments) {
|
|
150
|
+
var result = [];
|
|
151
|
+
var _iterator2 = _createForOfIteratorHelper(payments),
|
|
152
|
+
_step2;
|
|
153
|
+
try {
|
|
154
|
+
var _loop2 = function _loop2() {
|
|
155
|
+
var payment = _step2.value;
|
|
156
|
+
var matchingIndexes = result.flatMap(function (existing, index) {
|
|
157
|
+
return hasOrderPaymentIdentityOverlap(existing, payment) ? [index] : [];
|
|
158
|
+
});
|
|
159
|
+
if (matchingIndexes.length === 0) {
|
|
160
|
+
result.push(mergeOrderPaymentSnapshot({}, payment));
|
|
161
|
+
return 1; // continue
|
|
162
|
+
}
|
|
163
|
+
var firstIndex = matchingIndexes[0];
|
|
164
|
+
var merged = result[firstIndex];
|
|
165
|
+
var _iterator3 = _createForOfIteratorHelper(matchingIndexes.slice(1)),
|
|
166
|
+
_step3;
|
|
167
|
+
try {
|
|
168
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
169
|
+
var index = _step3.value;
|
|
170
|
+
merged = mergeOrderPaymentSnapshot(merged, result[index]);
|
|
171
|
+
}
|
|
172
|
+
} catch (err) {
|
|
173
|
+
_iterator3.e(err);
|
|
174
|
+
} finally {
|
|
175
|
+
_iterator3.f();
|
|
176
|
+
}
|
|
177
|
+
result[firstIndex] = mergeOrderPaymentSnapshot(merged, payment);
|
|
178
|
+
var _iterator4 = _createForOfIteratorHelper(matchingIndexes.slice(1).sort(function (a, b) {
|
|
179
|
+
return b - a;
|
|
180
|
+
})),
|
|
181
|
+
_step4;
|
|
182
|
+
try {
|
|
183
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
184
|
+
var _index = _step4.value;
|
|
185
|
+
result.splice(_index, 1);
|
|
186
|
+
}
|
|
187
|
+
} catch (err) {
|
|
188
|
+
_iterator4.e(err);
|
|
189
|
+
} finally {
|
|
190
|
+
_iterator4.f();
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
194
|
+
if (_loop2()) continue;
|
|
195
|
+
}
|
|
196
|
+
} catch (err) {
|
|
197
|
+
_iterator2.e(err);
|
|
198
|
+
} finally {
|
|
199
|
+
_iterator2.f();
|
|
200
|
+
}
|
|
201
|
+
return result;
|
|
202
|
+
}
|
|
203
|
+
export function mergeOrderPaymentListsByIdentity(existing, incoming) {
|
|
204
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
205
|
+
var existingList = compactOrderPaymentList(_toConsumableArray(existing || []));
|
|
206
|
+
var incomingList = compactOrderPaymentList(_toConsumableArray(incoming || []));
|
|
207
|
+
if (options.preserveUnmatchedExisting) {
|
|
208
|
+
return compactOrderPaymentList([].concat(_toConsumableArray(existingList), _toConsumableArray(incomingList)));
|
|
209
|
+
}
|
|
210
|
+
var mergedIncoming = incomingList.map(function (incomingPayment) {
|
|
211
|
+
var matchingExisting = existingList.filter(function (existingPayment) {
|
|
212
|
+
return hasOrderPaymentIdentityOverlap(existingPayment, incomingPayment);
|
|
213
|
+
});
|
|
214
|
+
return matchingExisting.reduce(function (merged, existingPayment) {
|
|
215
|
+
return mergeOrderPaymentSnapshot(existingPayment, merged);
|
|
216
|
+
}, incomingPayment);
|
|
217
|
+
});
|
|
218
|
+
var preservedExisting = options.preserveUnmatchedExistingWhen ? existingList.filter(function (existingPayment) {
|
|
219
|
+
var _options$preserveUnma;
|
|
220
|
+
return !incomingList.some(function (incomingPayment) {
|
|
221
|
+
return hasOrderPaymentIdentityOverlap(existingPayment, incomingPayment);
|
|
222
|
+
}) && ((_options$preserveUnma = options.preserveUnmatchedExistingWhen) === null || _options$preserveUnma === void 0 ? void 0 : _options$preserveUnma.call(options, existingPayment));
|
|
223
|
+
}) : [];
|
|
224
|
+
return compactOrderPaymentList([].concat(_toConsumableArray(mergedIncoming), _toConsumableArray(preservedExisting)));
|
|
225
|
+
}
|
|
@@ -165,6 +165,8 @@ export interface OrderCustomerChangePayload {
|
|
|
165
165
|
}
|
|
166
166
|
export interface OrderScanCodeResult {
|
|
167
167
|
isAvailable: boolean;
|
|
168
|
+
/** 卡券已加入当前订单折扣列表,但不一定能立即应用。 */
|
|
169
|
+
isAccepted?: boolean;
|
|
168
170
|
discountList: Discount[];
|
|
169
171
|
scannedDiscountList: Discount[];
|
|
170
172
|
type: 'server' | 'clientCalc';
|
|
@@ -319,6 +321,24 @@ export interface ReplaceTempOrderOptions {
|
|
|
319
321
|
saveDraft?: boolean;
|
|
320
322
|
}
|
|
321
323
|
export type AddProductBookingInput = Record<string, any>;
|
|
324
|
+
/**
|
|
325
|
+
* 添加商品行时的顺序控制。
|
|
326
|
+
* 默认追加到 products 尾部;预约数量同步可插入到既有预约组的最新行之后,
|
|
327
|
+
* 避免步进器修改数量改变该组展示位置。
|
|
328
|
+
*/
|
|
329
|
+
export interface AddProductToOrderOptions {
|
|
330
|
+
insertAfterProductUid?: string;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* 删除商品后的可选位置保持策略。
|
|
334
|
+
* 预约合并行减量时仍删除最新真实行,再把剩余代表行移动到被删除代表行原位置。
|
|
335
|
+
*/
|
|
336
|
+
export interface RemoveProductsFromOrderOptions {
|
|
337
|
+
preserveDisplayPosition?: {
|
|
338
|
+
remainingProductUid: string;
|
|
339
|
+
anchorProductUid: string;
|
|
340
|
+
};
|
|
341
|
+
}
|
|
322
342
|
/** 更新购物车行:仅传 SKU 时命中同 SKU 第一行;多行同 SKU 须传 unique_identification_number / 选项指纹等 */
|
|
323
343
|
export interface UpdateOrderProductParams {
|
|
324
344
|
product_id: number | null;
|
|
@@ -468,6 +488,8 @@ export interface SubmitSalesOrderParams {
|
|
|
468
488
|
export interface PaymentItemData {
|
|
469
489
|
/** 当前支付项的唯一 ID */
|
|
470
490
|
uuid: string;
|
|
491
|
+
/** 支付项稳定唯一号 */
|
|
492
|
+
payment_number?: string;
|
|
471
493
|
/** 当前支付方式付出去多少钱 */
|
|
472
494
|
amount: string;
|
|
473
495
|
/** 支付类型代码 */
|
|
@@ -490,13 +512,22 @@ export interface PaymentItemData {
|
|
|
490
512
|
export interface OrderPaymentMetadata {
|
|
491
513
|
rounding_rule?: Record<string, any>;
|
|
492
514
|
unique_payment_number?: string;
|
|
515
|
+
/** 刷卡机设备快照;OS 不解析内部字段,仅透传并持久化 */
|
|
516
|
+
card_reader_snapshot?: Record<string, unknown>;
|
|
493
517
|
shop_wallet_pass_id?: number | string;
|
|
494
518
|
actual_paid_amount?: number | string;
|
|
495
519
|
change_given_amount?: number | string;
|
|
520
|
+
transactions?: OrderPaymentTransaction[];
|
|
496
521
|
[key: string]: any;
|
|
497
522
|
}
|
|
523
|
+
export interface OrderPaymentTransaction {
|
|
524
|
+
number: string;
|
|
525
|
+
status: 'success' | 'fail';
|
|
526
|
+
}
|
|
498
527
|
export interface OrderPaymentData {
|
|
499
528
|
order_payment_id?: number | string;
|
|
529
|
+
/** 支付项稳定唯一号;历史支付项允许缺失 */
|
|
530
|
+
payment_number?: string;
|
|
500
531
|
amount: string;
|
|
501
532
|
code: string;
|
|
502
533
|
custom_payment_id: number;
|
|
@@ -523,6 +554,15 @@ export interface OrderPaymentData {
|
|
|
523
554
|
created_at?: string;
|
|
524
555
|
updated_at?: string;
|
|
525
556
|
}
|
|
557
|
+
export interface OrderPaymentUpdateOptions {
|
|
558
|
+
matchBy?: 'payment_number' | 'compat' | 'legacy';
|
|
559
|
+
}
|
|
560
|
+
export interface OrderPaymentUpdateResult {
|
|
561
|
+
updated: boolean;
|
|
562
|
+
payment: OrderPaymentData | null;
|
|
563
|
+
payments: OrderPaymentData[];
|
|
564
|
+
summary: OrderSummary | null;
|
|
565
|
+
}
|
|
526
566
|
export type OrderPaymentSource = PaymentItem | OrderPaymentData | Record<string, any>;
|
|
527
567
|
export interface MapOrderPaymentsOptions {
|
|
528
568
|
includeVoided?: boolean;
|
|
@@ -673,6 +713,14 @@ export interface OrderModuleAPI {
|
|
|
673
713
|
channel?: string;
|
|
674
714
|
type?: string;
|
|
675
715
|
}) => OrderSubmitPayload;
|
|
716
|
+
saveTempOrderAsDraft: <T = any>(params?: {
|
|
717
|
+
cacheId?: string;
|
|
718
|
+
platform?: string;
|
|
719
|
+
businessCode?: string;
|
|
720
|
+
channel?: string;
|
|
721
|
+
type?: string;
|
|
722
|
+
enhancePayload?: SubmitPayloadEnhancer;
|
|
723
|
+
}) => Promise<T>;
|
|
676
724
|
applyLocalPrintOrderNumbers: (order?: Record<string, any> | null) => Promise<OrderTempOrder>;
|
|
677
725
|
getTempOrderNote: () => string;
|
|
678
726
|
updateTempOrderNote: {
|
|
@@ -685,15 +733,15 @@ export interface OrderModuleAPI {
|
|
|
685
733
|
updateTempOrderCustomer: (customer: UpdateTempOrderCustomerInput) => OrderSnapshot['customer'];
|
|
686
734
|
updateTempOrderBuzzer: (buzzer: string) => string;
|
|
687
735
|
updateTempOrderContactsInfo: (contactsInfo: Record<string, any> | null) => Record<string, any> | null;
|
|
688
|
-
addProductToOrder: (product: Partial<OrderProduct> & OrderProductIdentity, booking?: AddProductBookingInput) => Promise<OrderProduct[]>;
|
|
736
|
+
addProductToOrder: (product: Partial<OrderProduct> & OrderProductIdentity, booking?: AddProductBookingInput, options?: AddProductToOrderOptions) => Promise<OrderProduct[]>;
|
|
689
737
|
updateOrderProduct: (params: UpdateOrderProductParams) => Promise<OrderProduct[]>;
|
|
690
738
|
/** 批量更新购物车行,末尾仅触发一次促销重算与 summary 刷新 */
|
|
691
739
|
updateOrderProducts: (paramsList: UpdateOrderProductParams[]) => Promise<OrderProduct[]>;
|
|
692
740
|
updateOrderProductQuantity: (params: UpdateOrderProductQuantityParams) => Promise<OrderProduct[]>;
|
|
693
741
|
updateOrderBooking: (params: UpdateOrderBookingParams) => any[];
|
|
694
|
-
removeProductFromOrder: (identity: OrderProductIdentity) => Promise<OrderProduct[]>;
|
|
742
|
+
removeProductFromOrder: (identity: OrderProductIdentity, options?: RemoveProductsFromOrderOptions) => Promise<OrderProduct[]>;
|
|
695
743
|
/** 批量删除购物车行,末尾仅触发一次促销重算与 summary 刷新 */
|
|
696
|
-
removeProductsFromOrder: (identities: OrderProductIdentity[]) => Promise<OrderProduct[]>;
|
|
744
|
+
removeProductsFromOrder: (identities: OrderProductIdentity[], options?: RemoveProductsFromOrderOptions) => Promise<OrderProduct[]>;
|
|
697
745
|
/** @deprecated no-op;OrderModule 不再负责 tempOrder localStorage 持久化。 */
|
|
698
746
|
persistTempOrder: () => void;
|
|
699
747
|
/**
|
|
@@ -730,11 +778,15 @@ export interface OrderModuleAPI {
|
|
|
730
778
|
getOrderPayments: () => OrderPaymentData[];
|
|
731
779
|
setOrderPayments: (payments: OrderPaymentSource[]) => OrderPaymentData[];
|
|
732
780
|
addOrderPayment: (payment: OrderPaymentSource) => OrderPaymentData[];
|
|
733
|
-
|
|
781
|
+
addOrderPaymentAsync: (payment: OrderPaymentSource) => Promise<OrderPaymentData[]>;
|
|
782
|
+
updateOrderPayment: (paymentIdentity: string | number, updates: Partial<OrderPaymentData> & Record<string, any>, options?: OrderPaymentUpdateOptions) => Promise<OrderPaymentUpdateResult>;
|
|
734
783
|
deleteOrderPayment: (paymentIdentity: string | number) => OrderPaymentData[];
|
|
735
784
|
updateVoucherOrderPayments: (payments: OrderPaymentSource[], options?: {
|
|
736
785
|
status?: 'paid' | 'payment_pending';
|
|
737
786
|
}) => OrderPaymentData[];
|
|
787
|
+
updateVoucherOrderPaymentsAsync: (payments: OrderPaymentSource[], options?: {
|
|
788
|
+
status?: 'paid' | 'payment_pending';
|
|
789
|
+
}) => Promise<OrderPaymentData[]>;
|
|
738
790
|
confirmPendingVoucherPayments: (options?: {
|
|
739
791
|
persist?: boolean;
|
|
740
792
|
recalculateSummary?: boolean;
|
|
@@ -63,6 +63,17 @@ export var OrderHooks = /*#__PURE__*/function (OrderHooks) {
|
|
|
63
63
|
* 清空时整个 payload 为 null。
|
|
64
64
|
*/
|
|
65
65
|
|
|
66
|
+
/**
|
|
67
|
+
* 添加商品行时的顺序控制。
|
|
68
|
+
* 默认追加到 products 尾部;预约数量同步可插入到既有预约组的最新行之后,
|
|
69
|
+
* 避免步进器修改数量改变该组展示位置。
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* 删除商品后的可选位置保持策略。
|
|
74
|
+
* 预约合并行减量时仍删除最新真实行,再把剩余代表行移动到被删除代表行原位置。
|
|
75
|
+
*/
|
|
76
|
+
|
|
66
77
|
/** 更新购物车行:仅传 SKU 时命中同 SKU 第一行;多行同 SKU 须传 unique_identification_number / 选项指纹等 */
|
|
67
78
|
|
|
68
79
|
/** 仅更新购物车行数量;行定位语义与 updateOrderProduct / removeProductFromOrder 保持一致 */
|
|
@@ -209,6 +209,11 @@ export function normalizeOrderCollection(kind, items, options) {
|
|
|
209
209
|
var persistentId = getOrderCollectionPersistentId(kind, item);
|
|
210
210
|
var uid = getOrderCollectionUid(kind, item);
|
|
211
211
|
if (!uid) {
|
|
212
|
+
var _item;
|
|
213
|
+
if (kind === 'payment' && !isBlankOrderCollectionIdentity((_item = item) === null || _item === void 0 ? void 0 : _item.payment_number)) {
|
|
214
|
+
// payment_number 已提供稳定身份,不占用真实交易流水字段作为内部 UID。
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
212
217
|
uid = persistentId ? buildOrderCollectionFallbackUid(kind, persistentId) : allocateAnonymousUid(occupiedUids, createAnonymousUid);
|
|
213
218
|
item = setOrderCollectionUid(kind, item, uid);
|
|
214
219
|
result[index] = item;
|
|
@@ -216,7 +221,7 @@ export function normalizeOrderCollection(kind, items, options) {
|
|
|
216
221
|
if (!persistentId) stats.anonymousRowCount += 1;
|
|
217
222
|
}
|
|
218
223
|
if (occupiedUids.has(uid)) {
|
|
219
|
-
var
|
|
224
|
+
var _item2, _item3, _item4, _item5;
|
|
220
225
|
var replacementUid = persistentId ? allocatePersistentConflictUid(kind, persistentId, occupiedUids) : allocateAnonymousUid(occupiedUids, createAnonymousUid);
|
|
221
226
|
result[index] = setOrderCollectionUid(kind, item, replacementUid);
|
|
222
227
|
uidRemaps.push({
|
|
@@ -225,7 +230,7 @@ export function normalizeOrderCollection(kind, items, options) {
|
|
|
225
230
|
to: replacementUid,
|
|
226
231
|
persistentId: persistentId,
|
|
227
232
|
scope: 'linked-owner',
|
|
228
|
-
referenceOwnerUid: kind === 'product' ? String(((
|
|
233
|
+
referenceOwnerUid: kind === 'product' ? String(((_item2 = item) === null || _item2 === void 0 ? void 0 : _item2.booking_uid) || ((_item3 = item) === null || _item3 === void 0 || (_item3 = _item3.metadata) === null || _item3 === void 0 ? void 0 : _item3.booking_uid) || '') || null : kind === 'booking' ? String(((_item4 = item) === null || _item4 === void 0 ? void 0 : _item4.product_uid) || ((_item5 = item) === null || _item5 === void 0 || (_item5 = _item5.metadata) === null || _item5 === void 0 ? void 0 : _item5.product_uid) || '') || null : null
|
|
229
234
|
});
|
|
230
235
|
uid = replacementUid;
|
|
231
236
|
stats.uidConflictCount += 1;
|
|
@@ -533,7 +533,8 @@ export function resolveEffectivePerUnitDiscount(product) {
|
|
|
533
533
|
return sum + Number((discount === null || discount === void 0 ? void 0 : discount.amount) || 0);
|
|
534
534
|
}, 0);
|
|
535
535
|
var hasPromoDiscountItem = discountList.some(function (item) {
|
|
536
|
-
|
|
536
|
+
var _item$metadata, _item$metadata2;
|
|
537
|
+
return (item === null || item === void 0 ? void 0 : item.type) === 'promotion' || (item === null || item === void 0 ? void 0 : item.type) === 'product' && (item === null || item === void 0 || (_item$metadata = item.metadata) === null || _item$metadata === void 0 ? void 0 : _item$metadata.source) === 'promotion' && (item === null || item === void 0 || (_item$metadata2 = item.metadata) === null || _item$metadata2 === void 0 ? void 0 : _item$metadata2.actionType) === 'ITEM_REWARD';
|
|
537
538
|
});
|
|
538
539
|
if (hasPromoDiscountItem) return fromList;
|
|
539
540
|
var metadata = (product === null || product === void 0 ? void 0 : product.metadata) || {};
|
|
@@ -1047,7 +1048,7 @@ export function createDefaultTempOrder(params) {
|
|
|
1047
1048
|
};
|
|
1048
1049
|
}
|
|
1049
1050
|
export function buildSubmitPayload(params) {
|
|
1050
|
-
var _tempOrder$customer_i, _tempOrder$order_numb, _tempOrder$shop_order, _tempOrder$shop_full_, _ref30, _tempOrder$is_price_i, _tempOrder$is_deposit, _enhancedPayload$summ;
|
|
1051
|
+
var _tempOrder$customer_i, _tempOrder$country_ca, _tempOrder$phone, _tempOrder$email, _tempOrder$order_numb, _tempOrder$shop_order, _tempOrder$shop_full_, _ref30, _tempOrder$is_price_i, _tempOrder$is_deposit, _enhancedPayload$summ;
|
|
1051
1052
|
var tempOrder = params.tempOrder,
|
|
1052
1053
|
cacheId = params.cacheId,
|
|
1053
1054
|
_params$now = params.now,
|
|
@@ -1093,6 +1094,9 @@ export function buildSubmitPayload(params) {
|
|
|
1093
1094
|
var payload = _objectSpread(_objectSpread({}, tempOrderRest), {}, {
|
|
1094
1095
|
customer_id: (_tempOrder$customer_i = tempOrder.customer_id) !== null && _tempOrder$customer_i !== void 0 ? _tempOrder$customer_i : 1,
|
|
1095
1096
|
customer_name: tempOrder.customer_name || 'Walk-In',
|
|
1097
|
+
country_calling_code: String((_tempOrder$country_ca = tempOrder.country_calling_code) !== null && _tempOrder$country_ca !== void 0 ? _tempOrder$country_ca : ''),
|
|
1098
|
+
phone: String((_tempOrder$phone = tempOrder.phone) !== null && _tempOrder$phone !== void 0 ? _tempOrder$phone : ''),
|
|
1099
|
+
email: String((_tempOrder$email = tempOrder.email) !== null && _tempOrder$email !== void 0 ? _tempOrder$email : ''),
|
|
1096
1100
|
order_number: (_tempOrder$order_numb = tempOrder.order_number) !== null && _tempOrder$order_numb !== void 0 ? _tempOrder$order_numb : null,
|
|
1097
1101
|
shop_order_number: (_tempOrder$shop_order = tempOrder.shop_order_number) !== null && _tempOrder$shop_order !== void 0 ? _tempOrder$shop_order : null,
|
|
1098
1102
|
shop_full_order_number: (_tempOrder$shop_full_ = tempOrder.shop_full_order_number) !== null && _tempOrder$shop_full_ !== void 0 ? _tempOrder$shop_full_ : null,
|
|
@@ -1152,9 +1156,7 @@ export function mapPaymentItemToOrderPayment(paymentItem) {
|
|
|
1152
1156
|
var item = paymentItem;
|
|
1153
1157
|
var customPaymentId = (_item$custom_payment_ = item.custom_payment_id) !== null && _item$custom_payment_ !== void 0 ? _item$custom_payment_ : item.id;
|
|
1154
1158
|
var metadata = item.metadata && _typeof(item.metadata) === 'object' ? _objectSpread({}, item.metadata) : {};
|
|
1155
|
-
|
|
1156
|
-
metadata.unique_payment_number = String(item.uuid);
|
|
1157
|
-
}
|
|
1159
|
+
var paymentNumber = item.payment_number;
|
|
1158
1160
|
var paymentMetadataKeys = ['rounding_rule', 'shop_wallet_pass_id', 'actual_paid_amount', 'change_given_amount'];
|
|
1159
1161
|
for (var _i3 = 0, _paymentMetadataKeys = paymentMetadataKeys; _i3 < _paymentMetadataKeys.length; _i3++) {
|
|
1160
1162
|
var key = _paymentMetadataKeys[_i3];
|
|
@@ -1165,8 +1167,10 @@ export function mapPaymentItemToOrderPayment(paymentItem) {
|
|
|
1165
1167
|
var timestamp = dayjs().format('YYYY-MM-DD HH:mm:ss');
|
|
1166
1168
|
var paymentTime = (_item$payment_time = item.payment_time) !== null && _item$payment_time !== void 0 ? _item$payment_time : timestamp;
|
|
1167
1169
|
var createdAt = (_item$created_at = item.created_at) !== null && _item$created_at !== void 0 ? _item$created_at : timestamp;
|
|
1168
|
-
return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, item.order_payment_id !== undefined ? {
|
|
1170
|
+
return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, item.order_payment_id !== undefined ? {
|
|
1169
1171
|
order_payment_id: item.order_payment_id
|
|
1172
|
+
} : {}), paymentNumber !== undefined && paymentNumber !== null && paymentNumber !== '' ? {
|
|
1173
|
+
payment_number: String(paymentNumber)
|
|
1170
1174
|
} : {}), {}, {
|
|
1171
1175
|
amount: String((_item$amount = item.amount) !== null && _item$amount !== void 0 ? _item$amount : '0.00'),
|
|
1172
1176
|
code: String(item.code || ''),
|
|
@@ -20,6 +20,7 @@ export declare class PaymentModule extends BaseModule implements Module, Payment
|
|
|
20
20
|
protected defaultVersion: string;
|
|
21
21
|
request: RequestPlugin;
|
|
22
22
|
private app;
|
|
23
|
+
private appPlugin;
|
|
23
24
|
private store;
|
|
24
25
|
window: WindowPlugin;
|
|
25
26
|
private dbManager;
|
|
@@ -40,6 +41,7 @@ export declare class PaymentModule extends BaseModule implements Module, Payment
|
|
|
40
41
|
* paymentModule.updateOtherParams({ fatherModule: 'bookingTicket' });
|
|
41
42
|
*/
|
|
42
43
|
updateOtherParams(params: Record<string, any>): void;
|
|
44
|
+
private getPaymentNumberAppData;
|
|
43
45
|
/**
|
|
44
46
|
* 记录信息日志
|
|
45
47
|
*/
|