@pisell/pisellos 2.2.192 → 2.2.193

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 (36) hide show
  1. package/dist/model/strategy/adapter/walletPass/utils.js +7 -4
  2. package/dist/modules/Order/index.d.ts +12 -10
  3. package/dist/modules/Order/index.js +462 -571
  4. package/dist/modules/Order/types.d.ts +5 -5
  5. package/dist/modules/Order/utils.js +3 -3
  6. package/dist/modules/Payment/utils.js +2 -1
  7. package/dist/modules/SalesSummary/utils.js +1 -1
  8. package/dist/server/index.d.ts +8 -1
  9. package/dist/server/index.js +651 -464
  10. package/dist/server/modules/order/index.d.ts +3 -2
  11. package/dist/server/modules/order/index.js +68 -52
  12. package/dist/solution/BaseSales/index.d.ts +2 -1
  13. package/dist/solution/BaseSales/index.js +116 -122
  14. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +0 -1
  15. package/dist/solution/BookingByStep/index.d.ts +1 -1
  16. package/dist/solution/BookingTicket/index.d.ts +1 -1
  17. package/dist/solution/ScanOrder/index.js +3 -1
  18. package/lib/model/strategy/adapter/promotion/index.js +49 -0
  19. package/lib/model/strategy/adapter/walletPass/utils.js +3 -2
  20. package/lib/modules/Order/index.d.ts +12 -10
  21. package/lib/modules/Order/index.js +94 -118
  22. package/lib/modules/Order/types.d.ts +5 -5
  23. package/lib/modules/Order/utils.js +4 -4
  24. package/lib/modules/Payment/utils.js +2 -1
  25. package/lib/modules/SalesSummary/utils.js +1 -3
  26. package/lib/server/index.d.ts +8 -1
  27. package/lib/server/index.js +143 -24
  28. package/lib/server/modules/order/index.d.ts +3 -2
  29. package/lib/server/modules/order/index.js +25 -15
  30. package/lib/solution/BaseSales/index.d.ts +2 -1
  31. package/lib/solution/BaseSales/index.js +53 -16
  32. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +0 -1
  33. package/lib/solution/BookingByStep/index.d.ts +1 -1
  34. package/lib/solution/BookingTicket/index.d.ts +1 -1
  35. package/lib/solution/ScanOrder/index.js +3 -1
  36. package/package.json +1 -1
@@ -494,7 +494,7 @@ export function processVouchers(applicableVouchers, orderTotalAmount, products)
494
494
  // ======================================================================================
495
495
 
496
496
  // 计算本次抵扣金额(使用同样的 usageAmount)
497
- var maxDeduction = Decimal.min(new Decimal(usageAmount), new Decimal(maxDeductionAmount));
497
+ var maxDeduction = Decimal.min(new Decimal(usageAmount), new Decimal(maxDeductionAmount), remainingOrderAmount);
498
498
  var deductionLeft = maxDeduction;
499
499
  var deductionDetails = [];
