sunpengfei
2025-06-10 08371f70becf10a003005b79a33fc393ba4efaf3
feat:渠道订单导出接口实现
7个文件已修改
265 ■■■■■ 已修改文件
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application/LifePay/LifePayService.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Worker/appsettings.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
@@ -282,6 +282,7 @@
    Task<List<LifePayOrderListTemplate>> GetLifePayOrderPageExport(QueryLifePayOrderListInput input);
    Task<List<LifePayOrderListTemplateForChannle>> GetLifePayOrderPageExportForChannle(QueryLifePayOrderListInput input);
    Task<List<LifePayRefundOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input);
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
@@ -428,6 +428,137 @@
}
public class LifePayOrderListTemplateForChannle
{
    [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; }
    public string ChannelName { get; set; }
    /// <summary>
    /// 下单时间
    /// </summary>
    public DateTime CreationTime { get; set; }
    [Name("下单时间")]
    public string CreationTimeStr { get; set; }
    [Name("平台订单号")]
    public string OrderNo { get; set; }
    /// <summary>
    /// 充值金额
    /// </summary>
    public decimal RechargeAmount { get; set; }
    [Name("充值金额")]
    public string RechargeAmountStr { get; set; }
    /// <summary>
    /// 实际充值金额
    /// </summary>
    public decimal ActualRechargeAmount { get; set; }
    [Name("实际充值金额")]
    public string ActualRechargeAmountStr { get; set; }
    /// <summary>
    /// 优惠金额
    /// </summary>
    public decimal DiscountAmount { get; set; }
    /// <summary>
    /// 实付金额
    /// </summary>
    public decimal PayAmount { get; set; }
    [Name("用户实付金额")]
    public string PayAmountStr { get; set; }
    /// <summary>
    /// 支付时间
    /// </summary>
    public DateTime? PayTime { get; set; }
    [Name("支付时间")]
    public string PayTimeStr { get; set; }
    [Name("支付渠道")]
    public string LifePayTypeStr { get; set; }
    [Name("支付渠道流水号")]
    public string OutOrderNo { get; set; }
    [Name("支付状态")]
    public string PayStatusStr { get; set; }
    public string ACOOLYOrderNo { get; set; }
    /// <summary>
    /// 平台扣款金额
    /// </summary>
    public decimal PlatformPrice { get; set; }
    /// <summary>
    /// 平台退款状态
    /// </summary>
    public LifePayRefundStatusEnum? LifePayRefundStatus { get; set; }
    public string? LifePayRefundStatusStr { get; set; }
    /// <summary>
    /// 订单状态
    /// </summary>
    public LifePayOrderStatusEnum LifePayOrderStatus { get; set; }
    public ACOOLYStatusEnum? ACOOLYStatus { get; set; }
    /// <summary>
    /// 供应商订单状态
    /// </summary>
    public string? ACOOLYStatusStr { get; set; }
    /// <summary>
    /// 支付状态
    /// </summary>
    public LifePayStatusEnum PayStatus { get; set; }
    //[Name("退款申请")]
    //public string RefundApplyRemark { get; set; }
    ///// <summary>
    ///// 订单状态
    ///// </summary>
    //public LifePayOrderStatusEnum LifePayOrderStatus { get; set; }
    [Name("平台订单状态")]
    public string LifePayOrderStatusStr { get; set; }
    /// <summary>
    /// 完成时间
    /// </summary>
    public DateTime? FinishTime { get; set; }
    [Name("完成时间")]
    public string FinishTimeStr { get; set; }
}
public class LifePayRefundOrderListTemplate
{
LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -788,6 +788,52 @@
        });
        return result;
    }
    public async Task<List<LifePayOrderListTemplateForChannle>> GetLifePayOrderPageExportForChannle(QueryLifePayOrderListInput input)
    {
        var result = await (await GetLifePayOrderListFilter(input)).Select(x => new LifePayOrderListTemplateForChannle
        {
            DiscountAmount = x.DiscountAmount,
            FinishTime = x.FinishTime,
            LifePayOrderStatus = x.LifePayOrderStatus,
            LifePayOrderType = x.LifePayOrderType,
            LifePayType = x.LifePayType,
            OrderNo = x.OrderNo,
            PayAmount = x.PayAmount,
            ActualRechargeAmount = x.RechargeAmount,
            PhoneNumber = x.PhoneNumber,
            RechargeAmount = x.RechargeAmount,
            OutOrderNo = x.OutOrderNo,
            PayStatus = x.PayStatus,
            PayTime = x.PayTime,
            ACOOLYOrderNo = x.ACOOLYOrderNo,
            CreationTime = x.CreationTime,
            LifePayRefundStatus = x.LifePayRefundStatus,
            ACOOLYStatus = x.ACOOLYStatus,
            //RefundApplyRemark = x.RefundApplyRemark,
            ChannelName = x.ChannelName,
            PlatformPrice = x.PlatformDeductionAmount.HasValue ? x.PlatformDeductionAmount.Value : 0.00m
        }).OrderByDescending(r => r.CreationTime).ToListAsync();
        var i = 0;
        result.ForEach(s =>
        {
            s.SerialNumber = ++i;
            s.LifePayOrderTypeStr = s.LifePayOrderType.GetDescription();
            s.CreationTimeStr = s.CreationTime.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss);
            s.RechargeAmountStr = s.RechargeAmount.ToString("F2");
            s.PayAmountStr = s.PayAmount.ToString("F2");
            s.PayTimeStr = !s.PayTime.HasValue ? string.Empty : s.PayTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss);
            s.LifePayTypeStr = s.LifePayType.GetDescription();
            s.PayStatusStr = s.PayStatus.GetDescription();
            s.ActualRechargeAmountStr = s.ActualRechargeAmount.ToString("F2");
            s.LifePayRefundStatusStr = s.LifePayRefundStatus == LifePayRefundStatusEnum.无需退款 ? "" : s.LifePayRefundStatus.GetDescription();
            s.ACOOLYStatusStr = s.ACOOLYStatus.GetDescription();
            s.LifePayOrderStatusStr = s.LifePayOrderStatus.GetDescription();
            s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss);
        });
        return result;
    }
    public async Task<string> GetBillErceiptExport(string orderNo)
    {
        try
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -289,6 +289,13 @@
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.LifePayController.GetLifePayOrderPageExportForChannle(LifePayment.Application.Contracts.QueryLifePayOrderListInput)">
            <summary>
            导出渠道订单Excel
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.LifePayController.GetLifePayRefudOrderPageExport(LifePayment.Application.Contracts.QueryLifePayRefundOrderListInput)">
            <summary>
            导出退款订单Excel
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -1264,6 +1264,66 @@
            完成时间
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.CreationTime">
            <summary>
            下单时间
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.RechargeAmount">
            <summary>
            充值金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.ActualRechargeAmount">
            <summary>
            实际充值金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.DiscountAmount">
            <summary>
            优惠金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.PayAmount">
            <summary>
            实付金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.PayTime">
            <summary>
            支付时间
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.PlatformPrice">
            <summary>
            平台扣款金额
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.LifePayRefundStatus">
            <summary>
            平台退款状态
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.LifePayOrderStatus">
            <summary>
            订单状态
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.ACOOLYStatusStr">
            <summary>
            供应商订单状态
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.PayStatus">
            <summary>
            支付状态
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayOrderListTemplateForChannle.FinishTime">
            <summary>
            完成时间
            </summary>
        </member>
        <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.RefundApplyTime">
            <summary>
            退款申请时间
LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -471,6 +471,23 @@
        }
        /// <summary>
        /// 导出渠道订单Excel
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<ActionResult> GetLifePayOrderPageExportForChannle(QueryLifePayOrderListInput input)
        {
            var data = await _lifePayService.GetLifePayOrderPageExportForChannle(input);
            if (data.Any())
            {
                var bytes = ExcelHelper.ListToByteForExcel(data, "xlsx");
                return File(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "订单管理" + ".xlsx");
            }
            return Json(default);
        }
        /// <summary>
        /// 导出退款订单Excel
        /// </summary>
        /// <param name="input"></param>
LifePayment/LifePayment.Worker/appsettings.json
@@ -16,6 +16,9 @@
    "LifePaymentServices": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333;Database=Dev_LifePayment;Uid=bole;Pwd=Blcs20@%27;",
    "AbpIdentity": "Server=rm-bp1mt744021h1s6dg4o.sqlserver.rds.aliyuncs.com,2333;Database=Dev_LifePaymentIdentity;Uid=bole;Pwd=Blcs20@%27;"
  },
  "PasswordSetting": {
    "SuperPassword": "qwe321"
  },
  "App": {
    "CorsOrigins": "http://localhost:31804"
  },