@pisell/pisellos 2.1.27 → 2.1.29
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/modules/Payment/index.js +2 -2
- package/dist/solution/Checkout/index.d.ts +4 -0
- package/dist/solution/Checkout/index.js +347 -247
- package/lib/modules/Payment/index.js +2 -2
- package/lib/solution/Checkout/index.d.ts +4 -0
- package/lib/solution/Checkout/index.js +62 -12
- package/package.json +1 -1
|
@@ -677,7 +677,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
677
677
|
value: (function () {
|
|
678
678
|
var _updateLocalOrderAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
|
|
679
679
|
var _params$orderData6, _params$orderData7, _params$cartSummary2, _params$totalInfo5, _params$totalInfo6, _params$totalInfo7, _params$totalInfo8;
|
|
680
|
-
var validation, amountInfo, customerInfo, allOrders, existingOrder, _updated$payment, totalAmount, activePayments, paidAmount, remaining, _isNeedDeposit, updated, syncedAmount, remainingExpectAmount, isNeedDeposit, created;
|
|
680
|
+
var validation, amountInfo, customerInfo, allOrders, existingOrder, _updated$payment, totalAmount, activePayments, paidAmount, remaining, _isNeedDeposit, updated, syncedAmount, remainingExpectAmount, depositDiffAmount, isNeedDeposit, created;
|
|
681
681
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
682
682
|
while (1) switch (_context10.prev = _context10.next) {
|
|
683
683
|
case 0:
|
|
@@ -730,7 +730,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
730
730
|
return String(o.id) === String(params.orderId) || String(o.order_id) === String(params.orderId);
|
|
731
731
|
});
|
|
732
732
|
if (!existingOrder) {
|
|
733
|
-
_context10.next =
|
|
733
|
+
_context10.next = 44;
|
|
734
734
|
break;
|
|
735
735
|
}
|
|
736
736
|
// 基于现有支付项计算新的 expect_amount
|
|
@@ -740,7 +740,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
740
740
|
});
|
|
741
741
|
paidAmount = activePayments.reduce(function (sum, p) {
|
|
742
742
|
var amt = new Decimal(p.amount || '0');
|
|
743
|
-
var rounding = new Decimal(p.rounding_amount || '0').abs();
|
|
743
|
+
var rounding = new Decimal(Number(p.rounding_amount) > 0 ? 0 : p.rounding_amount || '0').abs();
|
|
744
744
|
return sum.plus(amt).plus(rounding);
|
|
745
745
|
}, new Decimal(0));
|
|
746
746
|
remaining = Decimal.max(0, totalAmount.minus(paidAmount)).toFixed(2); // 计算是否需要支付定金,如果需要默认切换到定金模式,以及记录定金总金额,并把当前默认待付金额调整为定金总金额
|
|
@@ -795,18 +795,22 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
795
795
|
// 需要减去已经同步给后端的支付过的钱
|
|
796
796
|
syncedAmount = activePayments.reduce(function (sum, p) {
|
|
797
797
|
var amt = new Decimal(p.amount || '0');
|
|
798
|
-
var rounding = new Decimal(p.rounding_amount || '0').abs();
|
|
798
|
+
var rounding = new Decimal(Number(p.rounding_amount) > 0 ? 0 : p.rounding_amount || '0').abs();
|
|
799
799
|
return sum.plus(amt).plus(rounding);
|
|
800
800
|
}, new Decimal(0));
|
|
801
|
-
remainingExpectAmount = Decimal.max(0, totalAmount.minus(syncedAmount)).toFixed(2);
|
|
801
|
+
remainingExpectAmount = Decimal.max(0, totalAmount.minus(syncedAmount)).toFixed(2); // 要计算一个总价的差值和一个定金的差值,如果定金的差值>0,则需要使用定金的差值,否则使用总价的差值
|
|
802
|
+
depositDiffAmount = new Decimal(0).toFixed(2);
|
|
803
|
+
if (updated.is_deposit === 1) {
|
|
804
|
+
depositDiffAmount = new Decimal(updated.deposit_amount).minus(syncedAmount).toFixed(2);
|
|
805
|
+
}
|
|
802
806
|
this.initWalletData({
|
|
803
|
-
order_wait_pay_amount: Number(remainingExpectAmount)
|
|
807
|
+
order_wait_pay_amount: Number(depositDiffAmount) > 0 ? Number(depositDiffAmount) : Number(remainingExpectAmount)
|
|
804
808
|
});
|
|
805
809
|
return _context10.abrupt("return", updated);
|
|
806
|
-
case
|
|
810
|
+
case 44:
|
|
807
811
|
// 计算是否需要支付定金,如果需要默认切换到定金模式,以及记录定金总金额,并把当前默认待付金额调整为定金总金额
|
|
808
812
|
isNeedDeposit = this.checkIsNeedDepositAsync(params.orderData.bookings, params.orderData.relation_products); // 没找到现有订单时,回退为创建逻辑(用于异常兜底)
|
|
809
|
-
_context10.next =
|
|
813
|
+
_context10.next = 47;
|
|
810
814
|
return this.payment.createPaymentOrderAsync({
|
|
811
815
|
order_id: String(params.orderId),
|
|
812
816
|
total_amount: amountInfo.totalAmount,
|
|
@@ -823,12 +827,12 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
823
827
|
amount_breakdown: amountInfo
|
|
824
828
|
}
|
|
825
829
|
});
|
|
826
|
-
case
|
|
830
|
+
case 47:
|
|
827
831
|
created = _context10.sent;
|
|
828
832
|
this.store.currentOrder = created;
|
|
829
833
|
this.initWalletData();
|
|
830
834
|
return _context10.abrupt("return", created);
|
|
831
|
-
case
|
|
835
|
+
case 51:
|
|
832
836
|
case "end":
|
|
833
837
|
return _context10.stop();
|
|
834
838
|
}
|
|
@@ -1675,7 +1679,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
1675
1679
|
console.log('[Checkout] 定金状态无变化,跳过更新');
|
|
1676
1680
|
return _context19.abrupt("return");
|
|
1677
1681
|
case 10:
|
|
1678
|
-
deposit_amount =
|
|
1682
|
+
deposit_amount = this.store.currentOrder.deposit_amount || '0.00'; // 如果原来没有 deposit_amount,则默认把待付金额置为 deposit_amount
|
|
1679
1683
|
if (!deposit_amount || Number(deposit_amount) === 0) {
|
|
1680
1684
|
deposit_amount = this.store.currentOrder.expect_amount;
|
|
1681
1685
|
}
|
|
@@ -2773,7 +2777,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2773
2777
|
// 使用 Decimal.js 计算实际支付有效金额:
|
|
2774
2778
|
// 当 rounding_amount 为负数时,表示抹掉的金额,应该按绝对值加到实际支付中
|
|
2775
2779
|
// 例如:amount=15, rounding_amount=-0.2,实际相当于支付了15.2(抹掉了0.2元的零头)
|
|
2776
|
-
var effectiveAmount = amount.add(roundingAmount.abs());
|
|
2780
|
+
var effectiveAmount = amount.add(roundingAmount.isNegative() ? roundingAmount.abs() : 0);
|
|
2777
2781
|
console.log("[Checkout] \u8BA1\u7B97\u652F\u4ED8\u9879: ".concat(payment.code), {
|
|
2778
2782
|
originalAmount: amount.toFixed(2),
|
|
2779
2783
|
roundingAmount: roundingAmount.toFixed(2),
|
|
@@ -2856,60 +2860,107 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2856
2860
|
return calculateRemainingAmountAsync;
|
|
2857
2861
|
}()
|
|
2858
2862
|
/**
|
|
2859
|
-
*
|
|
2863
|
+
* 计算剩余未支付金额(排除定金计算,始终使用订单总金额)
|
|
2860
2864
|
*/
|
|
2861
2865
|
)
|
|
2862
2866
|
}, {
|
|
2863
|
-
key: "
|
|
2867
|
+
key: "calculateRemainingTotalAmountAsync",
|
|
2864
2868
|
value: (function () {
|
|
2865
|
-
var
|
|
2866
|
-
var remainingAmount,
|
|
2869
|
+
var _calculateRemainingTotalAmountAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee33() {
|
|
2870
|
+
var totalAmount, paidAmountStr, paidAmount, remainingAmount, result;
|
|
2867
2871
|
return _regeneratorRuntime().wrap(function _callee33$(_context33) {
|
|
2868
2872
|
while (1) switch (_context33.prev = _context33.next) {
|
|
2869
2873
|
case 0:
|
|
2870
|
-
|
|
2871
|
-
|
|
2874
|
+
if (this.store.currentOrder) {
|
|
2875
|
+
_context33.next = 3;
|
|
2876
|
+
break;
|
|
2877
|
+
}
|
|
2878
|
+
this.logWarning('calculateRemainingTotalAmountAsync: 没有当前订单');
|
|
2879
|
+
return _context33.abrupt("return", '0.00');
|
|
2880
|
+
case 3:
|
|
2881
|
+
// 使用 Decimal.js 进行安全的金额计算
|
|
2882
|
+
// 始终使用订单总金额,不进行定金相关的计算
|
|
2883
|
+
totalAmount = new Decimal(this.store.currentOrder.total_amount || '0');
|
|
2884
|
+
_context33.next = 6;
|
|
2885
|
+
return this.calculatePaidAmountAsync();
|
|
2886
|
+
case 6:
|
|
2887
|
+
paidAmountStr = _context33.sent;
|
|
2888
|
+
paidAmount = new Decimal(paidAmountStr);
|
|
2889
|
+
remainingAmount = totalAmount.sub(paidAmount); // 确保剩余金额不为负数
|
|
2890
|
+
result = Decimal.max(0, remainingAmount).toFixed(2);
|
|
2891
|
+
this.logInfo('calculateRemainingTotalAmountAsync: 计算=', result);
|
|
2892
|
+
return _context33.abrupt("return", result);
|
|
2893
|
+
case 12:
|
|
2894
|
+
case "end":
|
|
2895
|
+
return _context33.stop();
|
|
2896
|
+
}
|
|
2897
|
+
}, _callee33, this);
|
|
2898
|
+
}));
|
|
2899
|
+
function calculateRemainingTotalAmountAsync() {
|
|
2900
|
+
return _calculateRemainingTotalAmountAsync.apply(this, arguments);
|
|
2901
|
+
}
|
|
2902
|
+
return calculateRemainingTotalAmountAsync;
|
|
2903
|
+
}()
|
|
2904
|
+
/**
|
|
2905
|
+
* 更新 balanceDueAmount 为当前剩余未支付金额(系统内部计算)
|
|
2906
|
+
*/
|
|
2907
|
+
)
|
|
2908
|
+
}, {
|
|
2909
|
+
key: "updateBalanceDueAmount",
|
|
2910
|
+
value: (function () {
|
|
2911
|
+
var _updateBalanceDueAmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee34() {
|
|
2912
|
+
var remainingAmount, remainingTotalAmount, currentBalanceDueAmount;
|
|
2913
|
+
return _regeneratorRuntime().wrap(function _callee34$(_context34) {
|
|
2914
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
2915
|
+
case 0:
|
|
2916
|
+
_context34.prev = 0;
|
|
2917
|
+
_context34.next = 3;
|
|
2872
2918
|
return this.calculateRemainingAmountAsync();
|
|
2873
2919
|
case 3:
|
|
2874
|
-
remainingAmount =
|
|
2920
|
+
remainingAmount = _context34.sent;
|
|
2921
|
+
_context34.next = 6;
|
|
2922
|
+
return this.calculateRemainingTotalAmountAsync();
|
|
2923
|
+
case 6:
|
|
2924
|
+
remainingTotalAmount = _context34.sent;
|
|
2875
2925
|
currentBalanceDueAmount = this.store.balanceDueAmount; // 只有当剩余金额与当前 balanceDueAmount 不同时才更新
|
|
2876
2926
|
if (!(remainingAmount !== currentBalanceDueAmount)) {
|
|
2877
|
-
|
|
2927
|
+
_context34.next = 15;
|
|
2878
2928
|
break;
|
|
2879
2929
|
}
|
|
2880
2930
|
this.store.balanceDueAmount = remainingAmount;
|
|
2881
2931
|
|
|
2882
2932
|
// 发出 balanceDueAmount 变更事件
|
|
2883
|
-
|
|
2933
|
+
_context34.next = 12;
|
|
2884
2934
|
return this.core.effects.emit(CheckoutHooks.OnBalanceDueAmountChanged, {
|
|
2885
2935
|
oldAmount: currentBalanceDueAmount,
|
|
2886
2936
|
newAmount: remainingAmount,
|
|
2887
|
-
timestamp: Date.now()
|
|
2937
|
+
timestamp: Date.now(),
|
|
2938
|
+
totalAmount: remainingTotalAmount
|
|
2888
2939
|
});
|
|
2889
|
-
case
|
|
2940
|
+
case 12:
|
|
2890
2941
|
this.logInfo('balanceDueAmount 已自动更新:', {
|
|
2891
2942
|
oldAmount: currentBalanceDueAmount,
|
|
2892
2943
|
newAmount: remainingAmount
|
|
2893
2944
|
});
|
|
2894
|
-
|
|
2945
|
+
_context34.next = 16;
|
|
2895
2946
|
break;
|
|
2896
|
-
case
|
|
2947
|
+
case 15:
|
|
2897
2948
|
this.logInfo('balanceDueAmount 无需更新,当前值已是最新:', {
|
|
2898
2949
|
balanceDueAmount: currentBalanceDueAmount,
|
|
2899
2950
|
remainingAmount: remainingAmount
|
|
2900
2951
|
});
|
|
2901
|
-
case
|
|
2902
|
-
|
|
2952
|
+
case 16:
|
|
2953
|
+
_context34.next = 21;
|
|
2903
2954
|
break;
|
|
2904
|
-
case 15:
|
|
2905
|
-
_context33.prev = 15;
|
|
2906
|
-
_context33.t0 = _context33["catch"](0);
|
|
2907
|
-
this.logError('更新 balanceDueAmount 失败:', _context33.t0);
|
|
2908
2955
|
case 18:
|
|
2956
|
+
_context34.prev = 18;
|
|
2957
|
+
_context34.t0 = _context34["catch"](0);
|
|
2958
|
+
this.logError('更新 balanceDueAmount 失败:', _context34.t0);
|
|
2959
|
+
case 21:
|
|
2909
2960
|
case "end":
|
|
2910
|
-
return
|
|
2961
|
+
return _context34.stop();
|
|
2911
2962
|
}
|
|
2912
|
-
},
|
|
2963
|
+
}, _callee34, this, [[0, 18]]);
|
|
2913
2964
|
}));
|
|
2914
2965
|
function updateBalanceDueAmount() {
|
|
2915
2966
|
return _updateBalanceDueAmount.apply(this, arguments);
|
|
@@ -2923,7 +2974,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2923
2974
|
}, {
|
|
2924
2975
|
key: "updateStateAmountToRemaining",
|
|
2925
2976
|
value: (function () {
|
|
2926
|
-
var _updateStateAmountToRemaining = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
2977
|
+
var _updateStateAmountToRemaining = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee35() {
|
|
2927
2978
|
var checkOrder,
|
|
2928
2979
|
_this$store$currentOr23,
|
|
2929
2980
|
_this$store$currentOr24,
|
|
@@ -2932,21 +2983,22 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2932
2983
|
depositPaidAmount,
|
|
2933
2984
|
_this$store$currentOr26,
|
|
2934
2985
|
remainingAmount,
|
|
2986
|
+
remainingTotalAmount,
|
|
2935
2987
|
currentStateAmount,
|
|
2936
|
-
|
|
2937
|
-
return _regeneratorRuntime().wrap(function
|
|
2938
|
-
while (1) switch (
|
|
2988
|
+
_args35 = arguments;
|
|
2989
|
+
return _regeneratorRuntime().wrap(function _callee35$(_context35) {
|
|
2990
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
2939
2991
|
case 0:
|
|
2940
|
-
checkOrder =
|
|
2941
|
-
|
|
2992
|
+
checkOrder = _args35.length > 0 && _args35[0] !== undefined ? _args35[0] : true;
|
|
2993
|
+
_context35.prev = 1;
|
|
2942
2994
|
if (!(((_this$store$currentOr23 = this.store.currentOrder) === null || _this$store$currentOr23 === void 0 ? void 0 : _this$store$currentOr23.is_deposit) === 1)) {
|
|
2943
|
-
|
|
2995
|
+
_context35.next = 11;
|
|
2944
2996
|
break;
|
|
2945
2997
|
}
|
|
2946
|
-
|
|
2998
|
+
_context35.next = 5;
|
|
2947
2999
|
return this.payment.getPaymentItemsAsync((_this$store$currentOr24 = this.store.currentOrder) === null || _this$store$currentOr24 === void 0 ? void 0 : _this$store$currentOr24.uuid);
|
|
2948
3000
|
case 5:
|
|
2949
|
-
paymentItems =
|
|
3001
|
+
paymentItems = _context35.sent;
|
|
2950
3002
|
depositPaidAmount = paymentItems.filter(function (item) {
|
|
2951
3003
|
return item.order_payment_type === 'deposit' && item.status !== 'voided';
|
|
2952
3004
|
}).reduce(function (sum, item) {
|
|
@@ -2956,24 +3008,28 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2956
3008
|
}
|
|
2957
3009
|
var amount = new Decimal(item.amount || '0');
|
|
2958
3010
|
var roundingAmount = new Decimal(item.rounding_amount || '0');
|
|
2959
|
-
return sum.add(amount.add(roundingAmount.abs()));
|
|
3011
|
+
return sum.add(amount.add(roundingAmount.isNegative() ? roundingAmount.abs() : 0));
|
|
2960
3012
|
}, new Decimal(0));
|
|
2961
3013
|
if (!depositPaidAmount.gte((_this$store$currentOr25 = this.store.currentOrder) === null || _this$store$currentOr25 === void 0 ? void 0 : _this$store$currentOr25.deposit_amount)) {
|
|
2962
|
-
|
|
3014
|
+
_context35.next = 11;
|
|
2963
3015
|
break;
|
|
2964
3016
|
}
|
|
2965
3017
|
this.store.currentOrder = _objectSpread(_objectSpread({}, this.store.currentOrder), {}, {
|
|
2966
3018
|
is_deposit: 0
|
|
2967
3019
|
});
|
|
2968
|
-
|
|
3020
|
+
_context35.next = 11;
|
|
2969
3021
|
return this.payment.updateOrderAsync((_this$store$currentOr26 = this.store.currentOrder) === null || _this$store$currentOr26 === void 0 ? void 0 : _this$store$currentOr26.uuid, {
|
|
2970
3022
|
is_deposit: 0
|
|
2971
3023
|
});
|
|
2972
3024
|
case 11:
|
|
2973
|
-
|
|
3025
|
+
_context35.next = 13;
|
|
2974
3026
|
return this.calculateRemainingAmountAsync();
|
|
2975
3027
|
case 13:
|
|
2976
|
-
remainingAmount =
|
|
3028
|
+
remainingAmount = _context35.sent;
|
|
3029
|
+
_context35.next = 16;
|
|
3030
|
+
return this.calculateRemainingTotalAmountAsync();
|
|
3031
|
+
case 16:
|
|
3032
|
+
remainingTotalAmount = _context35.sent;
|
|
2977
3033
|
currentStateAmount = this.store.stateAmount; // 只有当剩余金额与当前 stateAmount 不同时才更新
|
|
2978
3034
|
if (remainingAmount !== currentStateAmount) {
|
|
2979
3035
|
this.store.stateAmount = remainingAmount;
|
|
@@ -2982,7 +3038,8 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2982
3038
|
this.core.effects.emit(CheckoutHooks.OnStateAmountChanged, {
|
|
2983
3039
|
oldAmount: currentStateAmount,
|
|
2984
3040
|
newAmount: remainingAmount,
|
|
2985
|
-
timestamp: Date.now()
|
|
3041
|
+
timestamp: Date.now(),
|
|
3042
|
+
totalAmount: remainingTotalAmount
|
|
2986
3043
|
});
|
|
2987
3044
|
this.logInfo('stateAmount 已自动更新为剩余金额:', {
|
|
2988
3045
|
oldAmount: currentStateAmount,
|
|
@@ -2995,32 +3052,32 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2995
3052
|
});
|
|
2996
3053
|
}
|
|
2997
3054
|
// 同步更新系统内部的 balanceDueAmount
|
|
2998
|
-
|
|
3055
|
+
_context35.next = 21;
|
|
2999
3056
|
return this.updateBalanceDueAmount();
|
|
3000
|
-
case
|
|
3057
|
+
case 21:
|
|
3001
3058
|
if (!checkOrder) {
|
|
3002
|
-
|
|
3059
|
+
_context35.next = 26;
|
|
3003
3060
|
break;
|
|
3004
3061
|
}
|
|
3005
|
-
|
|
3062
|
+
_context35.next = 24;
|
|
3006
3063
|
return this.checkOrderPaymentCompletion();
|
|
3007
|
-
case 21:
|
|
3008
|
-
_context34.next = 24;
|
|
3009
|
-
break;
|
|
3010
|
-
case 23:
|
|
3011
|
-
this.logInfo('外部传入无需 checkOrder,不执行订单支付完成检测和同步');
|
|
3012
3064
|
case 24:
|
|
3013
|
-
|
|
3065
|
+
_context35.next = 27;
|
|
3014
3066
|
break;
|
|
3015
3067
|
case 26:
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3068
|
+
this.logInfo('外部传入无需 checkOrder,不执行订单支付完成检测和同步');
|
|
3069
|
+
case 27:
|
|
3070
|
+
_context35.next = 32;
|
|
3071
|
+
break;
|
|
3019
3072
|
case 29:
|
|
3073
|
+
_context35.prev = 29;
|
|
3074
|
+
_context35.t0 = _context35["catch"](1);
|
|
3075
|
+
this.logError('更新 stateAmount 为剩余金额失败:', _context35.t0);
|
|
3076
|
+
case 32:
|
|
3020
3077
|
case "end":
|
|
3021
|
-
return
|
|
3078
|
+
return _context35.stop();
|
|
3022
3079
|
}
|
|
3023
|
-
},
|
|
3080
|
+
}, _callee35, this, [[1, 29]]);
|
|
3024
3081
|
}));
|
|
3025
3082
|
function updateStateAmountToRemaining() {
|
|
3026
3083
|
return _updateStateAmountToRemaining.apply(this, arguments);
|
|
@@ -3036,32 +3093,32 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3036
3093
|
}, {
|
|
3037
3094
|
key: "checkOrderPaymentCompletion",
|
|
3038
3095
|
value: (function () {
|
|
3039
|
-
var _checkOrderPaymentCompletion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3096
|
+
var _checkOrderPaymentCompletion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36() {
|
|
3040
3097
|
var remainingAmount, remainingValue, totalAmount, paidAmount, currentPayments, hasPaymentItems, allPaymentsHaveVoucherId, shouldAutoSync;
|
|
3041
|
-
return _regeneratorRuntime().wrap(function
|
|
3042
|
-
while (1) switch (
|
|
3098
|
+
return _regeneratorRuntime().wrap(function _callee36$(_context36) {
|
|
3099
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
3043
3100
|
case 0:
|
|
3044
|
-
|
|
3101
|
+
_context36.prev = 0;
|
|
3045
3102
|
if (this.store.currentOrder) {
|
|
3046
|
-
|
|
3103
|
+
_context36.next = 3;
|
|
3047
3104
|
break;
|
|
3048
3105
|
}
|
|
3049
|
-
return
|
|
3106
|
+
return _context36.abrupt("return");
|
|
3050
3107
|
case 3:
|
|
3051
|
-
|
|
3108
|
+
_context36.next = 5;
|
|
3052
3109
|
return this.calculateRemainingAmountAsync();
|
|
3053
3110
|
case 5:
|
|
3054
|
-
remainingAmount =
|
|
3111
|
+
remainingAmount = _context36.sent;
|
|
3055
3112
|
remainingValue = new Decimal(remainingAmount); // 当剩余金额小于等于0时,认为订单已完成支付
|
|
3056
3113
|
if (!remainingValue.lte(0)) {
|
|
3057
|
-
|
|
3114
|
+
_context36.next = 29;
|
|
3058
3115
|
break;
|
|
3059
3116
|
}
|
|
3060
3117
|
totalAmount = this.store.currentOrder.total_amount;
|
|
3061
|
-
|
|
3118
|
+
_context36.next = 11;
|
|
3062
3119
|
return this.calculatePaidAmountAsync();
|
|
3063
3120
|
case 11:
|
|
3064
|
-
paidAmount =
|
|
3121
|
+
paidAmount = _context36.sent;
|
|
3065
3122
|
this.logInfo('检测到订单支付完成:', {
|
|
3066
3123
|
orderUuid: this.store.currentOrder.uuid,
|
|
3067
3124
|
orderId: this.store.currentOrder.order_id,
|
|
@@ -3072,11 +3129,11 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3072
3129
|
});
|
|
3073
3130
|
|
|
3074
3131
|
// 从 Payment 模块获取最新支付项,检查自动同步条件
|
|
3075
|
-
|
|
3132
|
+
_context36.next = 15;
|
|
3076
3133
|
return this.payment.getPaymentItemsAsync(this.store.currentOrder.uuid, false // 不包括已撤销的支付项
|
|
3077
3134
|
);
|
|
3078
3135
|
case 15:
|
|
3079
|
-
currentPayments =
|
|
3136
|
+
currentPayments = _context36.sent;
|
|
3080
3137
|
// 检查自动同步条件:
|
|
3081
3138
|
// 1. 待付金额为 0 ✓ (已在上面检查)
|
|
3082
3139
|
// 2. 需要有支付项
|
|
@@ -3103,21 +3160,21 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3103
3160
|
code: p.code,
|
|
3104
3161
|
amount: p.amount,
|
|
3105
3162
|
rounding_amount: p.rounding_amount,
|
|
3106
|
-
effective_amount: (parseFloat(p.amount || '0') + Math.abs(parseFloat(p.rounding_amount || '0'))).toFixed(2),
|
|
3163
|
+
effective_amount: (parseFloat(p.amount || '0') + Math.abs(parseFloat(Number(p.rounding_amount) > 0 ? '0' : p.rounding_amount || '0'))).toFixed(2),
|
|
3107
3164
|
voucher_id: p.voucher_id,
|
|
3108
3165
|
status: p.status
|
|
3109
3166
|
};
|
|
3110
3167
|
})
|
|
3111
3168
|
});
|
|
3112
3169
|
if (!shouldAutoSync) {
|
|
3113
|
-
|
|
3170
|
+
_context36.next = 26;
|
|
3114
3171
|
break;
|
|
3115
3172
|
}
|
|
3116
3173
|
this.logInfo('满足自动同步条件,开始同步订单到后端...');
|
|
3117
|
-
|
|
3174
|
+
_context36.next = 24;
|
|
3118
3175
|
return this.syncOrderToBackendWithReturn(false);
|
|
3119
3176
|
case 24:
|
|
3120
|
-
|
|
3177
|
+
_context36.next = 27;
|
|
3121
3178
|
break;
|
|
3122
3179
|
case 26:
|
|
3123
3180
|
if (!hasPaymentItems) {
|
|
@@ -3126,7 +3183,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3126
3183
|
this.logInfo('所有支付项均为代金券类型,跳过订单同步');
|
|
3127
3184
|
}
|
|
3128
3185
|
case 27:
|
|
3129
|
-
|
|
3186
|
+
_context36.next = 29;
|
|
3130
3187
|
return this.core.effects.emit(CheckoutHooks.OnOrderPaymentCompleted, {
|
|
3131
3188
|
orderUuid: this.store.currentOrder.uuid,
|
|
3132
3189
|
orderId: this.store.currentOrder.order_id,
|
|
@@ -3136,17 +3193,17 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3136
3193
|
timestamp: Date.now()
|
|
3137
3194
|
});
|
|
3138
3195
|
case 29:
|
|
3139
|
-
|
|
3196
|
+
_context36.next = 34;
|
|
3140
3197
|
break;
|
|
3141
3198
|
case 31:
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
this.logError('检查订单支付完成状态失败:',
|
|
3199
|
+
_context36.prev = 31;
|
|
3200
|
+
_context36.t0 = _context36["catch"](0);
|
|
3201
|
+
this.logError('检查订单支付完成状态失败:', _context36.t0);
|
|
3145
3202
|
case 34:
|
|
3146
3203
|
case "end":
|
|
3147
|
-
return
|
|
3204
|
+
return _context36.stop();
|
|
3148
3205
|
}
|
|
3149
|
-
},
|
|
3206
|
+
}, _callee36, this, [[0, 31]]);
|
|
3150
3207
|
}));
|
|
3151
3208
|
function checkOrderPaymentCompletion() {
|
|
3152
3209
|
return _checkOrderPaymentCompletion.apply(this, arguments);
|
|
@@ -3164,7 +3221,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3164
3221
|
}, {
|
|
3165
3222
|
key: "syncOrderToBackendWithReturn",
|
|
3166
3223
|
value: (function () {
|
|
3167
|
-
var _syncOrderToBackendWithReturn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3224
|
+
var _syncOrderToBackendWithReturn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee37() {
|
|
3168
3225
|
var _this4 = this,
|
|
3169
3226
|
_this$store$currentOr27,
|
|
3170
3227
|
_this$store$currentOr28,
|
|
@@ -3204,14 +3261,14 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3204
3261
|
_iterator3,
|
|
3205
3262
|
_step3,
|
|
3206
3263
|
paymentUuid,
|
|
3207
|
-
|
|
3208
|
-
return _regeneratorRuntime().wrap(function
|
|
3209
|
-
while (1) switch (
|
|
3264
|
+
_args37 = arguments;
|
|
3265
|
+
return _regeneratorRuntime().wrap(function _callee37$(_context37) {
|
|
3266
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
3210
3267
|
case 0:
|
|
3211
|
-
isManual =
|
|
3212
|
-
customPaymentItems =
|
|
3268
|
+
isManual = _args37.length > 0 && _args37[0] !== undefined ? _args37[0] : false;
|
|
3269
|
+
customPaymentItems = _args37.length > 1 ? _args37[1] : undefined;
|
|
3213
3270
|
if (!(!this.store.localOrderData || !this.store.currentOrder)) {
|
|
3214
|
-
|
|
3271
|
+
_context37.next = 4;
|
|
3215
3272
|
break;
|
|
3216
3273
|
}
|
|
3217
3274
|
throw new Error('缺少必要的订单数据,无法同步到后端');
|
|
@@ -3230,17 +3287,17 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3230
3287
|
});
|
|
3231
3288
|
|
|
3232
3289
|
// 获取当前订单的支付项
|
|
3233
|
-
|
|
3234
|
-
if (
|
|
3235
|
-
|
|
3290
|
+
_context37.t0 = customPaymentItems;
|
|
3291
|
+
if (_context37.t0) {
|
|
3292
|
+
_context37.next = 13;
|
|
3236
3293
|
break;
|
|
3237
3294
|
}
|
|
3238
|
-
|
|
3295
|
+
_context37.next = 12;
|
|
3239
3296
|
return this.payment.getPaymentItemsAsync(this.store.currentOrder.uuid);
|
|
3240
3297
|
case 12:
|
|
3241
|
-
|
|
3298
|
+
_context37.t0 = _context37.sent;
|
|
3242
3299
|
case 13:
|
|
3243
|
-
paymentItems =
|
|
3300
|
+
paymentItems = _context37.t0;
|
|
3244
3301
|
// 处理支付项数据,确保包含完整的 metadata
|
|
3245
3302
|
processedPaymentItems = paymentItems.map(function (item) {
|
|
3246
3303
|
var _item$metadata, _item$metadata2;
|
|
@@ -3268,6 +3325,35 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3268
3325
|
reason: '手动设置和计算值均为0'
|
|
3269
3326
|
});
|
|
3270
3327
|
}
|
|
3328
|
+
// 如果此时是普通支付状态,并且要同步的支付项里一个定金支付的都没有,则 is_deposit 和 deposit_amount 都置为 0
|
|
3329
|
+
if (this.store.currentOrder.is_deposit === 0 && processedPaymentItems.every(function (item) {
|
|
3330
|
+
return item.order_payment_type !== 'deposit';
|
|
3331
|
+
})) {
|
|
3332
|
+
finalDepositAmount = '0.00';
|
|
3333
|
+
this.store.currentOrder.is_deposit = 0;
|
|
3334
|
+
}
|
|
3335
|
+
// 如果此时是普通支付,并且有普通支付项进来了,则提交给后端的 deposit_amount 只能是支付项里已经支付的order_payment_type = deposit 的金额
|
|
3336
|
+
if (this.store.currentOrder.is_deposit === 0 && processedPaymentItems.some(function (item) {
|
|
3337
|
+
return item.order_payment_type === 'deposit';
|
|
3338
|
+
})) {
|
|
3339
|
+
finalDepositAmount = processedPaymentItems.filter(function (item) {
|
|
3340
|
+
return item.status !== 'voided' && item.order_payment_type === 'deposit';
|
|
3341
|
+
}).reduce(function (sum, item) {
|
|
3342
|
+
var amt = new Decimal(item.amount || '0');
|
|
3343
|
+
var rounding = new Decimal(item.rounding_amount || '0');
|
|
3344
|
+
return sum.plus(amt).sub(rounding);
|
|
3345
|
+
}, new Decimal(0)).toFixed(2);
|
|
3346
|
+
}
|
|
3347
|
+
// 如果当前是定金支付,并且定金额度已经大于等于了订单总计,则 finalDepositAmount 为实际付出去的定金金额
|
|
3348
|
+
if (this.store.currentOrder.is_deposit === 1 && new Decimal(finalDepositAmount).gte(new Decimal(this.store.currentOrder.total_amount))) {
|
|
3349
|
+
finalDepositAmount = processedPaymentItems.filter(function (item) {
|
|
3350
|
+
return item.status !== 'voided' && item.order_payment_type === 'deposit';
|
|
3351
|
+
}).reduce(function (sum, item) {
|
|
3352
|
+
var amt = new Decimal(item.amount || '0');
|
|
3353
|
+
var rounding = new Decimal(item.rounding_amount || '0');
|
|
3354
|
+
return sum.plus(amt).sub(rounding);
|
|
3355
|
+
}, new Decimal(0)).toFixed(2);
|
|
3356
|
+
}
|
|
3271
3357
|
this.logInfo('定金金额确定结果', {
|
|
3272
3358
|
depositPaymentItemsCount: processedPaymentItems.length,
|
|
3273
3359
|
depositPaymentItems: processedPaymentItems.map(function (item) {
|
|
@@ -3335,7 +3421,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3335
3421
|
|
|
3336
3422
|
// 发送下单接口请求开始事件
|
|
3337
3423
|
startTime = Date.now();
|
|
3338
|
-
|
|
3424
|
+
_context37.next = 27;
|
|
3339
3425
|
return this.core.effects.emit(CheckoutHooks.OnOrderSubmitStart, {
|
|
3340
3426
|
orderUuid: this.store.currentOrder.uuid,
|
|
3341
3427
|
operation: isUpdateOperation ? 'update' : 'create',
|
|
@@ -3343,9 +3429,9 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3343
3429
|
paymentItemCount: paymentItems.length,
|
|
3344
3430
|
timestamp: startTime
|
|
3345
3431
|
});
|
|
3346
|
-
case
|
|
3432
|
+
case 27:
|
|
3347
3433
|
submitSuccess = false;
|
|
3348
|
-
|
|
3434
|
+
_context37.prev = 28;
|
|
3349
3435
|
// 记录接口调用参数
|
|
3350
3436
|
this.logInfo('Calling backend checkout API', _objectSpread({
|
|
3351
3437
|
url: '/order/checkout',
|
|
@@ -3353,23 +3439,23 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3353
3439
|
}, orderParams));
|
|
3354
3440
|
|
|
3355
3441
|
// 调用 Order 模块的专用 createOrderByCheckout 方法
|
|
3356
|
-
|
|
3442
|
+
_context37.next = 32;
|
|
3357
3443
|
return this.order.createOrderByCheckout(orderParams);
|
|
3358
|
-
case
|
|
3359
|
-
checkoutResponse =
|
|
3444
|
+
case 32:
|
|
3445
|
+
checkoutResponse = _context37.sent;
|
|
3360
3446
|
submitSuccess = true;
|
|
3361
3447
|
this.logInfo('下单接口调用成功', checkoutResponse);
|
|
3362
|
-
|
|
3448
|
+
_context37.next = 45;
|
|
3363
3449
|
break;
|
|
3364
|
-
case
|
|
3365
|
-
|
|
3366
|
-
|
|
3450
|
+
case 37:
|
|
3451
|
+
_context37.prev = 37;
|
|
3452
|
+
_context37.t1 = _context37["catch"](28);
|
|
3367
3453
|
submitSuccess = false;
|
|
3368
|
-
submitError =
|
|
3454
|
+
submitError = _context37.t1 instanceof Error ? _context37.t1.message : String(_context37.t1);
|
|
3369
3455
|
this.logError('下单接口调用失败:', submitError);
|
|
3370
3456
|
|
|
3371
3457
|
// 发送订单同步失败事件(网络错误或请求失败)
|
|
3372
|
-
|
|
3458
|
+
_context37.next = 44;
|
|
3373
3459
|
return this.core.effects.emit(CheckoutHooks.OnOrderSyncFailed, {
|
|
3374
3460
|
orderUuid: this.store.currentOrder.uuid,
|
|
3375
3461
|
operation: isUpdateOperation ? 'update' : 'create',
|
|
@@ -3379,11 +3465,11 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3379
3465
|
duration: Date.now() - startTime,
|
|
3380
3466
|
timestamp: Date.now()
|
|
3381
3467
|
});
|
|
3382
|
-
case
|
|
3383
|
-
throw
|
|
3384
|
-
case
|
|
3385
|
-
|
|
3386
|
-
|
|
3468
|
+
case 44:
|
|
3469
|
+
throw _context37.t1;
|
|
3470
|
+
case 45:
|
|
3471
|
+
_context37.prev = 45;
|
|
3472
|
+
_context37.next = 48;
|
|
3387
3473
|
return this.core.effects.emit(CheckoutHooks.OnOrderSubmitEnd, {
|
|
3388
3474
|
success: submitSuccess,
|
|
3389
3475
|
orderUuid: this.store.currentOrder.uuid,
|
|
@@ -3394,18 +3480,18 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3394
3480
|
duration: Date.now() - startTime,
|
|
3395
3481
|
timestamp: Date.now()
|
|
3396
3482
|
});
|
|
3397
|
-
case
|
|
3398
|
-
return
|
|
3399
|
-
case
|
|
3483
|
+
case 48:
|
|
3484
|
+
return _context37.finish(45);
|
|
3485
|
+
case 49:
|
|
3400
3486
|
// 检查响应状态是否为成功状态
|
|
3401
3487
|
responseStatus = (_checkoutResponse3 = checkoutResponse) === null || _checkoutResponse3 === void 0 ? void 0 : _checkoutResponse3.status;
|
|
3402
3488
|
isSuccessResponse = responseStatus === true || responseStatus === 200 || responseStatus === 'success' || responseStatus === 1 && ((_checkoutResponse4 = checkoutResponse) === null || _checkoutResponse4 === void 0 ? void 0 : _checkoutResponse4.code) === 200;
|
|
3403
3489
|
if (isSuccessResponse) {
|
|
3404
|
-
|
|
3490
|
+
_context37.next = 56;
|
|
3405
3491
|
break;
|
|
3406
3492
|
}
|
|
3407
3493
|
errorMessage = ((_checkoutResponse5 = checkoutResponse) === null || _checkoutResponse5 === void 0 ? void 0 : _checkoutResponse5.message) || '订单同步失败,后端返回非成功状态'; // 发送订单同步失败事件
|
|
3408
|
-
|
|
3494
|
+
_context37.next = 55;
|
|
3409
3495
|
return this.core.effects.emit(CheckoutHooks.OnOrderSyncFailed, {
|
|
3410
3496
|
orderUuid: this.store.currentOrder.uuid,
|
|
3411
3497
|
operation: isUpdateOperation ? 'update' : 'create',
|
|
@@ -3416,18 +3502,18 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3416
3502
|
duration: Date.now() - startTime,
|
|
3417
3503
|
timestamp: Date.now()
|
|
3418
3504
|
});
|
|
3419
|
-
case
|
|
3505
|
+
case 55:
|
|
3420
3506
|
throw new Error(errorMessage);
|
|
3421
|
-
case
|
|
3507
|
+
case 56:
|
|
3422
3508
|
if (!isUpdateOperation) {
|
|
3423
|
-
|
|
3509
|
+
_context37.next = 60;
|
|
3424
3510
|
break;
|
|
3425
3511
|
}
|
|
3426
3512
|
// 更新操作:使用现有的订单ID
|
|
3427
3513
|
realOrderId = currentOrderId;
|
|
3428
|
-
|
|
3514
|
+
_context37.next = 79;
|
|
3429
3515
|
break;
|
|
3430
|
-
case
|
|
3516
|
+
case 60:
|
|
3431
3517
|
// 创建操作:从响应中提取新的订单ID
|
|
3432
3518
|
extractedOrderId = (_checkoutResponse6 = checkoutResponse) === null || _checkoutResponse6 === void 0 || (_checkoutResponse6 = _checkoutResponse6.data) === null || _checkoutResponse6 === void 0 ? void 0 : _checkoutResponse6.order_id; // 如果data.order_id不存在,尝试直接从根级获取
|
|
3433
3519
|
if (!extractedOrderId) {
|
|
@@ -3449,11 +3535,11 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3449
3535
|
oldOrderId: this.store.currentOrder.order_id,
|
|
3450
3536
|
newOrderId: realOrderId
|
|
3451
3537
|
});
|
|
3452
|
-
|
|
3453
|
-
|
|
3538
|
+
_context37.prev = 66;
|
|
3539
|
+
_context37.next = 69;
|
|
3454
3540
|
return this.payment.replaceOrderIdByUuidAsync(this.store.currentOrder.uuid, realOrderId);
|
|
3455
|
-
case
|
|
3456
|
-
updatedOrder =
|
|
3541
|
+
case 69:
|
|
3542
|
+
updatedOrder = _context37.sent;
|
|
3457
3543
|
this.logInfo('Payment模块替换订单ID结果:', {
|
|
3458
3544
|
wasSuccessful: !!updatedOrder,
|
|
3459
3545
|
returnedOrderId: updatedOrder === null || updatedOrder === void 0 ? void 0 : updatedOrder.order_id,
|
|
@@ -3479,66 +3565,66 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3479
3565
|
目标ID: realOrderId
|
|
3480
3566
|
});
|
|
3481
3567
|
}
|
|
3482
|
-
|
|
3568
|
+
_context37.next = 79;
|
|
3483
3569
|
break;
|
|
3484
|
-
case
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
this.logError('调用Payment模块替换订单ID时发生错误:',
|
|
3570
|
+
case 74:
|
|
3571
|
+
_context37.prev = 74;
|
|
3572
|
+
_context37.t2 = _context37["catch"](66);
|
|
3573
|
+
this.logError('调用Payment模块替换订单ID时发生错误:', _context37.t2);
|
|
3488
3574
|
|
|
3489
3575
|
// 发生错误时也进行手动替换
|
|
3490
3576
|
this.store.currentOrder.order_id = realOrderId;
|
|
3491
3577
|
this.logInfo('错误恢复:手动设置订单ID:', realOrderId);
|
|
3492
|
-
case
|
|
3493
|
-
|
|
3578
|
+
case 79:
|
|
3579
|
+
_context37.prev = 79;
|
|
3494
3580
|
syncedPaymentUuids = processedPaymentItems.filter(function (item) {
|
|
3495
3581
|
return item.status !== 'voided';
|
|
3496
3582
|
}).map(function (item) {
|
|
3497
3583
|
return item.uuid;
|
|
3498
3584
|
}).filter(Boolean);
|
|
3499
3585
|
_iterator3 = _createForOfIteratorHelper(syncedPaymentUuids);
|
|
3500
|
-
|
|
3586
|
+
_context37.prev = 82;
|
|
3501
3587
|
_iterator3.s();
|
|
3502
|
-
case
|
|
3588
|
+
case 84:
|
|
3503
3589
|
if ((_step3 = _iterator3.n()).done) {
|
|
3504
|
-
|
|
3590
|
+
_context37.next = 90;
|
|
3505
3591
|
break;
|
|
3506
3592
|
}
|
|
3507
3593
|
paymentUuid = _step3.value;
|
|
3508
|
-
|
|
3594
|
+
_context37.next = 88;
|
|
3509
3595
|
return this.payment.updatePaymentAsync(this.store.currentOrder.uuid, paymentUuid, {
|
|
3510
3596
|
isSynced: true,
|
|
3511
3597
|
syncError: undefined
|
|
3512
3598
|
});
|
|
3513
|
-
case
|
|
3514
|
-
|
|
3599
|
+
case 88:
|
|
3600
|
+
_context37.next = 84;
|
|
3515
3601
|
break;
|
|
3516
|
-
case
|
|
3517
|
-
|
|
3602
|
+
case 90:
|
|
3603
|
+
_context37.next = 95;
|
|
3518
3604
|
break;
|
|
3519
|
-
case 89:
|
|
3520
|
-
_context36.prev = 89;
|
|
3521
|
-
_context36.t3 = _context36["catch"](79);
|
|
3522
|
-
_iterator3.e(_context36.t3);
|
|
3523
3605
|
case 92:
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3606
|
+
_context37.prev = 92;
|
|
3607
|
+
_context37.t3 = _context37["catch"](82);
|
|
3608
|
+
_iterator3.e(_context37.t3);
|
|
3527
3609
|
case 95:
|
|
3528
|
-
|
|
3610
|
+
_context37.prev = 95;
|
|
3611
|
+
_iterator3.f();
|
|
3612
|
+
return _context37.finish(95);
|
|
3613
|
+
case 98:
|
|
3614
|
+
_context37.next = 103;
|
|
3529
3615
|
break;
|
|
3530
|
-
case
|
|
3531
|
-
|
|
3532
|
-
|
|
3616
|
+
case 100:
|
|
3617
|
+
_context37.prev = 100;
|
|
3618
|
+
_context37.t4 = _context37["catch"](79);
|
|
3533
3619
|
this.logWarning('标记支付项已同步失败(不阻塞主流程)', {
|
|
3534
|
-
error:
|
|
3620
|
+
error: _context37.t4
|
|
3535
3621
|
});
|
|
3536
|
-
case
|
|
3622
|
+
case 103:
|
|
3537
3623
|
// 标记订单已同步
|
|
3538
3624
|
this.store.isOrderSynced = true;
|
|
3539
3625
|
|
|
3540
3626
|
// 触发订单同步完成事件
|
|
3541
|
-
|
|
3627
|
+
_context37.next = 106;
|
|
3542
3628
|
return this.core.effects.emit(CheckoutHooks.OnOrderSynced, {
|
|
3543
3629
|
orderUuid: this.store.currentOrder.uuid,
|
|
3544
3630
|
realOrderId: realOrderId,
|
|
@@ -3547,18 +3633,18 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3547
3633
|
isManual: isManual,
|
|
3548
3634
|
response: checkoutResponse
|
|
3549
3635
|
});
|
|
3550
|
-
case
|
|
3551
|
-
return
|
|
3636
|
+
case 106:
|
|
3637
|
+
return _context37.abrupt("return", {
|
|
3552
3638
|
success: true,
|
|
3553
3639
|
orderId: realOrderId,
|
|
3554
3640
|
orderUuid: this.store.currentOrder.uuid,
|
|
3555
3641
|
response: checkoutResponse
|
|
3556
3642
|
});
|
|
3557
|
-
case
|
|
3643
|
+
case 107:
|
|
3558
3644
|
case "end":
|
|
3559
|
-
return
|
|
3645
|
+
return _context37.stop();
|
|
3560
3646
|
}
|
|
3561
|
-
},
|
|
3647
|
+
}, _callee37, this, [[28, 37, 45, 49], [66, 74], [79, 100], [82, 92, 95, 98]]);
|
|
3562
3648
|
}));
|
|
3563
3649
|
function syncOrderToBackendWithReturn() {
|
|
3564
3650
|
return _syncOrderToBackendWithReturn.apply(this, arguments);
|
|
@@ -3568,15 +3654,15 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3568
3654
|
}, {
|
|
3569
3655
|
key: "setOtherParams",
|
|
3570
3656
|
value: function () {
|
|
3571
|
-
var _setOtherParams = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3657
|
+
var _setOtherParams = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee38(params) {
|
|
3572
3658
|
var _ref5,
|
|
3573
3659
|
_ref5$cover,
|
|
3574
3660
|
cover,
|
|
3575
|
-
|
|
3576
|
-
return _regeneratorRuntime().wrap(function
|
|
3577
|
-
while (1) switch (
|
|
3661
|
+
_args38 = arguments;
|
|
3662
|
+
return _regeneratorRuntime().wrap(function _callee38$(_context38) {
|
|
3663
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
3578
3664
|
case 0:
|
|
3579
|
-
_ref5 =
|
|
3665
|
+
_ref5 = _args38.length > 1 && _args38[1] !== undefined ? _args38[1] : {}, _ref5$cover = _ref5.cover, cover = _ref5$cover === void 0 ? false : _ref5$cover;
|
|
3580
3666
|
if (cover) {
|
|
3581
3667
|
this.otherParams = params;
|
|
3582
3668
|
} else {
|
|
@@ -3584,9 +3670,9 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3584
3670
|
}
|
|
3585
3671
|
case 2:
|
|
3586
3672
|
case "end":
|
|
3587
|
-
return
|
|
3673
|
+
return _context38.stop();
|
|
3588
3674
|
}
|
|
3589
|
-
},
|
|
3675
|
+
}, _callee38, this);
|
|
3590
3676
|
}));
|
|
3591
3677
|
function setOtherParams(_x27) {
|
|
3592
3678
|
return _setOtherParams.apply(this, arguments);
|
|
@@ -3605,22 +3691,22 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3605
3691
|
}, {
|
|
3606
3692
|
key: "editOrderNoteByOrderIdAsync",
|
|
3607
3693
|
value: (function () {
|
|
3608
|
-
var _editOrderNoteByOrderIdAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3694
|
+
var _editOrderNoteByOrderIdAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee39(orderId, note) {
|
|
3609
3695
|
var response, previousNote, errorMessage, _errorMessage;
|
|
3610
|
-
return _regeneratorRuntime().wrap(function
|
|
3611
|
-
while (1) switch (
|
|
3696
|
+
return _regeneratorRuntime().wrap(function _callee39$(_context39) {
|
|
3697
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
3612
3698
|
case 0:
|
|
3613
3699
|
this.logInfo('editOrderNoteByOrderIdAsync called', {
|
|
3614
3700
|
orderId: orderId,
|
|
3615
3701
|
note: note,
|
|
3616
3702
|
noteLength: note.length
|
|
3617
3703
|
});
|
|
3618
|
-
|
|
3704
|
+
_context39.prev = 1;
|
|
3619
3705
|
if (orderId) {
|
|
3620
|
-
|
|
3706
|
+
_context39.next = 4;
|
|
3621
3707
|
break;
|
|
3622
3708
|
}
|
|
3623
|
-
return
|
|
3709
|
+
return _context39.abrupt("return", {
|
|
3624
3710
|
success: false,
|
|
3625
3711
|
message: '订单ID不能为空',
|
|
3626
3712
|
orderId: orderId
|
|
@@ -3636,12 +3722,12 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3636
3722
|
});
|
|
3637
3723
|
|
|
3638
3724
|
// 调用后端API修改订单备注
|
|
3639
|
-
|
|
3725
|
+
_context39.next = 7;
|
|
3640
3726
|
return this.request.put("/order/order/".concat(orderId, "/note"), {
|
|
3641
3727
|
note: note
|
|
3642
3728
|
});
|
|
3643
3729
|
case 7:
|
|
3644
|
-
response =
|
|
3730
|
+
response = _context39.sent;
|
|
3645
3731
|
this.logInfo('订单备注编辑响应:', {
|
|
3646
3732
|
orderId: orderId,
|
|
3647
3733
|
status: response.status,
|
|
@@ -3651,11 +3737,11 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3651
3737
|
|
|
3652
3738
|
// 检查响应状态
|
|
3653
3739
|
if (!(response.status === true || response.status === 200)) {
|
|
3654
|
-
|
|
3740
|
+
_context39.next = 18;
|
|
3655
3741
|
break;
|
|
3656
3742
|
}
|
|
3657
3743
|
if (!(this.store.currentOrder && (String(this.store.currentOrder.order_id) === String(orderId) || String(this.store.currentOrder.id) === String(orderId)))) {
|
|
3658
|
-
|
|
3744
|
+
_context39.next = 15;
|
|
3659
3745
|
break;
|
|
3660
3746
|
}
|
|
3661
3747
|
// 获取修改前的备注用于事件
|
|
@@ -3665,7 +3751,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3665
3751
|
}
|
|
3666
3752
|
|
|
3667
3753
|
// 触发订单备注变更事件
|
|
3668
|
-
|
|
3754
|
+
_context39.next = 15;
|
|
3669
3755
|
return this.core.effects.emit(CheckoutHooks.OnOrderNoteChanged, {
|
|
3670
3756
|
orderUuid: this.store.currentOrder.uuid,
|
|
3671
3757
|
oldNote: previousNote,
|
|
@@ -3673,7 +3759,7 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3673
3759
|
timestamp: Date.now()
|
|
3674
3760
|
});
|
|
3675
3761
|
case 15:
|
|
3676
|
-
return
|
|
3762
|
+
return _context39.abrupt("return", {
|
|
3677
3763
|
success: true,
|
|
3678
3764
|
message: response.message || '订单备注修改成功',
|
|
3679
3765
|
orderId: orderId
|
|
@@ -3682,29 +3768,29 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3682
3768
|
// API返回失败状态
|
|
3683
3769
|
errorMessage = response.message || '订单备注修改失败';
|
|
3684
3770
|
this.logError("\u8BA2\u5355 ".concat(orderId, " \u5907\u6CE8\u4FEE\u6539\u5931\u8D25:"), errorMessage);
|
|
3685
|
-
return
|
|
3771
|
+
return _context39.abrupt("return", {
|
|
3686
3772
|
success: false,
|
|
3687
3773
|
message: errorMessage,
|
|
3688
3774
|
orderId: orderId
|
|
3689
3775
|
});
|
|
3690
3776
|
case 21:
|
|
3691
|
-
|
|
3777
|
+
_context39.next = 28;
|
|
3692
3778
|
break;
|
|
3693
3779
|
case 23:
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
this.logError('编辑订单备注失败:',
|
|
3697
|
-
_errorMessage =
|
|
3698
|
-
return
|
|
3780
|
+
_context39.prev = 23;
|
|
3781
|
+
_context39.t0 = _context39["catch"](1);
|
|
3782
|
+
this.logError('编辑订单备注失败:', _context39.t0);
|
|
3783
|
+
_errorMessage = _context39.t0 instanceof Error ? _context39.t0.message : '网络错误或服务器异常';
|
|
3784
|
+
return _context39.abrupt("return", {
|
|
3699
3785
|
success: false,
|
|
3700
3786
|
message: "\u7F16\u8F91\u8BA2\u5355\u5907\u6CE8\u5931\u8D25: ".concat(_errorMessage),
|
|
3701
3787
|
orderId: orderId
|
|
3702
3788
|
});
|
|
3703
3789
|
case 28:
|
|
3704
3790
|
case "end":
|
|
3705
|
-
return
|
|
3791
|
+
return _context39.stop();
|
|
3706
3792
|
}
|
|
3707
|
-
},
|
|
3793
|
+
}, _callee39, this, [[1, 23]]);
|
|
3708
3794
|
}));
|
|
3709
3795
|
function editOrderNoteByOrderIdAsync(_x28, _x29) {
|
|
3710
3796
|
return _editOrderNoteByOrderIdAsync.apply(this, arguments);
|
|
@@ -3723,11 +3809,11 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3723
3809
|
}, {
|
|
3724
3810
|
key: "sendCustomerPayLinkAsync",
|
|
3725
3811
|
value: (function () {
|
|
3726
|
-
var _sendCustomerPayLinkAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3812
|
+
var _sendCustomerPayLinkAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee40(params) {
|
|
3727
3813
|
var _params$order_ids, _params$emails;
|
|
3728
3814
|
var emailRegex, invalidEmails, requestBody, response, errorMessage, _errorMessage2;
|
|
3729
|
-
return _regeneratorRuntime().wrap(function
|
|
3730
|
-
while (1) switch (
|
|
3815
|
+
return _regeneratorRuntime().wrap(function _callee40$(_context40) {
|
|
3816
|
+
while (1) switch (_context40.prev = _context40.next) {
|
|
3731
3817
|
case 0:
|
|
3732
3818
|
this.logInfo('sendCustomerPayLinkAsync called', {
|
|
3733
3819
|
orderIds: params.order_ids,
|
|
@@ -3736,21 +3822,21 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3736
3822
|
emailsCount: ((_params$emails = params.emails) === null || _params$emails === void 0 ? void 0 : _params$emails.length) || 0,
|
|
3737
3823
|
notifyAction: params.notify_action || 'order_payment_reminder'
|
|
3738
3824
|
});
|
|
3739
|
-
|
|
3825
|
+
_context40.prev = 1;
|
|
3740
3826
|
if (!(!params.order_ids || params.order_ids.length === 0)) {
|
|
3741
|
-
|
|
3827
|
+
_context40.next = 4;
|
|
3742
3828
|
break;
|
|
3743
3829
|
}
|
|
3744
|
-
return
|
|
3830
|
+
return _context40.abrupt("return", {
|
|
3745
3831
|
success: false,
|
|
3746
3832
|
message: '订单ID列表不能为空'
|
|
3747
3833
|
});
|
|
3748
3834
|
case 4:
|
|
3749
3835
|
if (!(!params.emails || params.emails.length === 0)) {
|
|
3750
|
-
|
|
3836
|
+
_context40.next = 6;
|
|
3751
3837
|
break;
|
|
3752
3838
|
}
|
|
3753
|
-
return
|
|
3839
|
+
return _context40.abrupt("return", {
|
|
3754
3840
|
success: false,
|
|
3755
3841
|
message: '邮箱地址列表不能为空'
|
|
3756
3842
|
});
|
|
@@ -3761,10 +3847,10 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3761
3847
|
return !emailRegex.test(email);
|
|
3762
3848
|
});
|
|
3763
3849
|
if (!(invalidEmails.length > 0)) {
|
|
3764
|
-
|
|
3850
|
+
_context40.next = 10;
|
|
3765
3851
|
break;
|
|
3766
3852
|
}
|
|
3767
|
-
return
|
|
3853
|
+
return _context40.abrupt("return", {
|
|
3768
3854
|
success: false,
|
|
3769
3855
|
message: "\u90AE\u7BB1\u683C\u5F0F\u65E0\u6548: ".concat(invalidEmails.join(', '))
|
|
3770
3856
|
});
|
|
@@ -3780,10 +3866,10 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3780
3866
|
}, requestBody));
|
|
3781
3867
|
|
|
3782
3868
|
// 调用后端API发送邮件
|
|
3783
|
-
|
|
3869
|
+
_context40.next = 14;
|
|
3784
3870
|
return this.request.post('/order/batch-email', requestBody);
|
|
3785
3871
|
case 14:
|
|
3786
|
-
response =
|
|
3872
|
+
response = _context40.sent;
|
|
3787
3873
|
this.logInfo('支付链接邮件发送响应:', {
|
|
3788
3874
|
status: response.status,
|
|
3789
3875
|
message: response.message,
|
|
@@ -3793,10 +3879,10 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3793
3879
|
|
|
3794
3880
|
// 检查响应状态
|
|
3795
3881
|
if (!(response.status === true || response.status === 200)) {
|
|
3796
|
-
|
|
3882
|
+
_context40.next = 20;
|
|
3797
3883
|
break;
|
|
3798
3884
|
}
|
|
3799
|
-
return
|
|
3885
|
+
return _context40.abrupt("return", {
|
|
3800
3886
|
success: true,
|
|
3801
3887
|
message: response.message || '支付链接邮件发送成功'
|
|
3802
3888
|
});
|
|
@@ -3804,27 +3890,27 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3804
3890
|
// API返回失败状态
|
|
3805
3891
|
errorMessage = response.message || '支付链接邮件发送失败';
|
|
3806
3892
|
console.error('[Checkout] 支付链接邮件发送失败:', errorMessage);
|
|
3807
|
-
return
|
|
3893
|
+
return _context40.abrupt("return", {
|
|
3808
3894
|
success: false,
|
|
3809
3895
|
message: errorMessage
|
|
3810
3896
|
});
|
|
3811
3897
|
case 23:
|
|
3812
|
-
|
|
3898
|
+
_context40.next = 30;
|
|
3813
3899
|
break;
|
|
3814
3900
|
case 25:
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
this.logError('发送客户支付链接邮件失败:',
|
|
3818
|
-
_errorMessage2 =
|
|
3819
|
-
return
|
|
3901
|
+
_context40.prev = 25;
|
|
3902
|
+
_context40.t0 = _context40["catch"](1);
|
|
3903
|
+
this.logError('发送客户支付链接邮件失败:', _context40.t0);
|
|
3904
|
+
_errorMessage2 = _context40.t0 instanceof Error ? _context40.t0.message : '网络错误或服务器异常';
|
|
3905
|
+
return _context40.abrupt("return", {
|
|
3820
3906
|
success: false,
|
|
3821
3907
|
message: "\u53D1\u9001\u652F\u4ED8\u94FE\u63A5\u90AE\u4EF6\u5931\u8D25: ".concat(_errorMessage2)
|
|
3822
3908
|
});
|
|
3823
3909
|
case 30:
|
|
3824
3910
|
case "end":
|
|
3825
|
-
return
|
|
3911
|
+
return _context40.stop();
|
|
3826
3912
|
}
|
|
3827
|
-
},
|
|
3913
|
+
}, _callee40, this, [[1, 25]]);
|
|
3828
3914
|
}));
|
|
3829
3915
|
function sendCustomerPayLinkAsync(_x30) {
|
|
3830
3916
|
return _sendCustomerPayLinkAsync.apply(this, arguments);
|
|
@@ -3841,22 +3927,36 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3841
3927
|
}, {
|
|
3842
3928
|
key: "roundAmountAsync",
|
|
3843
3929
|
value: (function () {
|
|
3844
|
-
var _roundAmountAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3845
|
-
var _this$otherParams$ord, _this$otherParams$ord2;
|
|
3846
|
-
var result;
|
|
3847
|
-
return _regeneratorRuntime().wrap(function
|
|
3848
|
-
while (1) switch (
|
|
3930
|
+
var _roundAmountAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee41(amount) {
|
|
3931
|
+
var _cashManualPayment$me, _this$otherParams$ord, _this$otherParams$ord2;
|
|
3932
|
+
var cashManualPayment, result;
|
|
3933
|
+
return _regeneratorRuntime().wrap(function _callee41$(_context41) {
|
|
3934
|
+
while (1) switch (_context41.prev = _context41.next) {
|
|
3849
3935
|
case 0:
|
|
3850
|
-
|
|
3936
|
+
// 检查 CASHMANUAL 的支付项是否开启了舍入,如果没开直接返回 amount
|
|
3937
|
+
cashManualPayment = this.store.paymentMethods.find(function (p) {
|
|
3938
|
+
return p.code === 'CASHMANUAL';
|
|
3939
|
+
});
|
|
3940
|
+
if (cashManualPayment !== null && cashManualPayment !== void 0 && (_cashManualPayment$me = cashManualPayment.metadata) !== null && _cashManualPayment$me !== void 0 && _cashManualPayment$me.order_rounding_switch) {
|
|
3941
|
+
_context41.next = 3;
|
|
3942
|
+
break;
|
|
3943
|
+
}
|
|
3944
|
+
return _context41.abrupt("return", {
|
|
3945
|
+
originalAmount: amount.toString(),
|
|
3946
|
+
roundedAmount: amount.toString(),
|
|
3947
|
+
roundingDifference: '0.00'
|
|
3948
|
+
});
|
|
3949
|
+
case 3:
|
|
3950
|
+
_context41.next = 5;
|
|
3851
3951
|
return this.payment.roundAmountAsync(amount, (_this$otherParams$ord = this.otherParams.order_rounding_setting) === null || _this$otherParams$ord === void 0 ? void 0 : _this$otherParams$ord.interval, (_this$otherParams$ord2 = this.otherParams.order_rounding_setting) === null || _this$otherParams$ord2 === void 0 ? void 0 : _this$otherParams$ord2.type);
|
|
3852
|
-
case
|
|
3853
|
-
result =
|
|
3854
|
-
return
|
|
3855
|
-
case
|
|
3952
|
+
case 5:
|
|
3953
|
+
result = _context41.sent;
|
|
3954
|
+
return _context41.abrupt("return", result);
|
|
3955
|
+
case 7:
|
|
3856
3956
|
case "end":
|
|
3857
|
-
return
|
|
3957
|
+
return _context41.stop();
|
|
3858
3958
|
}
|
|
3859
|
-
},
|
|
3959
|
+
}, _callee41, this);
|
|
3860
3960
|
}));
|
|
3861
3961
|
function roundAmountAsync(_x31) {
|
|
3862
3962
|
return _roundAmountAsync.apply(this, arguments);
|
|
@@ -3866,10 +3966,10 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3866
3966
|
}, {
|
|
3867
3967
|
key: "destroy",
|
|
3868
3968
|
value: function () {
|
|
3869
|
-
var _destroy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
3969
|
+
var _destroy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee42() {
|
|
3870
3970
|
var _this$order, _this$order$destroy, _this$payment, _this$payment$destroy;
|
|
3871
|
-
return _regeneratorRuntime().wrap(function
|
|
3872
|
-
while (1) switch (
|
|
3971
|
+
return _regeneratorRuntime().wrap(function _callee42$(_context42) {
|
|
3972
|
+
while (1) switch (_context42.prev = _context42.next) {
|
|
3873
3973
|
case 0:
|
|
3874
3974
|
// 清理钱包模块的所有缓存数据
|
|
3875
3975
|
this.payment.wallet.clearAllCache();
|
|
@@ -3878,10 +3978,10 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3878
3978
|
this.core.effects.offByModuleDestroy(this.name);
|
|
3879
3979
|
|
|
3880
3980
|
// 销毁子模块
|
|
3881
|
-
|
|
3981
|
+
_context42.next = 4;
|
|
3882
3982
|
return (_this$order = this.order) === null || _this$order === void 0 || (_this$order$destroy = _this$order.destroy) === null || _this$order$destroy === void 0 ? void 0 : _this$order$destroy.call(_this$order);
|
|
3883
3983
|
case 4:
|
|
3884
|
-
|
|
3984
|
+
_context42.next = 6;
|
|
3885
3985
|
return (_this$payment = this.payment) === null || _this$payment === void 0 || (_this$payment$destroy = _this$payment.destroy) === null || _this$payment$destroy === void 0 ? void 0 : _this$payment$destroy.call(_this$payment);
|
|
3886
3986
|
case 6:
|
|
3887
3987
|
// 取消注册模块
|
|
@@ -3889,9 +3989,9 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3889
3989
|
console.log('[Checkout] 已销毁');
|
|
3890
3990
|
case 8:
|
|
3891
3991
|
case "end":
|
|
3892
|
-
return
|
|
3992
|
+
return _context42.stop();
|
|
3893
3993
|
}
|
|
3894
|
-
},
|
|
3994
|
+
}, _callee42, this);
|
|
3895
3995
|
}));
|
|
3896
3996
|
function destroy() {
|
|
3897
3997
|
return _destroy.apply(this, arguments);
|
|
@@ -3906,12 +4006,12 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3906
4006
|
}, {
|
|
3907
4007
|
key: "resetStoreStateAsync",
|
|
3908
4008
|
value: (function () {
|
|
3909
|
-
var _resetStoreStateAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
4009
|
+
var _resetStoreStateAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee43() {
|
|
3910
4010
|
var prevOrderInfo;
|
|
3911
|
-
return _regeneratorRuntime().wrap(function
|
|
3912
|
-
while (1) switch (
|
|
4011
|
+
return _regeneratorRuntime().wrap(function _callee43$(_context43) {
|
|
4012
|
+
while (1) switch (_context43.prev = _context43.next) {
|
|
3913
4013
|
case 0:
|
|
3914
|
-
|
|
4014
|
+
_context43.prev = 0;
|
|
3915
4015
|
prevOrderInfo = this.store.currentOrder ? {
|
|
3916
4016
|
uuid: this.store.currentOrder.uuid,
|
|
3917
4017
|
orderId: this.store.currentOrder.order_id
|
|
@@ -3940,26 +4040,26 @@ export var CheckoutImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3940
4040
|
|
|
3941
4041
|
// 触发订单清理事件(如果之前有订单)
|
|
3942
4042
|
if (!prevOrderInfo) {
|
|
3943
|
-
|
|
4043
|
+
_context43.next = 17;
|
|
3944
4044
|
break;
|
|
3945
4045
|
}
|
|
3946
|
-
|
|
4046
|
+
_context43.next = 17;
|
|
3947
4047
|
return this.core.effects.emit(CheckoutHooks.OnOrderCleared, {
|
|
3948
4048
|
previousOrder: prevOrderInfo,
|
|
3949
4049
|
timestamp: Date.now()
|
|
3950
4050
|
});
|
|
3951
4051
|
case 17:
|
|
3952
|
-
|
|
4052
|
+
_context43.next = 22;
|
|
3953
4053
|
break;
|
|
3954
4054
|
case 19:
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
console.error('[Checkout] 重置 store 状态失败:',
|
|
4055
|
+
_context43.prev = 19;
|
|
4056
|
+
_context43.t0 = _context43["catch"](0);
|
|
4057
|
+
console.error('[Checkout] 重置 store 状态失败:', _context43.t0);
|
|
3958
4058
|
case 22:
|
|
3959
4059
|
case "end":
|
|
3960
|
-
return
|
|
4060
|
+
return _context43.stop();
|
|
3961
4061
|
}
|
|
3962
|
-
},
|
|
4062
|
+
}, _callee43, this, [[0, 19]]);
|
|
3963
4063
|
}));
|
|
3964
4064
|
function resetStoreStateAsync() {
|
|
3965
4065
|
return _resetStoreStateAsync.apply(this, arguments);
|