@pisell/pisellos 2.1.7 → 2.1.9

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.
@@ -2,42 +2,6 @@ import { Module } from '../../types';
2
2
  import { OrderModule } from '../../modules/Order';
3
3
  import { PaymentModuleAPI, PaymentOrder, PaymentMethod, PaymentStatus, PaymentItem, PaymentItemInput } from '../../modules/Payment';
4
4
  import { CartItem } from '../../modules/Cart/types';
5
- /**
6
- * 结账状态枚举
7
- */
8
- export declare enum CheckoutStatus {
9
- /** 初始化中 */
10
- Initializing = "initializing",
11
- /** 准备就绪 */
12
- Ready = "ready",
13
- /** 创建订单中 */
14
- CreatingOrder = "creating_order",
15
- /** 订单已创建 */
16
- OrderCreated = "order_created",
17
- /** 处理支付中 */
18
- ProcessingPayment = "processing_payment",
19
- /** 支付完成 */
20
- PaymentCompleted = "payment_completed",
21
- /** 结账完成 */
22
- Completed = "completed",
23
- /** 已取消 */
24
- Cancelled = "cancelled",
25
- /** 错误状态 */
26
- Error = "error"
27
- }
28
- /**
29
- * 结账步骤枚举
30
- */
31
- export declare enum CheckoutStep {
32
- /** 订单确认 */
33
- OrderConfirmation = "order_confirmation",
34
- /** 支付方式选择 */
35
- PaymentMethod = "payment_method",
36
- /** 支付处理 */
37
- PaymentProcessing = "payment_processing",
38
- /** 完成 */
39
- Complete = "complete"
40
- }
41
5
  /**
42
6
  * 结账错误类型
43
7
  */
@@ -127,15 +91,6 @@ export interface CreateLocalOrderParams {
127
91
  autoPayment?: boolean;
128
92
  totalInfo: any;
129
93
  }
130
- /**
131
- * 手动下单参数
132
- */
133
- export interface PlaceOrderParams {
134
- /** 订单提交的 URL (可选,默认使用 /order/appointment) */
135
- url?: string;
136
- /** 是否自动替换虚拟订单ID为真实订单ID */
137
- autoReplaceOrderId?: boolean;
138
- }
139
94
  /**
140
95
  * 本地订单数据结构 (基于 appointmentDemo.json)
141
96
  */
@@ -300,74 +255,12 @@ export interface LocalResourceItem {
300
255
  /** 资源类型 (可选) */
301
256
  resourceType?: string;
302
257
  }
303
- /**
304
- * 订单创建参数
305
- */
306
- export interface CreateOrderParams {
307
- /** 购物车商品 */
308
- cartItems: CartItem[];
309
- /** 订单类型 */
310
- type?: 'virtual' | 'appointment_booking';
311
- /** 平台类型 */
312
- platform?: 'pc' | 'h5';
313
- /** 额外参数 */
314
- extra?: Record<string, any>;
315
- }
316
- /**
317
- * 支付处理参数
318
- */
319
- export interface ProcessPaymentParams {
320
- /** 订单UUID */
321
- orderUuid: string;
322
- /** 支付方式代码 */
323
- paymentMethodCode: string;
324
- /** 支付金额 */
325
- amount: string | number;
326
- /** 支付元数据 */
327
- metadata?: Record<string, any>;
328
- }
329
- /**
330
- * 结账状态信息
331
- */
332
- export interface CheckoutStatusInfo {
333
- /** 当前状态 */
334
- status: CheckoutStatus;
335
- /** 当前步骤 */
336
- step: CheckoutStep;
337
- /** 进度百分比 (0-100) */
338
- progress: number;
339
- /** 状态消息 */
340
- message?: string;
341
- /** 错误信息 */
342
- error?: CheckoutError;
343
- }
344
- /**
345
- * 结账摘要信息
346
- */
347
- export interface CheckoutSummary {
348
- /** 订单信息 */
349
- order?: PaymentOrder;
350
- /** 总金额 */
351
- totalAmount: string;
352
- /** 已支付金额 */
353
- paidAmount: string;
354
- /** 待支付金额 */
355
- remainingAmount: string;
356
- /** 支付状态 */
357
- paymentStatus: PaymentStatus;
358
- /** 可用支付方式 */
359
- availablePaymentMethods: PaymentMethod[];
360
- }
361
258
  /**
362
259
  * 结账事件钩子
363
260
  */
