@pisell/pisellos 2.2.177 → 2.2.179

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 (183) hide show
  1. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  2. package/dist/modules/Customer/index.d.ts +0 -6
  3. package/dist/modules/Customer/index.js +83 -129
  4. package/dist/modules/Customer/types.d.ts +0 -2
  5. package/dist/modules/Discount/index.d.ts +4 -2
  6. package/dist/modules/Discount/index.js +93 -8
  7. package/dist/modules/Discount/types.d.ts +7 -1
  8. package/dist/modules/Order/index.d.ts +18 -87
  9. package/dist/modules/Order/index.js +497 -1303
  10. package/dist/modules/Order/types.d.ts +19 -198
  11. package/dist/modules/Order/types.js +0 -31
  12. package/dist/modules/Order/utils.d.ts +1 -50
  13. package/dist/modules/Order/utils.js +32 -261
  14. package/dist/modules/Quotation/index.d.ts +1 -0
  15. package/dist/modules/Quotation/index.js +21 -23
  16. package/dist/modules/Rules/index.d.ts +0 -4
  17. package/dist/modules/Rules/index.js +10 -26
  18. package/dist/modules/SalesSummary/index.js +2 -4
  19. package/dist/modules/SalesSummary/utils.js +5 -18
  20. package/dist/modules/Schedule/index.js +2 -6
  21. package/dist/modules/index.d.ts +0 -1
  22. package/dist/modules/index.js +1 -2
  23. package/dist/server/index.js +29 -87
  24. package/dist/server/modules/order/index.d.ts +0 -23
  25. package/dist/server/modules/order/index.js +46 -123
  26. package/dist/server/modules/order/types.d.ts +2 -0
  27. package/dist/server/modules/order/utils/filterOrders.js +6 -20
  28. package/dist/server/modules/products/index.d.ts +1 -1
  29. package/dist/server/modules/products/index.js +113 -130
  30. package/dist/server/modules/schedule/index.js +6 -13
  31. package/dist/solution/BaseSales/index.d.ts +7 -89
  32. package/dist/solution/BaseSales/index.js +375 -1494
  33. package/dist/solution/BaseSales/types.d.ts +1 -67
  34. package/dist/solution/BaseSales/types.js +1 -3
  35. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +1 -0
  36. package/dist/solution/BaseSales/utils/parseSalesResponse.js +1 -1
  37. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +16 -68
  38. package/dist/solution/BaseSales/utils.js +8 -46
  39. package/dist/solution/BookingByStep/index.d.ts +1 -1
  40. package/dist/solution/BookingTicket/index.d.ts +1 -133
  41. package/dist/solution/BookingTicket/index.js +175 -780
  42. package/dist/solution/BookingTicket/types.d.ts +0 -2
  43. package/dist/solution/BookingTicket/types.js +0 -3
  44. package/dist/solution/BookingTicket/utils/cartView.js +2 -4
  45. package/dist/solution/ScanOrder/index.d.ts +3 -9
  46. package/dist/solution/ScanOrder/index.js +128 -231
  47. package/dist/solution/ScanOrder/utils.js +8 -46
  48. package/dist/solution/ShopDiscount/index.d.ts +1 -0
  49. package/dist/solution/ShopDiscount/index.js +23 -18
  50. package/dist/solution/VenueBooking/index.d.ts +9 -5
  51. package/dist/solution/VenueBooking/index.js +55 -103
  52. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
  53. package/dist/solution/VenueBooking/utils/slotMerge.js +0 -10
  54. package/lib/model/strategy/adapter/promotion/index.js +49 -0
  55. package/lib/modules/Customer/index.d.ts +0 -6
  56. package/lib/modules/Customer/index.js +11 -26
  57. package/lib/modules/Customer/types.d.ts +0 -2
  58. package/lib/modules/Discount/index.d.ts +4 -2
  59. package/lib/modules/Discount/index.js +63 -8
  60. package/lib/modules/Discount/types.d.ts +7 -1
  61. package/lib/modules/Order/index.d.ts +18 -87
  62. package/lib/modules/Order/index.js +146 -633
  63. package/lib/modules/Order/types.d.ts +19 -198
  64. package/lib/modules/Order/types.js +0 -1
  65. package/lib/modules/Order/utils.d.ts +1 -50
  66. package/lib/modules/Order/utils.js +22 -229
  67. package/lib/modules/Quotation/index.d.ts +1 -0
  68. package/lib/modules/Quotation/index.js +15 -18
  69. package/lib/modules/Rules/index.d.ts +0 -4
  70. package/lib/modules/Rules/index.js +14 -22
  71. package/lib/modules/SalesSummary/index.js +2 -4
  72. package/lib/modules/SalesSummary/utils.js +5 -18
  73. package/lib/modules/Schedule/index.js +1 -3
  74. package/lib/modules/index.d.ts +0 -1
  75. package/lib/modules/index.js +1 -3
  76. package/lib/server/index.js +4 -41
  77. package/lib/server/modules/order/index.d.ts +0 -23
  78. package/lib/server/modules/order/index.js +14 -46
  79. package/lib/server/modules/order/types.d.ts +2 -0
  80. package/lib/server/modules/order/utils/filterOrders.js +4 -12
  81. package/lib/server/modules/products/index.d.ts +1 -1
  82. package/lib/server/modules/products/index.js +20 -30
  83. package/lib/server/modules/schedule/index.js +1 -2
  84. package/lib/solution/BaseSales/index.d.ts +7 -89
  85. package/lib/solution/BaseSales/index.js +22 -736
  86. package/lib/solution/BaseSales/types.d.ts +1 -67
  87. package/lib/solution/BaseSales/types.js +1 -3
  88. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +1 -0
  89. package/lib/solution/BaseSales/utils/parseSalesResponse.js +1 -0
  90. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +12 -71
  91. package/lib/solution/BaseSales/utils.js +6 -46
  92. package/lib/solution/BookingByStep/index.d.ts +1 -1
  93. package/lib/solution/BookingTicket/index.d.ts +1 -133
  94. package/lib/solution/BookingTicket/index.js +8 -352
  95. package/lib/solution/BookingTicket/types.d.ts +0 -2
  96. package/lib/solution/BookingTicket/types.js +0 -6
  97. package/lib/solution/BookingTicket/utils/cartView.js +2 -4
  98. package/lib/solution/ScanOrder/index.d.ts +3 -9
  99. package/lib/solution/ScanOrder/index.js +66 -147
  100. package/lib/solution/ScanOrder/utils.js +6 -46
  101. package/lib/solution/ShopDiscount/index.d.ts +1 -0
  102. package/lib/solution/ShopDiscount/index.js +4 -2
  103. package/lib/solution/VenueBooking/index.d.ts +9 -5
  104. package/lib/solution/VenueBooking/index.js +14 -50
  105. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
  106. package/lib/solution/VenueBooking/utils/slotMerge.js +0 -10
  107. package/package.json +2 -2
  108. package/dist/modules/BookingContext/index.d.ts +0 -37
  109. package/dist/modules/BookingContext/index.js +0 -436
  110. package/dist/modules/BookingContext/types.d.ts +0 -102
  111. package/dist/modules/BookingContext/types.js +0 -51
  112. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
  113. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -193
  114. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
  115. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -137
  116. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -75
  117. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -215
  118. package/dist/modules/BookingContext/utils/flexible.d.ts +0 -28
  119. package/dist/modules/BookingContext/utils/flexible.js +0 -56
  120. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
  121. package/dist/modules/BookingContext/utils/formatResourceList.js +0 -38
  122. package/dist/modules/BookingContext/utils/index.d.ts +0 -11
  123. package/dist/modules/BookingContext/utils/index.js +0 -11
  124. package/dist/modules/BookingContext/utils/noResource.d.ts +0 -13
  125. package/dist/modules/BookingContext/utils/noResource.js +0 -77
  126. package/dist/modules/BookingContext/utils/productExtend.d.ts +0 -72
  127. package/dist/modules/BookingContext/utils/productExtend.js +0 -339
  128. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
  129. package/dist/modules/BookingContext/utils/resourceErrors.js +0 -74
  130. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
  131. package/dist/modules/BookingContext/utils/resourceSelection.js +0 -24
  132. package/dist/modules/BookingContext/utils/resources.d.ts +0 -80
  133. package/dist/modules/BookingContext/utils/resources.js +0 -486
  134. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
  135. package/dist/modules/BookingContext/utils/serviceTimes.js +0 -151
  136. package/dist/modules/BookingContext/utils/timeSlices.d.ts +0 -42
  137. package/dist/modules/BookingContext/utils/timeSlices.js +0 -100
  138. package/dist/modules/Order/utils/manualProductDiscount.d.ts +0 -106
  139. package/dist/modules/Order/utils/manualProductDiscount.js +0 -212
  140. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +0 -275
  141. package/dist/solution/BaseSales/utils/cartPromotion.js +0 -1258
  142. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
  143. package/dist/solution/BaseSales/utils/quotationPrice.js +0 -237
  144. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +0 -113
  145. package/dist/solution/BookingTicket/utils/addProductDecision.js +0 -346
  146. package/lib/modules/BookingContext/index.d.ts +0 -37
  147. package/lib/modules/BookingContext/index.js +0 -297
  148. package/lib/modules/BookingContext/types.d.ts +0 -102
  149. package/lib/modules/BookingContext/types.js +0 -34
  150. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
  151. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -207
  152. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
  153. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -141
  154. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -75
  155. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -198
  156. package/lib/modules/BookingContext/utils/flexible.d.ts +0 -28
  157. package/lib/modules/BookingContext/utils/flexible.js +0 -80
  158. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
  159. package/lib/modules/BookingContext/utils/formatResourceList.js +0 -50
  160. package/lib/modules/BookingContext/utils/index.d.ts +0 -11
  161. package/lib/modules/BookingContext/utils/index.js +0 -43
  162. package/lib/modules/BookingContext/utils/noResource.d.ts +0 -13
  163. package/lib/modules/BookingContext/utils/noResource.js +0 -90
  164. package/lib/modules/BookingContext/utils/productExtend.d.ts +0 -72
  165. package/lib/modules/BookingContext/utils/productExtend.js +0 -283
  166. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
  167. package/lib/modules/BookingContext/utils/resourceErrors.js +0 -80
  168. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
  169. package/lib/modules/BookingContext/utils/resourceSelection.js +0 -46
  170. package/lib/modules/BookingContext/utils/resources.d.ts +0 -80
  171. package/lib/modules/BookingContext/utils/resources.js +0 -377
  172. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
  173. package/lib/modules/BookingContext/utils/serviceTimes.js +0 -162
  174. package/lib/modules/BookingContext/utils/timeSlices.d.ts +0 -42
  175. package/lib/modules/BookingContext/utils/timeSlices.js +0 -124
  176. package/lib/modules/Order/utils/manualProductDiscount.d.ts +0 -106
  177. package/lib/modules/Order/utils/manualProductDiscount.js +0 -207
  178. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +0 -275
  179. package/lib/solution/BaseSales/utils/cartPromotion.js +0 -836
  180. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
  181. package/lib/solution/BaseSales/utils/quotationPrice.js +0 -277
  182. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +0 -113
  183. package/lib/solution/BookingTicket/utils/addProductDecision.js +0 -318
