From 82831a86d529817e51f5b6e3cec636d21cef3c9b Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期三, 19 三月 2025 16:17:40 +0800
Subject: [PATCH] fix:bug修复

---
 LifePayment/LifePayment.Application/LifePay/LifePayService.cs |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index 440288d..d0c1245 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -29,6 +29,8 @@
 using Z.EntityFramework.Plus;
 using LifePayment.Domain.LifePay;
 using pingan.openbank.api.sdk.enums;
+using System.Linq.Dynamic.Core;
+using static Volo.Abp.Identity.Settings.IdentitySettingNames;
 
 namespace LifePayment.Application;
 
@@ -169,13 +171,19 @@
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
-    public async Task<PageOutput<UserListOutput>> GetUserPage(PageInput input)
+    public async Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input)
     {
-        return await _lifePayUserRepository.Select(x =>
+        return await _lifePayUserRepository.Where(x => x.IsDeleted == false)
+            .WhereIf(!string.IsNullOrEmpty(input.QueryCondition), x => x.PhoneNumber.Contains(input.QueryCondition) || x.Name.Contains(input.QueryCondition))
+            .WhereIf(input.CreationTime.HasValue, x => x.CreationTime.ToString("yyyy-MM-dd") == input.CreationTime.Value.ToString("yyyy-MM-dd"))
+                                            .Select(x =>
                                                    new UserListOutput()
                                                    {
                                                        Id = x.Id,
+                                                       CreationChannle = string.IsNullOrEmpty(x.CreationChannleNum) ? "" : _lifePayChannlesRep.Where(c => c.ChannlesNum == x.CreationChannleNum).FirstOrDefault().ChannlesName,
+                                                       LastLoginChannle = string.IsNullOrEmpty(x.LastLoginChannleNum) ? "" : _lifePayChannlesRep.Where(c => c.ChannlesNum == x.LastLoginChannleNum).FirstOrDefault().ChannlesName,
                                                        PhoneNumber = x.PhoneNumber,
+                                                       Name = string.IsNullOrEmpty(x.Name) ? "" : x.Name,
                                                        CreationTime = x.CreationTime,
                                                        LastLoginTime = x.LastLoginTime
                                                    })
@@ -367,6 +375,7 @@
                                                     {
                                                         Id = x.Id,
                                                         ChannlesRate = x.ChannlesRate,
+                                                        ChannlesRakeRate = x.ChannlesRakeRate,
                                                         ChannlesName = x.ChannlesName,
                                                         ChannlesNum = x.ChannlesNum,
                                                         Status = x.Status,
@@ -1068,6 +1077,15 @@
         await _lifePayOrderRepository.UpdateAsync(order);
     }
 
+    /// <summary>
+    /// 寰俊閫�娆�
+    /// </summary>
+    /// <param name="outTradeNo"></param>
+    /// <param name="reason"></param>
+    /// <param name="refund"></param>
+    /// <param name="total"></param>
+    /// <param name="currency"></param>
+    /// <returns></returns>
     public async Task<WxPayDomesticRefundsReponse> WxPayDomesticRefunds(string outTradeNo, string reason, int refund, int total, string currency = "CNY")
     {
         WxPayDomesticRefundsRequest req = new WxPayDomesticRefundsRequest
@@ -1088,8 +1106,13 @@
         return res;
     }
 
+
+
     public async Task<int> AddUpdateUserAccount(AddUpdateUserAccountInput input)
     {
+        var user = await _lifePayUserRepository.Where(r => r.Id == input.UserId && !r.IsDeleted).FirstOrDefaultAsync();
+        CheckExtensions.IfTrueThrowUserFriendlyException(user == null, "鐢ㄦ埛涓嶅瓨鍦�");
+
         if (input.Id.HasValue)
         {
             var userAccount = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.Id == input.Id)
@@ -1126,6 +1149,16 @@
             };
             await _lifePayAccount.InsertAsync(userAccount);
         }
+
+        if (input.LifePayType == LifePayOrderTypeEnum.璇濊垂璁㈠崟)
+        {
+            var extraProperties = JsonConvert.DeserializeObject<Model_UserAccountExtraProperties>(input.ExtraProperties);
+            if (!string.IsNullOrEmpty(extraProperties.Name))
+            {
+                user.Name = extraProperties.Name;
+            }
+        }
+
 
         return Constant.SUCCESS;
     }
@@ -1585,6 +1618,7 @@
                     {
                         Id = x.Id,
                         ChannlesRate = x.ChannlesRate,
+                        ChannlesRakeRate = x.ChannlesRakeRate,
                         ChannlesName = x.ChannlesName,
                         ChannlesNum = x.ChannlesNum,
                         Status = x.Status,

--
Gitblit v1.9.1