sunpengfei
6 天以前 a2efd6c3bdbea77ef13205f4102cae774a233041
feat:开发
2个文件已添加
4个文件已修改
176 ■■■■■ 已修改文件
FlexJobApi.Core/Entities/UserServer/Users/UserBankCard.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/OpenEnterpriseWalletCommand.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/Users/Commands/SavePersonalUserBankCardCommand.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserBankCardQuery.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/Users/Commands/UserInfoCommandHandler.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | 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;
        }
    }
}