LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LifePayment/LifePayment.Application/LifePay/LifePayService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LifePayment/LifePayment.Application/LifePay/StatisticsService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LifePayment/LifePayment.Domain/LifePay/LifePayOrder.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LifePayment/LifePayment.Worker/Worker/GetStaticsWorker.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LifePayment/LifePayment.Worker/appsettings.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
@@ -50,7 +50,7 @@ Task LifePaySuccessHandler(string orderNo, string outOrderNo); /// <summary> /// 支付成功回调处理 /// 供应商回调处理 /// </summary> /// <param name="orderNo"></param> /// <param name="acoolyOrderNo"></param> LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -290,8 +290,7 @@ { var result = await (from a in _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository) .Where(x => x.PayStatus == LifePayStatusEnum.待退款 || x.PayStatus == LifePayStatusEnum.已退款 || x.PayStatus == LifePayStatusEnum.退款中 || x.LifePayOrderStatus == LifePayOrderStatusEnum.退款待审核 || x.LifePayOrderStatus == LifePayOrderStatusEnum.已退款 || x.LifePayOrderStatus == LifePayOrderStatusEnum.退款失败 .Where(x => x.LifePayOrderStatus == LifePayOrderStatusEnum.待退款 || x.LifePayOrderStatus == LifePayOrderStatusEnum.已退款 || x.LifePayOrderStatus == LifePayOrderStatusEnum.退款中 || x.LifePayRefundStatus > LifePayRefundStatusEnum.无需退款) .WhereIf(input.BeginFinishTime.HasValue, x => x.FinishTime >= input.BeginFinishTime) .WhereIf(input.EndFinishTime.HasValue, x => x.FinishTime <= input.EndFinishTime) @@ -779,7 +778,7 @@ var orderInput = new CreateLifePayOrderInput { OrderNo = channle.ChannlesNum + CreateOrderNo(), LifePayOrderStatus = LifePayOrderStatusEnum.待确认, LifePayOrderStatus = LifePayOrderStatusEnum.充值中, LifePayOrderType = LifePayOrderTypeEnum.话费订单, //LifePayType = input.LifePayType, OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData), @@ -828,7 +827,7 @@ var orderInput = new CreateLifePayOrderInput { OrderNo = channle.ChannlesNum + CreateOrderNo(), LifePayOrderStatus = LifePayOrderStatusEnum.待确认, LifePayOrderStatus = LifePayOrderStatusEnum.充值中, LifePayOrderType = LifePayOrderTypeEnum.电费订单, // LifePayType = input.LifePayType, OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData), @@ -877,7 +876,7 @@ var orderInput = new CreateLifePayOrderInput { OrderNo = channle.ChannlesNum + CreateOrderNo(), LifePayOrderStatus = LifePayOrderStatusEnum.待确认, LifePayOrderStatus = LifePayOrderStatusEnum.充值中, LifePayOrderType = LifePayOrderTypeEnum.燃气订单, // LifePayType = input.LifePayType, OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData), @@ -1190,7 +1189,7 @@ } order.LifePayRefundStatus = LifePayRefundStatusEnum.无需退款; order.LifePayOrderStatus = LifePayOrderStatusEnum.待确认; order.LifePayOrderStatus = LifePayOrderStatusEnum.充值中; //SetOrderStatus(order, result.Code); order.OutRequestNo = result.RequestNo.IsNullOrEmpty() ? null : result.RequestNo; order.ACOOLYOrderNo = result.ACOOLYOrderNo.IsNullOrEmpty() ? null : result.ACOOLYOrderNo; @@ -1198,7 +1197,7 @@ catch (Exception ex) { _logger.LogError(ex, "处理生活缴费支付成功回调时异常"); order.LifePayOrderStatus = LifePayOrderStatusEnum.已失败; order.LifePayOrderStatus = LifePayOrderStatusEnum.待退款; order.LifePayRefundStatus = LifePayRefundStatusEnum.待退款; } _logger.LogError("生活缴费订单状态:" + order.LifePayOrderStatus.ToString()); @@ -1216,10 +1215,10 @@ var order = await _lifePayOrderRepository.Where(x => x.OrderNo == orderNo).FirstOrDefaultAsync(); CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "订单不存在"); if (order.LifePayOrderStatus == LifePayOrderStatusEnum.已完成) { return; } //if (order.LifePayOrderStatus == LifePayOrderStatusEnum.已完成) //{ // return; //} order.PlatformDeductionAmount = payAmount; if (acoolyOrderNo.IsNotNullOrEmpty()) @@ -1227,15 +1226,6 @@ order.ACOOLYOrderNo = acoolyOrderNo; } if (order.LifePayOrderStatus == LifePayOrderStatusEnum.已完成) { order.FinishTime = DateTime.Now; } if (order.LifePayOrderStatus == LifePayOrderStatusEnum.已失败 && order.LifePayRefundStatus != LifePayRefundStatusEnum.已退款) { order.LifePayRefundStatus = LifePayRefundStatusEnum.待退款; } order.LifePayOrderStatus = status; order.ACOOLYStatus = acoolyStatus; @@ -1269,7 +1259,7 @@ input.RefundPrice = order.PayAmount; } if (order.LifePayOrderStatus != LifePayOrderStatusEnum.已失败 && order.PayStatus != LifePayStatusEnum.待退款 && order.LifePayOrderStatus != LifePayOrderStatusEnum.退款待审核) if (order.LifePayOrderStatus != LifePayOrderStatusEnum.待退款 || order.PayStatus != LifePayStatusEnum.已支付 || order.LifePayRefundStatus != LifePayRefundStatusEnum.待退款) { throw new UserFriendlyException("当前订单状态无法退款"); } @@ -1292,7 +1282,7 @@ } else { order.LifePayOrderStatus = LifePayOrderStatusEnum.退款失败; order.LifePayOrderStatus = LifePayOrderStatusEnum.待退款; order.LifePayRefundStatus = LifePayRefundStatusEnum.待退款; } @@ -1344,13 +1334,12 @@ return; } if (order.LifePayOrderStatus != LifePayOrderStatusEnum.待确认 && order.LifePayOrderStatus != LifePayOrderStatusEnum.已失败 && order.PayStatus != LifePayStatusEnum.已支付) if (order.PayStatus != LifePayStatusEnum.已支付 || order.LifePayOrderStatus != LifePayOrderStatusEnum.已完成) { throw new UserFriendlyException("当前订单状态无法申请退款"); } order.LifePayOrderStatus = LifePayOrderStatusEnum.退款待审核; order.LifePayOrderStatus = LifePayOrderStatusEnum.待退款; order.RefundApplyRemark = input.RefundApplyRemark; order.RefundApplyTime = DateTime.Now; @@ -1478,10 +1467,17 @@ return; } if ((order.LifePayOrderStatus == LifePayOrderStatusEnum.已失败 && order.PayStatus == LifePayStatusEnum.待退款) || order.LifePayOrderStatus == LifePayOrderStatusEnum.退款待审核 || order.LifePayOrderStatus == LifePayOrderStatusEnum.待确认) if (order.LifePayOrderStatus == LifePayOrderStatusEnum.待退款) { order.LifePayOrderStatus = LifePayOrderStatusEnum.退款失败; if (order.ACOOLYStatus == ACOOLYStatusEnum.已完成 || order.ACOOLYStatus == ACOOLYStatusEnum.部分充值成功) { order.LifePayOrderStatus = LifePayOrderStatusEnum.已完成; } else if (order.ACOOLYStatus == ACOOLYStatusEnum.充值失败) { order.LifePayOrderStatus = LifePayOrderStatusEnum.退款失败; } order.RefundCheckRemark = input.RefundCheckRemark; order.RefundCheckUserId = CurrentUser.Id; @@ -1680,7 +1676,7 @@ order.FinishTime = DateTime.Now; break; case ACOOLYConstant.Code.PROCESSING: order.LifePayOrderStatus = LifePayOrderStatusEnum.待确认; order.LifePayOrderStatus = LifePayOrderStatusEnum.充值中; break; default: break; LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
@@ -47,7 +47,7 @@ var accumulatedIncome = await _lifePayOrderRepository.Where(x => x.CreationTime < today).SumAsync(x => x.ActualRechargeAmount); var ordersNumYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today).CountAsync(); var yesterdaySuccess = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.已完成).CountAsync(); var yesterdayFail = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.已失败).CountAsync(); var yesterdayFail = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.退款失败).CountAsync(); var accumulatedUsers = await _lifePayUserRepository.CountAsync(); var entity = new DallyStatistics() LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs
@@ -41,19 +41,44 @@ 退款中 = 50, } //public enum LifePayOrderStatusEnum //{ // [Description("充值中")] // 待确认 = 10, // [Description("已失败")] // 已失败 = 20, // [Description("已完成")] // 已完成 = 30, // [Description("退款待审核")] // 退款待审核 = 40, // [Description("已退款")] // 已退款 = 50, // [Description("退款失败")] // 退款失败 = 60, // [Description("退款中")] // 退款中 = 70, //} public enum LifePayOrderStatusEnum { [Description("待确认")] 待确认 = 10, [Description("充值中")] 充值中 = 10, [Description("已失败")] 已失败 = 20, //[Description("已失败")] //已失败 = 20, [Description("已完成")] 已完成 = 30, [Description("退款待审核")] 退款待审核 = 40, [Description("待退款")] 待退款 = 40, [Description("已退款")] 已退款 = 50, @@ -64,6 +89,7 @@ [Description("退款中")] 退款中 = 70, } public enum ACOOLYStatusEnum LifePayment/LifePayment.Domain/LifePay/LifePayOrder.cs
@@ -81,12 +81,12 @@ public string ACOOLYOrderNo { get; set; } /// <summary> /// 订单状态 /// 平台订单状态 /// </summary> public LifePayOrderStatusEnum LifePayOrderStatus { get; set; } /// <summary> /// 平台状态 /// 供应商状态 /// </summary> public ACOOLYStatusEnum? ACOOLYStatus { get; set; } LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -44,7 +44,7 @@ </member> <member name="M:LifePayment.Application.Contracts.ILifePayService.ACOOLYOrderNotifyHandler(System.String,System.String,LifePayment.Domain.Shared.LifePayOrderStatusEnum,LifePayment.Domain.Shared.ACOOLYStatusEnum,System.Decimal)"> <summary> 支付成功回调处理 供应商回调处理 </summary> <param name="orderNo"></param> <param name="acoolyOrderNo"></param> LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
@@ -52,7 +52,7 @@ } var baseInfo = JsonConvert.DeserializeObject<ACOOLYRequestBaseResponse>(body); var orderNo = string.Empty; LifePayOrderStatusEnum status = LifePayOrderStatusEnum.已失败; LifePayOrderStatusEnum status = LifePayOrderStatusEnum.待退款; ACOOLYStatusEnum acoolyStatus = ACOOLYStatusEnum.充值失败; var acoolyOrderNo = string.Empty; decimal payAmount = 0; @@ -70,7 +70,7 @@ if (!confirmElectricOrderResponse.Success || (confirmElectricOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmElectricOrderResponse.Code != ACOOLYConstant.Code.PROCESSING)) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } else @@ -82,13 +82,13 @@ else if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.充值中) { status = LifePayOrderStatusEnum.待确认; status = LifePayOrderStatusEnum.充值中; acoolyStatus = ACOOLYStatusEnum.充值中; } else if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.充值失败) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } else @@ -106,7 +106,7 @@ else if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.失败关闭) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } break; @@ -119,7 +119,7 @@ if (!confirmPhoneOrderResponse.Success || (confirmPhoneOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmPhoneOrderResponse.Code != ACOOLYConstant.Code.PROCESSING)) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } else @@ -133,13 +133,13 @@ if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.充值中) { status = LifePayOrderStatusEnum.待确认; status = LifePayOrderStatusEnum.充值中; acoolyStatus = ACOOLYStatusEnum.充值中; } else if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.充值失败) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } else @@ -157,7 +157,7 @@ else if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.失败关闭) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } break; @@ -170,7 +170,7 @@ if (!confirmGasOrderResponse.Success || (confirmGasOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmGasOrderResponse.Code != ACOOLYConstant.Code.PROCESSING)) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } else @@ -184,13 +184,13 @@ if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.充值中) { status = LifePayOrderStatusEnum.待确认; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值中; } else if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.充值失败) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } else @@ -208,7 +208,7 @@ else if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.失败关闭) { status = LifePayOrderStatusEnum.已失败; status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; } break; LifePayment/LifePayment.Worker/Worker/GetStaticsWorker.cs
@@ -16,14 +16,14 @@ { public class GetStaticsWorker : AsyncPeriodicBackgroundWorkerBase { private readonly ILifePayService _lifePayService; private readonly IStatisticsService _statisticService; private readonly int _doWorkHour = 0; private readonly int _doWorkMinute = 30; public GetStaticsWorker(AbpAsyncTimer timer, IServiceScopeFactory serviceScopeFactory, ILifePayService lifePayService) : base(timer, serviceScopeFactory) public GetStaticsWorker(AbpAsyncTimer timer, IServiceScopeFactory serviceScopeFactory, IStatisticsService statisticService) : base(timer, serviceScopeFactory) { _lifePayService = lifePayService; _statisticService = statisticService; timer.Period = PeriodTool.CalcuPeriodFromEveryDayTime(_doWorkHour, _doWorkMinute, 0); //timer.Period =5 * 60000; //timer.Period =1 * 60000; } [UnitOfWork] @@ -31,7 +31,7 @@ { try { await _lifePayService.GetTopStatistics(); await _statisticService.GetTopStatistics(); Logger.LogError($"获取统计信息开始: {DateTime.Now}"); } catch (Exception ex) LifePayment/LifePayment.Worker/appsettings.json
@@ -21,10 +21,12 @@ "CorsOrigins": "http://localhost:31804" }, "ElasticSearch": { "Url": "http://localhost:9200" "Url": "http://106.12.151.86:19200", "UserName": "elastic", "PassWord": "bole5201314" }, "Redis": { "Configuration": "localhost:6379" "Configuration": "118.178.252.28:5390,defaultDatabase=5,password=Bole123!" }, "AliYunSMSSetting": { "AliYunSmsAccessId": "LTAI4G5qXfYeS14JxEeN9JxF", @@ -44,6 +46,20 @@ "CheckPath": false, "AppName": "C端客户端" }, "RabbitMQ": { "Connections": { "Default": { "HostName": "118.178.252.28", "UserName": "admin", "Password": "Bole12345678", "Port": "5673" } }, "EventBus": { "ClientName": "MsDemo_LifePaymentService_Development_Ling1122", "ExchangeName": "MsDemo_Development_Ling1122" } }, "InitSetting": { "SelfSupportingServiceName": "壹贰叁叁叁信息技术", "PlatServicePhone": "13005741111",