@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';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var _excluded = ["unique_identification_number"],
|
|
2
|
-
_excluded2 = ["num", "product_option_item", "surcharge_fee"
|
|
3
|
-
_excluded3 = ["_extend", "relation_id", "table_form_id", "resource_id", "summary", "lastOrderInfo", "paid_amount", "shop_id", "shop_note", "shop_service_type", "start_time", "customer", "tax_fee", "total_amount", "total_refund_amount", "create_date", "holder_id"],
|
|
2
|
+
_excluded2 = ["num", "product_option_item", "surcharge_fee"],
|
|
3
|
+
_excluded3 = ["_extend", "relation_id", "table_form_id", "resource_id", "summary", "lastOrderInfo", "paid_amount", "shop_id", "shop_note", "shop_service_type", "start_time", "customer", "shop_full_order_number", "tax_fee", "total_amount", "total_refund_amount", "create_date", "holder_id"],
|
|
4
4
|
_excluded4 = ["collect_pax", "table_occupancy_duration"];
|
|
5
5
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
6
6
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -113,51 +113,6 @@ export function sumOptionUnitPrice(options) {
|
|
|
113
113
|
*
|
|
114
114
|
* 导出为纯函数方便单测直接驱动钩子,不依赖 OrderModule 实例。
|
|
115
115
|
*/
|
|
116
|
-
|
|
117
|
-
/** Rules calcDiscount 用手动价标记;undefined 表示交给 Rules 用 total/origin_total 推断 */
|
|
118
|
-
export function resolveRulesManualDiscountFlag(metadata) {
|
|
119
|
-
if (!metadata) return undefined;
|
|
120
|
-
if (metadata.is_manual_discount === true || metadata.is_manual_discount === 1) {
|
|
121
|
-
return true;
|
|
122
|
-
}
|
|
123
|
-
var priceOverride = metadata.price_override;
|
|
124
|
-
if (priceOverride !== undefined && priceOverride !== null && priceOverride !== '') {
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
return undefined;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* 手动改价(price_override)时行级 original_price(composite 单价):
|
|
132
|
-
* 购物车划线价应对齐 metadata.origin._extend.origin_total(改价前单价 composite,如 40),
|
|
133
|
-
* 而非 bundle 子项 catalog 原价合成的 composedOriginalPrice(如 30)。
|
|
134
|
-
*
|
|
135
|
-
* origin_total 与 SkuDetailModal / cacheItem._extend 一致,为单价语义,不再除以 num。
|
|
136
|
-
*/
|
|
137
|
-
export function resolveManualOverrideLineOriginalPrice(params, fallbackCompositeOriginal) {
|
|
138
|
-
var _metadata$origin;
|
|
139
|
-
var metadata = params.metadata || {};
|
|
140
|
-
var priceOverride = metadata.price_override;
|
|
141
|
-
if (priceOverride === undefined || priceOverride === null || priceOverride === '') {
|
|
142
|
-
return fallbackCompositeOriginal;
|
|
143
|
-
}
|
|
144
|
-
var refTotal = (_metadata$origin = metadata.origin) === null || _metadata$origin === void 0 || (_metadata$origin = _metadata$origin._extend) === null || _metadata$origin === void 0 ? void 0 : _metadata$origin.origin_total;
|
|
145
|
-
if (refTotal !== undefined && refTotal !== null && refTotal !== '') {
|
|
146
|
-
var parsed = Number(refTotal);
|
|
147
|
-
if (Number.isFinite(parsed)) {
|
|
148
|
-
return new Decimal(parsed).toDecimalPlaces(2).toFixed(2);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
var lineOriginal = params.lineOriginalPrice;
|
|
152
|
-
if (lineOriginal !== undefined && lineOriginal !== null && lineOriginal !== '') {
|
|
153
|
-
var parsedLine = Number(lineOriginal);
|
|
154
|
-
var parsedFallback = Number(fallbackCompositeOriginal);
|
|
155
|
-
if (Number.isFinite(parsedLine) && Number.isFinite(parsedFallback) && parsedLine > parsedFallback) {
|
|
156
|
-
return new Decimal(parsedLine).toDecimalPlaces(2).toFixed(2);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return fallbackCompositeOriginal;
|
|
160
|
-
}
|
|
161
116
|
export function createDefaultOrderRulesHooks() {
|
|
162
117
|
var toUnitPriceString = function toUnitPriceString(totalLike, num) {
|
|
163
118
|
var effectiveNum = Number(num) > 0 ? Number(num) : 1;
|
|
@@ -165,7 +120,7 @@ export function createDefaultOrderRulesHooks() {
|
|
|
165
120
|
};
|
|
166
121
|
return {
|
|
167
122
|
getProduct: function getProduct(product) {
|
|
168
|
-
var _product$metadata, _product$metadata2, _product$metadata3, _product$metadata4, _product$metadata5;
|
|
123
|
+
var _product$metadata, _product$metadata2, _product$metadata3, _product$metadata4, _product$metadata5, _product$metadata6;
|
|
169
124
|
// source_product_price 是权威源;兜底链:source → mainSelling − options(反推)→ 行 selling_price
|
|
170
125
|
var metadataAny = product.metadata || {};
|
|
171
126
|
var optionSum = sumOptionUnitPrice(product.product_option_item);
|
|
@@ -206,11 +161,9 @@ export function createDefaultOrderRulesHooks() {
|
|
|
206
161
|
bundle: product.product_bundle || [],
|
|
207
162
|
booking_id: ((_product$metadata2 = product.metadata) === null || _product$metadata2 === void 0 ? void 0 : _product$metadata2.booking_id) || null,
|
|
208
163
|
isClient: false,
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
holder_id: (_product$metadata3 = product.metadata) === null || _product$metadata3 === void 0 ? void 0 : _product$metadata3.holder_id,
|
|
213
|
-
startDate: ((_product$metadata4 = product.metadata) === null || _product$metadata4 === void 0 ? void 0 : _product$metadata4.start_date) || ((_product$metadata5 = product.metadata) === null || _product$metadata5 === void 0 ? void 0 : _product$metadata5.startDate)
|
|
164
|
+
isManualDiscount: ((_product$metadata3 = product.metadata) === null || _product$metadata3 === void 0 ? void 0 : _product$metadata3.is_manual_discount) || false,
|
|
165
|
+
holder_id: (_product$metadata4 = product.metadata) === null || _product$metadata4 === void 0 ? void 0 : _product$metadata4.holder_id,
|
|
166
|
+
startDate: ((_product$metadata5 = product.metadata) === null || _product$metadata5 === void 0 ? void 0 : _product$metadata5.start_date) || ((_product$metadata6 = product.metadata) === null || _product$metadata6 === void 0 ? void 0 : _product$metadata6.startDate)
|
|
214
167
|
};
|
|
215
168
|
},
|
|
216
169
|
setProduct: function setProduct(product, values) {
|
|
@@ -243,14 +196,9 @@ export function createDefaultOrderRulesHooks() {
|
|
|
243
196
|
bundle: nextBundle,
|
|
244
197
|
useOriginalBundle: true
|
|
245
198
|
});
|
|
246
|
-
var finalOriginalPrice = resolveManualOverrideLineOriginalPrice({
|
|
247
|
-
num: nextNum,
|
|
248
|
-
metadata: metadataAny,
|
|
249
|
-
lineOriginalPrice: product.original_price
|
|
250
|
-
}, composedOriginalPrice);
|
|
251
199
|
return _objectSpread(_objectSpread({}, product), {}, {
|
|
252
200
|
selling_price: composedSellingPrice,
|
|
253
|
-
original_price:
|
|
201
|
+
original_price: composedOriginalPrice,
|
|
254
202
|
discount_list: (_values$discount_list = values.discount_list) !== null && _values$discount_list !== void 0 ? _values$discount_list : product.discount_list,
|
|
255
203
|
num: (_values$quantity2 = values.quantity) !== null && _values$quantity2 !== void 0 ? _values$quantity2 : product.num,
|
|
256
204
|
product_bundle: nextBundle,
|
|
@@ -446,11 +394,6 @@ function normalizeSubmitProduct(product) {
|
|
|
446
394
|
var num = submitProduct.num,
|
|
447
395
|
productOptionItem = submitProduct.product_option_item,
|
|
448
396
|
_productSurchargeFee = submitProduct.surcharge_fee,
|
|
449
|
-
_deprecatedDiscountAmount = submitProduct.discount_amount,
|
|
450
|
-
_deprecatedDiscountType = submitProduct.discount_type,
|
|
451
|
-
_deprecatedDiscountway = submitProduct.discountway,
|
|
452
|
-
_deprecatedProductDiscountReason = submitProduct.product_discount_reason,
|
|
453
|
-
_deprecatedDiscountPer = submitProduct.discount_per,
|
|
454
397
|
productRest = _objectWithoutProperties(submitProduct, _excluded2);
|
|
455
398
|
var rawMetadata = submitProduct.metadata || {};
|
|
456
399
|
var bookingUid = rawMetadata.booking_uid;
|
|
@@ -559,23 +502,22 @@ export function createDefaultTempOrder(params) {
|
|
|
559
502
|
return {
|
|
560
503
|
order_id: null,
|
|
561
504
|
external_sale_number: '',
|
|
562
|
-
order_number:
|
|
563
|
-
shop_order_number:
|
|
564
|
-
shop_full_order_number:
|
|
565
|
-
type: '',
|
|
566
|
-
business_code:
|
|
505
|
+
order_number: '',
|
|
506
|
+
shop_order_number: '',
|
|
507
|
+
shop_full_order_number: '',
|
|
508
|
+
type: 'appointment_booking',
|
|
509
|
+
business_code: 'appointment_booking',
|
|
567
510
|
platform: 'h5',
|
|
568
511
|
sales_channel: 'my_pisel',
|
|
569
512
|
order_sales_channel: 'online_store',
|
|
570
513
|
status: 'normal',
|
|
571
514
|
payment_status: 'payment_processing',
|
|
572
515
|
shipping_status: 'unfulfilled',
|
|
573
|
-
customer_id:
|
|
516
|
+
customer_id: null,
|
|
574
517
|
customer_name: '',
|
|
575
518
|
country_calling_code: '',
|
|
576
519
|
phone: '',
|
|
577
520
|
email: '',
|
|
578
|
-
customer: null,
|
|
579
521
|
is_price_include_tax: 1,
|
|
580
522
|
tax_title: '',
|
|
581
523
|
tax_country_code: '',
|
|
@@ -606,7 +548,7 @@ export function createDefaultTempOrder(params) {
|
|
|
606
548
|
};
|
|
607
549
|
}
|
|
608
550
|
export function buildSubmitPayload(params) {
|
|
609
|
-
var
|
|
551
|
+
var _ref10, _ref11, _ref12, _tempOrder$is_price_i, _tempOrder$is_deposit;
|
|
610
552
|
var tempOrder = params.tempOrder,
|
|
611
553
|
cacheId = params.cacheId,
|
|
612
554
|
_params$now = params.now,
|
|
@@ -631,33 +573,20 @@ export function buildSubmitPayload(params) {
|
|
|
631
573
|
_shopServiceType = _ref9.shop_service_type,
|
|
632
574
|
_startTime = _ref9.start_time,
|
|
633
575
|
_customer = _ref9.customer,
|
|
576
|
+
_shopFullOrderNumber = _ref9.shop_full_order_number,
|
|
634
577
|
_rootTaxFee = _ref9.tax_fee,
|
|
635
578
|
_totalAmount = _ref9.total_amount,
|
|
636
579
|
_totalRefundAmount = _ref9.total_refund_amount,
|
|
637
580
|
_createDate = _ref9.create_date,
|
|
638
581
|
_holderId = _ref9.holder_id,
|
|
639
582
|
tempOrderRest = _objectWithoutProperties(_ref9, _excluded3);
|
|
640
|
-
var submitType = type !== null && type !== void 0 ? type : tempOrder.type;
|
|
641
|
-
if (!submitType) {
|
|
642
|
-
var _tempOrder$bookings;
|
|
643
|
-
// 如果外部没有传递 types,根据订单里当前是否有 bookings 来决定是 appointment_booking 还是 virtual
|
|
644
|
-
if (tempOrder !== null && tempOrder !== void 0 && (_tempOrder$bookings = tempOrder.bookings) !== null && _tempOrder$bookings !== void 0 && _tempOrder$bookings.length) {
|
|
645
|
-
submitType = 'appointment_booking';
|
|
646
|
-
} else {
|
|
647
|
-
submitType = 'virtual';
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
583
|
var payload = _objectSpread(_objectSpread({}, tempOrderRest), {}, {
|
|
651
|
-
customer_id: (_tempOrder$customer_i = tempOrder.customer_id) !== null && _tempOrder$customer_i !== void 0 ? _tempOrder$customer_i : 0,
|
|
652
|
-
order_number: null,
|
|
653
|
-
shop_order_number: null,
|
|
654
|
-
shop_full_order_number: null,
|
|
655
584
|
platform: normalizeSubmitPlatform(platform),
|
|
656
585
|
request_unique_idempotency_token: tempOrder.request_unique_idempotency_token || "".concat(tempOrder.external_sale_number, "_").concat(now.getTime()),
|
|
657
|
-
type:
|
|
658
|
-
business_code: businessCode !== null && businessCode !== void 0 ? businessCode : tempOrder.business_code,
|
|
586
|
+
type: (_ref10 = type !== null && type !== void 0 ? type : tempOrder.type) !== null && _ref10 !== void 0 ? _ref10 : 'table-order',
|
|
587
|
+
business_code: (_ref11 = businessCode !== null && businessCode !== void 0 ? businessCode : tempOrder.business_code) !== null && _ref11 !== void 0 ? _ref11 : 'table-order',
|
|
659
588
|
sales_channel: tempOrder.sales_channel || 'my_pisel',
|
|
660
|
-
order_sales_channel: (
|
|
589
|
+
order_sales_channel: (_ref12 = channel !== null && channel !== void 0 ? channel : tempOrder.order_sales_channel) !== null && _ref12 !== void 0 ? _ref12 : 'online_store',
|
|
661
590
|
status: tempOrder.status || 'normal',
|
|
662
591
|
payment_status: tempOrder.payment_status || 'payment_processing',
|
|
663
592
|
// shipping_status: tempOrder.shipping_status || 'unfulfilled',
|
|
@@ -670,9 +599,10 @@ export function buildSubmitPayload(params) {
|
|
|
670
599
|
note: tempOrder.note || '',
|
|
671
600
|
delivery_type: tempOrder.delivery_type || 'nil',
|
|
672
601
|
schedule_date: scheduleDate,
|
|
673
|
-
|
|
602
|
+
created_at: tempOrder.created_at || formatDateTime(now),
|
|
674
603
|
bookings: (tempOrder.bookings || []).filter(function (booking) {
|
|
675
|
-
|
|
604
|
+
var _parent_id;
|
|
605
|
+
return Number((_parent_id = booking.parent_id) !== null && _parent_id !== void 0 ? _parent_id : 0) !== 0;
|
|
676
606
|
}).map(function (booking) {
|
|
677
607
|
return normalizeSubmitBooking(booking);
|
|
678
608
|
}),
|
|
@@ -684,10 +614,10 @@ export function buildSubmitPayload(params) {
|
|
|
684
614
|
// holder: tempOrder.holder || null,
|
|
685
615
|
// summary,
|
|
686
616
|
metadata: function () {
|
|
687
|
-
var
|
|
688
|
-
_collectPax =
|
|
689
|
-
_tableOccupancyDuration =
|
|
690
|
-
rest = _objectWithoutProperties(
|
|
617
|
+
var _ref13 = tempOrder.metadata || {},
|
|
618
|
+
_collectPax = _ref13.collect_pax,
|
|
619
|
+
_tableOccupancyDuration = _ref13.table_occupancy_duration,
|
|
620
|
+
rest = _objectWithoutProperties(_ref13, _excluded4);
|
|
691
621
|
return _objectSpread({}, rest);
|
|
692
622
|
}(),
|
|
693
623
|
products: (tempOrder.products || []).map(function (product) {
|
|
@@ -782,5 +712,4 @@ export function formatV1Product(products) {
|
|
|
782
712
|
};
|
|
783
713
|
});
|
|
784
714
|
}
|
|
785
|
-
export { createEmptySummary } from "../../solution/ScanOrder/utils";
|
|
786
|
-
export { buildManualProductDiscountItem, ensureManualProductDiscountList, findManualProductDiscountItem, mergeManualProductDiscountIntoList, resolveManualDiscountMessage, resolveManualDiscountOriginTotal, resolveManualDiscountReasonFromSources, resolveSafeProductNum, shouldBuildManualProductDiscount, syncManualProductDiscountProductNum, stripManualProductDiscountItems } from "./utils/manualProductDiscount";
|
|
715
|
+
export { createEmptySummary } from "../../solution/ScanOrder/utils";
|
|
@@ -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[];
|
|
@@ -222,22 +222,6 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
222
222
|
return item.type === type || item.tag === type;
|
|
223
223
|
});
|
|
224
224
|
}
|
|
225
|
-
|
|
226
|
-
/** 剔除指定 type/tag 的折扣项,保留手动改价(type=product) / 券等 */
|
|
227
|
-
}, {
|
|
228
|
-
key: "excludeDiscountListByType",
|
|
229
|
-
value: function excludeDiscountListByType(discountList, type) {
|
|
230
|
-
return (discountList || []).filter(function (item) {
|
|
231
|
-
return item.type !== type && item.tag !== type;
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
/** 手动改价场景:去掉 promotion,保留 type=product 等行内折扣 */
|
|
236
|
-
}, {
|
|
237
|
-
key: "resolveDiscountListForManualOverride",
|
|
238
|
-
value: function resolveDiscountListForManualOverride(discountList) {
|
|
239
|
-
return this.excludeDiscountListByType(discountList, 'promotion');
|
|
240
|
-
}
|
|
241
225
|
// 获取券不可用的原因
|
|
242
226
|
}, {
|
|
243
227
|
key: "getUnavailableReason",
|
|
@@ -1224,7 +1208,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1224
1208
|
price: product.price,
|
|
1225
1209
|
options: restoredOptions
|
|
1226
1210
|
}), {}, {
|
|
1227
|
-
discount_list:
|
|
1211
|
+
discount_list: _this3.filterDiscountListByType(product.discount_list, 'promotion')
|
|
1228
1212
|
}))]);
|
|
1229
1213
|
} else {
|
|
1230
1214
|
var _ref13, _product$_promotion$f, _product13, _product$origin_total;
|
|
@@ -1247,14 +1231,14 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1247
1231
|
main_product_selling_price: main_product_selling_price,
|
|
1248
1232
|
options: restoredOptions
|
|
1249
1233
|
}), {}, {
|
|
1250
|
-
discount_list:
|
|
1234
|
+
discount_list: _this3.filterDiscountListByType(product.discount_list, 'promotion')
|
|
1251
1235
|
}))]);
|
|
1252
1236
|
}
|
|
1253
1237
|
} else {
|
|
1254
|
-
var _flatItem$bundleItem8
|
|
1238
|
+
var _flatItem$bundleItem8;
|
|
1255
1239
|
// bundle子商品:保存到扁平化Map
|
|
1256
1240
|
processedFlatItemsMap.set(flatItem._id, [_objectSpread(_objectSpread({}, flatItem), {}, {
|
|
1257
|
-
discount_list:
|
|
1241
|
+
discount_list: _this3.filterDiscountListByType(((_flatItem$bundleItem8 = flatItem.bundleItem) === null || _flatItem$bundleItem8 === void 0 ? void 0 : _flatItem$bundleItem8.discount_list) || [], 'promotion'),
|
|
1258
1242
|
price: isManualDiscount ? flatItem.bundleItem.price : flatItem.bundleItem.original_price,
|
|
1259
1243
|
processed: true
|
|
1260
1244
|
})]);
|
|
@@ -2085,10 +2069,10 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2085
2069
|
return true; // 单独购买时可用
|
|
2086
2070
|
}
|
|
2087
2071
|
if (isBundleItem) {
|
|
2088
|
-
var _flatItem$
|
|
2072
|
+
var _flatItem$bundleItem9, _flatItem$bundleItem10, _flatItem$originProdu, _flatItem$parentProdu10;
|
|
2089
2073
|
// 套餐中购买时,判断是否为原价
|
|
2090
|
-
var priceType = (_flatItem$
|
|
2091
|
-
var priceTypeExt = (_flatItem$
|
|
2074
|
+
var priceType = (_flatItem$bundleItem9 = flatItem.bundleItem) === null || _flatItem$bundleItem9 === void 0 ? void 0 : _flatItem$bundleItem9.price_type;
|
|
2075
|
+
var priceTypeExt = (_flatItem$bundleItem10 = flatItem.bundleItem) === null || _flatItem$bundleItem10 === void 0 ? void 0 : _flatItem$bundleItem10.price_type_ext;
|
|
2092
2076
|
// 主商品id
|
|
2093
2077
|
var mainProductId = (flatItem === null || flatItem === void 0 || (_flatItem$originProdu = flatItem.originProduct) === null || _flatItem$originProdu === void 0 || (_flatItem$originProdu = _flatItem$originProdu._productOrigin) === null || _flatItem$originProdu === void 0 ? void 0 : _flatItem$originProdu.id) || (flatItem === null || flatItem === void 0 || (_flatItem$parentProdu10 = flatItem.parentProduct) === null || _flatItem$parentProdu10 === void 0 ? void 0 : _flatItem$parentProdu10.id) || 0;
|
|
2094
2078
|
// original_price 对应:
|
|
@@ -2155,10 +2139,10 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2155
2139
|
return false; // 单独购买时不可用
|
|
2156
2140
|
}
|
|
2157
2141
|
if (isBundleItem) {
|
|
2158
|
-
var _flatItem$
|
|
2142
|
+
var _flatItem$bundleItem11, _flatItem$bundleItem12;
|
|
2159
2143
|
// 套餐中购买时,判断是否为原价
|
|
2160
|
-
var _priceType = (_flatItem$
|
|
2161
|
-
var _priceTypeExt = (_flatItem$
|
|
2144
|
+
var _priceType = (_flatItem$bundleItem11 = flatItem.bundleItem) === null || _flatItem$bundleItem11 === void 0 ? void 0 : _flatItem$bundleItem11.price_type;
|
|
2145
|
+
var _priceTypeExt = (_flatItem$bundleItem12 = flatItem.bundleItem) === null || _flatItem$bundleItem12 === void 0 ? void 0 : _flatItem$bundleItem12.price_type_ext;
|
|
2162
2146
|
|
|
2163
2147
|
// original_price 对应:
|
|
2164
2148
|
// 1. price_type: "markup" && price_type_ext: "product_price"
|
|
@@ -27,8 +27,7 @@ export * from "./types";
|
|
|
27
27
|
var salesSummaryDataKeys = {
|
|
28
28
|
isPriceIncludeTax: 'is_price_include_tax',
|
|
29
29
|
taxRate: 'tax_rate',
|
|
30
|
-
taxTitle: 'tax_title'
|
|
31
|
-
taxCountryCode: 'tax_country_code'
|
|
30
|
+
taxTitle: 'tax_title'
|
|
32
31
|
};
|
|
33
32
|
export var SalesSummaryModule = /*#__PURE__*/function (_BaseModule) {
|
|
34
33
|
_inherits(SalesSummaryModule, _BaseModule);
|
|
@@ -136,8 +135,7 @@ export var SalesSummaryModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
136
135
|
return {
|
|
137
136
|
isPriceIncludeTax: this.getAppData(salesSummaryDataKeys.isPriceIncludeTax),
|
|
138
137
|
taxRate: this.getAppData(salesSummaryDataKeys.taxRate),
|
|
139
|
-
taxTitle: this.getAppData(salesSummaryDataKeys.taxTitle)
|
|
140
|
-
taxCountryCode: this.getAppData(salesSummaryDataKeys.taxCountryCode)
|
|
138
|
+
taxTitle: this.getAppData(salesSummaryDataKeys.taxTitle)
|
|
141
139
|
};
|
|
142
140
|
}
|
|
143
141
|
}, {
|
package/dist/modules/index.d.ts
CHANGED
package/dist/modules/index.js
CHANGED
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
|
-
/** 从订单 payments 提取支付方式 code,与 UI 筛选选项及 filterBookings 一致 */
|
|
3
|
-
function getOrderPaymentCodes(order) {
|
|
4
|
-
var payments = order.payments;
|
|
5
|
-
if (!Array.isArray(payments) || payments.length === 0) {
|
|
6
|
-
return [];
|
|
7
|
-
}
|
|
8
|
-
return payments.map(function (item) {
|
|
9
|
-
return item === null || item === void 0 ? void 0 : item.code;
|
|
10
|
-
}).filter(function (code) {
|
|
11
|
-
return typeof code === 'string' && code.length > 0;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
|
|
15
2
|
/**
|
|
16
3
|
* 订单过滤函数
|
|
17
4
|
* @param orders 原始订单列表
|
|
@@ -139,23 +126,22 @@ export function filterOrders(orders, filters) {
|
|
|
139
126
|
}
|
|
140
127
|
}
|
|
141
128
|
|
|
142
|
-
// payment_methods -
|
|
129
|
+
// payment_methods - 支付方式
|
|
143
130
|
if (safeFilters.payment_methods && safeFilters.payment_methods.length > 0) {
|
|
144
|
-
|
|
145
|
-
if (orderPaymentCodes.length === 0) {
|
|
131
|
+
if (!order.payment_methods || !Array.isArray(order.payment_methods) || order.payment_methods.length === 0) {
|
|
146
132
|
rejected.push({
|
|
147
133
|
order_id: order.order_id,
|
|
148
134
|
order_number: order.order_number,
|
|
149
135
|
reason: {
|
|
150
136
|
field: 'payment_methods',
|
|
151
|
-
actual: order.
|
|
137
|
+
actual: order.payment_methods,
|
|
152
138
|
expected: safeFilters.payment_methods
|
|
153
139
|
}
|
|
154
140
|
});
|
|
155
141
|
return false;
|
|
156
142
|
}
|
|
157
|
-
var hasMatch =
|
|
158
|
-
return safeFilters.payment_methods.includes(
|
|
143
|
+
var hasMatch = order.payment_methods.some(function (pm) {
|
|
144
|
+
return safeFilters.payment_methods.includes(pm);
|
|
159
145
|
});
|
|
160
146
|
if (!hasMatch) {
|
|
161
147
|
rejected.push({
|
|
@@ -163,7 +149,7 @@ export function filterOrders(orders, filters) {
|
|
|
163
149
|
order_number: order.order_number,
|
|
164
150
|
reason: {
|
|
165
151
|
field: 'payment_methods',
|
|
166
|
-
actual:
|
|
152
|
+
actual: order.payment_methods,
|
|
167
153
|
expected: safeFilters.payment_methods
|
|
168
154
|
}
|
|
169
155
|
});
|