@pisell/pisellos 0.10.7 → 0.10.8

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 (57) hide show
  1. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  2. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +12 -10
  3. package/dist/modules/Order/index.d.ts +12 -5
  4. package/dist/modules/Order/index.js +310 -210
  5. package/dist/modules/Order/types.d.ts +26 -3
  6. package/dist/modules/Order/types.js +11 -0
  7. package/dist/modules/Order/utils/discountProductLineIdentity.d.ts +45 -0
  8. package/dist/modules/Order/utils/discountProductLineIdentity.js +227 -0
  9. package/dist/modules/Rules/index.js +125 -52
  10. package/dist/modules/SalesSummary/utils.js +7 -1
  11. package/dist/server/index.d.ts +6 -0
  12. package/dist/server/index.js +810 -729
  13. package/dist/server/modules/order/index.d.ts +1 -0
  14. package/dist/server/modules/order/index.js +9 -2
  15. package/dist/server/modules/order/types.d.ts +1 -1
  16. package/dist/solution/BaseSales/index.d.ts +15 -5
  17. package/dist/solution/BaseSales/index.js +211 -159
  18. package/dist/solution/BaseSales/utils/cartPromotion.js +26 -3
  19. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +1 -1
  20. package/dist/solution/BaseSales/utils.js +31 -20
  21. package/dist/solution/BookingByStep/index.d.ts +1 -1
  22. package/dist/solution/BookingTicket/index.js +1 -4
  23. package/dist/solution/BookingTicket/types.d.ts +3 -0
  24. package/dist/solution/BookingTicket/utils/cartView.js +44 -32
  25. package/dist/solution/Sales/index.d.ts +1 -0
  26. package/dist/solution/Sales/index.js +16 -2
  27. package/dist/solution/ScanOrder/utils.js +31 -20
  28. package/dist/solution/UnifiedBookingSales/index.d.ts +5 -4
  29. package/dist/solution/UnifiedBookingSales/index.js +51 -39
  30. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +3 -1
  31. package/lib/modules/Order/index.d.ts +12 -5
  32. package/lib/modules/Order/index.js +148 -43
  33. package/lib/modules/Order/types.d.ts +26 -3
  34. package/lib/modules/Order/utils/discountProductLineIdentity.d.ts +45 -0
  35. package/lib/modules/Order/utils/discountProductLineIdentity.js +170 -0
  36. package/lib/modules/Rules/index.js +100 -20
  37. package/lib/modules/SalesSummary/utils.js +5 -1
  38. package/lib/server/index.d.ts +6 -0
  39. package/lib/server/index.js +51 -0
  40. package/lib/server/modules/order/index.d.ts +1 -0
  41. package/lib/server/modules/order/index.js +9 -3
  42. package/lib/server/modules/order/types.d.ts +1 -1
  43. package/lib/solution/BaseSales/index.d.ts +15 -5
  44. package/lib/solution/BaseSales/index.js +64 -16
  45. package/lib/solution/BaseSales/utils/cartPromotion.js +26 -2
  46. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +1 -1
  47. package/lib/solution/BaseSales/utils.js +29 -18
  48. package/lib/solution/BookingByStep/index.d.ts +1 -1
  49. package/lib/solution/BookingTicket/index.js +1 -4
  50. package/lib/solution/BookingTicket/types.d.ts +3 -0
  51. package/lib/solution/BookingTicket/utils/cartView.js +43 -30
  52. package/lib/solution/Sales/index.d.ts +1 -0
  53. package/lib/solution/Sales/index.js +15 -3
  54. package/lib/solution/ScanOrder/utils.js +29 -18
  55. package/lib/solution/UnifiedBookingSales/index.d.ts +5 -4
  56. package/lib/solution/UnifiedBookingSales/index.js +35 -26
  57. package/package.json +1 -1
