@pisell/pisellos 2.2.192 → 2.2.194

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 (41) hide show
  1. package/dist/model/strategy/adapter/walletPass/utils.js +7 -4
  2. package/dist/modules/Order/index.d.ts +12 -9
  3. package/dist/modules/Order/index.js +503 -580
  4. package/dist/modules/Order/types.d.ts +5 -5
  5. package/dist/modules/Order/utils/manualProductDiscount.js +1 -1
  6. package/dist/modules/Order/utils.js +3 -3
  7. package/dist/modules/Payment/utils.js +2 -1
  8. package/dist/modules/SalesSummary/index.d.ts +0 -25
  9. package/dist/modules/SalesSummary/types.d.ts +1 -0
  10. package/dist/modules/SalesSummary/utils.d.ts +2 -25
  11. package/dist/modules/SalesSummary/utils.js +529 -160
  12. package/dist/server/index.d.ts +8 -1
  13. package/dist/server/index.js +653 -466
  14. package/dist/server/modules/order/index.d.ts +3 -2
  15. package/dist/server/modules/order/index.js +68 -52
  16. package/dist/server/modules/products/index.js +4 -4
  17. package/dist/solution/BaseSales/index.d.ts +2 -1
  18. package/dist/solution/BaseSales/index.js +116 -122
  19. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +0 -1
  20. package/dist/solution/ScanOrder/index.js +3 -1
  21. package/lib/model/strategy/adapter/walletPass/utils.js +3 -2
  22. package/lib/modules/Order/index.d.ts +12 -9
  23. package/lib/modules/Order/index.js +124 -120
  24. package/lib/modules/Order/types.d.ts +5 -5
  25. package/lib/modules/Order/utils/manualProductDiscount.js +1 -1
  26. package/lib/modules/Order/utils.js +4 -4
  27. package/lib/modules/Payment/utils.js +2 -1
  28. package/lib/modules/SalesSummary/index.d.ts +0 -25
  29. package/lib/modules/SalesSummary/types.d.ts +1 -0
  30. package/lib/modules/SalesSummary/utils.d.ts +2 -25
  31. package/lib/modules/SalesSummary/utils.js +420 -92
  32. package/lib/server/index.d.ts +8 -1
  33. package/lib/server/index.js +145 -26
  34. package/lib/server/modules/order/index.d.ts +3 -2
  35. package/lib/server/modules/order/index.js +25 -15
  36. package/lib/server/modules/products/index.js +0 -4
  37. package/lib/solution/BaseSales/index.d.ts +2 -1
  38. package/lib/solution/BaseSales/index.js +53 -16
  39. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +0 -1
  40. package/lib/solution/ScanOrder/index.js +3 -1
  41. 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,12 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
147
141
  private calculatePaymentTotal;
148
142
  private normalizePaymentSource;
149
143
  private updateTempOrderPaymentStatus;
144
+ private shouldKeepPaymentStatusAfterAmountRecalc;
145
+ private resolveWalletPassUseValue;
146
+ private capVoucherPaymentsByRemainingAmount;
150
147
  private calculatePaidPaymentSummary;
151
148
  private calculatePaymentServiceFee;
149
+ private calculatePaymentGapAmount;
152
150
  private formatSummaryMetadataMoney;
153
151
  private syncSummaryProductMetadata;
154
152
  private calculateSummaryAmountGap;
@@ -164,6 +162,8 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
164
162
  addNewOrder(): Promise<OrderTempOrder>;
165
163
  getOrderProducts(): OrderProduct[];
166
164
  private getProductUid;
165
+ private sanitizeOrderProductForTempOrder;
166
+ private sanitizeTempOrderProducts;
167
167
  private ensureExtend;
168
168
  private captureProductRuntime;
169
169
  private createLinkedProductAndBooking;
@@ -245,7 +245,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
245
245
  * 提交当前 Sales tempOrder。
246
246
  *
247
247
  * smallTicketDataFlag 用于 B 端 checkout 小票数据返回。PaymentModal 在支付提交时
248
- * 应传 1,确保 /order/sales/checkout 返回打印所需数据。
248
+ * 应传 1,确保 /shop/order/sales/checkout 返回打印所需数据。
249
249
  */
250
250
  submitTempOrder<T = any>(params?: {
251
251
  cacheId?: string;
@@ -287,7 +287,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
287
287
  * Checkout 专用:创建订单到后端
288
288
  *
289
289
  * 专门为 Checkout 模块设计的订单创建方法,
290
- * 直接调用 /order/checkout 接口创建订单
290
+ * 通过 OS Server 调用 checkout 接口创建订单
291
291
  * 接收已经处理好的订单数据,无需再处理购物车
292
292
  *
293
293
  * @param params Checkout 订单参数(已处理的订单数据)
@@ -302,7 +302,10 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
302
302
  * OrderModule 只负责校验 order_ids 并调用 /order/batch-email。
303
303
  */
304
304
  sendCustomerPayLink<T = any>(params: SendCustomerPayLinkParams): Promise<T>;
305
- getOrderInfoByRemote(order_id: number): Promise<any>;
305
+ getSalesOrderByLookup(params: {
306
+ lookup: number | string;
307
+ forceRemote?: boolean;
308
+ }): Promise<any>;
306
309
  /**
307
310
  * 把 sqlite / 后端返回的订单记录直接恢复为 tempOrder。
308
311
  *