From 95fe2c54a45fae507247eb92c8f60af9c892159f Mon Sep 17 00:00:00 2001 From: zhengyuxuan <zhengyuxuan1995> Date: 星期三, 02 四月 2025 11:01:00 +0800 Subject: [PATCH] fix:bug修复 --- LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs | 6 +- LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs | 88 ++++++++++++++++++++++++++++++++++++++++++- LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs | 2 - LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 7 ++- 4 files changed, 93 insertions(+), 10 deletions(-) diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs index 299ec16..5bdad15 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs @@ -308,8 +308,6 @@ /// <returns></returns> Task<WxPayTradeQueryReponse> WxPayTradeQuery(string outTradeNo); - - /// <summary> /// 璁剧疆鐢熸椿缂磋垂鏀粯绫诲瀷 /// </summary> diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs index 3b0b1da..cce4b86 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs @@ -310,6 +310,7 @@ data.OrderNo = input.OrderNo; data.ExtraProperties = JsonConvert.SerializeObject(query); data.FinishTime = Convert.ToDateTime(query.SuccessTime); + data.Amount = Convert.ToDecimal(query.Amount.Total) / 100; await _lifePayExpensesReceiptsRepository.InsertAsync(data); } } @@ -321,6 +322,7 @@ data.OrderNo = input.OutRefundNo; data.ExtraProperties = JsonConvert.SerializeObject(query); data.FinishTime = Convert.ToDateTime(query.SuccessTime); + data.Amount = Convert.ToDecimal(query.Amount.Total) / 100; await _lifePayExpensesReceiptsRepository.InsertAsync(data); } } @@ -344,6 +346,7 @@ OrderNo = item.OrderNo, AcoolyOrderNo = item.ACOOLYOrderNo, Amount = item.PlatformDeductionAmount.HasValue? item.PlatformDeductionAmount.Value : 0, + ChannelId = item.ChannelId, }; if (item.ACOOLYStatus != null) { @@ -352,9 +355,21 @@ case ACOOLYStatusEnum.鍏呭�间腑: await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption); break; + case ACOOLYStatusEnum.鍏呭�兼垚鍔�: + await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption); + await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�兼垚鍔�, item, lifePayConsumption); + break; + case ACOOLYStatusEnum.宸插畬鎴�: + await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption); + await CreatLifePayConsumption(ACOOLYStatusEnum.宸插畬鎴�, item, lifePayConsumption); + break; + case ACOOLYStatusEnum.鍏呭�煎け璐�: + await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption); + await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�煎け璐�, item, lifePayConsumption); + break; + default: break; } } - } } @@ -461,6 +476,7 @@ private async Task CreatLifePayConsumption(ACOOLYStatusEnum status, LifePayOrder order, LifePayConsumption lifePayConsumption) { + LifePayConsumption repeat = new LifePayConsumption(); switch (status) { case ACOOLYStatusEnum.鍏呭�间腑: @@ -471,13 +487,79 @@ lifePayConsumption.DeductionAmount = 0; lifePayConsumption.FrozenAmount = lifePayConsumption.Amount; - var repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo + repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).FirstOrDefaultAsync(); if (repeat == null) { await _lifePayConsumption.InsertAsync(lifePayConsumption); - }; + } + break; + case ACOOLYStatusEnum.宸插畬鎴�: + lifePayConsumption.FinishTime = order.FinishTime.Value; + lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.宸插畬鎴�; + lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw; + lifePayConsumption.Flow = ConsumptionFlowEnum.Out; + lifePayConsumption.DeductionAmount = lifePayConsumption.Amount; + lifePayConsumption.FrozenAmount = 0; + + repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo + && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).FirstOrDefaultAsync(); + if (repeat == null) + { + await _lifePayConsumption.InsertAsync(lifePayConsumption); + } + + break; + case ACOOLYStatusEnum.鍏呭�煎け璐�: + lifePayConsumption.FinishTime = order.CreationTime; + lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�煎け璐�; + lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Frozen; + lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged; + lifePayConsumption.DeductionAmount = 0; + lifePayConsumption.FrozenAmount = lifePayConsumption.Amount; + + repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo + && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).FirstOrDefaultAsync(); + if (repeat == null) + { + await _lifePayConsumption.InsertAsync(lifePayConsumption); + } + + break; + case ACOOLYStatusEnum.宸查��娆�: + lifePayConsumption.FinishTime = order.FinishTime.Value; + lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.宸查��娆�; + lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw; + lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged; + lifePayConsumption.DeductionAmount = 0; + lifePayConsumption.FrozenAmount = 0; + + repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo + && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).FirstOrDefaultAsync(); + if (repeat == null) + { + await _lifePayConsumption.InsertAsync(lifePayConsumption); + } + + break; + + //case ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�: + // lifePayConsumption.FinishTime = order.CreationTime; + // lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�; + // lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw; + // lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged; + // lifePayConsumption.DeductionAmount = 0; + // lifePayConsumption.FrozenAmount = lifePayConsumption.Amount; + + // repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo + // && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).FirstOrDefaultAsync(); + // if (repeat == null) + // { + // await _lifePayConsumption.InsertAsync(lifePayConsumption); + // } + + // break; default: break; } } diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs index 5b10017..86e012c 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs @@ -1131,7 +1131,6 @@ CheckExtensions.IfTrueThrowUserFriendlyException(order.ACOOLYStatus != ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�, "璇ヨ鍗曟棤娉曚慨鏀瑰埌璐﹂噾棰�"); order.ActualReceivedAmount = input.ActualReceivedAmount; - await _lifePayOrderRepository.UpdateAsync(order); return Constant.SUCCESS; @@ -1342,14 +1341,17 @@ //SetOrderStatus(order, result.Code); order.OutRequestNo = result.RequestNo.IsNullOrEmpty() ? null : result.RequestNo; order.ACOOLYOrderNo = result.ACOOLYOrderNo; + order.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�间腑; } catch (Exception ex) { _logger.LogError(ex, "澶勭悊鐢熸椿缂磋垂鏀粯鎴愬姛鍥炶皟鏃跺紓甯�"); order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呴��娆�; order.LifePayRefundStatus = LifePayRefundStatusEnum.寰呴��娆�; + order.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�煎け璐�; order.RefundApplyRemark = ex.Message; } + _logger.LogError("鐢熸椿缂磋垂璁㈠崟鐘舵�侊細" + order.LifePayOrderStatus.ToString()); await _lifePayOrderRepository.UpdateAsync(order); } @@ -1363,10 +1365,11 @@ { case LifePayRefundStatusEnum.宸查��娆�: order.LifePayOrderStatus = LifePayOrderStatusEnum.宸查��娆�; - order.ACOOLYStatus = ACOOLYStatusEnum.宸查��娆�; + order.LifePayRefundStatus = LifePayRefundStatusEnum.宸查��娆�; break; case LifePayRefundStatusEnum.閫�娆句腑: order.LifePayOrderStatus = LifePayOrderStatusEnum.閫�娆句腑; + order.LifePayRefundStatus = LifePayRefundStatusEnum.閫�娆句腑; break; default: break; } diff --git a/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs b/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs index 82e8728..313aea7 100644 --- a/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs +++ b/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs @@ -78,7 +78,7 @@ if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.鍏呭�兼垚鍔�) { status = LifePayOrderStatusEnum.宸插畬鎴�; - acoolyStatus = ACOOLYStatusEnum.鍏呭�兼垚鍔�; + acoolyStatus = ACOOLYStatusEnum.宸插畬鎴�; } else if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.鍏呭�间腑) @@ -129,7 +129,7 @@ if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.鍏呭�兼垚鍔�) { status = LifePayOrderStatusEnum.宸插畬鎴�; - acoolyStatus = ACOOLYStatusEnum.鍏呭�兼垚鍔�; + acoolyStatus = ACOOLYStatusEnum.宸插畬鎴�; } else @@ -180,7 +180,7 @@ if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.鍏呭�兼垚鍔�) { status = LifePayOrderStatusEnum.宸插畬鎴�; - acoolyStatus = ACOOLYStatusEnum.鍏呭�兼垚鍔�; + acoolyStatus = ACOOLYStatusEnum.宸插畬鎴�; } else -- Gitblit v1.9.1