@pisell/pisellos 2.3.101 → 2.3.103
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.
- package/dist/model/strategy/adapter/dataVariant/evaluator.d.ts +18 -2
- package/dist/model/strategy/adapter/dataVariant/evaluator.js +287 -101
- package/dist/model/strategy/adapter/dataVariant/type.d.ts +25 -0
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +10 -7
- package/dist/modules/Discount/index.d.ts +2 -0
- package/dist/modules/Discount/index.js +38 -5
- package/dist/modules/Discount/types.d.ts +11 -0
- package/dist/modules/Order/index.d.ts +29 -3
- package/dist/modules/Order/index.js +1105 -703
- package/dist/modules/Order/types.d.ts +14 -6
- package/dist/modules/Order/types.js +1 -1
- package/dist/modules/Order/utils/virtualSettlement.d.ts +63 -0
- package/dist/modules/Order/utils/virtualSettlement.js +284 -0
- package/dist/modules/Order/utils.d.ts +1 -0
- package/dist/modules/Order/utils.js +63 -24
- package/dist/modules/Product/types.d.ts +23 -0
- package/dist/modules/SalesSummary/index.d.ts +1 -0
- package/dist/modules/SalesSummary/index.js +4 -3
- package/dist/modules/SalesSummary/types.d.ts +1 -0
- package/dist/modules/SalesSummary/utils.d.ts +1 -0
- package/dist/modules/SalesSummary/utils.js +21 -1
- package/dist/solution/BaseSales/index.d.ts +10 -1
- package/dist/solution/BaseSales/index.js +1074 -746
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +1 -0
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +72 -9
- package/dist/solution/BookingByStep/index.d.ts +2 -2
- package/dist/solution/BookingTicket/utils/addProductDecision.js +2 -1
- package/lib/model/strategy/adapter/dataVariant/evaluator.d.ts +18 -2
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +137 -6
- package/lib/model/strategy/adapter/dataVariant/type.d.ts +25 -0
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +4 -0
- package/lib/modules/Discount/index.d.ts +2 -0
- package/lib/modules/Discount/index.js +31 -2
- package/lib/modules/Discount/types.d.ts +11 -0
- package/lib/modules/Order/index.d.ts +29 -3
- package/lib/modules/Order/index.js +326 -51
- package/lib/modules/Order/types.d.ts +14 -6
- package/lib/modules/Order/types.js +1 -1
- package/lib/modules/Order/utils/virtualSettlement.d.ts +63 -0
- package/lib/modules/Order/utils/virtualSettlement.js +262 -0
- package/lib/modules/Order/utils.d.ts +1 -0
- package/lib/modules/Order/utils.js +57 -20
- package/lib/modules/Product/types.d.ts +23 -0
- package/lib/modules/SalesSummary/index.d.ts +1 -0
- package/lib/modules/SalesSummary/index.js +4 -2
- package/lib/modules/SalesSummary/types.d.ts +1 -0
- package/lib/modules/SalesSummary/utils.d.ts +1 -0
- package/lib/modules/SalesSummary/utils.js +17 -1
- package/lib/solution/BaseSales/index.d.ts +10 -1
- package/lib/solution/BaseSales/index.js +228 -20
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +1 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +38 -0
- package/lib/solution/BookingByStep/index.d.ts +2 -2
- package/lib/solution/BookingTicket/utils/addProductDecision.js +1 -0
- package/package.json +1 -1
|
@@ -29,8 +29,10 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
29
29
|
private promotionEvaluator;
|
|
30
30
|
/** 赠品选择 resolver;由 SDK host bridge 注入 */
|
|
31
31
|
private giftSelectResolver;
|
|
32
|
-
/**
|
|
32
|
+
/** 促销评估递归保护 flag(写路径同步评估促销,禁止重入) */
|
|
33
33
|
private isApplyingPromotion;
|
|
34
|
+
/** 保持旧事件语义:同步事件监听器内触发的订单写入不得递归评估促销。 */
|
|
35
|
+
private isEmittingPromotionApplied;
|
|
34
36
|
/** 商品曾应用过客户券卡,客户变更剥离后需强制跑一次 calcDiscount 复位价格 */
|
|
35
37
|
private hasActiveCustomerBoundDiscount;
|
|
36
38
|
/** 最近一次 applyPromotion 的未满足促销提示 */
|
|
@@ -60,6 +62,8 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
60
62
|
* orderModule.updateOtherParams({ cacheId: 'cache-2', channel: 'pos' });
|
|
61
63
|
*/
|
|
62
64
|
updateOtherParams(params: Record<string, any>): void;
|
|
65
|
+
/** PC/H5 属于在线店铺;其它或缺失平台统一沿用 POS 行为。 */
|
|
66
|
+
isOnlineStorePlatform(): boolean;
|
|
63
67
|
/**
|
|
64
68
|
* 记录信息日志
|
|
65
69
|
*/
|
|
@@ -82,6 +86,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
82
86
|
}): Promise<Discount[]>;
|
|
83
87
|
getDiscountList(): Discount[];
|
|
84
88
|
getAvailableWalletIds(): number[];
|
|
89
|
+
getVirtualCurrencyList(): import("../Discount/types").VirtualCurrencyAsset[];
|
|
85
90
|
private syncScannedDiscountsToOriginalDiscountList;
|
|
86
91
|
private ensureEditDiscountConfigForProductChange;
|
|
87
92
|
scanCode(code: string, customerId?: number): Promise<{
|
|
@@ -121,7 +126,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
121
126
|
*/
|
|
122
127
|
appendPromotionTags<T extends Record<string, any>>(products: T[]): T[];
|
|
123
128
|
/**
|
|
124
|
-
*
|
|
129
|
+
* 只执行购物车促销评估与赠品写回,不发布稳定态事件。
|
|
125
130
|
*
|
|
126
131
|
* 调用时机:写路径(add/update/remove/clear/setCustomer)末尾自动触发;外部一般无需手动调。
|
|
127
132
|
*
|
|
@@ -129,8 +134,13 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
129
134
|
* - 不调用任何公开 CRUD API(如 removeProductFromOrder),全部内部 mutate tempOrder.products,避免事件风暴;
|
|
130
135
|
* - 用 `isApplyingPromotion` 防递归;
|
|
131
136
|
* - 多选项赠品依赖 giftSelectResolver,未注入则跳过且 console.warn;
|
|
132
|
-
* - 不主动调用 applyDiscount / recalculateSummary
|
|
137
|
+
* - 不主动调用 applyDiscount / recalculateSummary,调用方负责跟进;
|
|
138
|
+
* - 返回的 payload 只能在 applyDiscount(商品写路径还需 summary/persist)完成后发布。
|
|
133
139
|
*/
|
|
140
|
+
private evaluatePromotion;
|
|
141
|
+
/** 发布促销稳定态;products 必须读取折扣计算后的当前数组。 */
|
|
142
|
+
private emitPromotionApplied;
|
|
143
|
+
/** 公开入口:促销、折扣、summary 与持久化完成后发布稳定态事件。 */
|
|
134
144
|
applyPromotion(): Promise<void>;
|
|
135
145
|
/** 最近一次 applyPromotion 输出的未满足促销列表 */
|
|
136
146
|
getUnfulfilledPromotions(): OrderUnfulfilledPromotion[];
|
|
@@ -400,6 +410,13 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
400
410
|
* this.hasLinkedBookingUid({ metadata: { booking_uid: 'booking-1' } });
|
|
401
411
|
*/
|
|
402
412
|
private hasLinkedBookingUid;
|
|
413
|
+
private isMultiCurrencySettlementEnabled;
|
|
414
|
+
private isActiveVirtualSettlementOrder;
|
|
415
|
+
private shouldUseVirtualSettlementSummary;
|
|
416
|
+
private normalizeVirtualSettlementProductIfEnabled;
|
|
417
|
+
private assertAndLockProductSettlement;
|
|
418
|
+
private syncTempOrderSettlementState;
|
|
419
|
+
private prepareVirtualSettlementTempOrder;
|
|
403
420
|
/**
|
|
404
421
|
* 预约商品加车后的统一收尾:促销、折扣、summary 重算与持久化(批量拆行时只调用一次)。
|
|
405
422
|
*
|
|
@@ -420,6 +437,11 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
420
437
|
* if (pending) await pending;
|
|
421
438
|
*/
|
|
422
439
|
private appendProductLineToTempOrder;
|
|
440
|
+
/**
|
|
441
|
+
* booking 数量拆行时,若 Holder 数量与拆行数严格一致,则按下标分配。
|
|
442
|
+
* 数量不一致时保持旧数据,避免猜测 Holder 与商品份数的对应关系。
|
|
443
|
+
*/
|
|
444
|
+
private createSplitBookingLine;
|
|
423
445
|
/**
|
|
424
446
|
* 添加商品行。带 booking 时强制独立行;num>1 时拆成多条 num=1 的 product+booking(对齐 BookingByStep / ticketBooking addService)。
|
|
425
447
|
*
|
|
@@ -472,6 +494,10 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
472
494
|
* 普通整单 note 保持不变;以商品行为主体的 Sales Notes 同步删除。
|
|
473
495
|
*/
|
|
474
496
|
clearOrderCartLines(): Promise<OrderTempOrder>;
|
|
497
|
+
/**
|
|
498
|
+
* 切换购物车结算单位时清理所有会影响新币种的订单状态,但保留当前客户。
|
|
499
|
+
*/
|
|
500
|
+
clearOrderForSettlementSwitch(): Promise<OrderTempOrder>;
|
|
475
501
|
buildCurrentSubmitPayloadForLocalPrint(params?: {
|
|
476
502
|
cacheId?: string;
|
|
477
503
|
platform?: string;
|