@pisell/pisellos 2.2.175 → 2.2.177

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 (176) hide show
  1. package/dist/modules/BookingContext/index.d.ts +37 -0
  2. package/dist/modules/BookingContext/index.js +436 -0
  3. package/dist/modules/BookingContext/types.d.ts +102 -0
  4. package/dist/modules/BookingContext/types.js +51 -0
  5. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  6. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +193 -0
  7. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  8. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +137 -0
  9. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +75 -0
  10. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +215 -0
  11. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  12. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  13. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  14. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  15. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  16. package/dist/modules/BookingContext/utils/index.js +11 -0
  17. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  18. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  19. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  20. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  21. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  22. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  23. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  24. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  25. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  26. package/dist/modules/BookingContext/utils/resources.js +486 -0
  27. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  28. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  29. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  30. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  31. package/dist/modules/Customer/index.d.ts +6 -0
  32. package/dist/modules/Customer/index.js +129 -83
  33. package/dist/modules/Customer/types.d.ts +2 -0
  34. package/dist/modules/Discount/index.d.ts +2 -4
  35. package/dist/modules/Discount/index.js +8 -93
  36. package/dist/modules/Discount/types.d.ts +1 -7
  37. package/dist/modules/Order/index.d.ts +86 -17
  38. package/dist/modules/Order/index.js +1303 -497
  39. package/dist/modules/Order/types.d.ts +198 -18
  40. package/dist/modules/Order/types.js +31 -0
  41. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  42. package/dist/modules/Order/utils/manualProductDiscount.js +212 -0
  43. package/dist/modules/Order/utils.d.ts +50 -1
  44. package/dist/modules/Order/utils.js +261 -31
  45. package/dist/modules/Quotation/index.d.ts +0 -1
  46. package/dist/modules/Quotation/index.js +23 -21
  47. package/dist/modules/Rules/index.d.ts +4 -0
  48. package/dist/modules/Rules/index.js +26 -10
  49. package/dist/modules/SalesSummary/index.js +4 -2
  50. package/dist/modules/SalesSummary/utils.js +18 -5
  51. package/dist/modules/Schedule/index.js +6 -2
  52. package/dist/modules/index.d.ts +1 -0
  53. package/dist/modules/index.js +2 -1
  54. package/dist/server/index.js +87 -29
  55. package/dist/server/modules/order/index.d.ts +23 -0
  56. package/dist/server/modules/order/index.js +123 -46
  57. package/dist/server/modules/order/utils/filterOrders.js +20 -6
  58. package/dist/server/modules/products/index.d.ts +1 -1
  59. package/dist/server/modules/products/index.js +130 -113
  60. package/dist/server/modules/schedule/index.js +13 -6
  61. package/dist/solution/BaseSales/index.d.ts +89 -7
  62. package/dist/solution/BaseSales/index.js +1484 -365
  63. package/dist/solution/BaseSales/types.d.ts +67 -1
  64. package/dist/solution/BaseSales/types.js +3 -1
  65. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +275 -0
  66. package/dist/solution/BaseSales/utils/cartPromotion.js +1258 -0
  67. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +7 -0
  68. package/dist/solution/BaseSales/utils/quotationPrice.js +237 -0
  69. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +68 -16
  70. package/dist/solution/BaseSales/utils.js +46 -8
  71. package/dist/solution/BookingByStep/index.d.ts +1 -1
  72. package/dist/solution/BookingTicket/index.d.ts +133 -1
  73. package/dist/solution/BookingTicket/index.js +780 -175
  74. package/dist/solution/BookingTicket/types.d.ts +2 -0
  75. package/dist/solution/BookingTicket/types.js +3 -0
  76. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +113 -0
  77. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  78. package/dist/solution/BookingTicket/utils/cartView.js +4 -2
  79. package/dist/solution/ScanOrder/index.d.ts +9 -3
  80. package/dist/solution/ScanOrder/index.js +231 -128
  81. package/dist/solution/ScanOrder/utils.js +46 -8
  82. package/dist/solution/ShopDiscount/index.d.ts +0 -1
  83. package/dist/solution/ShopDiscount/index.js +18 -23
  84. package/dist/solution/VenueBooking/index.d.ts +5 -9
  85. package/dist/solution/VenueBooking/index.js +103 -55
  86. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -0
  87. package/dist/solution/VenueBooking/utils/slotMerge.js +10 -0
  88. package/lib/model/strategy/adapter/promotion/index.js +0 -49
  89. package/lib/modules/BookingContext/index.d.ts +37 -0
  90. package/lib/modules/BookingContext/index.js +297 -0
  91. package/lib/modules/BookingContext/types.d.ts +102 -0
  92. package/lib/modules/BookingContext/types.js +34 -0
  93. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  94. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +207 -0
  95. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  96. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +141 -0
  97. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +75 -0
  98. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +198 -0
  99. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  100. package/lib/modules/BookingContext/utils/flexible.js +80 -0
  101. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  102. package/lib/modules/BookingContext/utils/formatResourceList.js +50 -0
  103. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  104. package/lib/modules/BookingContext/utils/index.js +43 -0
  105. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  106. package/lib/modules/BookingContext/utils/noResource.js +90 -0
  107. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  108. package/lib/modules/BookingContext/utils/productExtend.js +283 -0
  109. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  110. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  111. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  112. package/lib/modules/BookingContext/utils/resourceSelection.js +46 -0
  113. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  114. package/lib/modules/BookingContext/utils/resources.js +377 -0
  115. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  116. package/lib/modules/BookingContext/utils/serviceTimes.js +162 -0
  117. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  118. package/lib/modules/BookingContext/utils/timeSlices.js +124 -0
  119. package/lib/modules/Customer/index.d.ts +6 -0
  120. package/lib/modules/Customer/index.js +26 -11
  121. package/lib/modules/Customer/types.d.ts +2 -0
  122. package/lib/modules/Discount/index.d.ts +2 -4
  123. package/lib/modules/Discount/index.js +8 -63
  124. package/lib/modules/Discount/types.d.ts +1 -7
  125. package/lib/modules/Order/index.d.ts +86 -17
  126. package/lib/modules/Order/index.js +633 -146
  127. package/lib/modules/Order/types.d.ts +198 -18
  128. package/lib/modules/Order/types.js +1 -0
  129. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  130. package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
  131. package/lib/modules/Order/utils.d.ts +50 -1
  132. package/lib/modules/Order/utils.js +229 -21
  133. package/lib/modules/Quotation/index.d.ts +0 -1
  134. package/lib/modules/Quotation/index.js +18 -15
  135. package/lib/modules/Rules/index.d.ts +4 -0
  136. package/lib/modules/Rules/index.js +22 -14
  137. package/lib/modules/SalesSummary/index.js +4 -2
  138. package/lib/modules/SalesSummary/utils.js +18 -5
  139. package/lib/modules/Schedule/index.js +3 -1
  140. package/lib/modules/index.d.ts +1 -0
  141. package/lib/modules/index.js +3 -1
  142. package/lib/server/index.js +41 -4
  143. package/lib/server/modules/order/index.d.ts +23 -0
  144. package/lib/server/modules/order/index.js +46 -14
  145. package/lib/server/modules/order/utils/filterOrders.js +12 -4
  146. package/lib/server/modules/products/index.d.ts +1 -1
  147. package/lib/server/modules/products/index.js +30 -20
  148. package/lib/server/modules/schedule/index.js +2 -1
  149. package/lib/solution/BaseSales/index.d.ts +89 -7
  150. package/lib/solution/BaseSales/index.js +736 -22
  151. package/lib/solution/BaseSales/types.d.ts +67 -1
  152. package/lib/solution/BaseSales/types.js +3 -1
  153. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +275 -0
  154. package/lib/solution/BaseSales/utils/cartPromotion.js +836 -0
  155. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +7 -0
  156. package/lib/solution/BaseSales/utils/quotationPrice.js +277 -0
  157. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +71 -12
  158. package/lib/solution/BaseSales/utils.js +46 -6
  159. package/lib/solution/BookingByStep/index.d.ts +1 -1
  160. package/lib/solution/BookingTicket/index.d.ts +133 -1
  161. package/lib/solution/BookingTicket/index.js +352 -8
  162. package/lib/solution/BookingTicket/types.d.ts +2 -0
  163. package/lib/solution/BookingTicket/types.js +6 -0
  164. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +113 -0
  165. package/lib/solution/BookingTicket/utils/addProductDecision.js +318 -0
  166. package/lib/solution/BookingTicket/utils/cartView.js +4 -2
  167. package/lib/solution/ScanOrder/index.d.ts +9 -3
  168. package/lib/solution/ScanOrder/index.js +147 -66
  169. package/lib/solution/ScanOrder/utils.js +46 -6
  170. package/lib/solution/ShopDiscount/index.d.ts +0 -1
  171. package/lib/solution/ShopDiscount/index.js +2 -4
  172. package/lib/solution/VenueBooking/index.d.ts +5 -9
  173. package/lib/solution/VenueBooking/index.js +50 -14
  174. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -0
  175. package/lib/solution/VenueBooking/utils/slotMerge.js +10 -0
  176. package/package.json +2 -2
