@pisell/pisellos 2.3.28 → 2.3.30

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.
Files changed (57) hide show
  1. package/dist/modules/Order/index.d.ts +32 -8
  2. package/dist/modules/Order/index.js +883 -521
  3. package/dist/modules/Order/payment-utils.d.ts +23 -0
  4. package/dist/modules/Order/payment-utils.js +203 -0
  5. package/dist/modules/Order/types.d.ts +33 -1
  6. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  7. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  8. package/dist/modules/Order/utils.d.ts +2 -1
  9. package/dist/modules/Order/utils.js +6 -12
  10. package/dist/modules/Payment/index.d.ts +2 -0
  11. package/dist/modules/Payment/index.js +78 -49
  12. package/dist/modules/Payment/types.d.ts +26 -24
  13. package/dist/modules/Payment/types.js +2 -0
  14. package/dist/modules/Product/index.d.ts +1 -1
  15. package/dist/server/index.d.ts +14 -0
  16. package/dist/server/index.js +1826 -1000
  17. package/dist/server/modules/order/index.d.ts +47 -4
  18. package/dist/server/modules/order/index.js +1415 -711
  19. package/dist/server/modules/order/types.d.ts +11 -3
  20. package/dist/server/modules/order/types.js +1 -1
  21. package/dist/solution/BaseSales/index.d.ts +40 -4
  22. package/dist/solution/BaseSales/index.js +1268 -749
  23. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +9 -4
  24. package/dist/solution/BaseSales/utils/parseSalesResponse.js +6 -8
  25. package/dist/solution/BookingByStep/index.d.ts +1 -1
  26. package/dist/solution/BookingTicket/index.d.ts +13 -1
  27. package/dist/solution/BookingTicket/index.js +2 -1
  28. package/dist/utils/payment-number.d.ts +9 -0
  29. package/dist/utils/payment-number.js +69 -0
  30. package/lib/modules/Order/index.d.ts +32 -8
  31. package/lib/modules/Order/index.js +270 -64
  32. package/lib/modules/Order/payment-utils.d.ts +23 -0
  33. package/lib/modules/Order/payment-utils.js +193 -0
  34. package/lib/modules/Order/types.d.ts +33 -1
  35. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  36. package/lib/modules/Order/utils/orderCollectionIdentity.js +415 -0
  37. package/lib/modules/Order/utils.d.ts +2 -1
  38. package/lib/modules/Order/utils.js +6 -14
  39. package/lib/modules/Payment/index.d.ts +2 -0
  40. package/lib/modules/Payment/index.js +33 -12
  41. package/lib/modules/Payment/types.d.ts +26 -24
  42. package/lib/modules/Product/index.d.ts +1 -1
  43. package/lib/server/index.d.ts +14 -0
  44. package/lib/server/index.js +604 -8
  45. package/lib/server/modules/order/index.d.ts +47 -4
  46. package/lib/server/modules/order/index.js +578 -116
  47. package/lib/server/modules/order/types.d.ts +11 -3
  48. package/lib/solution/BaseSales/index.d.ts +40 -4
  49. package/lib/solution/BaseSales/index.js +363 -37
  50. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +9 -4
  51. package/lib/solution/BaseSales/utils/parseSalesResponse.js +4 -5
  52. package/lib/solution/BookingByStep/index.d.ts +1 -1
  53. package/lib/solution/BookingTicket/index.d.ts +13 -1
  54. package/lib/solution/BookingTicket/index.js +2 -1
  55. package/lib/utils/payment-number.d.ts +9 -0
  56. package/lib/utils/payment-number.js +64 -0
  57. package/package.json +1 -1
@@ -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
  */
