zhengyiming
20 小时以前 43e28aece364ad351d61eca30c6707fcdc197ca4
LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -1,4 +1,5 @@
using LifePayment.Application.Contracts;
using Alipay.EasySDK.Payment.Common.Models;
using LifePayment.Application.Contracts;
using LifePayment.Domain;
using LifePayment.Domain.LifePay;
using LifePayment.Domain.Models;
@@ -19,18 +20,7 @@
using Volo.Abp.EventBus.Distributed;
using Z.EntityFramework.Plus;
using ZeroD.Util;
using Alipay.EasySDK.Payment.Common.Models;
using static LifePayment.Domain.Shared.LifePaymentConstant;
using ZeroD.Util.Fadd;
using Nest;
using Volo.Abp.Domain.Entities;
using Volo.Abp.ObjectMapping;
using NPOI.SS.Formula.Functions;
using StackExchange.Redis;
using static Volo.Abp.Identity.Settings.IdentitySettingNames;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
using LifePayment.Application.LifePay;
using Alipay.AopSdk.Core.Domain;
namespace LifePayment.Application;
@@ -280,16 +270,16 @@
                                DiscountAmount = a.DiscountAmount ?? 0,
                                FinishTime = a.FinishTime,
                                Id = a.Id,
                                LifePayOrderStatus = a.LifePayOrderStatus?? 0,
                                LifePayOrderStatus = a.LifePayOrderStatus ?? 0,
                                LifePayOrderType = a.LifePayOrderType,
                                LifePayType = a.LifePayType,
                                OrderNo = a.OrderNo,
                                PayAmount = a.PayAmount ?? 0,
                                PhoneNumber = a.PhoneNumber,
                                RechargeAmount = a.RechargeAmount??0,
                                RechargeAmount = a.RechargeAmount ?? 0,
                                UserId = a.UserId,
                                OutOrderNo = a.OutOrderNo,
                                PayStatus = a.PayStatus?? 0,
                                PayStatus = a.PayStatus ?? 0,
                                PayTime = a.PayTime,
                                ACOOLYOrderNo = a.ACOOLYOrderNo,
                                RefundCredentialsImgUrl = a.RefundCredentialsImgUrl.GetOssPath(),
@@ -300,6 +290,7 @@
                                RefundTime = a.RefundTime,
                                ChannelName = b.ChannlesName,
                                ActualRechargeAmount = a.RechargeAmount,
                                ActualReceivedAmount = a.ActualReceivedAmount,
                                PlatformDeductionAmount = a.PlatformDeductionAmount,
                                ACOOLYStatus = a.ACOOLYStatus,
                                LifePayRefundStatus = a.LifePayRefundStatus,
@@ -388,7 +379,7 @@
            ACOOLYStatus = x.ACOOLYStatus,
            RefundApplyRemark = x.RefundApplyRemark,
            RechargeAmount = x.RechargeAmount,
            ActualReceivedAmount = x.ActualReceivedAmount.ToString("F2"),
            ActualReceivedAmount = (x.ActualReceivedAmount ?? 0).ToString("F2"),
            LifePayRefundStatus = x.LifePayRefundStatus,
            OrderNo = x.OrderNo,
@@ -567,7 +558,7 @@
                                                        DiscountAmount = x.DiscountAmount ?? 0,
                                                        FinishTime = x.FinishTime,
                                                        Id = x.Id,
                                                        LifePayOrderStatus = x.LifePayOrderStatus?? 0 ,
                                                        LifePayOrderStatus = x.LifePayOrderStatus ?? 0,
                                                        LifePayOrderType = x.LifePayOrderType,
                                                        LifePayType = x.LifePayType,
                                                        OrderNo = x.OrderNo,
@@ -610,7 +601,7 @@
    public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList(QueryLifePayChannlesInput input)
    {
        return await GetLifePayChannlesListFilter().WhereIf(input.Status.HasValue,x => x.Status == input.Status).ToListAsync();
        return await GetLifePayChannlesListFilter().WhereIf(input.Status.HasValue, x => x.Status == input.Status).ToListAsync();
    }
    public async Task<CreateEditPayChannelsInput> GetLifePayChannlesDto(Guid id)
@@ -908,7 +899,7 @@
        return await _wxPayApi.WxPayTradeQuery(outTradeNo);
    }
    #endregion
@@ -930,11 +921,11 @@
        var channle = await GetLifePayChannlesDtoByNum(input.ChannelId);
        CheckExtensions.IfTrueThrowUserFriendlyException(channle == null, "渠道不存在");
        var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.PhoneOrder
        var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.PhoneOrder
        && x.PayStatus == LifePayStatusEnum.已支付
        && x.LifePayOrderStatus == LifePayOrderStatusEnum.充值中
        && x.OrderParamDetailJsonStr.Contains(input.ProductData.Phone)).AnyAsync();
         CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder, "您有同户号订单正在充值中,请勿重复充值");
        CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder, "您有同户号订单正在充值中,请勿重复充值");
        var rate = await GetLifePayRate(channle, LifePayRateTypeEnum.默认话费折扣);
@@ -1377,7 +1368,7 @@
    /// <param name="orderNo"></param>
    /// <param name="outOrderNo"></param>
    /// <returns></returns>
    public async Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount, string refundApplyRemark)
    public async Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount, string refundApplyRemark, decimal? parValue = 0, decimal? actualParValue = 0)
    {
        var order = await _lifePayOrderRepository.Where(x => x.OrderNo == orderNo).FirstOrDefaultAsync();
        CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "订单不存在");
@@ -1433,7 +1424,7 @@
        /// 创建生活缴费消费记录
        await _lifePayOrderService.CreatLifePayConsumption(acoolyStatus, order.OrderNo, order.ACOOLYOrderNo,
                    order.PlatformDeductionAmount ?? 0, order.ChannelId, order.CreationTime, order.FinishTime);
                    order.PlatformDeductionAmount ?? 0, order.ChannelId, order.CreationTime, order.FinishTime, order.ChannleRate, parValue, actualParValue);
    }
    /// <summary>
@@ -1693,6 +1684,10 @@
            if (order.ACOOLYStatus == ACOOLYStatusEnum.已完成 || order.ACOOLYStatus == ACOOLYStatusEnum.充值成功 || order.ACOOLYStatus == ACOOLYStatusEnum.部分充值成功)
            {
                order.LifePayOrderStatus = LifePayOrderStatusEnum.已完成;
            }
            else
            {
                order.LifePayOrderStatus = LifePayOrderStatusEnum.退款失败;
            }
            order.RefundCheckRemark = input.RefundCheckRemark;
@@ -2271,12 +2266,12 @@
            default:
                break;
        }
        return new SetPayTypeReturn()
        {
            Desc = desc,
            OrderNo = order.OrderNo,
            PayAmount = order.PayAmount.HasValue? order.PayAmount.Value : 0,
            PayAmount = order.PayAmount.HasValue ? order.PayAmount.Value : 0,
            LifePayType = lifePayType,
        };
    }