@pisell/pisellos 2.3.40 → 2.3.41
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 +5 -3
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +6 -3
- package/dist/modules/Discount/index.d.ts +0 -1
- package/dist/modules/Discount/index.js +11 -40
- package/dist/modules/Discount/types.d.ts +0 -1
- package/dist/modules/OpenData/index.d.ts +2 -0
- package/dist/modules/OpenData/index.js +10 -2
- package/dist/modules/Order/index.d.ts +29 -12
- package/dist/modules/Order/index.js +750 -509
- 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 +33 -10
- package/dist/modules/Order/utils/orderCollectionIdentity.js +7 -2
- package/dist/modules/Order/utils.d.ts +0 -10
- package/dist/modules/Order/utils.js +13 -41
- package/dist/modules/Payment/index.d.ts +2 -0
- package/dist/modules/Payment/index.js +79 -50
- package/dist/modules/Payment/types.d.ts +99 -28
- package/dist/modules/Payment/types.js +20 -3
- package/dist/modules/Payment/walletpass.d.ts +25 -1
- package/dist/modules/Payment/walletpass.js +707 -157
- package/dist/modules/Product/types.d.ts +0 -1
- package/dist/modules/ProductList/index.js +14 -33
- package/dist/modules/Quotation/index.d.ts +1 -1
- package/dist/modules/Quotation/index.js +2 -2
- package/dist/modules/Rules/index.d.ts +1 -0
- package/dist/modules/Rules/index.js +89 -96
- package/dist/modules/SalesSummary/index.js +13 -12
- package/dist/modules/ScanOrderLogger/index.d.ts +0 -2
- package/dist/modules/ScanOrderLogger/index.js +2 -15
- package/dist/modules/ScanOrderLogger/providers/feishu.js +27 -45
- package/dist/modules/ScanOrderLogger/types.d.ts +0 -1
- package/dist/modules/Schedule/index.d.ts +1 -3
- package/dist/modules/Schedule/index.js +16 -21
- package/dist/modules/Summary/utils.js +13 -38
- package/dist/modules/index.d.ts +0 -2
- package/dist/modules/index.js +1 -3
- package/dist/plugins/window.d.ts +0 -1
- package/dist/server/index.d.ts +16 -14
- package/dist/server/index.js +1925 -1143
- package/dist/server/modules/order/index.d.ts +54 -4
- package/dist/server/modules/order/index.js +1600 -700
- package/dist/server/modules/order/types.d.ts +11 -3
- package/dist/server/modules/order/types.js +1 -1
- package/dist/solution/BaseSales/index.d.ts +109 -20
- package/dist/solution/BaseSales/index.js +1800 -480
- package/dist/solution/BaseSales/types.d.ts +52 -0
- 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/BookingByStep/index.d.ts +2 -17
- package/dist/solution/BookingByStep/index.js +215 -294
- package/dist/solution/BookingByStep/types.d.ts +1 -2
- package/dist/solution/BookingByStep/types.js +1 -3
- package/dist/solution/BookingByStep/utils/capacity.js +1 -17
- package/dist/solution/BookingByStep/utils/timeslots.d.ts +1 -3
- package/dist/solution/BookingByStep/utils/timeslots.js +12 -19
- package/dist/solution/BookingTicket/index.d.ts +8 -4
- package/dist/solution/BookingTicket/index.js +134 -51
- package/dist/solution/BookingTicket/utils/addProductDecision.js +6 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +8 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +172 -82
- package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +1 -3
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +2 -10
- package/dist/solution/BookingTicket/utils/weighingProductSku.d.ts +5 -0
- package/dist/solution/BookingTicket/utils/weighingProductSku.js +45 -0
- package/dist/solution/Sales/index.d.ts +1 -0
- package/dist/solution/Sales/index.js +10 -2
- package/dist/solution/ScanOrder/index.d.ts +14 -26
- package/dist/solution/ScanOrder/index.js +756 -1148
- package/dist/solution/ScanOrder/types.d.ts +1 -21
- package/dist/solution/ScanOrder/utils.d.ts +0 -8
- package/dist/solution/ScanOrder/utils.js +25 -66
- package/dist/solution/ShopDiscount/index.d.ts +0 -1
- package/dist/solution/ShopDiscount/index.js +87 -125
- package/dist/solution/VenueBooking/index.d.ts +11 -39
- package/dist/solution/VenueBooking/index.js +860 -1176
- package/dist/solution/VenueBooking/types.d.ts +0 -3
- package/dist/solution/VenueBooking/utils/resource.js +0 -1
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
- package/dist/solution/VenueBooking/utils/slotMerge.js +5 -10
- package/dist/solution/index.d.ts +0 -1
- package/dist/solution/index.js +1 -2
- package/dist/types/index.d.ts +1 -1
- 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/index.js +2 -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 +2 -1
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +2 -1
- package/lib/modules/Discount/index.d.ts +0 -1
- package/lib/modules/Discount/index.js +0 -9
- package/lib/modules/Discount/types.d.ts +0 -1
- package/lib/modules/OpenData/index.d.ts +2 -0
- package/lib/modules/OpenData/index.js +6 -1
- package/lib/modules/Order/index.d.ts +29 -12
- package/lib/modules/Order/index.js +196 -86
- 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 +33 -10
- package/lib/modules/Order/utils/orderCollectionIdentity.js +3 -0
- package/lib/modules/Order/utils.d.ts +0 -10
- package/lib/modules/Order/utils.js +16 -40
- package/lib/modules/Payment/index.d.ts +2 -0
- package/lib/modules/Payment/index.js +34 -13
- package/lib/modules/Payment/types.d.ts +99 -28
- package/lib/modules/Payment/types.js +4 -3
- package/lib/modules/Payment/walletpass.d.ts +25 -1
- package/lib/modules/Payment/walletpass.js +470 -21
- package/lib/modules/Product/types.d.ts +0 -1
- package/lib/modules/ProductList/index.js +31 -40
- package/lib/modules/Quotation/index.d.ts +1 -1
- package/lib/modules/Quotation/index.js +2 -2
- package/lib/modules/Rules/index.d.ts +1 -0
- package/lib/modules/Rules/index.js +47 -40
- package/lib/modules/SalesSummary/index.js +7 -6
- package/lib/modules/ScanOrderLogger/index.d.ts +0 -2
- package/lib/modules/ScanOrderLogger/index.js +1 -13
- package/lib/modules/ScanOrderLogger/providers/feishu.js +6 -15
- package/lib/modules/ScanOrderLogger/types.d.ts +0 -1
- package/lib/modules/Schedule/index.d.ts +1 -3
- package/lib/modules/Schedule/index.js +8 -10
- package/lib/modules/Summary/utils.js +1 -21
- package/lib/modules/index.d.ts +0 -2
- package/lib/modules/index.js +1 -5
- package/lib/plugins/window.d.ts +0 -1
- package/lib/server/index.d.ts +16 -14
- package/lib/server/index.js +675 -83
- package/lib/server/modules/order/index.d.ts +54 -4
- package/lib/server/modules/order/index.js +679 -66
- package/lib/server/modules/order/types.d.ts +11 -3
- package/lib/solution/BaseSales/index.d.ts +109 -20
- package/lib/solution/BaseSales/index.js +883 -70
- package/lib/solution/BaseSales/types.d.ts +52 -0
- 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/BookingByStep/index.d.ts +2 -17
- package/lib/solution/BookingByStep/index.js +18 -60
- package/lib/solution/BookingByStep/types.d.ts +1 -2
- package/lib/solution/BookingByStep/types.js +0 -5
- package/lib/solution/BookingByStep/utils/capacity.js +1 -20
- package/lib/solution/BookingByStep/utils/timeslots.d.ts +1 -3
- package/lib/solution/BookingByStep/utils/timeslots.js +11 -19
- package/lib/solution/BookingTicket/index.d.ts +8 -4
- package/lib/solution/BookingTicket/index.js +64 -19
- package/lib/solution/BookingTicket/utils/addProductDecision.js +4 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +8 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +36 -4
- package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +1 -3
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +2 -2
- package/lib/solution/BookingTicket/utils/weighingProductSku.d.ts +5 -0
- package/lib/solution/BookingTicket/utils/weighingProductSku.js +63 -0
- package/lib/solution/Sales/index.d.ts +1 -0
- package/lib/solution/Sales/index.js +5 -3
- package/lib/solution/ScanOrder/index.d.ts +14 -26
- package/lib/solution/ScanOrder/index.js +190 -449
- package/lib/solution/ScanOrder/types.d.ts +1 -21
- package/lib/solution/ScanOrder/utils.d.ts +0 -8
- package/lib/solution/ScanOrder/utils.js +0 -31
- package/lib/solution/ShopDiscount/index.d.ts +0 -1
- package/lib/solution/ShopDiscount/index.js +0 -14
- package/lib/solution/VenueBooking/index.d.ts +11 -39
- package/lib/solution/VenueBooking/index.js +123 -328
- package/lib/solution/VenueBooking/types.d.ts +0 -3
- package/lib/solution/VenueBooking/utils/resource.js +0 -1
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
- package/lib/solution/VenueBooking/utils/slotMerge.js +4 -6
- package/lib/solution/index.d.ts +0 -1
- package/lib/solution/index.js +1 -3
- package/lib/types/index.d.ts +1 -1
- package/lib/utils/payment-number.d.ts +9 -0
- package/lib/utils/payment-number.js +64 -0
- package/package.json +1 -1
- package/dist/modules/Holder/index.d.ts +0 -48
- package/dist/modules/Holder/index.js +0 -640
- package/dist/modules/Holder/types.d.ts +0 -123
- package/dist/modules/Holder/types.js +0 -1
- package/dist/modules/Holder/utils.d.ts +0 -13
- package/dist/modules/Holder/utils.js +0 -34
- package/dist/modules/ResourcePlanner/index.d.ts +0 -24
- package/dist/modules/ResourcePlanner/index.js +0 -181
- package/dist/modules/ResourcePlanner/planner.d.ts +0 -14
- package/dist/modules/ResourcePlanner/planner.js +0 -1069
- package/dist/modules/ResourcePlanner/types.d.ts +0 -227
- package/dist/modules/ResourcePlanner/types.js +0 -1
- package/dist/solution/UnifiedBookingSales/index.d.ts +0 -183
- package/dist/solution/UnifiedBookingSales/index.js +0 -1871
- package/dist/solution/UnifiedBookingSales/types.d.ts +0 -143
- package/dist/solution/UnifiedBookingSales/types.js +0 -11
- package/lib/modules/Holder/index.d.ts +0 -48
- package/lib/modules/Holder/index.js +0 -402
- package/lib/modules/Holder/types.d.ts +0 -123
- package/lib/modules/Holder/types.js +0 -17
- package/lib/modules/Holder/utils.d.ts +0 -13
- package/lib/modules/Holder/utils.js +0 -71
- package/lib/modules/ResourcePlanner/index.d.ts +0 -24
- package/lib/modules/ResourcePlanner/index.js +0 -148
- package/lib/modules/ResourcePlanner/planner.d.ts +0 -14
- package/lib/modules/ResourcePlanner/planner.js +0 -933
- package/lib/modules/ResourcePlanner/types.d.ts +0 -227
- package/lib/modules/ResourcePlanner/types.js +0 -17
- package/lib/solution/UnifiedBookingSales/index.d.ts +0 -183
- package/lib/solution/UnifiedBookingSales/index.js +0 -1076
- package/lib/solution/UnifiedBookingSales/types.d.ts +0 -143
- package/lib/solution/UnifiedBookingSales/types.js +0 -33
|
@@ -2,6 +2,7 @@ import { Module, ModuleOptions, PisellCore } from '../../../types';
|
|
|
2
2
|
import { BaseModule } from '../../../modules/BaseModule';
|
|
3
3
|
import type { RouteDefinition } from '../../types';
|
|
4
4
|
import { OrderData, OrderId } from './types';
|
|
5
|
+
import { type OrderPaymentIdentityType } from '../../../modules/Order/payment-utils';
|
|
5
6
|
/**
|
|
6
7
|
* Order 模块 - 基础框架
|
|
7
8
|
*/
|
|
@@ -89,8 +90,31 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
89
90
|
getOrderById(id: OrderId): OrderData | undefined;
|
|
90
91
|
/** 按 order_id 查询内存订单。 */
|
|
91
92
|
getOrderByOrderId(orderId: OrderId): OrderData | undefined;
|
|
93
|
+
private buildLocalPaymentOrderLogContext;
|
|
92
94
|
getLocalOrderFromMemoryByLookup(lookup: OrderId): OrderData | null;
|
|
93
|
-
getLocalOrderByLookup(lookup: OrderId
|
|
95
|
+
getLocalOrderByLookup(lookup: OrderId, options?: {
|
|
96
|
+
operationId?: string;
|
|
97
|
+
}): Promise<OrderData | null>;
|
|
98
|
+
getLocalPayment(params: {
|
|
99
|
+
saleId: OrderId;
|
|
100
|
+
paymentNumber: OrderId;
|
|
101
|
+
operationId?: string;
|
|
102
|
+
}): Promise<{
|
|
103
|
+
order: OrderData;
|
|
104
|
+
payment: Record<string, any>;
|
|
105
|
+
paymentIndex: number;
|
|
106
|
+
matchedBy: OrderPaymentIdentityType;
|
|
107
|
+
} | null>;
|
|
108
|
+
updateLocalPayment(params: {
|
|
109
|
+
saleId: OrderId;
|
|
110
|
+
paymentNumber: OrderId;
|
|
111
|
+
operationId?: string;
|
|
112
|
+
updates: Record<string, any>;
|
|
113
|
+
}): Promise<{
|
|
114
|
+
order: OrderData;
|
|
115
|
+
payment: Record<string, any>;
|
|
116
|
+
previousPayment: Record<string, any>;
|
|
117
|
+
} | null>;
|
|
94
118
|
loadOrdersByServer(): Promise<OrderData[]>;
|
|
95
119
|
/**
|
|
96
120
|
* 静默全量刷新:后台重新拉取全量 SSE 订单数据并更新本地
|
|
@@ -99,6 +123,10 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
99
123
|
*/
|
|
100
124
|
silentRefresh(): Promise<OrderData[]>;
|
|
101
125
|
private normalizeOrderForMemoryList;
|
|
126
|
+
private normalizeOrdersForMemoryList;
|
|
127
|
+
private hasRealOrderId;
|
|
128
|
+
private shouldKeepOrderInMemory;
|
|
129
|
+
private withoutSyntheticDraftOrderId;
|
|
102
130
|
/**
|
|
103
131
|
* 仅覆盖本地已存在的订单;不存在则直接跳过,不落库、不 emit。
|
|
104
132
|
* 适用于"按 order_id 主动刷新本地订单详情"的代理场景。
|
|
@@ -110,7 +138,7 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
110
138
|
* 将远端拉取的订单合并进本地 store(已存在则更新,不存在则追加),落库并 emit onOrdersChanged。
|
|
111
139
|
* 供 /update/localOrder 等在「本地尚无该单」时写入新建单。
|
|
112
140
|
*/
|
|
113
|
-
upsertOrdersFromRemote(freshOrders: OrderData[]): Promise<void>;
|
|
141
|
+
upsertOrdersFromRemote(freshOrders: OrderData[], source?: string): Promise<void>;
|
|
114
142
|
markOrderSyncedByExternalSaleNumber(params: {
|
|
115
143
|
externalSaleNumber: OrderId;
|
|
116
144
|
patch?: Partial<OrderData>;
|
|
@@ -122,7 +150,14 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
122
150
|
* 将本地待同步订单按 SQLite storage key 合并进 store 并落库。
|
|
123
151
|
* checkout 离线兜底可能没有 order_id,但通常会有 external_sale_number。
|
|
124
152
|
*/
|
|
125
|
-
upsertPendingSyncOrders(pendingOrders: OrderData[]
|
|
153
|
+
upsertPendingSyncOrders(pendingOrders: OrderData[], options?: {
|
|
154
|
+
throwOnError?: boolean;
|
|
155
|
+
}): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* 将 POS 草稿订单按 SQLite storage key 落库。
|
|
158
|
+
* 只有具备真实 order_id 的草稿进入 store;其余草稿仅供本地恢复查询。
|
|
159
|
+
*/
|
|
160
|
+
upsertLocalDraftOrders(draftOrders: OrderData[]): Promise<void>;
|
|
126
161
|
/**
|
|
127
162
|
* 通过 SSE 按自定义 query 拉取订单(支持 select/with 精简字段)
|
|
128
163
|
*/
|
|
@@ -132,6 +167,11 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
132
167
|
private syncOrdersMap;
|
|
133
168
|
private getOrderMapKey;
|
|
134
169
|
private isBlankIdentityValue;
|
|
170
|
+
/**
|
|
171
|
+
* `/sales/draft` 的旧调用方可能把未设置的 business_code 传成空串。
|
|
172
|
+
* 对同一真实订单,空值不能覆盖已有的分类,否则 booking 查询会把该订单从 Party 列表过滤掉。
|
|
173
|
+
*/
|
|
174
|
+
private preserveExistingBusinessCodeForDraft;
|
|
135
175
|
private getOrderIdentityEntries;
|
|
136
176
|
private getOrderIdentityKeys;
|
|
137
177
|
private getOrderDateKey;
|
|
@@ -222,6 +262,12 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
222
262
|
private findOrderIndexByIdentity;
|
|
223
263
|
private getOrderCompletenessScore;
|
|
224
264
|
private pickPreferredOrder;
|
|
265
|
+
private getProductIdentityKeys;
|
|
266
|
+
private mergeOrderProductLists;
|
|
267
|
+
private mergeOrderPaymentLists;
|
|
268
|
+
private getIdentifiedPendingPayments;
|
|
269
|
+
private shouldProtectLocalOrderFromRemoteSnapshot;
|
|
270
|
+
private getUnmatchedIdentifiedPendingPayments;
|
|
225
271
|
private mergeOrderRecords;
|
|
226
272
|
private summarizeDuplicateOrders;
|
|
227
273
|
private logDuplicateOrders;
|
|
@@ -238,7 +284,10 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
238
284
|
private setStorageItem;
|
|
239
285
|
private loadOrdersFromSQLite;
|
|
240
286
|
private isPendingSyncOrder;
|
|
287
|
+
private isDraftOrder;
|
|
288
|
+
private shouldProtectDraftOrderFromIncoming;
|
|
241
289
|
private normalizeRemoteSyncedOrder;
|
|
290
|
+
private mergeRemoteIdentityIntoDraftOrder;
|
|
242
291
|
private mergeRemoteSnapshotWithPendingOrders;
|
|
243
292
|
/**
|
|
244
293
|
* 串行执行订单 SQLite 写入任务,避免快照替换与增量 upsert 并发交错。
|
|
@@ -264,7 +313,8 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
264
313
|
*/
|
|
265
314
|
private updateOrderInSQLite;
|
|
266
315
|
/**
|
|
267
|
-
* 全量快照替换 orders 表(clear + bulkAdd
|
|
316
|
+
* 全量快照替换 orders 表(clear + bulkAdd),并保留本地 draft / need_sync / pending 支付订单。
|
|
317
|
+
* 用于 SSE 全量拉取与营业日窗口裁剪。
|
|
268
318
|
*
|
|
269
319
|
* @example
|
|
270
320
|
* await this.replaceOrdersSnapshotInSQLite(orderList)
|