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) @@ -777,7 +776,7 @@ var orderInput = new CreateLifePayOrderInput { OrderNo = channle.ChannlesNum + CreateOrderNo(), LifePayOrderStatus = LifePayOrderStatusEnum.待确认, LifePayOrderStatus = LifePayOrderStatusEnum.充值中, LifePayOrderType = LifePayOrderTypeEnum.话费订单, //LifePayType = input.LifePayType, OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData), @@ -826,7 +825,7 @@ var orderInput = new CreateLifePayOrderInput { OrderNo = channle.ChannlesNum + CreateOrderNo(), LifePayOrderStatus = LifePayOrderStatusEnum.待确认, LifePayOrderStatus = LifePayOrderStatusEnum.充值中, LifePayOrderType = LifePayOrderTypeEnum.电费订单, // LifePayType = input.LifePayType, OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData), @@ -875,7 +874,7 @@ var orderInput = new CreateLifePayOrderInput { OrderNo = channle.ChannlesNum + CreateOrderNo(), LifePayOrderStatus = LifePayOrderStatusEnum.待确认, LifePayOrderStatus = LifePayOrderStatusEnum.充值中, LifePayOrderType = LifePayOrderTypeEnum.燃气订单, // LifePayType = input.LifePayType, OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData), @@ -1188,7 +1187,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; @@ -1196,7 +1195,7 @@ catch (Exception ex) { _logger.LogError(ex, "处理生活缴费支付成功回调时异常"); order.LifePayOrderStatus = LifePayOrderStatusEnum.已失败; order.LifePayOrderStatus = LifePayOrderStatusEnum.待退款; order.LifePayRefundStatus = LifePayRefundStatusEnum.待退款; } _logger.LogError("生活缴费订单状态:" + order.LifePayOrderStatus.ToString()); @@ -1214,10 +1213,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()) @@ -1225,15 +1224,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; @@ -1267,7 +1257,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("当前订单状态无法退款"); } @@ -1290,7 +1280,7 @@ } else { order.LifePayOrderStatus = LifePayOrderStatusEnum.退款失败; order.LifePayOrderStatus = LifePayOrderStatusEnum.待退款; order.LifePayRefundStatus = LifePayRefundStatusEnum.待退款; } @@ -1342,13 +1332,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; @@ -1476,10 +1465,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; @@ -1678,7 +1674,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;