From a2efd6c3bdbea77ef13205f4102cae774a233041 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 05 九月 2025 13:06:02 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs |   43 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs
index f2c78f9..2a88cfc 100644
--- a/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs
@@ -1,6 +1,7 @@
 锘縰sing FlexJobApi.Core;
 using Furion.DatabaseAccessor;
 using Furion.FriendlyException;
+using Mapster;
 using MediatR;
 using Microsoft.EntityFrameworkCore;
 using System;
@@ -15,12 +16,15 @@
     /// 鐢ㄦ埛淇℃伅鍛戒护澶勭悊鍣�
     /// </summary>
     public class UserInfoCommandHandler(
-            IRepository<User> rep
+            IRepository<User> rep,
+            IRepository<UserBankCard> repUserBankCard
         ) :
         IRequestHandler<SetUserInfoStatusCommand, int>,
-        IRequestHandler<SetUserInfoRolesCommand, int>
+        IRequestHandler<SetUserInfoRolesCommand, int>,
+        IRequestHandler<SavePersonalUserBankCardCommand, Guid>
     {
         private readonly IRepository<User> rep = rep;
+        private readonly IRepository<UserBankCard> repUserBankCard = repUserBankCard;
 
         /// <summary>
         /// 璁剧疆鐢ㄦ埛淇℃伅鐘舵��
@@ -63,5 +67,40 @@
             return entity.UserRoles.Count;
         }
 
+        /// <summary>
+        /// 淇濆瓨鐢ㄦ埛閾惰鍗′俊鎭�
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<Guid> Handle(SavePersonalUserBankCardCommand request, CancellationToken cancellationToken)
+        {
+            var logier = JwtUtils.GetCurrentLogier();
+            var entity = await repUserBankCard.AsQueryable()
+                .Where(it => it.UserId == logier.Id)
+                .FirstOrDefaultAsync();
+            var add = false;
+            if (entity == null)
+            {
+                entity = new UserBankCard();
+                entity.UserId = logier.Id;
+                add = true;
+            }
+            request.Adapt(entity);
+            if (entity.Access == EnumEnterpriseWalletAccess.Alipay)
+            {
+                entity.Bank = "鏀粯瀹�";
+                entity.BankBranch = null;
+            }
+            if (add)
+            {
+                await repUserBankCard.InsertAsync(entity);
+            }
+            else
+            {
+                await repUserBankCard.UpdateAsync(entity);
+            }
+            return entity.Id;
+        }
     }
 }

--
Gitblit v1.9.1