From 67d5dbb966df4af4304b4168378c68ce83ad01b1 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期三, 10 九月 2025 13:05:50 +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