@@ -235,6 +235,7 @@ export declare class OrderModule extends BaseModule implements Module {
235
235
  */
236
236
  private lookupOrderIndexByIdentityKeys;
237
237
  private isRemoteEchoMergeSource;
238
+ private isRemoteProductMembershipChangeSource;
238
239
  private getProductMembershipKey;
239
240
  private doProductsHaveStableMembershipIdentity;
240
241
  /**
@@ -1331,7 +1331,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1331
1331
  _context11.next = 4;
1332
1332
  break;
1333
1333
  }
1334
- this.logInfo('upsertOrdersFromRemote-订单列表为空', {});
1334
+ this.logInfo('upsertOrdersFromRemote-订单列表为空', {
1335
+ source: source
1336
+ });
1335
1337
  return _context11.abrupt("return");
1336
1338
  case 4:
1337
1339
  this.logInfo('upsertOrdersFromRemote-开始', {
@@ -2638,6 +2640,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2638
2640
  value: function isRemoteEchoMergeSource(source) {
2639
2641
  return source === 'pubsub.bodyUpsert' || source === 'pubsub.httpRefresh';
2640
2642
  }
2643
+ }, {
2644
+ key: "isRemoteProductMembershipChangeSource",
2645
+ value: function isRemoteProductMembershipChangeSource(source) {
2646
+ return this.isRemoteEchoMergeSource(source) || source === 'manual.editOpenRemoteCheck';
2647
+ }
2641
2648
  }, {
2642
2649
  key: "getProductMembershipKey",
2643
2650
  value: function getProductMembershipKey(product) {
@@ -2677,7 +2684,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2677
2684
  value: function getRemoteProductMembershipChange(existingOrder, mergedOrder, source) {
2678
2685
  var _this17 = this,
2679
2686
  _mergedOrder$order_id;
2680
- if (!this.isRemoteEchoMergeSource(source)) return null;
2687
+ if (!this.isRemoteProductMembershipChangeSource(source)) return null;
2681
2688
  var previousProducts = Array.isArray(existingOrder.products) ? existingOrder.products : [];
2682
2689
  var currentProducts = Array.isArray(mergedOrder.products) ? mergedOrder.products : [];
2683
2690
  var unmatchedCurrentIndexes = new Set(currentProducts.map(function (_, index) {
@@ -568,7 +568,7 @@ export interface OrderChangedPayload {
568
568
  /** 触发来源,便于订阅者区分 pubsub / 远端覆盖 / 清空等场景 */
569
569
  source?: string;
570
570
  }
571
- export type RemoteProductMembershipChangeSource = 'pubsub.bodyUpsert' | 'pubsub.httpRefresh';
571
+ export type RemoteProductMembershipChangeSource = 'pubsub.bodyUpsert' | 'pubsub.httpRefresh' | 'manual.editOpenRemoteCheck';
572
572
  /**
573
573
  * 远端订单快照相对本地订单产生商品成员增删时的广播载荷。
574
574
  * 只表达商品行成员关系变化,不包含数量、价格、备注等字段级修改。
@@ -2,7 +2,7 @@ import { Module, ModuleOptions, PisellCore } from '../../types';
2
2
  import { BaseModule } from '../../modules/BaseModule';
3
3
  import { BaseSalesOrderProduct, BaseSalesOrderProductIdentity, BaseSalesPaymentStatus, BaseSalesUpdateOrderProductQuantityParams, BaseSalesCalculateProductBookingPriceParams, BaseSalesPriceRecalculationContextChange, BaseSalesProductBookingPriceResult, BaseSalesQuotationCustomerScopeInfo, BaseSalesScanCodeResult, BaseSalesCashPaymentConfig, BaseSalesPayCashParams, BaseSalesPayCashResult, BaseSalesCommitPaymentMethodParams, BaseSalesCommitPaymentMethodResult, BaseSalesConfirmWalletPaymentResult } from './types';
4
4
  import { OrderModule } from '../../modules/Order';
5
- import type { AddProductBookingInput, LoadSalesDetailParams, OrderPaymentData, OrderPaymentUpdateOptions, OrderPaymentUpdateResult, OrderPaymentSource, SendCustomerPayLinkParams, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, UpdateTempOrderCustomerInput, UpdateOrderBookingParams, UpdateOrderProductParams, OrderTempOrder, OrderSummary, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions } from '../../modules/Order/types';
5
+ import type { AddProductBookingInput, AddProductToOrderOptions, LoadSalesDetailParams, OrderPaymentData, OrderPaymentUpdateOptions, OrderPaymentUpdateResult, OrderPaymentSource, SendCustomerPayLinkParams, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, UpdateTempOrderCustomerInput, UpdateOrderBookingParams, UpdateOrderProductParams, OrderTempOrder, OrderSummary, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions, RemoveProductsFromOrderOptions, ReplaceTempOrderOptions } 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';
@@ -109,6 +109,16 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
109
109
  private applyQuotationScheduleResolver;
110
110
  private loadQuotationForPriceQuery;
111
111
  private getPriceQueryProductId;
112
+ /**
113
+ * Change Time / customer reprice 必须沿用商品列表的渠道口径。
114
+ * SalesSdk Provider 通常将渠道存为 platform,因此不能只读取 otherParams.channel。
115
+ */
116
+ private getPriceQueryChannel;
117
+ /**
118
+ * /product/query 的智能定价评估只读取 strategy_context;
119
+ * application_code 仅作为接口兼容字段,不能替代 channel / business_code。
120
+ */
121
+ private getPriceQueryStrategyContext;
112
122
  private getPriceQuerySchedule;