@@ -43,6 +44,16 @@ export declare class OrderModule extends BaseModule implements Module {
43
44
  */
44
45
  private logError;
45
46
  private logWarning;
47
+ /**
48
+ * 在订单进入内存或 SQLite 前统一压缩子项强身份重复并补齐协议 UID。
49
+ * 仅记录计数与订单标识,不输出商品、预约、支付或客户明细。
50
+ */
51
+ private normalizeOrderCollectionsForIngress;
52
+ /**
53
+ * incoming 决定权威成员集合;同一持久化行仍从 existing 补齐 incoming 省略的本地展示字段。
54
+ */
55
+ private mergeAuthoritativeOrderCollection;
56
+ private reconcileOverwriteOrderCollections;
46
57
  /**
47
58
  * 记录订单最近一次 SQLite 写入,供 pubsub 回声去重使用。
48
59
  *
@@ -79,8 +90,31 @@ export declare class OrderModule extends BaseModule implements Module {
79
90
  getOrderById(id: OrderId): OrderData | undefined;
80
91
  /** 按 order_id 查询内存订单。 */
81
92
  getOrderByOrderId(orderId: OrderId): OrderData | undefined;
93
+ private buildLocalPaymentOrderLogContext;
82
94
  getLocalOrderFromMemoryByLookup(lookup: OrderId): OrderData | null;
83
- getLocalOrderByLookup(lookup: OrderId): Promise<OrderData | null>;
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>;
84
118
  loadOrdersByServer(): Promise<OrderData[]>;
85
119
  /**
86
120
  * 静默全量刷新:后台重新拉取全量 SSE 订单数据并更新本地
@@ -89,6 +123,7 @@ export declare class OrderModule extends BaseModule implements Module {
89
123
  */
90
124
  silentRefresh(): Promise<OrderData[]>;
91
125
  private normalizeOrderForMemoryList;
126
+ private withoutSyntheticDraftOrderId;
92
127
  /**
93
128
  * 仅覆盖本地已存在的订单;不存在则直接跳过,不落库、不 emit。
94
129
  * 适用于"按 order_id 主动刷新本地订单详情"的代理场景。
@@ -100,7 +135,7 @@ export declare class OrderModule extends BaseModule implements Module {
100
135
  * 将远端拉取的订单合并进本地 store(已存在则更新,不存在则追加),落库并 emit onOrdersChanged。
101
136
  * 供 /update/localOrder 等在「本地尚无该单」时写入新建单。
102
137
  */
103
- upsertOrdersFromRemote(freshOrders: OrderData[]): Promise<void>;
138
+ upsertOrdersFromRemote(freshOrders: OrderData[], source?: string): Promise<void>;
104
139
  markOrderSyncedByExternalSaleNumber(params: {
105
140
  externalSaleNumber: OrderId;
106
141
  patch?: Partial<OrderData>;
@@ -112,7 +147,14 @@ export declare class OrderModule extends BaseModule implements Module {
112
147
  * 将本地待同步订单按 SQLite storage key 合并进 store 并落库。
113
148
  * checkout 离线兜底可能没有 order_id,但通常会有 external_sale_number。
114
149
  */
115
- upsertPendingSyncOrders(pendingOrders: OrderData[]): Promise<void>;
150
+ upsertPendingSyncOrders(pendingOrders: OrderData[], options?: {
151
+ throwOnError?: boolean;
152
+ }): Promise<void>;
153
+ /**
154
+ * 将 POS 草稿订单按 SQLite storage key 合并进 store 并落库。
155
+ * 草稿只表示本地可恢复快照,不进入同步队列。
156
+ */
157
+ upsertLocalDraftOrders(draftOrders: OrderData[]): Promise<void>;
116
158
  /**
117
159
  * 通过 SSE 按自定义 query 拉取订单(支持 select/with 精简字段)
118
160
  */
@@ -214,7 +256,6 @@ export declare class OrderModule extends BaseModule implements Module {
214
256
  private pickPreferredOrder;
215
257
  private getProductIdentityKeys;
216
258
  private mergeOrderProductLists;
217
- private getPaymentMergeKey;
218
259
  private mergeOrderPaymentLists;
219
260
  private mergeOrderRecords;
220
261
  private summarizeDuplicateOrders;
@@ -232,6 +273,8 @@ export declare class OrderModule extends BaseModule implements Module {
232
273
  private setStorageItem;
233
274
  private loadOrdersFromSQLite;
234
275
  private isPendingSyncOrder;
276
+ private isDraftOrder;
277
+ private shouldProtectDraftOrderFromIncoming;
235
278
  private normalizeRemoteSyncedOrder;
236
279
  private mergeRemoteSnapshotWithPendingOrders;
237
280
  /**