@pisell/pisellos 2.3.29 → 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 (98) hide show
  1. package/dist/model/strategy/adapter/index.d.ts +0 -4
  2. package/dist/model/strategy/adapter/index.js +1 -5
  3. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  4. package/dist/modules/Discount/index.d.ts +2 -5
  5. package/dist/modules/Discount/index.js +7 -30
  6. package/dist/modules/Discount/types.d.ts +0 -4
  7. package/dist/modules/Order/index.d.ts +28 -10
  8. package/dist/modules/Order/index.js +747 -498
  9. package/dist/modules/Order/payment-utils.d.ts +23 -0
  10. package/dist/modules/Order/payment-utils.js +203 -0
  11. package/dist/modules/Order/types.d.ts +33 -3
  12. package/dist/modules/Order/utils.js +4 -4
  13. package/dist/modules/Payment/index.d.ts +2 -0
  14. package/dist/modules/Payment/index.js +78 -49
  15. package/dist/modules/Payment/types.d.ts +26 -24
  16. package/dist/modules/Payment/types.js +2 -0
  17. package/dist/modules/Product/index.d.ts +1 -1
  18. package/dist/modules/Product/types.d.ts +0 -22
  19. package/dist/modules/ProductList/index.d.ts +1 -1
  20. package/dist/modules/ProductList/index.js +2 -4
  21. package/dist/modules/ProductList/types.d.ts +0 -2
  22. package/dist/server/index.d.ts +14 -50
  23. package/dist/server/index.js +1975 -1395
  24. package/dist/server/modules/order/index.d.ts +40 -3
  25. package/dist/server/modules/order/index.js +1200 -501
  26. package/dist/server/modules/order/types.d.ts +11 -3
  27. package/dist/server/modules/order/types.js +1 -1
  28. package/dist/server/modules/products/index.d.ts +7 -26
  29. package/dist/server/modules/products/index.js +76 -167
  30. package/dist/server/modules/products/types.d.ts +0 -14
  31. package/dist/solution/BaseSales/index.d.ts +33 -5
  32. package/dist/solution/BaseSales/index.js +622 -345
  33. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +6 -1
  34. package/dist/solution/BookingByStep/index.d.ts +1 -1
  35. package/dist/solution/BookingTicket/index.d.ts +1 -1
  36. package/dist/solution/BookingTicket/index.js +2 -1
  37. package/dist/solution/BookingTicket/types.d.ts +0 -2
  38. package/dist/solution/ShopDiscount/index.js +14 -15
  39. package/dist/utils/payment-number.d.ts +9 -0
  40. package/dist/utils/payment-number.js +69 -0
  41. package/lib/model/strategy/adapter/index.d.ts +0 -4
  42. package/lib/model/strategy/adapter/index.js +2 -13
  43. package/lib/modules/Discount/index.d.ts +2 -5
  44. package/lib/modules/Discount/index.js +3 -23
  45. package/lib/modules/Discount/types.d.ts +0 -4
  46. package/lib/modules/Order/index.d.ts +28 -10
  47. package/lib/modules/Order/index.js +181 -73
  48. package/lib/modules/Order/payment-utils.d.ts +23 -0
  49. package/lib/modules/Order/payment-utils.js +193 -0
  50. package/lib/modules/Order/types.d.ts +33 -3
  51. package/lib/modules/Order/utils.js +2 -3
  52. package/lib/modules/Payment/index.d.ts +2 -0
  53. package/lib/modules/Payment/index.js +33 -12
  54. package/lib/modules/Payment/types.d.ts +26 -24
  55. package/lib/modules/Product/index.d.ts +1 -1
  56. package/lib/modules/Product/types.d.ts +0 -22
  57. package/lib/modules/ProductList/index.d.ts +1 -1
  58. package/lib/modules/ProductList/index.js +2 -4
  59. package/lib/modules/ProductList/types.d.ts +0 -2
  60. package/lib/server/index.d.ts +14 -50
  61. package/lib/server/index.js +633 -214
  62. package/lib/server/modules/order/index.d.ts +40 -3
  63. package/lib/server/modules/order/index.js +434 -31
  64. package/lib/server/modules/order/types.d.ts +11 -3
  65. package/lib/server/modules/products/index.d.ts +7 -26
  66. package/lib/server/modules/products/index.js +35 -114
  67. package/lib/server/modules/products/types.d.ts +0 -14
  68. package/lib/solution/BaseSales/index.d.ts +33 -5
  69. package/lib/solution/BaseSales/index.js +170 -19
  70. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +6 -1
  71. package/lib/solution/BookingByStep/index.d.ts +1 -1
  72. package/lib/solution/BookingTicket/index.d.ts +1 -1
  73. package/lib/solution/BookingTicket/index.js +2 -1
  74. package/lib/solution/BookingTicket/types.d.ts +0 -2
  75. package/lib/solution/ShopDiscount/index.js +1 -2
  76. package/lib/utils/payment-number.d.ts +9 -0
  77. package/lib/utils/payment-number.js +64 -0
  78. package/package.json +1 -1
  79. package/dist/model/strategy/adapter/dataVariant/adapter.d.ts +0 -50
  80. package/dist/model/strategy/adapter/dataVariant/adapter.js +0 -167
  81. package/dist/model/strategy/adapter/dataVariant/evaluator.d.ts +0 -89
  82. package/dist/model/strategy/adapter/dataVariant/evaluator.js +0 -780
  83. package/dist/model/strategy/adapter/dataVariant/examples.d.ts +0 -39
  84. package/dist/model/strategy/adapter/dataVariant/examples.js +0 -277
  85. package/dist/model/strategy/adapter/dataVariant/index.d.ts +0 -4
  86. package/dist/model/strategy/adapter/dataVariant/index.js +0 -4
  87. package/dist/model/strategy/adapter/dataVariant/type.d.ts +0 -148
  88. package/dist/model/strategy/adapter/dataVariant/type.js +0 -54
  89. package/lib/model/strategy/adapter/dataVariant/adapter.d.ts +0 -50
  90. package/lib/model/strategy/adapter/dataVariant/adapter.js +0 -149
  91. package/lib/model/strategy/adapter/dataVariant/evaluator.d.ts +0 -89
  92. package/lib/model/strategy/adapter/dataVariant/evaluator.js +0 -583
  93. package/lib/model/strategy/adapter/dataVariant/examples.d.ts +0 -39
  94. package/lib/model/strategy/adapter/dataVariant/examples.js +0 -293
  95. package/lib/model/strategy/adapter/dataVariant/index.d.ts +0 -4
  96. package/lib/model/strategy/adapter/dataVariant/index.js +0 -38
  97. package/lib/model/strategy/adapter/dataVariant/type.d.ts +0 -148
  98. package/lib/model/strategy/adapter/dataVariant/type.js +0 -31
