@pisell/pisellos 2.2.262 → 2.2.264
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/index.d.ts +0 -4
- package/dist/model/strategy/adapter/index.js +1 -5
- 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/type.d.ts +90 -2
- package/dist/model/strategy/adapter/promotion/type.js +45 -0
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +10 -16
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +1 -2
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +1 -1
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +1 -32
- package/dist/modules/Discount/index.d.ts +2 -5
- package/dist/modules/Discount/index.js +7 -30
- package/dist/modules/Discount/types.d.ts +0 -4
- package/dist/modules/Order/index.d.ts +2 -14
- package/dist/modules/Order/index.js +736 -1035
- package/dist/modules/Order/types.d.ts +0 -16
- package/dist/modules/Order/utils.d.ts +3 -4
- package/dist/modules/Order/utils.js +61 -54
- package/dist/modules/Product/types.d.ts +0 -22
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +2 -4
- package/dist/modules/ProductList/types.d.ts +0 -2
- package/dist/modules/Rules/index.d.ts +9 -2
- package/dist/modules/Rules/index.js +43 -69
- package/dist/modules/Rules/types.d.ts +1 -10
- package/dist/server/index.d.ts +0 -55
- package/dist/server/index.js +742 -1161
- package/dist/server/modules/order/index.d.ts +4 -10
- package/dist/server/modules/order/index.js +399 -404
- package/dist/server/modules/order/types.d.ts +0 -4
- package/dist/server/modules/products/index.d.ts +8 -31
- package/dist/server/modules/products/index.js +390 -549
- package/dist/server/modules/products/types.d.ts +0 -18
- package/dist/solution/BaseSales/index.d.ts +1 -21
- package/dist/solution/BaseSales/index.js +789 -1136
- package/dist/solution/BaseSales/types.d.ts +1 -6
- package/dist/solution/BaseSales/types.js +1 -1
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +3 -1
- package/dist/solution/BaseSales/utils/cartPromotion.js +97 -50
- package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +3 -3
- package/dist/solution/BaseSales/utils/parseSalesResponse.js +8 -6
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +1 -14
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +25 -59
- package/dist/solution/BookingTicket/types.d.ts +0 -2
- package/dist/solution/ScanOrder/index.js +31 -20
- package/dist/solution/ShopDiscount/index.js +14 -15
- package/dist/solution/VenueBooking/index.js +30 -19
- package/lib/model/strategy/adapter/index.d.ts +0 -4
- package/lib/model/strategy/adapter/index.js +2 -13
- 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/index.js +51 -0
- 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 +0 -5
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -1
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +1 -1
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +2 -23
- package/lib/modules/Discount/index.d.ts +2 -5
- package/lib/modules/Discount/index.js +3 -23
- package/lib/modules/Discount/types.d.ts +0 -4
- package/lib/modules/Order/index.d.ts +2 -14
- package/lib/modules/Order/index.js +60 -326
- package/lib/modules/Order/types.d.ts +0 -16
- package/lib/modules/Order/utils.d.ts +3 -4
- package/lib/modules/Order/utils.js +23 -22
- package/lib/modules/Product/types.d.ts +0 -22
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +2 -4
- package/lib/modules/ProductList/types.d.ts +0 -2
- package/lib/modules/Rules/index.d.ts +9 -2
- package/lib/modules/Rules/index.js +29 -61
- package/lib/modules/Rules/types.d.ts +1 -10
- package/lib/server/index.d.ts +0 -55
- package/lib/server/index.js +31 -327
- package/lib/server/modules/order/index.d.ts +4 -10
- package/lib/server/modules/order/index.js +139 -198
- package/lib/server/modules/order/types.d.ts +0 -4
- package/lib/server/modules/products/index.d.ts +8 -31
- package/lib/server/modules/products/index.js +35 -134
- package/lib/server/modules/products/types.d.ts +0 -18
- package/lib/solution/BaseSales/index.d.ts +1 -21
- package/lib/solution/BaseSales/index.js +72 -313
- package/lib/solution/BaseSales/types.d.ts +1 -6
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +3 -1
- package/lib/solution/BaseSales/utils/cartPromotion.js +64 -25
- package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +3 -3
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +5 -4
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +0 -8
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +8 -33
- package/lib/solution/BookingTicket/types.d.ts +0 -2
- package/lib/solution/ScanOrder/index.js +8 -0
- package/lib/solution/ShopDiscount/index.js +1 -2
- package/lib/solution/VenueBooking/index.js +8 -0
- package/package.json +1 -1
- package/dist/model/strategy/adapter/dataVariant/adapter.d.ts +0 -50
- package/dist/model/strategy/adapter/dataVariant/adapter.js +0 -167
- package/dist/model/strategy/adapter/dataVariant/evaluator.d.ts +0 -89
- package/dist/model/strategy/adapter/dataVariant/evaluator.js +0 -780
- package/dist/model/strategy/adapter/dataVariant/examples.d.ts +0 -39
- package/dist/model/strategy/adapter/dataVariant/examples.js +0 -277
- package/dist/model/strategy/adapter/dataVariant/index.d.ts +0 -4
- package/dist/model/strategy/adapter/dataVariant/index.js +0 -4
- package/dist/model/strategy/adapter/dataVariant/type.d.ts +0 -148
- package/dist/model/strategy/adapter/dataVariant/type.js +0 -54
- package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +0 -53
- package/dist/modules/Order/utils/orderCollectionIdentity.js +0 -405
- package/lib/model/strategy/adapter/dataVariant/adapter.d.ts +0 -50
- package/lib/model/strategy/adapter/dataVariant/adapter.js +0 -149
- package/lib/model/strategy/adapter/dataVariant/evaluator.d.ts +0 -89
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +0 -583
- package/lib/model/strategy/adapter/dataVariant/examples.d.ts +0 -39
- package/lib/model/strategy/adapter/dataVariant/examples.js +0 -293
- package/lib/model/strategy/adapter/dataVariant/index.d.ts +0 -4
- package/lib/model/strategy/adapter/dataVariant/index.js +0 -38
- package/lib/model/strategy/adapter/dataVariant/type.d.ts +0 -148
- package/lib/model/strategy/adapter/dataVariant/type.js +0 -31
- package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +0 -53
- package/lib/modules/Order/utils/orderCollectionIdentity.js +0 -415
|
@@ -136,9 +136,6 @@ function resolveProductTitle(product, booking, sourceProduct) {
|
|
|
136
136
|
const metadata = product.metadata || {};
|
|
137
137
|
return (sourceProduct == null ? void 0 : sourceProduct.title) ?? (sourceProduct == null ? void 0 : sourceProduct.name) ?? metadata.product_title ?? metadata.product_name ?? ((_a = booking == null ? void 0 : booking.product) == null ? void 0 : _a.title) ?? ((_b = booking == null ? void 0 : booking.detail) == null ? void 0 : _b.product_title) ?? "";
|
|
138
138
|
}
|
|
139
|
-
function resolveProductCover(product, booking, sourceProduct) {
|
|
140
|
-
return (sourceProduct == null ? void 0 : sourceProduct.cover) ?? product.product_cover ?? "";
|
|
141
|
-
}
|
|
142
139
|
function resolveMainProductPrice(product, fallback) {
|
|
143
140
|
const metadata = product.metadata || {};
|
|
144
141
|
const value = metadata.main_product_original_price ?? metadata.source_product_price;
|
|
@@ -198,7 +195,6 @@ function buildCacheItemFromOrderLine(input) {
|
|
|
198
195
|
const capacity = resolveCapacityFromBooking(booking);
|
|
199
196
|
const holderId = ((_a = booking.metadata) == null ? void 0 : _a.holder_id) ?? booking.holder_id;
|
|
200
197
|
const productTitle = resolveProductTitle(product, booking, sourceProduct);
|
|
201
|
-
const productCover = resolveProductCover(product, booking, sourceProduct);
|
|
202
198
|
const productOptionString = (0, import_orderLineDisplay.buildProductOptionStringFromOrderLine)(product);
|
|
203
199
|
const other = {
|
|
204
200
|
product_variant_id: product.product_variant_id ?? 0,
|
|
@@ -218,7 +214,6 @@ function buildCacheItemFromOrderLine(input) {
|
|
|
218
214
|
sub_type: booking.sub_type,
|
|
219
215
|
quantity: product.num ?? 1,
|
|
220
216
|
product_name: productTitle,
|
|
221
|
-
product_cover: productCover,
|
|
222
217
|
note: product.note ?? ((_b = booking == null ? void 0 : booking.detail) == null ? void 0 : _b.note) ?? "",
|
|
223
218
|
price: mainProductPrice,
|
|
224
219
|
total: selling,
|
|
@@ -136,7 +136,6 @@ function buildNormalProductCacheItemFromOrderLine(input) {
|
|
|
136
136
|
product_id: resolvedId,
|
|
137
137
|
_id: uid,
|
|
138
138
|
title: (sourceProduct == null ? void 0 : sourceProduct.title) ?? product.product_title ?? "",
|
|
139
|
-
cover: (sourceProduct == null ? void 0 : sourceProduct.cover) ?? product.product_cover ?? "",
|
|
140
139
|
price: (sourceProduct == null ? void 0 : sourceProduct.price) ?? sourcePrice,
|
|
141
140
|
selling_price: product.selling_price,
|
|
142
141
|
original_price: product.original_price,
|
|
@@ -48,7 +48,7 @@ export interface BookingResourceInput {
|
|
|
48
48
|
capacity?: number;
|
|
49
49
|
like_status?: string;
|
|
50
50
|
metadata?: Record<string, any>;
|
|
51
|
-
children?:
|
|
51
|
+
children?: any[];
|
|
52
52
|
}
|
|
53
53
|
/** custom / package 人数维度快照,与 info2 `_extend.capacity` / `metadata.capacity` 对齐。 */
|
|
54
54
|
export interface BookingCapacityMetadataItem {
|
|
@@ -88,24 +88,6 @@ function resolveDurationMinutes(value) {
|
|
|
88
88
|
const n = Number(value);
|
|
89
89
|
return Number.isNaN(n) ? void 0 : n;
|
|
90
90
|
}
|
|
91
|
-
function normalizeChildResource(child, parentFormId) {
|
|
92
|
-
const item = {
|
|
93
|
-
form_id: (child == null ? void 0 : child.form_id) ?? parentFormId,
|
|
94
|
-
relation_type: (child == null ? void 0 : child.relation_type) || "form",
|
|
95
|
-
relation_id: (child == null ? void 0 : child.relation_id) ?? (child == null ? void 0 : child.id),
|
|
96
|
-
capacity: child == null ? void 0 : child.capacity,
|
|
97
|
-
like_status: (child == null ? void 0 : child.like_status) || "common"
|
|
98
|
-
};
|
|
99
|
-
if ((child == null ? void 0 : child.metadata) !== void 0) {
|
|
100
|
-
item.metadata = { ...child.metadata };
|
|
101
|
-
}
|
|
102
|
-
if (Array.isArray(child == null ? void 0 : child.children)) {
|
|
103
|
-
item.children = child.children.map(
|
|
104
|
-
(nestedChild) => normalizeChildResource(nestedChild, item.form_id)
|
|
105
|
-
);
|
|
106
|
-
}
|
|
107
|
-
return item;
|
|
108
|
-
}
|
|
109
91
|
function flattenResources(cacheItem) {
|
|
110
92
|
var _a;
|
|
111
93
|
const resourceMap = ((_a = cacheItem == null ? void 0 : cacheItem._extend) == null ? void 0 : _a.resource) || {};
|
|
@@ -125,11 +107,8 @@ function flattenResources(cacheItem) {
|
|
|
125
107
|
if ((r == null ? void 0 : r.metadata) !== void 0) {
|
|
126
108
|
item.metadata = { ...r.metadata };
|
|
127
109
|
}
|
|
128
|
-
if (
|
|
129
|
-
item.children = r.children
|
|
130
|
-
(child) => normalizeChildResource(child, item.form_id)
|
|
131
|
-
);
|
|
132
|
-
}
|
|
110
|
+
if ((r == null ? void 0 : r.children) !== void 0)
|
|
111
|
+
item.children = r.children;
|
|
133
112
|
result.push(item);
|
|
134
113
|
});
|
|
135
114
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Module, PisellCore, ModuleOptions } from '../../types';
|
|
2
2
|
import { BaseModule } from '../BaseModule';
|
|
3
|
-
import { Discount, DiscountModuleAPI, DiscountWithReason
|
|
3
|
+
import { Discount, DiscountModuleAPI, DiscountWithReason } from './types';
|
|
4
4
|
export declare class DiscountModule extends BaseModule implements Module, DiscountModuleAPI {
|
|
5
5
|
protected defaultName: string;
|
|
6
6
|
protected defaultVersion: string;
|
|
@@ -16,18 +16,15 @@ export declare class DiscountModule extends BaseModule implements Module, Discou
|
|
|
16
16
|
getDiscountList(): Discount[];
|
|
17
17
|
setOriginalDiscountList(originalDiscountList: Discount[]): Promise<void>;
|
|
18
18
|
getOriginalDiscountList(): Discount[];
|
|
19
|
-
private normalizePositiveNumberIds;
|
|
20
19
|
loadPrepareConfig(params: {
|
|
21
20
|
action?: 'create' | 'edit';
|
|
22
21
|
with_good_pass: 0 | 1;
|
|
23
22
|
with_discount_card: 0 | 1;
|
|
24
23
|
customer_id: number;
|
|
25
24
|
with_wallet_pass_holder: 0 | 1;
|
|
26
|
-
with_available_wallet_flag?: 0 | 1;
|
|
27
|
-
with_available_wallet_pass_flag?: 0 | 1;
|
|
28
25
|
request_timezone: string;
|
|
29
26
|
order_id?: number | string;
|
|
30
|
-
}): Promise<
|
|
27
|
+
}): Promise<Discount[]>;
|
|
31
28
|
batchSearch(code: string, options?: {
|
|
32
29
|
customerId?: number;
|
|
33
30
|
orderId?: number;
|
|
@@ -91,43 +91,23 @@ var DiscountModule = class extends import_BaseModule.BaseModule {
|
|
|
91
91
|
getOriginalDiscountList() {
|
|
92
92
|
return this.store.originalDiscountList || [];
|
|
93
93
|
}
|
|
94
|
-
normalizePositiveNumberIds(values) {
|
|
95
|
-
const ids = values.map((value) => Number(value)).filter((value) => Number.isFinite(value) && value > 0);
|
|
96
|
-
return Array.from(new Set(ids));
|
|
97
|
-
}
|
|
98
94
|
async loadPrepareConfig(params) {
|
|
99
|
-
var _a, _b
|
|
95
|
+
var _a, _b;
|
|
100
96
|
if (typeof params.order_id === "string" && params.order_id.startsWith("LOCAL_")) {
|
|
101
97
|
params.order_id = void 0;
|
|
102
98
|
}
|
|
103
99
|
const prepareConfig = await this.request.post(
|
|
104
100
|
`/order/prepare/config`,
|
|
105
|
-
|
|
106
|
-
...params,
|
|
107
|
-
with_available_wallet_flag: params.with_available_wallet_flag ?? 1,
|
|
108
|
-
with_available_wallet_pass_flag: params.with_available_wallet_pass_flag ?? 1
|
|
109
|
-
}
|
|
101
|
+
params
|
|
110
102
|
);
|
|
111
103
|
const rawDiscountList = [
|
|
112
104
|
...((_a = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _a.good_pass_list) || [],
|
|
113
105
|
...((_b = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _b.discount_card_list) || []
|
|
114
106
|
];
|
|
115
|
-
const availableWalletList = [
|
|
116
|
-
...((_c = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _c.avaiable_wallet_list) || [],
|
|
117
|
-
...((_d = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _d.available_wallet_list) || []
|
|
118
|
-
];
|
|
119
|
-
const availableWalletPassList = ((_e = prepareConfig == null ? void 0 : prepareConfig.data) == null ? void 0 : _e.available_wallet_pass_list) || [];
|
|
120
|
-
const availableWalletIds = this.normalizePositiveNumberIds([
|
|
121
|
-
...availableWalletList.map((item) => item == null ? void 0 : item.wallet_id),
|
|
122
|
-
...availableWalletPassList.map((item) => item == null ? void 0 : item.product_id)
|
|
123
|
-
]);
|
|
124
107
|
const goodPassList = this.filterEnabledDiscountList(
|
|
125
108
|
rawDiscountList
|
|
126
109
|
) || [];
|
|
127
|
-
return
|
|
128
|
-
discountList: goodPassList,
|
|
129
|
-
availableWalletIds
|
|
130
|
-
};
|
|
110
|
+
return goodPassList;
|
|
131
111
|
}
|
|
132
112
|
async batchSearch(code, options) {
|
|
133
113
|
const { customerId, orderId } = options || {};
|
|
@@ -68,10 +68,6 @@ export interface DiscountWithReason {
|
|
|
68
68
|
discountList: Discount[];
|
|
69
69
|
unavailableReasonKey: DiscountFilterRejectKey | null;
|
|
70
70
|
}
|
|
71
|
-
export interface DiscountPrepareConfigResult {
|
|
72
|
-
discountList: Discount[];
|
|
73
|
-
availableWalletIds: number[];
|
|
74
|
-
}
|
|
75
71
|
interface ExtensionData {
|
|
76
72
|
id: number;
|
|
77
73
|
shop_id: number;
|
|
@@ -75,8 +75,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
75
75
|
apply?: boolean;
|
|
76
76
|
}): Promise<Discount[]>;
|
|
77
77
|
getDiscountList(): Discount[];
|
|
78
|
-
getAvailableWalletIds(): number[];
|
|
79
|
-
private syncScannedDiscountsToOriginalDiscountList;
|
|
80
78
|
private ensureEditDiscountConfigForProductChange;
|
|
81
79
|
scanCode(code: string, customerId?: number): Promise<{
|
|
82
80
|
isAvailable: boolean;
|
|
@@ -86,9 +84,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
86
84
|
unavailableReasonKey?: string | null;
|
|
87
85
|
scannedDiscountList?: Discount[];
|
|
88
86
|
}>;
|
|
89
|
-
applyDiscount(
|
|
90
|
-
reapplyBookingDiscountProductUids?: string[];
|
|
91
|
-
}): void;
|
|
87
|
+
applyDiscount(): void;
|
|
92
88
|
/**
|
|
93
89
|
* 注入促销评估器。
|
|
94
90
|
*
|
|
@@ -156,7 +152,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
156
152
|
private extractOrderIdFromSubmitResult;
|
|
157
153
|
private calculatePaymentEffectiveAmount;
|
|
158
154
|
private calculatePaymentTotal;
|
|
159
|
-
private calculateOrderPaidPaymentTotal;
|
|
160
155
|
private getDepositAmount;
|
|
161
156
|
private normalizeDepositAmount;
|
|
162
157
|
private getLastOrderDepositSnapshot;
|
|
@@ -185,7 +180,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
185
180
|
private calculatePaidPaymentSummary;
|
|
186
181
|
private calculatePaymentServiceFee;
|
|
187
182
|
private calculatePaymentGapAmount;
|
|
188
|
-
private calculatePaymentOrderAmount;
|
|
189
183
|
private calculatePaymentRoundingAmount;
|
|
190
184
|
private formatSummaryMetadataMoney;
|
|
191
185
|
private syncSummaryProductMetadata;
|
|
@@ -280,7 +274,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
280
274
|
updateTempOrderContactsInfo(contactsInfo: Record<string, any> | null): Record<string, any> | null;
|
|
281
275
|
private buildTempOrderCustomer;
|
|
282
276
|
private isCustomerBoundDiscount;
|
|
283
|
-
private shouldKeepCustomerBoundDiscountAfterCustomerChange;
|
|
284
277
|
private productHasCustomerBoundDiscount;
|
|
285
278
|
private shouldSkipDiscountCalculation;
|
|
286
279
|
private clearCustomerBoundDiscounts;
|
|
@@ -468,7 +461,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
468
461
|
generateIdempotencyToken(): string;
|
|
469
462
|
syncPaymentsToOrder<T = any>(params: SyncPaymentsToOrderParams): Promise<SyncPaymentsToOrderResult<T>>;
|
|
470
463
|
createOrder(params: CommitOrderParams['query']): {
|
|
471
|
-
type: "
|
|
464
|
+
type: "appointment_booking" | "virtual";
|
|
472
465
|
platform: string;
|
|
473
466
|
sales_channel: string;
|
|
474
467
|
order_sales_channel: string;
|
|
@@ -525,11 +518,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
525
518
|
* this.normalizeHydratedBookingHolder({ metadata: { holder: { form_record: [1] } } });
|
|
526
519
|
*/
|
|
527
520
|
private normalizeHydratedBookingHolder;
|
|
528
|
-
/**
|
|
529
|
-
* 匿名 booking 没有服务端行 ID 时,商品侧已有的 booking_uid 就是唯一可用的强引用。
|
|
530
|
-
* 在统一规范化生成 UUID 前先复用它;已落库 booking 仍按 schedule_event_id 派生稳定 UID。
|
|
531
|
-
*/
|
|
532
|
-
private seedAnonymousBookingUidsFromProducts;
|
|
533
521
|
private normalizeTempOrderForRuntime;
|
|
534
522
|
private hydrateLinkedBookingIdentity;
|
|
535
523
|
private pickHydratedDisplayText;
|