sunpengfei
2025-08-12 c582e460986388dec3c337f3fbc2b8cf616c6e4a
feat:开发
1个文件已添加
7个文件已修改
143 ■■■■■ 已修改文件
FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUserQuery.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUsersQuery.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeesQuery.cs 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/Auths/Commands/LoginCommandHandler.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/UserResumes/Queries/UserResumeQueryHandler.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUserQuery.cs
New file
@@ -0,0 +1,28 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// B端查询应聘报名详情
    /// </summary>
    public class GetTaskUserQuery : IRequest<GetTaskUserQueryResult>
    {
        /// <summary>
        /// Id
        /// </summary>
        public Guid Id { get; set; }
    }
    /// <summary>
    /// B端查询应聘报名详情
    /// </summary>
    public class GetTaskUserQueryResult
    {
    }
}
FlexJobApi.Core/Models/FlexJobServer/TaskUsers/Queries/GetTaskUsersQuery.cs
@@ -18,6 +18,16 @@
        /// 任务Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 关键字
        /// </summary>
        public string Keywords { get; set; }
        /// <summary>
        /// 录用状态
        /// </summary>
        public EnumTaskUserHireStatus? HireStatus { get; set; }
    }
    /// <summary>
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeesQuery.cs
@@ -1,4 +1,5 @@
using System;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
@@ -104,14 +105,54 @@
        public string ContactPhoneNumber { get; set; }
        /// <summary>
        /// 是否实名
        /// </summary>
        public bool UserIsReal { get; set; }
        /// <summary>
        /// 实名方式
        /// </summary>
        public EnumUserRealMethod? RealMethod { get; set; }
        /// <summary>
        /// 身份编号
        /// </summary>
        public string PersonalIdentityCode { get; set; }
        /// <summary>
        /// 身份
        /// </summary>
        public string PersonalIdentityContent { get; set; }
        /// <summary>
        /// 学历编号
        /// </summary>
        public string EducationalBackgroundCode { get; set; }
        /// <summary>
        /// 学历
        /// </summary>
        public string EducationalBackgroundContent { get; set; }
        /// <summary>
        /// 上岗次数
        /// </summary>
        public int TaskCount { get; set; }
        /// <summary>
        /// 工作资历
        /// </summary>
        public string WorkSeniority { get; set; }
        /// <summary>
        /// 工作经验
        /// </summary>
        public string WorkExperience { get; set; }
        /// <summary>
        /// 录用状态
        /// </summary>
        public EnumTaskUserHireStatus HireStatus { get; set; }
        /// <summary>
        /// 实名状态
        /// </summary>
        public bool? UserIsReal { get; set; }
        /// <summary>
        /// 灵工签约状态
