sunpengfei
2025-08-12 54a585e07c82223787c2d1db185e3fc085727eaa
feat:开发
1个文件已添加
3个文件已修改
219 ■■■■■ 已修改文件
FlexJobApi.Core/FlexJobApi.Core.xml 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeQuery.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -5125,6 +5125,87 @@
            获取当前登录用户菜单
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeQuery">
            <summary>
            查询灵工详情
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQuery.Id">
            <summary>
            灵工Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQuery.TaskInfoId">
            <summary>
            任务Id
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult">
            <summary>
            查询灵工分页列表数据-结果
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Id">
            <summary>
            灵工Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Name">
            <summary>
            姓名
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Identity">
            <summary>
            身份证号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.ContactPhoneNumber">
            <summary>
            手机号
            </summary>
            <remarks>联系电话</remarks>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Gender">
            <summary>
            性别
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Age">
            <summary>
            年龄
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.IdentityImg">
            <summary>
            身份证人像面
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.IdentityBackImg">
            <summary>
            身份证国徽面
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.ApplyTime">
            <summary>
            报名时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.UserRealTime">
            <summary>
            实名时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.EnterpriseSignContractTime">
            <summary>
            企业签约时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.ContractUrl">
            <summary>
            电子合同
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetEnterpriseEmployeesQuery">
            <summary>
            查询灵工分页列表数据
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeQuery.cs
New file
@@ -0,0 +1,96 @@
using MediatR;
using Newtonsoft.Json;
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.EnterpriseEmployee])]
    public class GetEnterpriseEmployeeQuery : IRequest<GetEnterpriseEmployeeQueryResult>
    {
        /// <summary>
        /// 灵工Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 任务Id
        /// </summary>
        public Guid? TaskInfoId { get; set; }
    }
    /// <summary>
    /// 查询灵工分页列表数据-结果
    /// </summary>
    public class GetEnterpriseEmployeeQueryResult
    {
        /// <summary>
        /// 灵工Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 身份证号
        /// </summary>
        public string Identity { get; set; }
        /// <summary>
        /// 手机号
        /// </summary>
        /// <remarks>联系电话</remarks>
        public string ContactPhoneNumber { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public EnumUserGender? Gender { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public int? Age { get; set; }
        /// <summary>
        /// 身份证人像面
        /// </summary>
        public string IdentityImg { get; set; }
        /// <summary>
        /// 身份证国徽面
        /// </summary>
        public string IdentityBackImg { get; set; }
        /// <summary>
        /// 报名时间
        /// </summary>
        public DateTimeOffset? ApplyTime { get; set; }
        /// <summary>
        /// 实名时间
        /// </summary>
        public DateTime? UserRealTime { get; set; }
        /// <summary>
        /// 企业签约时间
        /// </summary>
        public DateTime? EnterpriseSignContractTime { get; set; }
        /// <summary>
        /// 电子合同
        /// </summary>
        public string ContractUrl { get; set; }
    }
}
FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs
@@ -17,7 +17,8 @@
    public class EnterpriseEmployeeQueryHandler(
            IRepository<EnterpriseEmployee> rep
        ) :
        IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>
        IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>,
        IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult>
    {
        private readonly IRepository<EnterpriseEmployee> rep = rep;
@@ -97,5 +98,36 @@
            });
            return await request.PageModel.GetPagedListAsync<GetEnterpriseEmployeesQueryResult, GetEnterpriseEmployeesQueryResultItem>(s, cancellationToken);
        }
        /// <summary>
        /// 查询灵工详情
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task<GetEnterpriseEmployeeQueryResult> Handle(GetEnterpriseEmployeeQuery request, CancellationToken cancellationToken)
        {
            var logier = JwtUtils.GetCurrentLogier();
            var model = await rep.AsQueryable().AsNoTracking()
                .Where(it => it.Id == request.Id)
                .GetDetail<EnterpriseEmployee, GetEnterpriseEmployeeQueryResult>(cancellationToken);
            if (request.TaskInfoId.HasValue)
            {
                model.ApplyTime = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking()
                    .Where(it => it.TaskInfoId == request.TaskInfoId && it.EnterpriseEmployeeId == request.Id)
                    .Select(it => it.CreatedTime as DateTimeOffset?)
                    .FirstOrDefaultAsync(cancellationToken);
            }
            else if (logier.Type == EnumUserType.Enterprise)
            {
                model.ApplyTime = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking()
                    .OrderBy(it => it.CreatedTime)
                    .Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId && it.EnterpriseEmployeeId == request.Id)
                    .Select(it => it.CreatedTime as DateTimeOffset?)
                    .FirstOrDefaultAsync(cancellationToken);
            }
            return model;
        }
    }
}
FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
@@ -166,6 +166,14 @@
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.UserServer.Application.EnterpriseEmployeeQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseEmployeeQuery,System.Threading.CancellationToken)">
            <summary>
            查询灵工详情
            </summary>
            <param name="request"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="T:FlexJobApi.UserServer.Application.EnterpriseCommandHandler">
            <summary>
            企业命令处理器