364
261
  export declare enum CheckoutHooks {
365
262
  /** 结账初始化完成 */
366
263
  OnCheckoutInitialized = "checkout:onInitialized",
367
- /** 状态变更 */
368
- OnStatusChanged = "checkout:onStatusChanged",
369
- /** 步骤变更 */
370
- OnStepChanged = "checkout:onStepChanged",
371
264
  /** 订单创建成功 */
372
265
  OnOrderCreated = "checkout:onOrderCreated",
373
266
  /** 订单创建失败 */
@@ -413,10 +306,6 @@ export declare enum CheckoutHooks {
413
306
  * 结账状态数据
414
307
  */
415
308
  export interface CheckoutState {
416
- /** 当前状态 */
417
- status: CheckoutStatus;
418
- /** 当前步骤 */
419
- step: CheckoutStep;
420
309
  /** 当前订单 */
421
310
  currentOrder?: PaymentOrder;
422
311
  /** 购物车商品 */
@@ -449,10 +338,6 @@ export interface CurrentOrderInfo {
449
338
  uuid?: string;
450
339
  /** 订单ID */
451
340
  orderId?: string;
452
- /** 订单状态 */
453
- status?: CheckoutStatus;
454
- /** 当前步骤 */
455
- step?: CheckoutStep;
456
341
  /** 订单总金额 */
457
342
  totalAmount?: string;
458
343
  /** 待付金额 */
@@ -486,22 +371,6 @@ export interface CheckoutModuleAPI extends Module {
486
371
  * 创建本地订单 (前端模拟下单流程)
487
372
  */
488
373
  createLocalOrderAsync(params: CreateLocalOrderParams): Promise<PaymentOrder>;
489
- /**
490
- * 手动下单 (根据虚拟订单生成实际订单)
491
- */
492
- placeOrderAsync(params?: PlaceOrderParams): Promise<{
493
- success: boolean;
494
- orderId?: string;
495
- error?: string;
496
- }>;
497
- /**
498
- * 创建订单
499
- */
500
- createOrderAsync(params: CreateOrderParams): Promise<PaymentOrder>;
501
- /**
502
- * 处理支付
503
- */
504
- processPaymentAsync(params: ProcessPaymentParams): Promise<void>;
505
374
  /**
506
375
  * 完成结账
507
376
  */
@@ -509,26 +378,6 @@ export interface CheckoutModuleAPI extends Module {
509
378
  success: boolean;
510
379
  orderId?: string;
511
380
  }>;
512
- /**
513
- * 取消结账
514
- */
515
- cancelCheckoutAsync(): Promise<void>;
516
- /**
517
- * 获取结账状态
518
- */
519
- getCheckoutStatus(): CheckoutStatusInfo;
520
- /**
521
- * 获取结账摘要
522
- */
523
- getCheckoutSummaryAsync(): Promise<CheckoutSummary>;
524
- /**
525
- * 获取可用支付方式
526
- */
527
- getAvailablePaymentMethodsAsync(): Promise<PaymentMethod[]>;
528
- /**
529
- * 刷新支付方式缓存
530
- */
531
- refreshPaymentMethodsAsync(): Promise<PaymentMethod[]>;
532
381
  /**
533
382
  * 获取当前订单基础信息
534
383
  */
@@ -537,21 +386,6 @@ export interface CheckoutModuleAPI extends Module {
537
386
  * 获取当前订单的支付项
538
387
  */
539
388
  getCurrentOrderPaymentItemsAsync(): Promise<PaymentItem[]>;
540
- /**
541
- * 验证结账前置条件
542
- */
543
- validateCheckoutAsync(): Promise<{
544
- valid: boolean;
545
- errors: string[];
546
- }>;
547
- /**
548
- * 重试失败的操作
549
- */
550
- retryFailedOperationAsync(): Promise<void>;
551
- /**
552
- * 设置当前步骤
553
- */
554
- setCurrentStep(step: CheckoutStep): void;
555
389
  /**
556
390
  * 获取订单模块
557
391
  */
@@ -578,18 +412,10 @@ export interface CheckoutModuleAPI extends Module {
578
412
  * @returns 当前系统计算的待付金额
579
413
  */
580
414
  getBalanceDueAmount(): string;
581
- /**
582
- * 刷新 stateAmount 为当前剩余未支付金额
583
- */
584
- refreshStateAmountAsync(): Promise<void>;
585
415
  /**
586
416
  * 获取购物车小计数据
587
417
  */
588
418
  getCartSummary(): CartSummaryItem[] | null;
589
- /**
590
- * 获取提取的金额详细信息
591
- */
592
- getExtractedAmountInfo(): ExtractedAmountInfo | null;
593
419
  /**
594
420
  * 获取支付方式列表(直接调用 Payment 模块)
595
421
  */
@@ -610,20 +436,6 @@ export interface CheckoutModuleAPI extends Module {
610
436
  * 修改当前订单的定金状态
611
437
  */
612
438
  updateOrderDepositStatusAsync(isDeposit: number): Promise<void>;
613
- /**
614
- * 更新当前订单的客户信息
615
- */
616
- updateOrderCustomerAsync(customer: {
617
- customer_id?: string;
618
- customer_name?: string;
619
- }): Promise<void>;
620
- /**
621
- * 获取当前订单的客户信息
622
- */
623
- getCurrentCustomer(): {
624
- customer_id?: string;
625
- customer_name?: string;
626
- } | null;
627
439
  /**
628
440
  * 手动同步订单到后端
629
441
  *
@@ -636,13 +448,6 @@ export interface CheckoutModuleAPI extends Module {
636
448
  orderUuid?: string;
637
449
  response?: any;
638
450
  }>;
639
- /**
640
- * 检查订单是否需要手动同步(异步版本)
641
- *
642
- * 返回订单是否为纯代金券支付且待付金额<=0但未同步的状态
643
- * 从 Payment 模块获取最新的支付项数据
644
- */
645
- needsManualSyncAsync(): Promise<boolean>;
646
451
  /**
647
452
  * 更新订单备注
648
453
  *
@@ -680,20 +485,6 @@ export interface CheckoutModuleAPI extends Module {
680
485
  message?: string;
681
486
  orderId?: string;
682
487
  }>;
683
- /**
684
- * 更新订单商店折扣
685
- *
686
- * 同时更新cartSummary和localOrderData中的shop_discount值
687
- *
688
- * @param discountAmount 商店折扣金额
689
- */
690
- updateShopDiscountAsync(discountAmount: number): Promise<void>;
691
- /**
692
- * 获取当前商店折扣金额
693
- *
694
- * @returns 当前的商店折扣金额,如果没有则返回0
695
- */
696
- getShopDiscount(): number;
697
488
  /**
698
489
  * 保存订单并稍后支付
699
490
  *
@@ -764,18 +555,6 @@ export interface SendCustomerPayLinkParams {
764
555
  * 结账事件数据类型
765
556
  */
766
557
  export interface CheckoutEventData {
767
- /** 状态变更事件 */
768
- statusChanged: {
769
- oldStatus: CheckoutStatus;
770
- newStatus: CheckoutStatus;
771
- timestamp: number;
772
- };
773
- /** 步骤变更事件 */
774
- stepChanged: {
775
- oldStep: CheckoutStep;
776
- newStep: CheckoutStep;
777
- timestamp: number;
778
- };
779
558
  /** 订单创建事件 */
780
559
  orderCreated: {
781
560
  order: PaymentOrder;
@@ -1,30 +1,3 @@
1
- /**
2
- * 结账状态枚举
3
- */
4
- export var CheckoutStatus = /*#__PURE__*/function (CheckoutStatus) {
5
- CheckoutStatus["Initializing"] = "initializing";
6
- CheckoutStatus["Ready"] = "ready";
7
- CheckoutStatus["CreatingOrder"] = "creating_order";
8
- CheckoutStatus["OrderCreated"] = "order_created";
9
- CheckoutStatus["ProcessingPayment"] = "processing_payment";
10
- CheckoutStatus["PaymentCompleted"] = "payment_completed";
11
- CheckoutStatus["Completed"] = "completed";
12
- CheckoutStatus["Cancelled"] = "cancelled";
13
- CheckoutStatus["Error"] = "error";
14
- return CheckoutStatus;
15
- }({});
16
-
17
- /**
18
- * 结账步骤枚举
19
- */
20
- export var CheckoutStep = /*#__PURE__*/function (CheckoutStep) {
21
- CheckoutStep["OrderConfirmation"] = "order_confirmation";
22
- CheckoutStep["PaymentMethod"] = "payment_method";
23
- CheckoutStep["PaymentProcessing"] = "payment_processing";
24
- CheckoutStep["Complete"] = "complete";
25
- return CheckoutStep;
26
- }({});
27
-
28
1
  /**
29
2
  * 结账错误类型
30
3
  */
@@ -57,10 +30,6 @@ export var CheckoutErrorType = /*#__PURE__*/function (CheckoutErrorType) {
57
30
  * 本地订单创建参数
58
31
  */
59
32
 
60
- /**
61
- * 手动下单参数
62
- */
63
-
64
33
  /**
65
34
  * 本地订单数据结构 (基于 appointmentDemo.json)
66
35
  */
@@ -81,29 +50,11 @@ export var CheckoutErrorType = /*#__PURE__*/function (CheckoutErrorType) {
81
50
  * 本地资源项
82
51
  */
83
52
 
84
- /**
85
- * 订单创建参数
86
- */
87
-
88
- /**
89
- * 支付处理参数
90
- */
91
-
92
- /**
93
- * 结账状态信息
94
- */
95
-
96
- /**
97
- * 结账摘要信息
98
- */
99
-
100
53
  /**
101
54
  * 结账事件钩子
102
55
  */
103
56
  export var CheckoutHooks = /*#__PURE__*/function (CheckoutHooks) {
104
57
  CheckoutHooks["OnCheckoutInitialized"] = "checkout:onInitialized";
105
- CheckoutHooks["OnStatusChanged"] = "checkout:onStatusChanged";
106
- CheckoutHooks["OnStepChanged"] = "checkout:onStepChanged";
107
58
  CheckoutHooks["OnOrderCreated"] = "checkout:onOrderCreated";
108
59
  CheckoutHooks["OnOrderCreationFailed"] = "checkout:onOrderCreationFailed";
109
60
  CheckoutHooks["OnPaymentStarted"] = "checkout:onPaymentStarted";
@@ -1,4 +1,4 @@
1
- import { CheckoutInitParams, CheckoutError, CheckoutErrorType, CheckoutStatus, CheckoutStep, LocalOrderData, CartSummaryItem, ExtractedAmountInfo } from '../types';
1
+ import { CheckoutInitParams, CheckoutError, CheckoutErrorType, LocalOrderData, CartSummaryItem, ExtractedAmountInfo } from '../types';
2
2
  import { CartItem } from '../../../modules/Cart/types';
3
3
  /**
4
4
  * 验证结账数据
@@ -11,10 +11,6 @@ export declare function validateCheckoutData(params: CheckoutInitParams): {
11
11
  * 创建结账错误对象
12
12
  */
13
13
  export declare function createCheckoutError(type: CheckoutErrorType, message: string, details?: any): CheckoutError;
14
- /**
15
- * 计算结账进度
16
- */
17
- export declare function calculateProgress(status: CheckoutStatus, step: CheckoutStep): number;
18
14
  /**
19
15
  * 格式化金额
20
16
  */
@@ -115,3 +111,11 @@ export declare function isVirtualOrderId(orderId: string): boolean;
115
111
  * @returns 是否需要同步订单
116
112
  */
117
113
  export declare function shouldSyncOrderForPayment(paymentCode: string, paymentType: string): boolean;
114
+ /**
115
+ * 判断是否为现金支付
116
+ *
117
+ * @param paymentCode 支付方式代码
118
+ * @param paymentType 支付方式类型
119
+ * @returns 是否为现金支付
120
+ */
121
+ export declare function isCashPayment(paymentCode?: string, paymentType?: string): boolean;
@@ -2,7 +2,6 @@ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyri
2
2
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
3
3
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
4
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
- import { CheckoutStatus, CheckoutStep } from "../types";
6
5
  import { PaymentMethodType } from "../../../modules/Payment/types";
7
6
 
8
7
  /**
@@ -58,61 +57,6 @@ export function createCheckoutError(type, message, details) {
58
57
  };
59
58
  }
60
59
 
61
- /**
62
- * 计算结账进度
63
- */
64
- export function calculateProgress(status, step) {
65
- // 基于状态的基础进度
66
- var baseProgress = 0;
67
- switch (status) {
68
- case CheckoutStatus.Initializing:
69
- baseProgress = 5;
70
- break;
71
- case CheckoutStatus.Ready:
72
- baseProgress = 10;
73
- break;
74
- case CheckoutStatus.CreatingOrder:
75
- baseProgress = 25;
76
- break;
77
- case CheckoutStatus.OrderCreated:
78
- baseProgress = 40;
79
- break;
80
- case CheckoutStatus.ProcessingPayment:
81
- baseProgress = 65;
82
- break;
83
- case CheckoutStatus.PaymentCompleted:
84
- baseProgress = 85;
85
- break;
86
- case CheckoutStatus.Completed:
87
- baseProgress = 100;
88
- break;
89
- case CheckoutStatus.Cancelled:
90
- case CheckoutStatus.Error:
91
- baseProgress = 0;
92
- break;
93
- default:
94
- baseProgress = 0;
95
- }
96
-
97
- // 基于步骤的额外进度
98
- var stepProgress = 0;
99
- switch (step) {
100
- case CheckoutStep.OrderConfirmation:
101
- stepProgress = 0;
102
- break;
103
- case CheckoutStep.PaymentMethod:
104
- stepProgress = 10;
105
- break;
106
- case CheckoutStep.PaymentProcessing:
107
- stepProgress = 15;
108
- break;
109
- case CheckoutStep.Complete:
110
- stepProgress = 0; // 已经在状态中体现
111
- break;
112
- }
113
- return Math.min(100, baseProgress + stepProgress);
114
- }
115
-
116
60
  /**
117
61
  * 格式化金额
118
62
  */
@@ -546,4 +490,22 @@ export function shouldSyncOrderForPayment(paymentCode, paymentType) {
546
490
 
547
491
  // 其他支付方式都需要同步
548
492
  return true;
493
+ }
494
+
495
+ /**
496
+ * 判断是否为现金支付
497
+ *
498
+ * @param paymentCode 支付方式代码
499
+ * @param paymentType 支付方式类型
500
+ * @returns 是否为现金支付
501
+ */
502
+ export function isCashPayment(paymentCode, paymentType) {
503
+ var codeUpper = (paymentCode === null || paymentCode === void 0 ? void 0 : paymentCode.toUpperCase()) || '';
504
+ var typeUpper = (paymentType === null || paymentType === void 0 ? void 0 : paymentType.toUpperCase()) || '';
505
+
506
+ // 现金支付识别规则
507
+ var cashIdentifiers = ['CASH', 'CASHMANUAL', 'MANUAL'];
508
+ return cashIdentifiers.some(function (identifier) {
509
+ return codeUpper.includes(identifier) || typeUpper.includes(identifier);
510
+ });
549
511
  }
@@ -273,6 +273,9 @@ var OrderModule = class extends import_BaseModule.BaseModule {
273
273
  smallTicketDataFlag: orderData.small_ticket_data_flag
274
274
  });
275
275
  const response = await this.request.post("/order/checkout", orderData);
276
+ this.logInfo("Order API called successfully", {
277
+ response
278
+ });
276
279
  console.log("[Order] 订单创建成功,后端响应:", {
277
280
  success: !!response,
278
281
  hasOrderId: !!(((_q = response == null ? void 0 : response.data) == null ? void 0 : _q.order_id) || (response == null ? void 0 : response.order_id))
@@ -280,6 +283,9 @@ var OrderModule = class extends import_BaseModule.BaseModule {
280
283
  return response;
281
284
  } catch (error) {
282
285
  console.error("[Order] createOrderByCheckout 创建订单失败:", error);
286
+ this.logInfo("Order API called failed", {
287
+ error: error instanceof Error ? error.message : String(error)
288
+ });
283
289
  throw error;
284
290
  }
285
291
  }
@@ -323,15 +323,11 @@ var PaymentModule = class extends import_BaseModule.BaseModule {
323
323
  totalAmount: params.total_amount
324
324
  });
325
325
  try {
326
- const existingOrders = await this.dbManager.getAll("order");
327
- const existingOrder = existingOrders.find(
328
- (order) => String(order.id) === String(params.order_id)
329
- );
326
+ const existingOrder = await this.dbManager.get("order", params.order_id);
330
327
  if (existingOrder) {
331
328
  console.log(
332
329
  `[PaymentModule] 发现重复订单 ID: ${params.order_id},更新现有支付订单`
333
330
  );
334
- const originalOrder = { ...existingOrder };
335
331
  existingOrder.order_info = params.order_info;
336
332
  existingOrder.total_amount = params.total_amount;
337
333
  existingOrder.is_deposit = params.is_deposit || 0;
@@ -359,7 +355,7 @@ var PaymentModule = class extends import_BaseModule.BaseModule {
359
355
  deposit_amount: params.deposit_amount || "0.00"
360
356
  };
361
357
  await this.dbManager.add("order", newOrder);
362
- await this.core.effects.emit(import_types.PaymentHooks.OnOrderAdded, newOrder);
358
+ this.core.effects.emit(import_types.PaymentHooks.OnOrderAdded, newOrder);
363
359
  this.logInfo("createPaymentOrderAsync completed - new payment order created", {
364
360
  orderUuid: newOrder.uuid,
365
361
  orderId: newOrder.id
@@ -268,7 +268,7 @@ var WalletPassPaymentImpl = class {
268
268
  code_length: code.length,
269
269
  noCache: config.noCache || false
270
270
  });
271
- const isWalletCode = code.startsWith("WL");
271
+ const isWalletCode = code.length === 9 && code.startsWith("000");
272
272
  if (isWalletCode) {
273
273
  const walletDetailParams = {
274
274
  code,
@@ -314,7 +314,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
314
314
  }[];
315
315
  setOtherData(key: string, value: any): void;
316
316
  getOtherData(key: string): any;
317
- getProductTypeById(id: number): Promise<"normal" | "duration" | "session">;
317
+ getProductTypeById(id: number): Promise<"duration" | "session" | "normal">;
318
318
  /**
319
319
  * 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
320
320
  *
@@ -111,7 +111,7 @@ export declare class BookingTicketImpl extends BaseModule implements Module {
111
111
  * 获取当前的客户搜索条件
112
112
  * @returns 当前搜索条件
113
113
  */
114
- getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "skip" | "num">;
114
+ getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
115
115
  /**
116
116
  * 获取客户列表状态(包含滚动加载相关状态)
117
117
  * @returns 客户状态