zhengyiming
2025-03-25 fc85a3382990bcfb5f4d1a77f1525328343b3c8c
fix: 新增修改实际到账金额接口
6个文件已修改
83 ■■■■■ 已修改文件
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application/LifePay/LifePayService.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
@@ -84,6 +84,13 @@
    Task<CreateLifePayOrderOutput> CreateLifePayGasOrder(CreateLifePayOrderInput<LifeGasData> input);
    /// <summary>
    /// 修改实际到账金额
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<int> UpdateLifePayOrderActualReceivedAmount(UpdateLifePayOrderInput input);
    /// <summary>
    /// 退款生活缴费订单
    /// </summary>
    /// <param name="input"></param>
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
@@ -246,6 +246,16 @@
}
public class UpdateLifePayOrderInput
{
    public Guid Id { get; set; }
    /// <summary>
    /// 实际到账金额
    /// </summary>
    public decimal ActualReceivedAmount { get; set; }
}
//public class ChannelsBaseInput : PageInput
//{
//    public string CheckChannelId { get; set; }
LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -27,6 +27,7 @@
using Volo.Abp.ObjectMapping;
using NPOI.SS.Formula.Functions;
using StackExchange.Redis;
using static Volo.Abp.Identity.Settings.IdentitySettingNames;
namespace LifePayment.Application;
@@ -157,7 +158,7 @@
    /// <returns></returns>
    public async Task<ChannelRateOutput> GetChannelRate(ChannelsBaseInput input)
    {
        return  _lifePayChannlesRep.Where(x => x.IsDeleted == false && x.ChannlesNum == input.CheckChannelId).Select(x => new ChannelRateOutput() { ChannlesRate = x.ChannlesRate })
        return _lifePayChannlesRep.Where(x => x.IsDeleted == false && x.ChannlesNum == input.CheckChannelId).Select(x => new ChannelRateOutput() { ChannlesRate = x.ChannlesRate })
                                           .FirstOrDefault();
    }
@@ -388,7 +389,7 @@
            s.PayAmountStr = s.PayAmount.ToString("F2");
            s.LifePayTypeStr = s.LifePayType.GetDescription();
            s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm);
            s.RefundApplyTimeStr = !s.RefundApplyTime.HasValue? string.Empty:s.RefundApplyTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm);
            s.RefundApplyTimeStr = !s.RefundApplyTime.HasValue ? string.Empty : s.RefundApplyTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm);
        });
        return result;
    }
@@ -398,14 +399,14 @@
    {
        var order = await _lifePayOrderRepository.Where(x => x.OrderNo == orderNo).FirstOrDefaultAsync();
        var channle = await _lifePayChannlesRep.FirstOrDefaultAsync(r => r.ChannlesNum == order.ChannelId);
         CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "订单不存在");
        CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "订单不存在");
        var user = await _lifePayUserRepository.FirstOrDefaultAsync(x => x.Id == order.UserId);
        var channlesRakePrice = (order.PayAmount - (order.PlatformDeductionAmount == null ? 0 : order.PlatformDeductionAmount)) * channle.ChannlesRakeRate / 100;
        var orderpirce = await GetOrderPrice(order.RechargeAmount, order.PayAmount,order.PlatformRate, order.ChannleRate, order.ChannlesRakeRate,order.PremiumRate);
        var orderpirce = await GetOrderPrice(order.RechargeAmount, order.PayAmount, order.PlatformRate, order.ChannleRate, order.ChannlesRakeRate, order.PremiumRate);
        var result = new LifePayOrderOutput()
                {
        {
            UserName = user.Name,
            UserPhoneNumber = user.PhoneNumber,
            DiscountAmount = order.DiscountAmount,
@@ -732,7 +733,7 @@
            LifePayType = x.LifePayType,
            OrderNo = x.OrderNo,
            PayAmount = x.PayAmount,
            ActualRechargeAmount = x.ActualRechargeAmount.HasValue?x.ActualRechargeAmount.Value:0,
            ActualRechargeAmount = x.ActualRechargeAmount.HasValue ? x.ActualRechargeAmount.Value : 0,
            PhoneNumber = x.PhoneNumber,
            RechargeAmount = x.RechargeAmount,
            OutOrderNo = x.OutOrderNo,
@@ -841,7 +842,7 @@
        var amount = CalculateAmount(input.ProductData.ParValue, rate.FirstOrDefault(x => x.RateType == LifePayRateTypeEnum.默认话费折扣).Rate);
        var platformRate = await _lifePayRateRepository.FirstOrDefaultAsync(r => r.RateType == LifePayRateTypeEnum.供应商折扣价);
        var orderInput = new CreateLifePayOrderInput
        {
@@ -858,7 +859,7 @@
            RechargeAmount = amount.RechargeAmount,
            ChannelId = channle.ChannlesNum,
            PlatformRate = platformRate.Rate,
            PlatformDeductionAmount = amount.RechargeAmount * platformRate.Rate /100,
            PlatformDeductionAmount = amount.RechargeAmount * platformRate.Rate / 100,
            ChannleRate = channle.ChannlesRate,
            ChannlesRakeRate = channle.ChannlesRakeRate,
            //ChannlesRakePrice = amount.RechargeAmount * (channle.ChannlesRate - platformRate.Rate) / 100 * channle.ChannlesRakeRate / 100
@@ -1057,6 +1058,25 @@
    }
    /// <summary>
    /// 修改实际到账金额
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task<int> UpdateLifePayOrderActualReceivedAmount(UpdateLifePayOrderInput input)
    {
        var order = await _lifePayOrderRepository.Where(x => x.Id == input.Id).FirstOrDefaultAsync();
        CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "订单不存在");
        CheckExtensions.IfTrueThrowUserFriendlyException(order.ACOOLYStatus != ACOOLYStatusEnum.部分充值成功, "该订单无法修改到账金额");
        order.ActualReceivedAmount = input.ActualReceivedAmount;
        await _lifePayOrderRepository.UpdateAsync(order);
        return Constant.SUCCESS;
    }
    /// <summary>
    /// 创建生活缴费订单
    /// </summary>
    /// <param name="input"></param>
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -268,6 +268,13 @@
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.LifePayController.UpdateLifePayOrderActualReceivedAmount(LifePayment.Application.Contracts.UpdateLifePayOrderInput)">
            <summary>
            修改实际到账金额
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.LifePayController.RefundLifePayOrder(LifePayment.Application.Contracts.RefundLifePayOrderInput)">
            <summary>
            退款生活缴费订单
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -74,6 +74,13 @@
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.Application.Contracts.ILifePayService.UpdateLifePayOrderActualReceivedAmount(LifePayment.Application.Contracts.UpdateLifePayOrderInput)">
            <summary>
            修改实际到账金额
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.Application.Contracts.ILifePayService.RefundLifePayOrder(LifePayment.Application.Contracts.RefundLifePayOrderInput)">
            <summary>
            退款生活缴费订单
@@ -426,6 +433,11 @@
            手续费比例
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.UpdateLifePayOrderInput.ActualReceivedAmount">
            <summary>
            实际到账金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.QueryLifePayOrderListInput.LifePayOrderType">
            <summary>
            订单类型
LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -457,6 +457,17 @@
        }
        /// <summary>
        /// 修改实际到账金额
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<int> UpdateLifePayOrderActualReceivedAmount(UpdateLifePayOrderInput input)
        {
            return await _lifePayService.UpdateLifePayOrderActualReceivedAmount(input);
        }
        /// <summary>
        /// 退款生活缴费订单
        /// </summary>
        /// <param name="input"></param>