@@ -1,8 +1,8 @@
1
1
  import { Module, ModuleOptions, PisellCore } from '../../types';
2
2
  import { BaseModule } from '../../modules/BaseModule';
3
- import { BaseSalesOrderProduct, BaseSalesOrderProductIdentity, BaseSalesPaymentStatus, BaseSalesUpdateOrderProductQuantityParams, BaseSalesCalculateProductBookingPriceParams, BaseSalesProductBookingPriceResult, BaseSalesScanCodeResult } from './types';
3
+ import { BaseSalesOrderProduct, BaseSalesOrderProductIdentity, BaseSalesPaymentStatus, BaseSalesScanCodeResult } from './types';
4
4
  import { OrderModule } from '../../modules/Order';
5
- import type { AddProductBookingInput, LoadSalesDetailParams, OrderPaymentData, OrderPaymentSource, SendCustomerPayLinkParams, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, UpdateTempOrderCustomerInput, UpdateOrderBookingParams, UpdateOrderProductParams, OrderTempOrder, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions } from '../../modules/Order/types';
5
+ import type { AddProductBookingInput, LoadSalesDetailParams, OrderPaymentData, OrderPaymentSource, SendCustomerPayLinkParams, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, UpdateTempOrderCustomerInput, UpdateProductInOrderParams } from '../../modules/Order/types';
6
6
  import type { SubmitPayloadEnhancer } from '../../modules/Order/utils';
