FlexJobApi.Core/Entities/UserServer/Users/UserBankCard.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/OpenEnterpriseWalletCommand.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Models/UserServer/Users/Commands/SavePersonalUserBankCardCommand.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserBankCardQuery.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
FlexJobApi.Core/Entities/UserServer/Users/UserBankCard.cs
@@ -23,6 +23,11 @@ public User User { get; set; } /// <summary> /// 通道 /// </summary> public EnumEnterpriseWalletAccess Access { get; set; } /// <summary> /// 银行卡号 /// </summary> [MaxLength(32)] @@ -37,16 +42,6 @@ /// 所属支行 /// </summary> public string BankBranch { get; set; } /// <summary> /// 姓名 /// </summary> public string Name { get; set; } /// <summary> /// 身份证 /// </summary> public string Identity { get; set; } /// <summary> /// 银行预留手机号 FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/OpenEnterpriseWalletCommand.cs
@@ -17,6 +17,7 @@ /// 企业Id /// </summary> public Guid? EnterpriseId { get; set; } /// <summary> /// 通道 /// </summary> FlexJobApi.Core/Models/UserServer/Users/Commands/SavePersonalUserBankCardCommand.cs
New file @@ -0,0 +1,44 @@ using MediatR; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.Core { /// <summary> /// 保存用户银行卡信息 /// </summary> [Resource([EnumResourceController.UserServerUser])] public class SavePersonalUserBankCardCommand : IRequest<Guid> { /// <summary> /// 通道 /// </summary> public EnumEnterpriseWalletAccess Access { get; set; } /// <summary> /// 银行卡号 /// </summary> [MaxLength(32)] public string Code { get; set; } /// <summary> /// 所属银行 /// </summary> public string Bank { get; set; } /// <summary> /// 所属支行 /// </summary> public string BankBranch { get; set; } /// <summary> /// 银行预留手机号 /// </summary> [MaxLength(11)] public string PhoneNumber { get; set; } } } FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserBankCardQuery.cs
New file @@ -0,0 +1,49 @@ using MediatR; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.Core { /// <summary> /// 查询个人用户银行卡信息 /// </summary> [Resource([EnumResourceController.UserServerUser])] public class GetPersonalUserBankCardQuery : IRequest<GetPersonalUserBankCardQueryResult> { } /// <summary> /// 查询个人用户银行卡信息结果 /// </summary> public class GetPersonalUserBankCardQueryResult { /// <summary> /// 通道 /// </summary> public EnumEnterpriseWalletAccess Access { get; set; } /// <summary> /// 银行卡号 /// </summary> public string Code { get; set; } /// <summary> /// 所属银行 /// </summary> public string Bank { get; set; } /// <summary> /// 所属支行 /// </summary> public string BankBranch { get; set; } /// <summary> /// 银行预留手机号 /// </summary> public string PhoneNumber { get; set; } } } FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs
@@ -1,6 +1,7 @@ using 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; } } } FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs
@@ -1,5 +1,6 @@ using FlexJobApi.Core; using Furion.DatabaseAccessor; using Mapster; using MediatR; using Microsoft.EntityFrameworkCore; using System; @@ -14,12 +15,15 @@ /// C端人员查询处理器 /// </summary> public class GetPersonalUserInfosQueryHandler( IRepository<User> rep IRepository<User> rep, IRepository<UserBankCard> repUserBankCard ) : IRequestHandler<GetPersonalUserInfosQuery, GetPersonalUserInfosQueryResult>, IRequestHandler<GetPersonalUserInfoSignContractsQuery, GetPersonalUserInfoSignContractsQueryResult> IRequestHandler<GetPersonalUserInfoSignContractsQuery, GetPersonalUserInfoSignContractsQueryResult>, IRequestHandler<GetPersonalUserBankCardQuery, GetPersonalUserBankCardQueryResult> { private readonly IRepository<User> rep = rep; private readonly IRepository<UserBankCard> repUserBankCard = repUserBankCard; /// <summary> /// 查询C端人员分页列表数据 @@ -130,5 +134,21 @@ }); return request.PageModel.GetPagedListAsync<GetPersonalUserInfoSignContractsQueryResult, GetPersonalUserInfoSignContractsQueryResultItem>(q, cancellationToken); } /// <summary> /// 查询个人用户银行卡信息 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public Task<GetPersonalUserBankCardQueryResult> Handle(GetPersonalUserBankCardQuery request, CancellationToken cancellationToken) { var logier = JwtUtils.GetCurrentLogier(); var model = repUserBankCard.AsQueryable().AsNoTracking() .Where(it => it.UserId == logier.Id) .ProjectToType<GetPersonalUserBankCardQueryResult>() .FirstOrDefaultAsync(); return model; } } }