113
123
  private loadProductsForPriceQuery;
114
124
  private loadProductForPriceQuery;
@@ -182,7 +192,7 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
182
192
  /** 获取附加费用(运费/服务费/税费等)。 */
183
193
  getSurcharges(): ISalesSurcharge[];
184
194
  getTempOrder(): OrderTempOrder | null;
185
- replaceTempOrder(tempOrder: OrderTempOrder): Promise<OrderTempOrder>;
195
+ replaceTempOrder(tempOrder: OrderTempOrder, options?: ReplaceTempOrderOptions): Promise<OrderTempOrder>;
186
196
  getOrderIdentity(): import("../../modules/Order/types").OrderIdentitySnapshot | null;
187
197
  getOrderSnapshot(): import("../../modules/Order/types").OrderSnapshot | null;
188
198
  getOrderSyncState(): import("../../modules/Order/types").OrderSyncState;
@@ -423,7 +433,7 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
423
433
  getQuotationCustomerScopeInfo(): BaseSalesQuotationCustomerScopeInfo;
424
434
  shouldRecalculateProductBookingPricesForContextChange(params: BaseSalesPriceRecalculationContextChange): boolean;
425
435
  calculateProductBookingPrices(paramsList: BaseSalesCalculateProductBookingPriceParams[]): Promise<BaseSalesProductBookingPriceResult[]>;
426
- addProductToOrder(product: Partial<BaseSalesOrderProduct> & BaseSalesOrderProductIdentity, booking?: AddProductBookingInput): Promise<import("../../modules/Order/types").OrderProduct[]>;
436
+ addProductToOrder(product: Partial<BaseSalesOrderProduct> & BaseSalesOrderProductIdentity, booking?: AddProductBookingInput, options?: AddProductToOrderOptions): Promise<import("../../modules/Order/types").OrderProduct[]>;
427
437
  updateOrderProduct(params: UpdateOrderProductParams): Promise<import("../../modules/Order/types").OrderProduct[]>;
428
438
  updateOrderProducts(paramsList: UpdateOrderProductParams[]): Promise<import("../../modules/Order/types").OrderProduct[]>;
429
439
  updateOrderProductQuantity(params: BaseSalesUpdateOrderProductQuantityParams): Promise<import("../../modules/Order/types").OrderProduct[]>;
@@ -439,8 +449,8 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
439
449
  * @example
440
450
  * await baseSales.removeProductsFromOrder([identityA, identityB]);
441
451
  */
442
- removeProductsFromOrder(identities: BaseSalesOrderProductIdentity[]): Promise<import("../../modules/Order/types").OrderProduct[]>;
443
- removeProductFromOrder(identity: BaseSalesOrderProductIdentity): Promise<import("../../modules/Order/types").OrderProduct[]>;
452
+ removeProductsFromOrder(identities: BaseSalesOrderProductIdentity[], options?: RemoveProductsFromOrderOptions): Promise<import("../../modules/Order/types").OrderProduct[]>;
453
+ removeProductFromOrder(identity: BaseSalesOrderProductIdentity, options?: RemoveProductsFromOrderOptions): Promise<import("../../modules/Order/types").OrderProduct[]>;
444
454
  /**
445
455
  * 注入促销评估器到底层 OrderModule。
446
456
  *