7
7
  import type { Discount } from '../../modules/Discount/types';
8
8
  import { RequestPlugin, WindowPlugin } from '../../plugins';
@@ -11,7 +11,6 @@ import { ProductList } from '../../modules/ProductList';
11
11
  import { PaymentModule } from '../../modules/Payment';
12
12
  import type { SalesSummaryModule } from '../../modules/SalesSummary';
13
13
  import type { ScheduleModule } from '../../modules/Schedule';
14
- import { QuotationModule } from '../../modules/Quotation';
15
14
  import type { ISalesDetail, ISalesDetailHeader, ISalesBooking, ISalesPayment, ISalesSurcharge } from './utils/parseSalesResponse';
16
15
  import { type TransformBaseProductToOrderProductParams } from './utils/transformBaseProductToOrderProduct';
17
16
  export interface BaseSalesState {
@@ -20,7 +19,6 @@ export interface BaseSalesState {
20
19
  payment?: PaymentModule;
21
20
  salesSummary?: SalesSummaryModule;
22
21
  schedule?: ScheduleModule;
23
- quotation?: QuotationModule;
24
22
  }
25
23
  export declare class BaseSalesImpl extends BaseModule implements Module {
26
24
  protected defaultName: string;
@@ -28,7 +26,6 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
28
26
  isSolution: boolean;
29
27
  protected initializeOptions: ModuleOptions;
30
28
  private logger;
31
- private appPlugin;
32
29
  protected store: BaseSalesState;
33
30
  protected otherParams: Record<string, any>;
34
31
  protected cacheId: string | undefined;
@@ -39,12 +36,10 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
39
36
  window: WindowPlugin;
40
37
  request: RequestPlugin;
41
38
  protected currentSalesDetail: ISalesDetail | null;
42
- protected discountConfigCacheKey: string | null;
43
- protected hasManualDiscountSelection: boolean;
44
39
  constructor(name?: string, version?: string);
45
40
  /**
46
41
  * 子类可覆盖此方法以追加/收敛要注册的子模块。
47
- * 默认包含通用销售模块:products / order / salesSummary / schedule / payment / quotation
42
+ * 默认包含通用销售模块:products / order / salesSummary / schedule / payment。
48
43
  */
49
44
  protected getRegisteredModuleNames(): readonly string[];
50
45
  /**
@@ -60,17 +55,6 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
60
55
  */
61
56
  private logError;
62
57
  get payment(): PaymentModule | undefined;
63
- private getCurrentOrderCustomerId;
64
- private applyQuotationScheduleResolver;
65
- private loadQuotationForPriceQuery;
66
- private getPriceQueryProductId;
67
- private getPriceQuerySchedule;
68
- private loadProductForPriceQuery;
69
- private getAuthoritativeBundleItems;
70
- private findAuthoritativeBundleItem;
71
- private getAuthoritativeBundleUnitPrice;
72
- private mergeProductForPriceQuery;
73
- protected getSubmitOrderSalesChannel(): string | undefined;
74
58
  /**
75
59
  * 工厂入口:根据子模块名实例化对应模块。
76
60
  * 默认使用 BookingByStep 公共 `createModule`。子类若需引入额外类型(如 customer),
@@ -83,8 +67,6 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
83
67
  * sessionStorage 损坏时静默忽略,按空状态注册。
84
68
  */
85
69
  protected readSessionCacheData(): Record<string, any>;
86
- private getAppData;
87
- private syncAppDataToTempOrder;
88
70
  initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
89
71
  destroy(): Promise<void>;
90
72
  /**
@@ -109,59 +91,27 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
109
91
  getPayments(): ISalesPayment[];
110
92
  /** 获取附加费用(运费/服务费/税费等)。 */
111
93
  getSurcharges(): ISalesSurcharge[];
112
- getTempOrder(): OrderTempOrder | null;
113
- replaceTempOrder(tempOrder: OrderTempOrder): Promise<OrderTempOrder>;
94
+ getTempOrder(): import("../../modules/Order/types").OrderTempOrder | null;
114
95
  getOrderIdentity(): import("../../modules/Order/types").OrderIdentitySnapshot | null;
115
96
  getOrderSnapshot(): import("../../modules/Order/types").OrderSnapshot | null;
116
97
  getOrderSyncState(): import("../../modules/Order/types").OrderSyncState;
117
98
  getOrderAmountSnapshot(): import("../../modules/Order/types").OrderAmountSnapshot | null;
118
99
  getTempOrderNote(): string;
119
100
  updateTempOrderNote(note: string): string;
120
- updateTempOrderNote(note: string, sync: true): Promise<string>;
121
- updateTempOrderNote(note: string, sync: boolean): string | Promise<string>;
122
- updateRemoteOrderNote(orderId: number | string, note: string): void;
123
101
  updateTempOrderShopDiscount(amount: string | number): string;
124
102
  updateTempOrderContactsInfo(contactsInfo: Record<string, any> | null): Record<string, any> | null;
125
- /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
126
- setEnableTempOrderPersist(enabled: boolean): void;
127
- /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
128
- isTempOrderPersistEnabled(): boolean;
129
103
  private ensureTempOrder;
130
- addNewOrder(): Promise<OrderTempOrder>;
104
+ addNewOrder(): Promise<import("../../modules/Order/types").OrderTempOrder>;
131
105
  saveDraft(): Promise<void>;
132
- restoreOrder(): Promise<OrderTempOrder>;
133
- /**
134
- * 仅清空 tempOrder 购物车行(products / bookings / discount_list)。
135
- * 同步清空内存中的 salesDetail 商品/预约视图,避免编辑态仍读到旧 bookings。
136
- */
137
- clearOrderCartLines(): Promise<OrderTempOrder>;
106
+ restoreOrder(): Promise<import("../../modules/Order/types").OrderTempOrder>;
138
107
  getOrderProducts(): import("../../modules/Order/types").OrderProduct[];
139
108
  getSummary(): Promise<import("../../modules/Order/types").OrderSummary>;
140
- private getHistoricalProductDiscountList;
141
- private isPersistedOrderProduct;
142
- private mergeHistoricalDiscountList;
143
- private mergeCurrentDiscountSelectionState;
144
- loadDiscountConfig(params?: {
145
- customerId?: number;
146
- action?: 'create' | 'edit';
147
- }): Promise<{
148
- productList: Record<string, any>[];
149
- discountList: Discount[];
150
- }>;
151
- bestDiscount(cb?: (result: any) => void): Promise<{
152
- productList: Record<string, any>[];
153
- discountList: Discount[];
154
- }>;
155
109
  getDiscountList(): Discount[];
156
110
  scanPromotionCode(code: string, customerId?: number): Promise<BaseSalesScanCodeResult>;
157
111
  setDiscountSelected(params: {
158
112
  discountId: number;
159
113
  isSelected: boolean;
160
114
  }): Promise<void>;
161
- applyDiscountCalculationResult(result?: {
162
- productList?: Record<string, any>[];
163
- discountList?: Discount[];
164
- }): Promise<void>;
165
115
  submitScanOrder<T = any>(params?: {
166
116
  payments?: OrderPaymentSource[];
167
117
  paymentStatus?: BaseSalesPaymentStatus;
@@ -233,46 +183,14 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
233
183
  submitBeforeSend?: boolean;
234
184
  }): Promise<T>;
235
185
  transformBaseProductToOrderProduct(params: TransformBaseProductToOrderProductParams): import("./utils/transformBaseProductToOrderProduct").BaseProductOrderProductInput | null;
236
- calculateProductBookingPrice(params: BaseSalesCalculateProductBookingPriceParams): Promise<BaseSalesProductBookingPriceResult>;
237
186
  addProductToOrder(product: Partial<BaseSalesOrderProduct> & BaseSalesOrderProductIdentity, booking?: AddProductBookingInput): Promise<import("../../modules/Order/types").OrderProduct[]>;
238
- updateOrderProduct(params: UpdateOrderProductParams): Promise<import("../../modules/Order/types").OrderProduct[]>;
239
- updateOrderProductQuantity(params: BaseSalesUpdateOrderProductQuantityParams): Promise<import("../../modules/Order/types").OrderProduct[]>;
240
- updateOrderBooking(params: UpdateOrderBookingParams): any[];
187
+ updateProductInOrder(params: UpdateProductInOrderParams): Promise<import("../../modules/Order/types").OrderProduct[]>;
241
188
  /**
242
189
  * 设置单行商品备注(与整单 `updateTempOrderNote` 区分)。
243
190
  * 多行同 SKU 时必须传入与删除/更新一致的 unique_identification_number。
244
191
  */
245
192
  setOrderProductLineNote(identity: BaseSalesOrderProductIdentity, note: string): Promise<import("../../modules/Order/types").OrderProduct[]>;
246
193
  removeProductFromOrder(identity: BaseSalesOrderProductIdentity): Promise<import("../../modules/Order/types").OrderProduct[]>;
247
- /**
248
- * 注入促销评估器到底层 OrderModule。
249
- *
250
- * @example
251
- * solution.setPromotionEvaluator(appHelper.utils.promotionEvaluator);
252
- */
253
- setPromotionEvaluator(evaluator: OrderPromotionEvaluator | null): void;
254
- /**
255
- * 注入赠品选择 resolver。UI 层(SalesSdk)通过 bridge 提供。
256
- *
257
- * @example
258
- * solution.setGiftSelectResolver(async (ctx) => bridge.request(ctx));
259
- */
260
- setGiftSelectResolver(resolver: OrderGiftSelectResolver | null): void;
261
- /**
262
- * 为商品目录追加促销标签,供 SalesSdkProductProvider 等商品列表入口复用。
263
- *
264
- * @example
265
- * const products = solution.appendPromotionTags(catalogProducts);
266
- */
267
- appendPromotionTags<T extends Record<string, any>>(products: T[]): T[];
268
- /**
269
- * 主动触发一次促销应用(一般写路径会自动触发,少数场景如客户切换后可手动调)。
270
- */
271
- applyPromotion(): Promise<void>;
272
- /** 最近一次促销计算输出的未满足提示。 */
273
- getUnfulfilledPromotions(): OrderUnfulfilledPromotion[];
274
- /** 最近一次促销计算输出的赠品操作 diff。 */
275
- getLastGiftActions(): OrderLastGiftActions | null;
276
194
  getProductList(): Promise<any>;
277
195
  getOtherParams(): Record<string, any>;
278
196
  setOtherParams(params: Record<string, any>, { cover }?: {