@@ -1,12 +1,11 @@
1
1
  import { Module, PisellCore, ModuleOptions } from '../../types';
2
2
  import { BaseModule } from '../BaseModule';
3
- import { OrderModuleAPI, CommitOrderParams, UpdateProductInOrderParams, CheckoutOrderParams, CancelOrderParams, ChangeBookingStatusParams } from './types';
3
+ import { OrderModuleAPI, CommitOrderParams, UpdateOrderBookingParams, UpdateOrderProductParams, UpdateOrderProductQuantityParams, CheckoutOrderParams, CancelOrderParams, ChangeBookingStatusParams } from './types';
4
4
  import { CartItem } from '../Cart/types';
5
5
  import { type SubmitPayloadEnhancer } from './utils';
6
- import type { OrderAmountSnapshot, AddProductBookingInput, OrderIdentitySnapshot, OrderPaymentSource, OrderSnapshot, OrderSyncState, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, SubmitSalesOrderParams, OrderProduct, OrderProductIdentity, OrderSummary, OrderTempOrder, OrderPaymentData, SendCustomerPayLinkParams, UpdateTempOrderCustomerInput, OrderCustomerPatch, OrderCustomerView } from './types';
6
+ import type { OrderAmountSnapshot, AddProductBookingInput, OrderIdentitySnapshot, OrderPaymentSource, OrderSnapshot, OrderSyncState, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, SubmitSalesOrderParams, OrderProduct, OrderProductIdentity, OrderSummary, OrderTempOrder, OrderPaymentData, SendCustomerPayLinkParams, UpdateTempOrderCustomerInput, OrderCustomerPatch, OrderCustomerView, OrderScanCodeResult, ReplaceTempOrderOptions, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions } from './types';
7
7
  import type { ICustomer } from '../AccountList/types';
