sunpengfei
6 天以前 a2efd6c3bdbea77ef13205f4102cae774a233041
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端人员分页列表数据
@@ -82,7 +86,7 @@
                HireTime = it.EnterpriseEmployees
                    .SelectMany(ee => ee.TaskInfoUsers)
                    .OrderByDescending(e => e.HireTime)
                    .Where(e => e.HireStatus == EnumTaskUserHireStatus.Pass && e.HireTime.HasValue)
                    .Where(e => e.HireTime.HasValue)
                    .Select(e => e.HireTime)
                    .FirstOrDefault(),
                SignContractTime = it.EnterpriseEmployees
@@ -120,7 +124,7 @@
                        : EnumTaskUserHireStatus.Wait,
                    HireTime = it.TaskInfoUsers
                        .OrderBy(tu => tu.HireTime)
                        .Where(tu => tu.HireStatus == EnumTaskUserHireStatus.Pass && tu.HireTime.HasValue)
                        .Where(tu => tu.HireTime.HasValue)
                        .Select(tu => tu.HireTime)
                        .FirstOrDefault(),
                    UserSignContractStatus = it.UserSignContractStatus,
@@ -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;
        }
    }
}