FlexJobApi.FlexJobServer.Application/TaskUsers/Queries/TaskUserQueryHandler.cs
@@ -34,6 +34,17 @@
            var q = rep.AsQueryable().AsNoTracking()
                .OrderBy(it => it.CreatedTime)
                .Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId && it.TaskInfoId == request.Id);
            if (request.Keywords.IsNotNull())
            {
                q = q.Where(it =>
                    it.EnterpriseEmployee.User.Name.Contains(request.Keywords)
                    || it.EnterpriseEmployee.User.Identity.Contains(request.Keywords)
                    || it.EnterpriseEmployee.User.PhoneNumber.Contains(request.Keywords));
            }
            if (request.HireStatus.HasValue)
            {
                q = q.Where(it => it.EnterpriseEmployee.HireStatus == request.HireStatus);
            }
            var s = q
                .Select(it => new GetTaskUsersQueryResultItem
                {
FlexJobApi.FlexJobServer.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -267,7 +267,6 @@
            var q = TaskInfoRepository.GetQueryable(rep, true, logier).Where(it =>
                it.TaskInfoUsers.Any(tu =>
                    tu.EnterpriseEmployee.UserId == logier.Id
                    && tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Pass
                    && tu.ArrangeStatus == EnumTaskUserArrangeStatus.Complete));
            if (request.Status.HasValue)
            {
FlexJobApi.UserServer.Application/Auths/Commands/LoginCommandHandler.cs
@@ -270,9 +270,15 @@
                .GetDetail<User, GetPersonalLoginInfoQueryResult>(cancellationToken);
            var taskUserQueryable = rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking()
                .Where(it => it.EnterpriseEmployee.UserId == model.Id);
            model.TaskCount = await taskUserQueryable.CountAsync();
            model.HirePassTaskCount = await taskUserQueryable.CountAsync(it => it.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Pass);
            model.HireRefuseTaskCount = await taskUserQueryable.CountAsync(it => it.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Refuse);
            model.TaskCount = await taskUserQueryable.CountAsync(tu =>
                tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait
                || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait);
            model.HirePassTaskCount = await taskUserQueryable.CountAsync(tu =>
                tu.ArrangeStatus == EnumTaskUserArrangeStatus.Complete);
            model.HireRefuseTaskCount = await taskUserQueryable.CountAsync(tu =>
                tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Refuse
                || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Refuse
                || tu.EnterpriseEmployee.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Refuse);
            return model;
        }
FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs
@@ -70,7 +70,31 @@
            {
                q = q.Where(it => it.EnterpriseSignContractStatus == request.EnterpriseSignContractStatus);
            }
            var s = q.ProjectToType<GetEnterpriseEmployeesQueryResultItem>();
            var s = q.Select(it => new GetEnterpriseEmployeesQueryResultItem
            {
                Id = it.Id,
                Name = it.Name,
                Identity = it.Identity,
                Gender = it.Gender,
                Age = it.Age,
                ContactPhoneNumber = it.ContactPhoneNumber,
                UserIsReal = it.User.IsReal,
                RealMethod = it.User.RealMethod,
                PersonalIdentityCode = it.User.PersonalIdentityCode,
                PersonalIdentityContent = it.User.PersonalIdentity.Content,
                EducationalBackgroundCode = it.User.EducationalBackgroundCode,
                EducationalBackgroundContent = it.User.EducationalBackground.Content,
                TaskCount = it.User.EnterpriseEmployees.Where(ee => ee.HireStatus == EnumTaskUserHireStatus.Pass).Sum(ee => ee.TaskInfoUsers.Count()),
                WorkSeniority = it.User.WorkSeniority,
                WorkExperience = it.User.WorkExperience,
                HireStatus = it.HireStatus,
                UserSignContractStatus = it.UserSignContractStatus,
                HireTime = it.HireTime,
                UserRealTime = it.User.RealTime,
                UserSignContractTime = it.UserSignContractTime,
                EnterpriseSignContractStatus = it.EnterpriseSignContractStatus,
                EnterpriseSignContractTime = it.EnterpriseSignContractTime
            });
            return await request.PageModel.GetPagedListAsync<GetEnterpriseEmployeesQueryResult, GetEnterpriseEmployeesQueryResultItem>(s, cancellationToken);
        }
    }
FlexJobApi.UserServer.Application/UserResumes/Queries/UserResumeQueryHandler.cs
@@ -85,7 +85,7 @@
                PersonalIdentityContent = it.PersonalIdentity.Content,
                EducationalBackgroundCode = it.EducationalBackgroundCode,
                EducationalBackgroundContent = it.EducationalBackground.Content,
                TaskCount = it.EnterpriseEmployees.Sum(ee => ee.TaskInfoUsers.Count(tu => tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Pass)),
                TaskCount = it.User.EnterpriseEmployees.Where(ee => ee.HireStatus == EnumTaskUserHireStatus.Pass).Sum(ee => ee.TaskInfoUsers.Count()),
                WorkSeniority = it.WorkSeniority,
                WorkExperience = it.WorkExperience,
            });