8
8
  import type { Discount } from '../Discount/types';
9
- import { UnavailableReason } from '../Rules/types';
10
9
  export declare class OrderModule extends BaseModule implements Module, OrderModuleAPI {
11
10
  protected defaultName: string;
12
11
  protected defaultVersion: string;
@@ -20,11 +19,22 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
20
19
  private rulesHooksOverride?;
21
20
  private orderHooks?;
22
21
  private otherParams?;
22
+ /** 评估器引用;由 SalesSdkProvider 注入,未注入时 applyPromotion 静默跳过 */
23
+ private promotionEvaluator;
24
+ /** 赠品选择 resolver;由 SDK host bridge 注入 */
25
+ private giftSelectResolver;
26
+ /** applyPromotion 递归保护 flag(写路径同步调 applyPromotion,禁止重入) */
27
+ private isApplyingPromotion;
28
+ /** 最近一次 applyPromotion 的未满足促销提示 */
29
+ private lastUnfulfilledPromotions;
30
+ /** 最近一次 applyPromotion 的赠品操作 diff(debug / SDK 读取使用) */
31
+ private lastGiftActions;
23
32
  /**
24
33
  * Populate `savedAmount` on each discount based on product-level discount details.
25
34
  * Only selected discounts get a non-zero value.
26
35
  */
27
36
  static populateSavedAmounts(productList: Array<Record<string, any>>, discountList: Array<Record<string, any>>): void;
37
+ private applyProductDiscountPrices;
28
38
  constructor(name?: string, version?: string);
29
39
  initialize(core: PisellCore, options: ModuleOptions): Promise<void>;
30
40
  /**
@@ -43,43 +53,87 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
43
53
  private createDefaultRulesHooks;
44
54
  loadDiscountConfig(params: {
45
55
  customerId: number;
46
- action?: 'create';
47
- }): Promise<void>;
56
+ action?: 'create' | 'edit';
57
+ orderId?: number;
58
+ apply?: boolean;
59
+ }): Promise<Discount[]>;
48
60
  getDiscountList(): Discount[];
49
- scanCode(code: string, customerId?: number): Promise<{
50
- isAvailable: boolean;
51
- discountList: Discount[];
52
- type: 'server' | 'clientCalc';
53
- unavailableReason?: UnavailableReason;
54
- unavailableReasonKey?: string | null;
55
- }>;
61
+ scanCode(code: string, customerId?: number): Promise<OrderScanCodeResult>;
56
62
  applyDiscount(): void;
63
+ /**
64
+ * 注入促销评估器。
65
+ *
66
+ * @example
67
+ * order.setPromotionEvaluator(appHelper.utils.promotionEvaluator);
68
+ */
69
+ setPromotionEvaluator(evaluator: OrderPromotionEvaluator | null): void;
70
+ /**
71
+ * 注入赠品选择 resolver。OS 需要补赠品时会 await 调用 resolver;缺省时跳过新增并 console.warn。
72
+ *
73
+ * @example
74
+ * order.setGiftSelectResolver(async (ctx) => {
75
+ * // SDK 内部决定弹窗 or 自动选第一项,返回完整 OrderProduct[]
76
+ * return giftSelectBridge.request(ctx);
77
+ * });
78
+ */
79
+ setGiftSelectResolver(resolver: OrderGiftSelectResolver | null): void;
80
+ /**
81
+ * 为商品目录追加促销标签,供上层 Sales 门面复用。
82
+ *
83
+ * @example
84
+ * const products = order.appendPromotionTags(catalogProducts);
85
+ */
86
+ appendPromotionTags<T extends Record<string, any>>(products: T[]): T[];
87
+ /**
88
+ * 应用购物车促销:计算 → 差异化赠品 → 写回 tempOrder.products → emit onPromotionApplied。
89
+ *
90
+ * 调用时机:写路径(add/update/remove/clear/setCustomer)末尾自动触发;外部一般无需手动调。
91
+ *
92
+ * 关键约束:
93
+ * - 不调用任何公开 CRUD API(如 removeProductFromOrder),全部内部 mutate tempOrder.products,避免事件风暴;
94
+ * - 用 `isApplyingPromotion` 防递归;
95
+ * - 多选项赠品依赖 giftSelectResolver,未注入则跳过且 console.warn;
96
+ * - 不主动调用 applyDiscount / recalculateSummary,调用方负责跟进。
97
+ */
98
+ applyPromotion(): Promise<void>;
99
+ /** 最近一次 applyPromotion 输出的未满足促销列表 */
100
+ getUnfulfilledPromotions(): OrderUnfulfilledPromotion[];
101
+ /** 最近一次 applyPromotion 输出的赠品操作 diff */
102
+ getLastGiftActions(): OrderLastGiftActions | null;
57
103
  initTempOrder(params: {
58
104
  cacheId?: string;
59
105
  salesSummaryModuleName?: string;
60
106
  }): void;
61
- private getTempOrderStorageKey;
62
- private restoreTempOrderFromStorage;
107
+ /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
108
+ setEnableTempOrderPersist(_enabled: boolean): void;
109
+ /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
110
+ isTempOrderPersistEnabled(): boolean;
111
+ /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化;草稿保存请使用 IndexedDB saveDraft。 */
63
112
  persistTempOrder(): void;
64
113
  private createDefaultTempOrderInstance;
65
114
  private createExternalSaleNumber;
66
115
  private ensureExternalSaleNumber;
67
116
  private ensureRequestUniqueIdempotencyToken;
117
+ private buildPaymentSyncIdempotencyToken;
68
118
  hasLocalDatabase(): boolean;
69
119
  private buildLocalOrderRecord;
70
120
  getLocalOrderByOrderId(orderId: number | string): Promise<Record<string, any> | null>;
71
121
  getLocalOrderByOrderNumber(orderNumber: string): Promise<Record<string, any> | null>;
72
122
  getLocalOrderByExternalSaleNumber(externalSaleNumber: string): Promise<Record<string, any> | null>;
73
123
  saveDraft(): Promise<void>;
124
+ private saveDraftInBackground;
74
125
  private hydrateTempOrderFromLocalRecord;
75
126
  private extractOrderIdFromSubmitResult;
76
127
  private calculatePaymentTotal;
77
128
  private calculatePaidPaymentSummary;
78
129
  private calculatePaymentServiceFee;
130
+ private formatSummaryMetadataMoney;
131
+ private syncSummaryProductMetadata;
79
132
  private getPaymentTargetAmount;
80
133
  ensureTempOrder(): OrderTempOrder;
81
134
  restoreOrder(): OrderTempOrder;
82
135
  getTempOrder(): OrderTempOrder | null;
136
+ replaceTempOrder(tempOrder: OrderTempOrder, options?: ReplaceTempOrderOptions): Promise<OrderTempOrder>;
83
137
  getOrderIdentity(): OrderIdentitySnapshot | null;
84
138
  getOrderSyncState(): OrderSyncState;
85
139
  getOrderAmountSnapshot(): OrderAmountSnapshot | null;
@@ -90,20 +144,27 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
90
144
  private ensureExtend;
91
145
  private captureProductRuntime;
92
146
  private createLinkedProductAndBooking;
147
+ private getBookingUniqueIdentificationNumber;
148
+ private findBookingIndexByUniqueIdentificationNumber;
149
+ private removeLinkedBookingsForProduct;
93
150
  private getSalesSummary;
94
151
  recalculateSummary(options?: {
95
152
  createIfMissing?: boolean;
96
153
  }): Promise<OrderSummary | null>;
97
154
  getOrderSummary(): Promise<OrderSummary>;
98
155
  updateTempOrderNote(note: string): string;
156
+ updateTempOrderNote(note: string, sync: true): Promise<string>;
157
+ updateTempOrderNote(note: string, sync: boolean): string | Promise<string>;
158
+ syncTempOrderNoteToRemote(orderId: number | string, note: string): Promise<string>;
99
159
  getTempOrderNote(): string;
100
160
  updateTempOrderShopDiscount(amount: string | number): string;
101
161
  updateTempOrderBuzzer(buzzer: string): string;
102
162
  updateTempOrderContactsInfo(contactsInfo: Record<string, any> | null): Record<string, any> | null;
163
+ private buildTempOrderCustomer;
103
164
  /**
104
165
  * 更新当前 tempOrder 的客户协议字段。
105
166
  *
106
- * PaymentModal 只需要修改订单里的客户字段;如果外部还有客户模块需要同步,
167
+ * PaymentModal 只需要修改订单里的客户事实;如果外部还有客户模块需要同步,
107
168
  * 应由调用方通过回调处理,不能把外部 UI 状态写进 tempOrder。
108
169
  */
109
170
  updateTempOrderCustomer(customer: UpdateTempOrderCustomerInput): OrderSnapshot['customer'];
@@ -148,8 +209,15 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
148
209
  private shouldMergeProductToOrder;
149
210
  addProductToOrder(product: Partial<OrderProduct> & OrderProductIdentity, booking?: AddProductBookingInput): Promise<OrderProduct[]>;
150
211
  private hasGoodPassDiscount;
151
- updateProductInOrder(params: UpdateProductInOrderParams): Promise<OrderProduct[]>;
212
+ updateOrderProduct(params: UpdateOrderProductParams): Promise<OrderProduct[]>;
213
+ updateOrderProductQuantity(params: UpdateOrderProductQuantityParams): Promise<OrderProduct[]>;
214
+ updateOrderBooking(params: UpdateOrderBookingParams): any[];
152
215
  removeProductFromOrder(identity: OrderProductIdentity): Promise<OrderProduct[]>;
216
+ /**
217
+ * 仅清空购物车行(products / bookings),不重置整单。
218
+ * 用于「仅清空商品」;客户、备注、支付等协议字段保持不变。
219
+ */
220
+ clearOrderCartLines(): Promise<OrderTempOrder>;
153
221
  /**
154
222
  * 提交当前 Sales tempOrder。
155
223
  *
@@ -221,8 +289,9 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
221
289
  hydrateTempOrderFromRecord(record: Record<string, any>, options?: {
222
290
  recalcOnHydrate?: boolean;
223
291
  }): Promise<OrderTempOrder>;
292
+ private normalizeTempOrderForRuntime;
224
293
  private normalizeHydratedOrderProduct;
225
294
  getLastOrderInfo(): Record<string, any> | undefined;
226
295
  getOrderInfo(order_id: number): Promise<any>;
227
296
  }
228
- export type { UpdateProductInOrderParams } from './types';
297
+ export type { UpdateOrderBookingParams, UpdateOrderProductParams, UpdateOrderProductQuantityParams, } from './types';