zhengyuxuan
2025-03-24 eb1da8e82cb3331f65144562479af1c9fab2d1fd
fix:bug修复
5个文件已修改
196 ■■■■ 已修改文件
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application/LifePay/LifePayService.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
@@ -58,7 +58,7 @@
    /// <param name="acoolyStatus"></param>
    /// <param name="payAmount"></param>
    /// <returns></returns>
    Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount);
    Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount, string refundApplyRemark);
    /// <summary>
    /// 创建生活缴费话费订单
@@ -258,7 +258,7 @@
    Task<List<LifePayOrderListTemplate>> GetLifePayOrderPageExport(QueryLifePayOrderListInput input);
    Task<List<LifePayOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input);
    Task<List<LifePayRefundOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input);
    Task<string> GetBillErceiptExport(string orderNo);
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
@@ -176,6 +176,11 @@
    public string OrderNo { get; set; }
    /// <summary>
    /// 退款订单号
    /// </summary>
    public string RefundOrderNo { get; set; }
    /// <summary>
    /// 充值金额
    /// </summary>
    public decimal RechargeAmount { get; set; }
@@ -379,6 +384,103 @@
}
public class LifePayRefundOrderListTemplate
{
    [Name("序号")]
    public int SerialNumber { get; set; }
    [Name("手机号")]
    public string PhoneNumber { get; set; }
    public LifePayTypeEnum? LifePayType { get; set; }
    public LifePayOrderTypeEnum LifePayOrderType { get; set; }
    [Name("充值类型")]
    public string LifePayOrderTypeStr { get; set; }
    [Name("充值渠道")]
    public string ChannelName { get; set; }
    /// <summary>
    /// 退款申请时间
    /// </summary>
    [Name("申请退款时间")]
    public string RefundApplyTimeStr { get; set; }
    /// <summary>
    /// 下单时间
    /// </summary>
    public DateTime CreationTime { get; set; }
    [Name("下单时间")]
    public string CreationTimeStr { get; set; }
    [Name("退款订单号")]
    public string RefundOrderNo { get; set; }
    [Name("充值金额")]
    public string RechargeAmountStr { get; set; }
    /// <summary>
    /// 充值金额
    /// </summary>
    public decimal RechargeAmount { get; set; }
    /// <summary>
    /// 实际到账金额
    /// </summary>
    [Name("实际到账金额")]
    public string ActualReceivedAmount { get; set; }
    /// <summary>
    /// 实付金额
    /// </summary>
    public decimal PayAmount { get; set; }
    [Name("实付金额")]
    public string PayAmountStr { get; set; }
    [Name("退款渠道")]
    public string LifePayTypeStr { get; set; }
    /// <summary>
    /// 退款金额
    /// </summary>
    [Name("退款金额")]
    public decimal? RefundPrice { get; set; }
    public ACOOLYStatusEnum ACOOLYStatus { get; set; }
    /// <summary>
    /// 供应商订单状态
    /// </summary>
    [Name("供应商订单状态")]
    public string ACOOLYStatusStr { get; set; }
    /// <summary>
    /// 完成时间
    /// </summary>
    public DateTime? FinishTime { get; set; }
    /// <summary>
    /// 平台退款状态
    /// </summary>
    [Name("平台退款状态")]
    public string LifePayRefundStatus { get; set; }
    [Name("完成时间")]
    public string FinishTimeStr { get; set; }
}
public class UserLifePayOrderOutput
{
    public Guid Id { get; set; }
LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -354,41 +354,33 @@
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task<List<LifePayOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input)
    public async Task<List<LifePayRefundOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input)
    {
     
        var result = await (await GetLifePayRefundOrderListFilter(input)).Select(x => new LifePayOrderListTemplate
        var result = await (await GetLifePayRefundOrderListFilter(input)).Select(x => new LifePayRefundOrderListTemplate
        {
            DiscountAmount = x.DiscountAmount,
            FinishTime = x.FinishTime,
            LifePayOrderStatus = x.LifePayOrderStatus,
            RefundPrice = x.RefundPrice,
            LifePayOrderType = x.LifePayOrderType,
            LifePayType = x.LifePayType,
            OrderNo = x.OrderNo,
            PayAmount = x.PayAmount,
            PhoneNumber = x.PhoneNumber,
            RechargeAmount = x.RechargeAmount,
            OutOrderNo = x.OutOrderNo,
            PayStatus = x.PayStatus,
            PayTime = x.PayTime,
            ACOOLYOrderNo = x.ACOOLYOrderNo,
            CreationTime = x.CreationTime,
            RefundApplyRemark = x.RefundApplyRemark,
            RefundOrderNo = x.RefundOrderNo,
            ChannelName = x.ChannelName
        }).OrderByDescending(r => r.CreationTime).ToListAsync();
        var i = 0;
        result.ForEach(s =>
        {
            s.SerialNumber = ++i;
            s.ACOOLYStatusStr = s.ACOOLYStatus.GetDescription();
            s.LifePayOrderTypeStr = s.LifePayOrderType.GetDescription();
            s.CreationTimeStr = s.CreationTime.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm);
            s.RechargeAmountStr = s.RechargeAmount.ToString("F2");
            s.ActualReceivedAmount = s.ActualReceivedAmount;
            s.LifePayRefundStatus = s.LifePayRefundStatus.GetDescription();
            s.PayAmountStr = s.PayAmount.ToString("F2");
            s.PayTimeStr = !s.PayTime.HasValue ? string.Empty : s.PayTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm);
            s.LifePayTypeStr = s.LifePayType.GetDescription();
            s.PayStatusStr = s.PayStatus.GetDescription();
            s.LifePayOrderStatusStr = s.LifePayOrderStatus.GetDescription();
            s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm);
        });
        return result;
