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

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

diff --git a/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs
index e489ec1..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>
         /// 璁剧疆鐢ㄦ埛淇℃伅鐘舵��
@@ -52,7 +56,7 @@
                 .Include(it => it.UserRoles)
                 .Where(it => it.Id == request.UserInfoId)
                 .FirstOrDefaultAsync(cancellationToken);
-            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ョ敤鎴�");
+            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "鐢ㄦ埛");
             entity.UserRoles = request.RoleIds
                 .Select(it => new UserRole
                 {
@@ -62,5 +66,41 @@
             await rep.UpdateAsync(entity);
             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