@@ -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): 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>;
94
118
  loadOrdersByServer(): Promise<OrderData[]>;
95
119
  /**
96
120
  * 静默全量刷新:后台重新拉取全量 SSE 订单数据并更新本地
@@ -99,6 +123,7 @@ export declare class OrderModule extends BaseModule implements Module {
99
123
  */
100
124
  silentRefresh(): Promise<OrderData[]>;
101
125
  private normalizeOrderForMemoryList;
126
+ private withoutSyntheticDraftOrderId;
102
127
  /**
103
128
  * 仅覆盖本地已存在的订单;不存在则直接跳过,不落库、不 emit。
104
129
  * 适用于"按 order_id 主动刷新本地订单详情"的代理场景。
@@ -110,7 +135,7 @@ export declare class OrderModule extends BaseModule implements Module {
110
135
  * 将远端拉取的订单合并进本地 store(已存在则更新,不存在则追加),落库并 emit onOrdersChanged。
111
136
  * 供 /update/localOrder 等在「本地尚无该单」时写入新建单。
112
137
  */
113
- upsertOrdersFromRemote(freshOrders: OrderData[]): Promise<void>;
138
+ upsertOrdersFromRemote(freshOrders: OrderData[], source?: string): Promise<void>;
114
139
  markOrderSyncedByExternalSaleNumber(params: {
115
140
  externalSaleNumber: OrderId;
116
141
  patch?: Partial<OrderData>;
@@ -122,7 +147,14 @@ export declare class OrderModule extends BaseModule implements Module {
122
147
  * 将本地待同步订单按 SQLite storage key 合并进 store 并落库。
123
148
  * checkout 离线兜底可能没有 order_id,但通常会有 external_sale_number。
124
149
  */
125
- 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>;
126
158
  /**
127
159
  * 通过 SSE 按自定义 query 拉取订单(支持 select/with 精简字段)
128
160
  */
@@ -222,6 +254,9 @@ export declare class OrderModule extends BaseModule implements Module {
222
254
  private findOrderIndexByIdentity;
223
255
  private getOrderCompletenessScore;
224
256
  private pickPreferredOrder;
257
+ private getProductIdentityKeys;
258
+ private mergeOrderProductLists;
259
+ private mergeOrderPaymentLists;
225
260
  private mergeOrderRecords;
226
261
  private summarizeDuplicateOrders;
227
262
  private logDuplicateOrders;
@@ -238,6 +273,8 @@ export declare class OrderModule extends BaseModule implements Module {
238
273
  private setStorageItem;
239
274
  private loadOrdersFromSQLite;
240
275
  private isPendingSyncOrder;
276
+ private isDraftOrder;
277
+ private shouldProtectDraftOrderFromIncoming;
241
278
  private normalizeRemoteSyncedOrder;
242
279
  private mergeRemoteSnapshotWithPendingOrders;
243
280
  /**