@@ -1267,7 +1259,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)
    public async Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount,string refundApplyRemark)
    {
        var order = await _lifePayOrderRepository.Where(x => x.OrderNo == orderNo).FirstOrDefaultAsync();
        CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "订单不存在");
@@ -1282,7 +1274,10 @@
        {
            order.ACOOLYOrderNo = acoolyOrderNo;
        }
        if (refundApplyRemark.IsNotNullOrEmpty())
        {
            order.RefundApplyRemark = refundApplyRemark;
        }
        order.LifePayOrderStatus = status;
        order.ACOOLYStatus = acoolyStatus;
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -42,7 +42,7 @@
            <param name="outOrderNo"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.Application.Contracts.ILifePayService.ACOOLYOrderNotifyHandler(System.String,System.String,LifePayment.Domain.Shared.LifePayOrderStatusEnum,LifePayment.Domain.Shared.ACOOLYStatusEnum,System.Decimal)">
        <member name="M:LifePayment.Application.Contracts.ILifePayService.ACOOLYOrderNotifyHandler(System.String,System.String,LifePayment.Domain.Shared.LifePayOrderStatusEnum,LifePayment.Domain.Shared.ACOOLYStatusEnum,System.Decimal,System.String)">
            <summary>
            供应商回调处理
            </summary>
@@ -526,6 +526,11 @@
            订单状态
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.QueryLifePayRefundOrderListInput.LifePayRefundStatus">
            <summary>
            订单状态
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.QueryLifePayRefundOrderListInput.UserId">
            <summary>
            用户Id
@@ -731,6 +736,11 @@
            订单号
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListOutput.RefundOrderNo">
            <summary>
            退款订单号
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListOutput.RechargeAmount">
            <summary>
            充值金额
@@ -871,6 +881,51 @@
            完成时间
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.RefundApplyTimeStr">
            <summary>
            退款申请时间
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.CreationTime">
            <summary>
            下单时间
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.RechargeAmount">
            <summary>
            充值金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.ActualReceivedAmount">
            <summary>
            实际到账金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.PayAmount">
            <summary>
            实付金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.RefundPrice">
            <summary>
            退款金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.ACOOLYStatusStr">
            <summary>
            供应商订单状态
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.FinishTime">
            <summary>
            完成时间
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.LifePayRefundStatus">
            <summary>
            平台退款状态
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.UserLifePayOrderOutput.LifePayType">
            <summary>
            生活缴费支付类型
LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
@@ -56,6 +56,7 @@
            ACOOLYStatusEnum acoolyStatus = ACOOLYStatusEnum.充值失败;
            var acoolyOrderNo = string.Empty;
            decimal payAmount = 0;
            string refundApplyRemark = string.Empty;
            _logger.LogError("ACOOLY回调通处理类型:" + baseInfo.Service);
            _logger.LogError("ACOOLY回调内容:" + body);
            switch (baseInfo.Service)
@@ -90,6 +91,7 @@
                    {
                        status = LifePayOrderStatusEnum.待退款;
                        acoolyStatus = ACOOLYStatusEnum.充值失败;
                        refundApplyRemark = "供应商充值失败";
                    }
                    else
                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.退款中)
@@ -216,7 +218,7 @@
                    throw new UserFriendlyException("ACOOLY回调通处理类型不存在");
            }
            await _lifePayService.ACOOLYOrderNotifyHandler(orderNo, acoolyOrderNo, status, acoolyStatus, payAmount);
            await _lifePayService.ACOOLYOrderNotifyHandler(orderNo, acoolyOrderNo, status, acoolyStatus, payAmount, refundApplyRemark);
        }
    }
}