500
500
  if (allowCrossProduct) {
@@ -677,6 +677,7 @@ export function recalculateVouchers(allVouchers, selectedVouchers, orderTotalAmo
677
677
 
678
678
  // 第一步:按顺序应用已选中的券,计算实际抵扣
679
679
  selectedVouchers.forEach(function (selectedVoucher) {
680
+ var _selectedVoucher$_ava;
680
681
  var config = selectedVoucher.config,
681
682
  id = selectedVoucher.id;
682
683
  var maxDeductionAmount = config.maxDeductionAmount,
@@ -710,9 +711,11 @@ export function recalculateVouchers(allVouchers, selectedVouchers, orderTotalAmo
710
711
  return;
711
712
  }
712
713
 
713
- // 计算本次抵扣金额
714
- // 优先使用用户手动编辑的金额,否则根据 deductTaxAndFee 配置获取推荐金额
715
- var usageAmount = typeof selectedVoucher.edit_current_amount === 'number' ? selectedVoucher.edit_current_amount : getRecommendedAmount(selectedVoucher);
714
+ // 计算本次抵扣金额:
715
+ // - 用户手动编辑时以编辑金额为准;
716
+ // - 自动推荐/重算时沿用上一轮基于剩余待付金额算出的 _available_max_amount,
717
+ // 避免 recalculateVouchers 又回退到后端单券 recommended_usage_amount 造成超付。
718
+ var usageAmount = typeof selectedVoucher.edit_current_amount === 'number' ? selectedVoucher.edit_current_amount : (_selectedVoucher$_ava = selectedVoucher._available_max_amount) !== null && _selectedVoucher$_ava !== void 0 ? _selectedVoucher$_ava : getRecommendedAmount(selectedVoucher);
716
719
  var maxDeduction = Decimal.min(new Decimal(usageAmount), new Decimal(maxDeductionAmount), remainingOrderAmount);
717
720
  var deductionLeft = maxDeduction;
718
721
  var deductionDetails = [];
@@ -13,7 +13,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
13
13
  private store;
14
14
  private request;
15
15
  private logger;
16
- private dbManager;
17
16
  private window;
18
17
  private cacheId;
19
18
  private salesSummaryModuleName;
@@ -134,11 +133,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
134
133
  private ensureExternalSaleNumber;
135
134
  private ensureRequestUniqueIdempotencyToken;
136
135
  private buildPaymentSyncIdempotencyToken;
137
- hasLocalDatabase(): boolean;
138
- private buildLocalOrderRecord;
139
- getLocalOrderByOrderId(orderId: number | string): Promise<Record<string, any> | null>;
140
- getLocalOrderByOrderNumber(orderNumber: string): Promise<Record<string, any> | null>;
141
- getLocalOrderByExternalSaleNumber(externalSaleNumber: string): Promise<Record<string, any> | null>;
142
136
  saveDraft(): Promise<void>;
143
137
  private saveDraftInBackground;
144
138
  private hydrateTempOrderFromLocalRecord;
@@ -147,8 +141,11 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
147
141
  private calculatePaymentTotal;
148
142
  private normalizePaymentSource;
149
143
  private updateTempOrderPaymentStatus;
144
+ private resolveWalletPassUseValue;
145
+ private capVoucherPaymentsByRemainingAmount;
150
146
  private calculatePaidPaymentSummary;
151
147
  private calculatePaymentServiceFee;
148
+ private calculatePaymentGapAmount;
152
149
  private formatSummaryMetadataMoney;
153
150
  private syncSummaryProductMetadata;
154
151
  private calculateSummaryAmountGap;
@@ -164,6 +161,8 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
164
161
  addNewOrder(): Promise<OrderTempOrder>;
165
162
  getOrderProducts(): OrderProduct[];
166
163
  private getProductUid;
164
+ private sanitizeOrderProductForTempOrder;
165
+ private sanitizeTempOrderProducts;
167
166
  private ensureExtend;
168
167
  private captureProductRuntime;
169
168
  private createLinkedProductAndBooking;
@@ -245,7 +244,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
245
244
  * 提交当前 Sales tempOrder。
246
245
  *
247
246
  * smallTicketDataFlag 用于 B 端 checkout 小票数据返回。PaymentModal 在支付提交时
248
- * 应传 1,确保 /order/sales/checkout 返回打印所需数据。
247
+ * 应传 1,确保 /shop/order/sales/checkout 返回打印所需数据。
249
248
  */
250
249
  submitTempOrder<T = any>(params?: {
251
250
  cacheId?: string;
@@ -265,7 +264,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
265
264
  private logSubmitBackendRejected;
266
265
  syncPaymentsToOrder<T = any>(params: SyncPaymentsToOrderParams): Promise<SyncPaymentsToOrderResult<T>>;
267
266
  createOrder(params: CommitOrderParams['query']): {
268
- type: "appointment_booking" | "virtual";
267
+ type: "virtual" | "appointment_booking";
269
268
  platform: string;
270
269
  sales_channel: string;
271
270
  order_sales_channel: string;
@@ -287,7 +286,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
287
286
  * Checkout 专用:创建订单到后端
288
287
  *
289
288
  * 专门为 Checkout 模块设计的订单创建方法,
290
- * 直接调用 /order/checkout 接口创建订单
289
+ * 通过 OS Server 调用 checkout 接口创建订单
291
290
  * 接收已经处理好的订单数据,无需再处理购物车
292
291
  *
293
292
  * @param params Checkout 订单参数(已处理的订单数据)
@@ -302,7 +301,10 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
302
301
  * OrderModule 只负责校验 order_ids 并调用 /order/batch-email。
303
302
  */
304
303
  sendCustomerPayLink<T = any>(params: SendCustomerPayLinkParams): Promise<T>;
305
- getOrderInfoByRemote(order_id: number): Promise<any>;
304
+ getSalesOrderByLookup(params: {
305
+ lookup: number | string;
306
+ forceRemote?: boolean;
307
+ }): Promise<any>;
306
308
  /**
307
309
  * 把 sqlite / 后端返回的订单记录直接恢复为 tempOrder。
308
310
  *