From 1650950e7f246915599e62a3caaadf88e1dd3405 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期五, 28 三月 2025 16:12:46 +0800
Subject: [PATCH] fix:提交

---
 LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 54 insertions(+), 4 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index 6eb97db..ce4d0c2 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -12,6 +12,8 @@
 using Microsoft.EntityFrameworkCore;
 using ZeroD.Util;
 using LifePayment.Domain;
+using static LifePayment.Domain.Shared.LifePaymentConstant;
+using Newtonsoft.Json;
 
 namespace LifePayment.Application.LifePay
 {
@@ -99,6 +101,31 @@
             }
         }
 
+
+        public async Task<LifePayExpensesReceiptsPageOutput<LifePayExpensesReceiptsListOutput>> GetLifePayExpensesReceiptsPage(LifePayExpensesReceiptsPageInput input)
+        {
+            var list = await _lifePayExpensesReceiptsRepository.Where(x => x.IsDeleted == false)
+                .WhereIf(input.KeyWord.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWord))
+                .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
+                .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
+                .Select(x => new LifePayRechargeReceiptsListOutput()
+                {
+                    Id = x.Id,
+                    OrderNo = x.OrderNo,
+                    //RechargeAmount = x.RechargeAmount,
+                    //Remark = x.Remark,
+                    //Voucher = x.Voucher.GetOssPath(),
+                    CreationTime = x.CreationTime,
+                })
+                .GetPageResult(input.PageModel);
+
+            var total = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false).SumAsync(x => x.RechargeAmount);
+            LifePayExpensesReceiptsPageOutput<LifePayExpensesReceiptsListOutput> result = new LifePayExpensesReceiptsPageOutput<LifePayExpensesReceiptsListOutput>();
+            //result.Data = list.Data;
+            result.TotalRechargeAmount = total;
+            return result;
+        }
+
         /// <summary>
         /// 鎻掑叆鏀舵敮娴佹按
         /// </summary>
@@ -117,7 +144,7 @@
                     OutOrderNo = input.OutOrderNo,
                     LifePayType = input.LifePayType,
                     ExpensesReceiptsType = input.ExpensesReceiptsType,
-                    Amount = input.Amount
+                    Amount = input.Amount,
                 };
 
                 switch (input.LifePayType)
@@ -128,6 +155,8 @@
                             var query = await _aliPayApi.OrderInQuiry(new OrderInQuiryInput() { OutTradeNo = input.OrderNo });
                             if (query.Code == AlipayResultCode.Success && query.TradeStatus == AlipayStatus.TRADESUCCESS)
                             {
+                                data.ExtraProperties = JsonConvert.SerializeObject(query);
+                                data.FinishTime = Convert.ToDateTime(query.SendPayDate);
                                 await _lifePayExpensesReceiptsRepository.InsertAsync(data);
                             }
                         }
@@ -136,15 +165,36 @@
                             var query = await _aliPayApi.QueryAlipayTradeRefund(new OrderInQuiryInput() { OutTradeNo = input.OrderNo });
                             if (query.Code == AlipayResultCode.Success && query.RefundStatus == AlipayRefundStatus.Success)
                             {
+                                data.ExtraProperties = JsonConvert.SerializeObject(query);
+                                //data.FinishTime = Convert.ToDateTime(query.SendPayDate);
                                 await _lifePayExpensesReceiptsRepository.InsertAsync(data);
                             }
                         }
                         break;
-                    case LifePayTypeEnum.WxPay: break;
+                    case LifePayTypeEnum.WxPay:
+                        if (input.ExpensesReceiptsType == ExpensesReceiptsTypeEnum.Expenses)
+                        {
+                            var query = await _wxPayApi.WxPayTradeQuery(input.OrderNo);
+                            if (query.Code == AlipayResultCode.Success && query.Status == WxPayStatus.鏀粯鎴愬姛)
+                            {
+                                data.ExtraProperties = JsonConvert.SerializeObject(query);
+                                data.FinishTime = Convert.ToDateTime(query.SuccessTime);
+                                await _lifePayExpensesReceiptsRepository.InsertAsync(data);
+                            }
+                        }
+                        else
+                        {
+                            var query = await _wxPayApi.WxPayDomesticRefundsQuery(input.OrderNo);
+                            if (query.Code == AlipayResultCode.Success && query.RefundStatus == WxPayRefundStatus.閫�娆炬垚鍔�)
+                            {
+                                data.ExtraProperties = JsonConvert.SerializeObject(query);
+                                data.FinishTime = Convert.ToDateTime(query.SuccessTime);
+                                await _lifePayExpensesReceiptsRepository.InsertAsync(data);
+                            }
+                        }
+                        break;
                     default: break;
                 }
-                
-                
             }
         }
     }

--
Gitblit v1.9.1