@pisell/pisellos 2.2.170 → 2.2.171
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/promotion/index.js +0 -9
- package/dist/modules/Customer/index.d.ts +0 -6
- package/dist/modules/Customer/index.js +83 -129
- package/dist/modules/Customer/types.d.ts +0 -2
- package/dist/modules/Discount/index.d.ts +4 -2
- package/dist/modules/Discount/index.js +93 -8
- package/dist/modules/Discount/types.d.ts +7 -1
- package/dist/modules/Order/index.d.ts +15 -27
- package/dist/modules/Order/index.js +322 -695
- package/dist/modules/Order/types.d.ts +14 -49
- package/dist/modules/Order/types.js +0 -2
- package/dist/modules/Order/utils.d.ts +0 -17
- package/dist/modules/Order/utils.js +26 -97
- package/dist/modules/Rules/index.d.ts +0 -4
- package/dist/modules/Rules/index.js +10 -26
- package/dist/modules/SalesSummary/index.js +2 -4
- package/dist/modules/index.d.ts +0 -1
- package/dist/modules/index.js +1 -2
- package/dist/server/modules/order/utils/filterOrders.js +6 -20
- package/dist/solution/BaseSales/index.d.ts +7 -46
- package/dist/solution/BaseSales/index.js +315 -1009
- package/dist/solution/BaseSales/types.d.ts +1 -53
- package/dist/solution/BaseSales/types.js +1 -3
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +15 -65
- package/dist/solution/BaseSales/utils.js +8 -46
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +1 -133
- package/dist/solution/BookingTicket/index.js +175 -768
- package/dist/solution/BookingTicket/types.d.ts +0 -2
- package/dist/solution/BookingTicket/types.js +0 -3
- package/dist/solution/ScanOrder/index.d.ts +3 -9
- package/dist/solution/ScanOrder/index.js +128 -231
- package/dist/solution/ScanOrder/utils.js +8 -46
- package/dist/solution/ShopDiscount/index.d.ts +1 -0
- package/dist/solution/ShopDiscount/index.js +23 -18
- package/dist/solution/VenueBooking/index.d.ts +9 -5
- package/dist/solution/VenueBooking/index.js +55 -103
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
- package/dist/solution/VenueBooking/utils/slotMerge.js +0 -10
- package/lib/modules/Customer/index.d.ts +0 -6
- package/lib/modules/Customer/index.js +11 -26
- package/lib/modules/Customer/types.d.ts +0 -2
- package/lib/modules/Discount/index.d.ts +4 -2
- package/lib/modules/Discount/index.js +63 -8
- package/lib/modules/Discount/types.d.ts +7 -1
- package/lib/modules/Order/index.d.ts +15 -27
- package/lib/modules/Order/index.js +84 -336
- package/lib/modules/Order/types.d.ts +14 -49
- package/lib/modules/Order/utils.d.ts +0 -17
- package/lib/modules/Order/utils.js +18 -105
- package/lib/modules/Rules/index.d.ts +0 -4
- package/lib/modules/Rules/index.js +14 -22
- package/lib/modules/SalesSummary/index.js +2 -4
- package/lib/modules/index.d.ts +0 -1
- package/lib/modules/index.js +1 -3
- package/lib/server/modules/order/utils/filterOrders.js +4 -12
- package/lib/solution/BaseSales/index.d.ts +7 -46
- package/lib/solution/BaseSales/index.js +20 -434
- package/lib/solution/BaseSales/types.d.ts +1 -53
- package/lib/solution/BaseSales/types.js +1 -3
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +11 -70
- package/lib/solution/BaseSales/utils.js +6 -46
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +1 -133
- package/lib/solution/BookingTicket/index.js +8 -341
- package/lib/solution/BookingTicket/types.d.ts +0 -2
- package/lib/solution/BookingTicket/types.js +0 -6
- package/lib/solution/ScanOrder/index.d.ts +3 -9
- package/lib/solution/ScanOrder/index.js +66 -147
- package/lib/solution/ScanOrder/utils.js +6 -46
- package/lib/solution/ShopDiscount/index.d.ts +1 -0
- package/lib/solution/ShopDiscount/index.js +4 -2
- package/lib/solution/VenueBooking/index.d.ts +9 -5
- package/lib/solution/VenueBooking/index.js +14 -50
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
- package/lib/solution/VenueBooking/utils/slotMerge.js +0 -10
- package/package.json +2 -2
- package/dist/modules/BookingContext/index.d.ts +0 -37
- package/dist/modules/BookingContext/index.js +0 -436
- package/dist/modules/BookingContext/types.d.ts +0 -102
- package/dist/modules/BookingContext/types.js +0 -51
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -193
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -137
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -75
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -215
- package/dist/modules/BookingContext/utils/flexible.d.ts +0 -28
- package/dist/modules/BookingContext/utils/flexible.js +0 -56
- package/dist/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
- package/dist/modules/BookingContext/utils/formatResourceList.js +0 -38
- package/dist/modules/BookingContext/utils/index.d.ts +0 -11
- package/dist/modules/BookingContext/utils/index.js +0 -11
- package/dist/modules/BookingContext/utils/noResource.d.ts +0 -13
- package/dist/modules/BookingContext/utils/noResource.js +0 -77
- package/dist/modules/BookingContext/utils/productExtend.d.ts +0 -72
- package/dist/modules/BookingContext/utils/productExtend.js +0 -339
- package/dist/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
- package/dist/modules/BookingContext/utils/resourceErrors.js +0 -74
- package/dist/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
- package/dist/modules/BookingContext/utils/resourceSelection.js +0 -24
- package/dist/modules/BookingContext/utils/resources.d.ts +0 -80
- package/dist/modules/BookingContext/utils/resources.js +0 -486
- package/dist/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
- package/dist/modules/BookingContext/utils/serviceTimes.js +0 -151
- package/dist/modules/BookingContext/utils/timeSlices.d.ts +0 -42
- package/dist/modules/BookingContext/utils/timeSlices.js +0 -100
- package/dist/modules/Order/utils/manualProductDiscount.d.ts +0 -106
- package/dist/modules/Order/utils/manualProductDiscount.js +0 -212
- package/dist/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
- package/dist/solution/BaseSales/utils/quotationPrice.js +0 -159
- package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +0 -113
- package/dist/solution/BookingTicket/utils/addProductDecision.js +0 -346
- package/lib/modules/BookingContext/index.d.ts +0 -37
- package/lib/modules/BookingContext/index.js +0 -297
- package/lib/modules/BookingContext/types.d.ts +0 -102
- package/lib/modules/BookingContext/types.js +0 -34
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -207
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -141
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -75
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -198
- package/lib/modules/BookingContext/utils/flexible.d.ts +0 -28
- package/lib/modules/BookingContext/utils/flexible.js +0 -80
- package/lib/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
- package/lib/modules/BookingContext/utils/formatResourceList.js +0 -50
- package/lib/modules/BookingContext/utils/index.d.ts +0 -11
- package/lib/modules/BookingContext/utils/index.js +0 -43
- package/lib/modules/BookingContext/utils/noResource.d.ts +0 -13
- package/lib/modules/BookingContext/utils/noResource.js +0 -90
- package/lib/modules/BookingContext/utils/productExtend.d.ts +0 -72
- package/lib/modules/BookingContext/utils/productExtend.js +0 -283
- package/lib/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
- package/lib/modules/BookingContext/utils/resourceErrors.js +0 -80
- package/lib/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
- package/lib/modules/BookingContext/utils/resourceSelection.js +0 -46
- package/lib/modules/BookingContext/utils/resources.d.ts +0 -80
- package/lib/modules/BookingContext/utils/resources.js +0 -377
- package/lib/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
- package/lib/modules/BookingContext/utils/serviceTimes.js +0 -162
- package/lib/modules/BookingContext/utils/timeSlices.d.ts +0 -42
- package/lib/modules/BookingContext/utils/timeSlices.js +0 -124
- package/lib/modules/Order/utils/manualProductDiscount.d.ts +0 -106
- package/lib/modules/Order/utils/manualProductDiscount.js +0 -207
- package/lib/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
- package/lib/solution/BaseSales/utils/quotationPrice.js +0 -201
- package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +0 -113
- package/lib/solution/BookingTicket/utils/addProductDecision.js +0 -318
|
@@ -2,7 +2,6 @@ import { CartItem } from '../Cart/types';
|
|
|
2
2
|
import type { DiscountModule } from '../Discount';
|
|
3
3
|
import type { RulesModule } from '../Rules';
|
|
4
4
|
import type { Discount } from '../Discount/types';
|
|
5
|
-
import type { UnavailableReason } from '../Rules/types';
|
|
6
5
|
import type { SubmitPayloadEnhancer } from './utils';
|
|
7
6
|
import type { PaymentItem } from '../Payment/types';
|
|
8
7
|
import type { ICustomer } from '../AccountList/types';
|
|
@@ -49,13 +48,6 @@ export interface OrderCustomerChangePayload {
|
|
|
49
48
|
patch: OrderCustomerView;
|
|
50
49
|
snapshot: ICustomer | null;
|
|
51
50
|
}
|
|
52
|
-
export interface OrderScanCodeResult {
|
|
53
|
-
isAvailable: boolean;
|
|
54
|
-
discountList: Discount[];
|
|
55
|
-
scannedDiscountList: Discount[];
|
|
56
|
-
type: 'server' | 'clientCalc';
|
|
57
|
-
unavailableReason?: UnavailableReason;
|
|
58
|
-
}
|
|
59
51
|
export interface OrderProductIdentity {
|
|
60
52
|
product_id: number | null;
|
|
61
53
|
product_variant_id: number;
|
|
@@ -111,11 +103,11 @@ export interface OrderSummary {
|
|
|
111
103
|
export interface OrderTempOrder {
|
|
112
104
|
order_id: number | null;
|
|
113
105
|
external_sale_number: string;
|
|
114
|
-
order_number: string
|
|
115
|
-
shop_order_number: string
|
|
116
|
-
shop_full_order_number: string
|
|
106
|
+
order_number: string;
|
|
107
|
+
shop_order_number: string;
|
|
108
|
+
shop_full_order_number: string;
|
|
117
109
|
type: string;
|
|
118
|
-
business_code
|
|
110
|
+
business_code: string;
|
|
119
111
|
platform: string;
|
|
120
112
|
sales_channel: string;
|
|
121
113
|
order_sales_channel: string;
|
|
@@ -165,7 +157,7 @@ export interface OrderSubmitProduct extends Omit<OrderProduct, 'unique_identific
|
|
|
165
157
|
payment_price: string;
|
|
166
158
|
product_sku: Record<string, any>;
|
|
167
159
|
}
|
|
168
|
-
export interface OrderSubmitPayload extends Omit<OrderTempOrder, 'platform' | 'products' | '_extend' | 'customer'> {
|
|
160
|
+
export interface OrderSubmitPayload extends Omit<OrderTempOrder, 'platform' | 'products' | '_extend' | 'customer' | 'shop_full_order_number'> {
|
|
169
161
|
platform: string;
|
|
170
162
|
request_unique_idempotency_token?: string;
|
|
171
163
|
form_record_ids?: Array<{
|
|
@@ -184,32 +176,16 @@ export interface OrderState {
|
|
|
184
176
|
discount: DiscountModule | null;
|
|
185
177
|
rules: RulesModule | null;
|
|
186
178
|
}
|
|
187
|
-
export interface ReplaceTempOrderOptions {
|
|
188
|
-
recalculateSummary?: boolean;
|
|
189
|
-
persist?: boolean;
|
|
190
|
-
saveDraft?: boolean;
|
|
191
|
-
}
|
|
192
|
-
export type AddProductBookingInput = Record<string, any>;
|
|
193
179
|
/** 更新购物车行:仅传 SKU 时命中同 SKU 第一行;多行同 SKU 须传 unique_identification_number / 选项指纹等 */
|
|
194
|
-
export interface
|
|
180
|
+
export interface UpdateProductInOrderParams {
|
|
195
181
|
product_id: number | null;
|
|
196
182
|
product_variant_id: number;
|
|
197
183
|
updates: Partial<OrderProduct>;
|
|
198
184
|
unique_identification_number?: string;
|
|
199
|
-
identity_key?: string;
|
|
200
185
|
product_option_item?: any[];
|
|
201
186
|
product_bundle?: any[];
|
|
202
|
-
booking?: AddProductBookingInput;
|
|
203
|
-
}
|
|
204
|
-
/** 仅更新购物车行数量;行定位语义与 updateOrderProduct / removeProductFromOrder 保持一致 */
|
|
205
|
-
export interface UpdateOrderProductQuantityParams extends OrderProductIdentity {
|
|
206
|
-
num: number;
|
|
207
|
-
identity_key?: string;
|
|
208
|
-
}
|
|
209
|
-
export interface UpdateOrderBookingParams {
|
|
210
|
-
unique_identification_number: string;
|
|
211
|
-
updates: AddProductBookingInput;
|
|
212
187
|
}
|
|
188
|
+
export type AddProductBookingInput = Record<string, any>;
|
|
213
189
|
export interface OrderProductMergeDecisionContext {
|
|
214
190
|
incomingProduct: Partial<OrderProduct> & OrderProductIdentity;
|
|
215
191
|
normalizedIncoming: OrderProduct;
|
|
@@ -260,11 +236,10 @@ export interface SubmitSalesOrderParams {
|
|
|
260
236
|
query: {
|
|
261
237
|
order_id: number | null;
|
|
262
238
|
external_sale_number: string;
|
|
263
|
-
order_number: string
|
|
264
|
-
shop_order_number: string
|
|
265
|
-
shop_full_order_number: string | null;
|
|
239
|
+
order_number: string;
|
|
240
|
+
shop_order_number: string;
|
|
266
241
|
type: string;
|
|
267
|
-
business_code
|
|
242
|
+
business_code: string;
|
|
268
243
|
platform: string;
|
|
269
244
|
request_unique_idempotency_token?: string;
|
|
270
245
|
sales_channel: string;
|
|
@@ -375,7 +350,6 @@ export interface SyncPaymentsToOrderParams {
|
|
|
375
350
|
paymentStatus?: SubmitSalesOrderParams['query']['payment_status'];
|
|
376
351
|
submitWhenPaid?: boolean;
|
|
377
352
|
smallTicketDataFlag?: number;
|
|
378
|
-
channel?: string;
|
|
379
353
|
}
|
|
380
354
|
export interface SyncPaymentsToOrderResult<T = any> {
|
|
381
355
|
isFullyPaid: boolean;
|
|
@@ -472,7 +446,6 @@ export interface OrderModuleAPI {
|
|
|
472
446
|
}) => void;
|
|
473
447
|
getTempOrder: () => OrderTempOrder | null;
|
|
474
448
|
ensureTempOrder: () => OrderTempOrder;
|
|
475
|
-
replaceTempOrder: (tempOrder: OrderTempOrder, options?: ReplaceTempOrderOptions) => Promise<OrderTempOrder>;
|
|
476
449
|
addNewOrder: () => Promise<OrderTempOrder>;
|
|
477
450
|
restoreOrder: () => OrderTempOrder;
|
|
478
451
|
getOrderProducts: () => OrderProduct[];
|
|
@@ -485,19 +458,13 @@ export interface OrderModuleAPI {
|
|
|
485
458
|
getOrderSyncState: () => OrderSyncState;
|
|
486
459
|
getOrderAmountSnapshot: () => OrderAmountSnapshot | null;
|
|
487
460
|
getTempOrderNote: () => string;
|
|
488
|
-
updateTempOrderNote:
|
|
489
|
-
(note: string): string;
|
|
490
|
-
(note: string, sync: true): Promise<string>;
|
|
491
|
-
(note: string, sync: boolean): string | Promise<string>;
|
|
492
|
-
};
|
|
461
|
+
updateTempOrderNote: (note: string) => string;
|
|
493
462
|
updateTempOrderShopDiscount: (amount: string | number) => string;
|
|
494
463
|
updateTempOrderCustomer: (customer: UpdateTempOrderCustomerInput) => OrderSnapshot['customer'];
|
|
495
464
|
updateTempOrderBuzzer: (buzzer: string) => string;
|
|
496
465
|
updateTempOrderContactsInfo: (contactsInfo: Record<string, any> | null) => Record<string, any> | null;
|
|
497
466
|
addProductToOrder: (product: Partial<OrderProduct> & OrderProductIdentity, booking?: AddProductBookingInput) => Promise<OrderProduct[]>;
|
|
498
|
-
|
|
499
|
-
updateOrderProductQuantity: (params: UpdateOrderProductQuantityParams) => Promise<OrderProduct[]>;
|
|
500
|
-
updateOrderBooking: (params: UpdateOrderBookingParams) => any[];
|
|
467
|
+
updateProductInOrder: (params: UpdateProductInOrderParams) => Promise<OrderProduct[]>;
|
|
501
468
|
removeProductFromOrder: (identity: OrderProductIdentity) => Promise<OrderProduct[]>;
|
|
502
469
|
persistTempOrder: () => void;
|
|
503
470
|
submitTempOrder: <T = any>(params?: {
|
|
@@ -549,10 +516,8 @@ export interface OrderModuleAPI {
|
|
|
549
516
|
clearOrderCustomer: () => void;
|
|
550
517
|
loadDiscountConfig: (params: {
|
|
551
518
|
customerId: number;
|
|
552
|
-
action?: 'create'
|
|
553
|
-
|
|
554
|
-
apply?: boolean;
|
|
555
|
-
}) => Promise<Discount[]>;
|
|
519
|
+
action?: 'create';
|
|
520
|
+
}) => Promise<void>;
|
|
556
521
|
getDiscountList: () => Discount[];
|
|
557
522
|
applyDiscount: () => void;
|
|
558
523
|
/**
|
|
@@ -65,21 +65,6 @@ export declare function sumOptionUnitPrice(options?: Array<{
|
|
|
65
65
|
*
|
|
66
66
|
* 导出为纯函数方便单测直接驱动钩子,不依赖 OrderModule 实例。
|
|
67
67
|
*/
|
|
68
|
-
/** Rules calcDiscount 用手动价标记;undefined 表示交给 Rules 用 total/origin_total 推断 */
|
|
69
|
-
export declare function resolveRulesManualDiscountFlag(metadata: Record<string, any> | null | undefined): boolean | undefined;
|
|
70
|
-
/**
|
|
71
|
-
* 手动改价(price_override)时行级 original_price(composite 单价):
|
|
72
|
-
* 购物车划线价应对齐 metadata.origin._extend.origin_total(改价前单价 composite,如 40),
|
|
73
|
-
* 而非 bundle 子项 catalog 原价合成的 composedOriginalPrice(如 30)。
|
|
74
|
-
*
|
|
75
|
-
* origin_total 与 SkuDetailModal / cacheItem._extend 一致,为单价语义,不再除以 num。
|
|
76
|
-
*/
|
|
77
|
-
export declare function resolveManualOverrideLineOriginalPrice(params: {
|
|
78
|
-
num?: number;
|
|
79
|
-
metadata?: Record<string, any> | null;
|
|
80
|
-
/** 已有行级 original_price(origin 被裁剪时兜底划线价) */
|
|
81
|
-
lineOriginalPrice?: string | number | null;
|
|
82
|
-
}, fallbackCompositeOriginal: string): string;
|
|
83
68
|
export declare function createDefaultOrderRulesHooks(): RulesParamsHooks;
|
|
84
69
|
/**
|
|
85
70
|
* 通过 session 类商品的开始时间结束时间生成商品的时长
|
|
@@ -156,5 +141,3 @@ export declare function formatV1Product(products: OrderSubmitProduct[]): {
|
|
|
156
141
|
unique: string;
|
|
157
142
|
}[];
|
|
158
143
|
export { createEmptySummary } from '../../solution/ScanOrder/utils';
|
|
159
|
-
export { buildManualProductDiscountItem, ensureManualProductDiscountList, findManualProductDiscountItem, mergeManualProductDiscountIntoList, resolveManualDiscountMessage, resolveManualDiscountOriginTotal, resolveManualDiscountReasonFromSources, resolveSafeProductNum, shouldBuildManualProductDiscount, syncManualProductDiscountProductNum, stripManualProductDiscountItems, } from './utils/manualProductDiscount';
|
|
160
|
-
export type { ManualProductDiscountItem } from './utils/manualProductDiscount';
|
|
@@ -29,15 +29,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
// src/modules/Order/utils.ts
|
|
30
30
|
var utils_exports = {};
|
|
31
31
|
__export(utils_exports, {
|
|
32
|
-
buildManualProductDiscountItem: () => import_manualProductDiscount.buildManualProductDiscountItem,
|
|
33
32
|
buildSubmitPayload: () => buildSubmitPayload,
|
|
34
33
|
composeLinePrice: () => composeLinePrice,
|
|
35
34
|
createDefaultOrderRulesHooks: () => createDefaultOrderRulesHooks,
|
|
36
35
|
createDefaultTempOrder: () => createDefaultTempOrder,
|
|
37
36
|
createEmptySummary: () => import_utils2.createEmptySummary,
|
|
38
37
|
createUuidV4: () => createUuidV4,
|
|
39
|
-
ensureManualProductDiscountList: () => import_manualProductDiscount.ensureManualProductDiscountList,
|
|
40
|
-
findManualProductDiscountItem: () => import_manualProductDiscount.findManualProductDiscountItem,
|
|
41
38
|
formatDateTime: () => formatDateTime,
|
|
42
39
|
formatV1Product: () => formatV1Product,
|
|
43
40
|
generateDuration: () => generateDuration,
|
|
@@ -45,30 +42,19 @@ __export(utils_exports, {
|
|
|
45
42
|
isTempOrder: () => isTempOrder,
|
|
46
43
|
mapPaymentItemToOrderPayment: () => mapPaymentItemToOrderPayment,
|
|
47
44
|
mapPaymentItemsToOrderPayments: () => mapPaymentItemsToOrderPayments,
|
|
48
|
-
mergeManualProductDiscountIntoList: () => import_manualProductDiscount.mergeManualProductDiscountIntoList,
|
|
49
45
|
mergeRelationForms: () => mergeRelationForms,
|
|
50
46
|
normalizeBookingIsAll: () => normalizeBookingIsAll,
|
|
51
47
|
normalizeBookingSubType: () => normalizeBookingSubType,
|
|
52
48
|
normalizeSubmitBooking: () => normalizeSubmitBooking,
|
|
53
49
|
normalizeSubmitCollectPaxValue: () => normalizeSubmitCollectPaxValue,
|
|
54
|
-
resolveManualDiscountMessage: () => import_manualProductDiscount.resolveManualDiscountMessage,
|
|
55
|
-
resolveManualDiscountOriginTotal: () => import_manualProductDiscount.resolveManualDiscountOriginTotal,
|
|
56
|
-
resolveManualDiscountReasonFromSources: () => import_manualProductDiscount.resolveManualDiscountReasonFromSources,
|
|
57
|
-
resolveManualOverrideLineOriginalPrice: () => resolveManualOverrideLineOriginalPrice,
|
|
58
|
-
resolveRulesManualDiscountFlag: () => resolveRulesManualDiscountFlag,
|
|
59
|
-
resolveSafeProductNum: () => import_manualProductDiscount.resolveSafeProductNum,
|
|
60
50
|
resolveSubmitCollectPax: () => resolveSubmitCollectPax,
|
|
61
|
-
|
|
62
|
-
stripManualProductDiscountItems: () => import_manualProductDiscount.stripManualProductDiscountItems,
|
|
63
|
-
sumOptionUnitPrice: () => sumOptionUnitPrice,
|
|
64
|
-
syncManualProductDiscountProductNum: () => import_manualProductDiscount.syncManualProductDiscountProductNum
|
|
51
|
+
sumOptionUnitPrice: () => sumOptionUnitPrice
|
|
65
52
|
});
|
|
66
53
|
module.exports = __toCommonJS(utils_exports);
|
|
67
54
|
var import_dayjs = __toESM(require("dayjs"));
|
|
68
55
|
var import_decimal = __toESM(require("decimal.js"));
|
|
69
56
|
var import_utils = require("../../solution/ScanOrder/utils");
|
|
70
57
|
var import_utils2 = require("../../solution/ScanOrder/utils");
|
|
71
|
-
var import_manualProductDiscount = require("./utils/manualProductDiscount");
|
|
72
58
|
function composeLinePrice(params) {
|
|
73
59
|
const { mainPrice, bundle, useOriginalBundle } = params;
|
|
74
60
|
let total = new import_decimal.default(Number(mainPrice) || 0);
|
|
@@ -94,42 +80,6 @@ function sumOptionUnitPrice(options) {
|
|
|
94
80
|
}
|
|
95
81
|
return total;
|
|
96
82
|
}
|
|
97
|
-
function resolveRulesManualDiscountFlag(metadata) {
|
|
98
|
-
if (!metadata)
|
|
99
|
-
return void 0;
|
|
100
|
-
if (metadata.is_manual_discount === true || metadata.is_manual_discount === 1) {
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
const priceOverride = metadata.price_override;
|
|
104
|
-
if (priceOverride !== void 0 && priceOverride !== null && priceOverride !== "") {
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
return void 0;
|
|
108
|
-
}
|
|
109
|
-
function resolveManualOverrideLineOriginalPrice(params, fallbackCompositeOriginal) {
|
|
110
|
-
var _a, _b;
|
|
111
|
-
const metadata = params.metadata || {};
|
|
112
|
-
const priceOverride = metadata.price_override;
|
|
113
|
-
if (priceOverride === void 0 || priceOverride === null || priceOverride === "") {
|
|
114
|
-
return fallbackCompositeOriginal;
|
|
115
|
-
}
|
|
116
|
-
const refTotal = (_b = (_a = metadata.origin) == null ? void 0 : _a._extend) == null ? void 0 : _b.origin_total;
|
|
117
|
-
if (refTotal !== void 0 && refTotal !== null && refTotal !== "") {
|
|
118
|
-
const parsed = Number(refTotal);
|
|
119
|
-
if (Number.isFinite(parsed)) {
|
|
120
|
-
return new import_decimal.default(parsed).toDecimalPlaces(2).toFixed(2);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
const lineOriginal = params.lineOriginalPrice;
|
|
124
|
-
if (lineOriginal !== void 0 && lineOriginal !== null && lineOriginal !== "") {
|
|
125
|
-
const parsedLine = Number(lineOriginal);
|
|
126
|
-
const parsedFallback = Number(fallbackCompositeOriginal);
|
|
127
|
-
if (Number.isFinite(parsedLine) && Number.isFinite(parsedFallback) && parsedLine > parsedFallback) {
|
|
128
|
-
return new import_decimal.default(parsedLine).toDecimalPlaces(2).toFixed(2);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return fallbackCompositeOriginal;
|
|
132
|
-
}
|
|
133
83
|
function createDefaultOrderRulesHooks() {
|
|
134
84
|
const toUnitPriceString = (totalLike, num) => {
|
|
135
85
|
const effectiveNum = Number(num) > 0 ? Number(num) : 1;
|
|
@@ -137,7 +87,7 @@ function createDefaultOrderRulesHooks() {
|
|
|
137
87
|
};
|
|
138
88
|
return {
|
|
139
89
|
getProduct: (product) => {
|
|
140
|
-
var _a, _b, _c, _d, _e;
|
|
90
|
+
var _a, _b, _c, _d, _e, _f;
|
|
141
91
|
const metadataAny = product.metadata || {};
|
|
142
92
|
const optionSum = sumOptionUnitPrice(product.product_option_item);
|
|
143
93
|
let sourcePrice;
|
|
@@ -185,11 +135,9 @@ function createDefaultOrderRulesHooks() {
|
|
|
185
135
|
bundle: product.product_bundle || [],
|
|
186
136
|
booking_id: ((_b = product.metadata) == null ? void 0 : _b.booking_id) || null,
|
|
187
137
|
isClient: false,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
holder_id: (_c = product.metadata) == null ? void 0 : _c.holder_id,
|
|
192
|
-
startDate: ((_d = product.metadata) == null ? void 0 : _d.start_date) || ((_e = product.metadata) == null ? void 0 : _e.startDate)
|
|
138
|
+
isManualDiscount: ((_c = product.metadata) == null ? void 0 : _c.is_manual_discount) || false,
|
|
139
|
+
holder_id: (_d = product.metadata) == null ? void 0 : _d.holder_id,
|
|
140
|
+
startDate: ((_e = product.metadata) == null ? void 0 : _e.start_date) || ((_f = product.metadata) == null ? void 0 : _f.startDate)
|
|
193
141
|
};
|
|
194
142
|
},
|
|
195
143
|
setProduct: (product, values) => {
|
|
@@ -212,14 +160,10 @@ function createDefaultOrderRulesHooks() {
|
|
|
212
160
|
bundle: nextBundle,
|
|
213
161
|
useOriginalBundle: true
|
|
214
162
|
});
|
|
215
|
-
const finalOriginalPrice = resolveManualOverrideLineOriginalPrice(
|
|
216
|
-
{ num: nextNum, metadata: metadataAny, lineOriginalPrice: product.original_price },
|
|
217
|
-
composedOriginalPrice
|
|
218
|
-
);
|
|
219
163
|
return {
|
|
220
164
|
...product,
|
|
221
165
|
selling_price: composedSellingPrice,
|
|
222
|
-
original_price:
|
|
166
|
+
original_price: composedOriginalPrice,
|
|
223
167
|
discount_list: values.discount_list ?? product.discount_list,
|
|
224
168
|
num: values.quantity ?? product.num,
|
|
225
169
|
product_bundle: nextBundle,
|
|
@@ -377,11 +321,6 @@ function normalizeSubmitProduct(product) {
|
|
|
377
321
|
num,
|
|
378
322
|
product_option_item: productOptionItem,
|
|
379
323
|
surcharge_fee: _productSurchargeFee,
|
|
380
|
-
discount_amount: _deprecatedDiscountAmount,
|
|
381
|
-
discount_type: _deprecatedDiscountType,
|
|
382
|
-
discountway: _deprecatedDiscountway,
|
|
383
|
-
product_discount_reason: _deprecatedProductDiscountReason,
|
|
384
|
-
discount_per: _deprecatedDiscountPer,
|
|
385
324
|
...productRest
|
|
386
325
|
} = submitProduct;
|
|
387
326
|
const rawMetadata = submitProduct.metadata || {};
|
|
@@ -486,23 +425,22 @@ function createDefaultTempOrder(params) {
|
|
|
486
425
|
return {
|
|
487
426
|
order_id: null,
|
|
488
427
|
external_sale_number: "",
|
|
489
|
-
order_number:
|
|
490
|
-
shop_order_number:
|
|
491
|
-
shop_full_order_number:
|
|
492
|
-
type: "",
|
|
493
|
-
business_code:
|
|
428
|
+
order_number: "",
|
|
429
|
+
shop_order_number: "",
|
|
430
|
+
shop_full_order_number: "",
|
|
431
|
+
type: "appointment_booking",
|
|
432
|
+
business_code: "appointment_booking",
|
|
494
433
|
platform: "h5",
|
|
495
434
|
sales_channel: "my_pisel",
|
|
496
435
|
order_sales_channel: "online_store",
|
|
497
436
|
status: "normal",
|
|
498
437
|
payment_status: "payment_processing",
|
|
499
438
|
shipping_status: "unfulfilled",
|
|
500
|
-
customer_id:
|
|
439
|
+
customer_id: null,
|
|
501
440
|
customer_name: "",
|
|
502
441
|
country_calling_code: "",
|
|
503
442
|
phone: "",
|
|
504
443
|
email: "",
|
|
505
|
-
customer: null,
|
|
506
444
|
is_price_include_tax: 1,
|
|
507
445
|
tax_title: "",
|
|
508
446
|
tax_country_code: "",
|
|
@@ -533,7 +471,6 @@ function createDefaultTempOrder(params) {
|
|
|
533
471
|
};
|
|
534
472
|
}
|
|
535
473
|
function buildSubmitPayload(params) {
|
|
536
|
-
var _a;
|
|
537
474
|
const {
|
|
538
475
|
tempOrder,
|
|
539
476
|
cacheId,
|
|
@@ -559,6 +496,7 @@ function buildSubmitPayload(params) {
|
|
|
559
496
|
shop_service_type: _shopServiceType,
|
|
560
497
|
start_time: _startTime,
|
|
561
498
|
customer: _customer,
|
|
499
|
+
shop_full_order_number: _shopFullOrderNumber,
|
|
562
500
|
tax_fee: _rootTaxFee,
|
|
563
501
|
total_amount: _totalAmount,
|
|
564
502
|
total_refund_amount: _totalRefundAmount,
|
|
@@ -566,24 +504,12 @@ function buildSubmitPayload(params) {
|
|
|
566
504
|
holder_id: _holderId,
|
|
567
505
|
...tempOrderRest
|
|
568
506
|
} = tempOrder;
|
|
569
|
-
let submitType = type ?? tempOrder.type;
|
|
570
|
-
if (!submitType) {
|
|
571
|
-
if ((_a = tempOrder == null ? void 0 : tempOrder.bookings) == null ? void 0 : _a.length) {
|
|
572
|
-
submitType = "appointment_booking";
|
|
573
|
-
} else {
|
|
574
|
-
submitType = "virtual";
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
507
|
const payload = {
|
|
578
508
|
...tempOrderRest,
|
|
579
|
-
customer_id: tempOrder.customer_id ?? 0,
|
|
580
|
-
order_number: null,
|
|
581
|
-
shop_order_number: null,
|
|
582
|
-
shop_full_order_number: null,
|
|
583
509
|
platform: normalizeSubmitPlatform(platform),
|
|
584
510
|
request_unique_idempotency_token: tempOrder.request_unique_idempotency_token || `${tempOrder.external_sale_number}_${now.getTime()}`,
|
|
585
|
-
type:
|
|
586
|
-
business_code: businessCode ?? tempOrder.business_code,
|
|
511
|
+
type: type ?? tempOrder.type ?? "table-order",
|
|
512
|
+
business_code: businessCode ?? tempOrder.business_code ?? "table-order",
|
|
587
513
|
sales_channel: tempOrder.sales_channel || "my_pisel",
|
|
588
514
|
order_sales_channel: channel ?? tempOrder.order_sales_channel ?? "online_store",
|
|
589
515
|
status: tempOrder.status || "normal",
|
|
@@ -598,9 +524,9 @@ function buildSubmitPayload(params) {
|
|
|
598
524
|
note: tempOrder.note || "",
|
|
599
525
|
delivery_type: tempOrder.delivery_type || "nil",
|
|
600
526
|
schedule_date: scheduleDate,
|
|
601
|
-
|
|
527
|
+
created_at: tempOrder.created_at || formatDateTime(now),
|
|
602
528
|
bookings: (tempOrder.bookings || []).filter(
|
|
603
|
-
(booking) => Number(booking.parent_id) !== 0
|
|
529
|
+
(booking) => Number(booking.parent_id ?? 0) !== 0
|
|
604
530
|
).map((booking) => normalizeSubmitBooking(booking)),
|
|
605
531
|
payments: tempOrder.payments || [],
|
|
606
532
|
// discount_list: tempOrder.discount_list || [],
|
|
@@ -686,15 +612,12 @@ function formatV1Product(products) {
|
|
|
686
612
|
}
|
|
687
613
|
// Annotate the CommonJS export names for ESM import in node:
|
|
688
614
|
0 && (module.exports = {
|
|
689
|
-
buildManualProductDiscountItem,
|
|
690
615
|
buildSubmitPayload,
|
|
691
616
|
composeLinePrice,
|
|
692
617
|
createDefaultOrderRulesHooks,
|
|
693
618
|
createDefaultTempOrder,
|
|
694
619
|
createEmptySummary,
|
|
695
620
|
createUuidV4,
|
|
696
|
-
ensureManualProductDiscountList,
|
|
697
|
-
findManualProductDiscountItem,
|
|
698
621
|
formatDateTime,
|
|
699
622
|
formatV1Product,
|
|
700
623
|
generateDuration,
|
|
@@ -702,21 +625,11 @@ function formatV1Product(products) {
|
|
|
702
625
|
isTempOrder,
|
|
703
626
|
mapPaymentItemToOrderPayment,
|
|
704
627
|
mapPaymentItemsToOrderPayments,
|
|
705
|
-
mergeManualProductDiscountIntoList,
|
|
706
628
|
mergeRelationForms,
|
|
707
629
|
normalizeBookingIsAll,
|
|
708
630
|
normalizeBookingSubType,
|
|
709
631
|
normalizeSubmitBooking,
|
|
710
632
|
normalizeSubmitCollectPaxValue,
|
|
711
|
-
resolveManualDiscountMessage,
|
|
712
|
-
resolveManualDiscountOriginTotal,
|
|
713
|
-
resolveManualDiscountReasonFromSources,
|
|
714
|
-
resolveManualOverrideLineOriginalPrice,
|
|
715
|
-
resolveRulesManualDiscountFlag,
|
|
716
|
-
resolveSafeProductNum,
|
|
717
633
|
resolveSubmitCollectPax,
|
|
718
|
-
|
|
719
|
-
stripManualProductDiscountItems,
|
|
720
|
-
sumOptionUnitPrice,
|
|
721
|
-
syncManualProductDiscountProductNum
|
|
634
|
+
sumOptionUnitPrice
|
|
722
635
|
});
|
|
@@ -32,10 +32,6 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
|
|
|
32
32
|
unavailableReason?: UnavailableReason;
|
|
33
33
|
};
|
|
34
34
|
filterDiscountListByType(discountList: Discount[], type: string): Discount[];
|
|
35
|
-
/** 剔除指定 type/tag 的折扣项,保留手动改价(type=product) / 券等 */
|
|
36
|
-
excludeDiscountListByType(discountList: Discount[], type: string): Discount[];
|
|
37
|
-
/** 手动改价场景:去掉 promotion,保留 type=product 等行内折扣 */
|
|
38
|
-
resolveDiscountListForManualOverride(discountList: Discount[]): Discount[];
|
|
39
35
|
private getUnavailableReason;
|
|
40
36
|
calcDiscount({ discountList, productList, holders, isFormSubject, orderTotalAmount }: {
|
|
41
37
|
discountList: Discount[];
|
|
@@ -159,14 +159,6 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
159
159
|
filterDiscountListByType(discountList, type) {
|
|
160
160
|
return (discountList || []).filter((item) => item.type === type || item.tag === type);
|
|
161
161
|
}
|
|
162
|
-
/** 剔除指定 type/tag 的折扣项,保留手动改价(type=product) / 券等 */
|
|
163
|
-
excludeDiscountListByType(discountList, type) {
|
|
164
|
-
return (discountList || []).filter((item) => item.type !== type && item.tag !== type);
|
|
165
|
-
}
|
|
166
|
-
/** 手动改价场景:去掉 promotion,保留 type=product 等行内折扣 */
|
|
167
|
-
resolveDiscountListForManualOverride(discountList) {
|
|
168
|
-
return this.excludeDiscountListByType(discountList, "promotion");
|
|
169
|
-
}
|
|
170
162
|
// 获取券不可用的原因
|
|
171
163
|
getUnavailableReason(discountList, productList) {
|
|
172
164
|
var _a;
|
|
@@ -681,7 +673,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
681
673
|
}, 0);
|
|
682
674
|
};
|
|
683
675
|
sortedFlattenedList.forEach((flatItem, index) => {
|
|
684
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F
|
|
676
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F;
|
|
685
677
|
let product, originProduct;
|
|
686
678
|
if (flatItem.type === "main") {
|
|
687
679
|
product = flatItem.product;
|
|
@@ -904,7 +896,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
904
896
|
price: product.price,
|
|
905
897
|
options: restoredOptions
|
|
906
898
|
},
|
|
907
|
-
discount_list:
|
|
899
|
+
discount_list: this.filterDiscountListByType(product.discount_list, "promotion")
|
|
908
900
|
})
|
|
909
901
|
]);
|
|
910
902
|
} else {
|
|
@@ -926,14 +918,14 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
926
918
|
main_product_selling_price,
|
|
927
919
|
options: restoredOptions
|
|
928
920
|
},
|
|
929
|
-
discount_list:
|
|
921
|
+
discount_list: this.filterDiscountListByType(product.discount_list, "promotion")
|
|
930
922
|
})
|
|
931
923
|
]);
|
|
932
924
|
}
|
|
933
925
|
} else {
|
|
934
926
|
processedFlatItemsMap.set(flatItem._id, [{
|
|
935
927
|
...flatItem,
|
|
936
|
-
discount_list:
|
|
928
|
+
discount_list: this.filterDiscountListByType(((_v = flatItem.bundleItem) == null ? void 0 : _v.discount_list) || [], "promotion"),
|
|
937
929
|
price: isManualDiscount ? flatItem.bundleItem.price : flatItem.bundleItem.original_price,
|
|
938
930
|
processed: true
|
|
939
931
|
}]);
|
|
@@ -984,13 +976,13 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
984
976
|
if (this.filterDiscountListByType(product.discount_list, "promotion").length && product.origin_total) {
|
|
985
977
|
productOriginTotal = product.origin_total;
|
|
986
978
|
}
|
|
987
|
-
if (Number(((
|
|
979
|
+
if (Number(((_w = originProduct == null ? void 0 : originProduct._productInit) == null ? void 0 : _w.original_price) || 0) > 0 && product.origin_total && product.total && product.origin_total !== product.total) {
|
|
988
980
|
productOriginTotal = product.total;
|
|
989
981
|
}
|
|
990
982
|
const isOrderLevel = (0, import_utils3.isOrderLevelFixedAmountDiscount)(selectedDiscount2);
|
|
991
983
|
const orderLevelAllocation = isOrderLevel ? orderLevelDiscountAllocations.get(selectedDiscount2.id) : null;
|
|
992
984
|
const productAllocation = orderLevelAllocation == null ? void 0 : orderLevelAllocation.get(flatItem._id);
|
|
993
|
-
const isDeductOptionPrice = !!((
|
|
985
|
+
const isDeductOptionPrice = !!((_x = selectedDiscount2.config) == null ? void 0 : _x.deductOptionPrice);
|
|
994
986
|
let mainProductSellingPrice;
|
|
995
987
|
let amount;
|
|
996
988
|
let productDiscountDifference;
|
|
@@ -1008,7 +1000,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1008
1000
|
);
|
|
1009
1001
|
amount = new import_decimal.default(product.price).minus(new import_decimal.default(mainProductSellingPrice)).toNumber();
|
|
1010
1002
|
}
|
|
1011
|
-
if (isDeductOptionPrice && ((
|
|
1003
|
+
if (isDeductOptionPrice && ((_y = product.options) == null ? void 0 : _y.length)) {
|
|
1012
1004
|
const optionResult = applyDiscountToOptions(
|
|
1013
1005
|
product.options,
|
|
1014
1006
|
selectedDiscount2
|
|
@@ -1016,7 +1008,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1016
1008
|
discountedOptions = optionResult.discountedOptions;
|
|
1017
1009
|
optionDiscountAmount = optionResult.optionDiscountAmount;
|
|
1018
1010
|
}
|
|
1019
|
-
const optionsForLineTotal = isDeductOptionPrice && ((
|
|
1011
|
+
const optionsForLineTotal = isDeductOptionPrice && ((_z = product.options) == null ? void 0 : _z.length) ? discountedOptions : product.options;
|
|
1020
1012
|
const optionsLineTotal = getOptionTotal(optionsForLineTotal || []);
|
|
1021
1013
|
const total = new import_decimal.default(mainProductSellingPrice).plus(optionsLineTotal).toNumber();
|
|
1022
1014
|
const mainProductDiscountAmount = amount;
|
|
@@ -1027,9 +1019,9 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1027
1019
|
amount: lineDiscountAmount,
|
|
1028
1020
|
type: selectedDiscount2.tag === "product_discount_card" ? "discount_card" : discountType,
|
|
1029
1021
|
discount: {
|
|
1030
|
-
discount_card_type: (
|
|
1022
|
+
discount_card_type: (_A = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _A.discount_card_type,
|
|
1031
1023
|
fixed_amount: lineDiscountAmount,
|
|
1032
|
-
discount_calculation_mode: (
|
|
1024
|
+
discount_calculation_mode: (_B = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _B.discount_calculation_mode,
|
|
1033
1025
|
resource_id: selectedDiscount2.id,
|
|
1034
1026
|
title: selectedDiscount2.format_title,
|
|
1035
1027
|
original_amount: product.price,
|
|
@@ -1111,7 +1103,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1111
1103
|
type: "good_pass",
|
|
1112
1104
|
discount: {
|
|
1113
1105
|
fixed_amount: product.origin_total,
|
|
1114
|
-
discount_calculation_mode: (
|
|
1106
|
+
discount_calculation_mode: (_C = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _C.discount_calculation_mode,
|
|
1115
1107
|
resource_id: selectedDiscount2.id,
|
|
1116
1108
|
title: selectedDiscount2.format_title,
|
|
1117
1109
|
original_amount: product.origin_total,
|
|
@@ -1185,9 +1177,9 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1185
1177
|
amount: fixedAmountPerItem * (product.num || 1),
|
|
1186
1178
|
type: selectedDiscount2.tag === "product_discount_card" ? "discount_card" : selectedDiscount2.tag,
|
|
1187
1179
|
discount: {
|
|
1188
|
-
discount_card_type: (
|
|
1180
|
+
discount_card_type: (_D = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _D.discount_card_type,
|
|
1189
1181
|
fixed_amount: fixedAmountPerItem,
|
|
1190
|
-
discount_calculation_mode: (
|
|
1182
|
+
discount_calculation_mode: (_E = selectedDiscount2 == null ? void 0 : selectedDiscount2.metadata) == null ? void 0 : _E.discount_calculation_mode,
|
|
1191
1183
|
resource_id: selectedDiscount2.id,
|
|
1192
1184
|
title: selectedDiscount2.format_title,
|
|
1193
1185
|
original_amount: product.original_price,
|
|
@@ -1203,7 +1195,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
1203
1195
|
...productDiscountDifference !== void 0 && { product_discount_difference: productDiscountDifference }
|
|
1204
1196
|
},
|
|
1205
1197
|
config: selectedDiscount2 == null ? void 0 : selectedDiscount2.config,
|
|
1206
|
-
_num: (product.num || 1) * (((
|
|
1198
|
+
_num: (product.num || 1) * (((_F = flatItem == null ? void 0 : flatItem.parentProduct) == null ? void 0 : _F.num) || 1)
|
|
1207
1199
|
};
|
|
1208
1200
|
const appliedProducts = appliedDiscountProducts.get(selectedDiscount2.id) || [];
|
|
1209
1201
|
appliedProducts.push(discountDetail);
|
|
@@ -30,8 +30,7 @@ __reExport(SalesSummary_exports, require("./types"), module.exports);
|
|
|
30
30
|
var salesSummaryDataKeys = {
|
|
31
31
|
isPriceIncludeTax: "is_price_include_tax",
|
|
32
32
|
taxRate: "tax_rate",
|
|
33
|
-
taxTitle: "tax_title"
|
|
34
|
-
taxCountryCode: "tax_country_code"
|
|
33
|
+
taxTitle: "tax_title"
|
|
35
34
|
};
|
|
36
35
|
var SalesSummaryModule = class extends import_BaseModule.BaseModule {
|
|
37
36
|
constructor(name, version) {
|
|
@@ -85,8 +84,7 @@ var SalesSummaryModule = class extends import_BaseModule.BaseModule {
|
|
|
85
84
|
return {
|
|
86
85
|
isPriceIncludeTax: this.getAppData(salesSummaryDataKeys.isPriceIncludeTax),
|
|
87
86
|
taxRate: this.getAppData(salesSummaryDataKeys.taxRate),
|
|
88
|
-
taxTitle: this.getAppData(salesSummaryDataKeys.taxTitle)
|
|
89
|
-
taxCountryCode: this.getAppData(salesSummaryDataKeys.taxCountryCode)
|
|
87
|
+
taxTitle: this.getAppData(salesSummaryDataKeys.taxTitle)
|
|
90
88
|
};
|
|
91
89
|
}
|
|
92
90
|
async getSummary(params) {
|
package/lib/modules/index.d.ts
CHANGED
package/lib/modules/index.js
CHANGED
|
@@ -34,7 +34,6 @@ __reExport(modules_exports, require("./Schedule"), module.exports);
|
|
|
34
34
|
__reExport(modules_exports, require("./Quotation"), module.exports);
|
|
35
35
|
__reExport(modules_exports, require("./ScanOrderLogger"), module.exports);
|
|
36
36
|
__reExport(modules_exports, require("./OpenData"), module.exports);
|
|
37
|
-
__reExport(modules_exports, require("./BookingContext"), module.exports);
|
|
38
37
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
38
|
0 && (module.exports = {
|
|
40
39
|
...require("./Product"),
|
|
@@ -54,6 +53,5 @@ __reExport(modules_exports, require("./BookingContext"), module.exports);
|
|
|
54
53
|
...require("./Schedule"),
|
|
55
54
|
...require("./Quotation"),
|
|
56
55
|
...require("./ScanOrderLogger"),
|
|
57
|
-
...require("./OpenData")
|
|
58
|
-
...require("./BookingContext")
|
|
56
|
+
...require("./OpenData")
|
|
59
57
|
});
|
|
@@ -33,13 +33,6 @@ __export(filterOrders_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(filterOrders_exports);
|
|
35
35
|
var import_dayjs = __toESM(require("dayjs"));
|
|
36
|
-
function getOrderPaymentCodes(order) {
|
|
37
|
-
const payments = order.payments;
|
|
38
|
-
if (!Array.isArray(payments) || payments.length === 0) {
|
|
39
|
-
return [];
|
|
40
|
-
}
|
|
41
|
-
return payments.map((item) => item == null ? void 0 : item.code).filter((code) => typeof code === "string" && code.length > 0);
|
|
42
|
-
}
|
|
43
36
|
function filterOrders(orders, filters) {
|
|
44
37
|
const safeFilters = filters || {};
|
|
45
38
|
if (!orders || !Array.isArray(orders)) {
|
|
@@ -140,27 +133,26 @@ function filterOrders(orders, filters) {
|
|
|
140
133
|
}
|
|
141
134
|
}
|
|
142
135
|
if (safeFilters.payment_methods && safeFilters.payment_methods.length > 0) {
|
|
143
|
-
|
|
144
|
-
if (orderPaymentCodes.length === 0) {
|
|
136
|
+
if (!order.payment_methods || !Array.isArray(order.payment_methods) || order.payment_methods.length === 0) {
|
|
145
137
|
rejected.push({
|
|
146
138
|
order_id: order.order_id,
|
|
147
139
|
order_number: order.order_number,
|
|
148
140
|
reason: {
|
|
149
141
|
field: "payment_methods",
|
|
150
|
-
actual: order.
|
|
142
|
+
actual: order.payment_methods,
|
|
151
143
|
expected: safeFilters.payment_methods
|
|
152
144
|
}
|
|
153
145
|
});
|
|
154
146
|
return false;
|
|
155
147
|
}
|
|
156
|
-
const hasMatch =
|
|
148
|
+
const hasMatch = order.payment_methods.some((pm) => safeFilters.payment_methods.includes(pm));
|
|
157
149
|
if (!hasMatch) {
|
|
158
150
|
rejected.push({
|
|
159
151
|
order_id: order.order_id,
|
|
160
152
|
order_number: order.order_number,
|
|
161
153
|
reason: {
|
|
162
154
|
field: "payment_methods",
|
|
163
|
-
actual:
|
|
155
|
+
actual: order.payment_methods,
|
|
164
156
|
expected: safeFilters.payment_methods
|
|
165
157
|
}
|
|
166
158
|
});
|