sunpengfei
2025-08-22 f7441ac8e0ef8778c4271d4ffec890a7e39bd3ab
feat:开发
2个文件已添加
5个文件已修改
182 ■■■■■ 已修改文件
FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs
@@ -15,6 +15,7 @@
        public EnterpriseEmployee()
        {
            TaskInfoUsers = [];
            Contracts = [];
        }
        /// <summary>
@@ -101,13 +102,13 @@
        public DateTime? EnterpriseSignContractTime { get; set; }
        /// <summary>
        /// 电子合同
        /// </summary>
        public string ContractUrl { get; set; }
        /// <summary>
        /// 任务人员信息
        /// </summary>
        public List<TaskInfoUser> TaskInfoUsers { get; set; }
        /// <summary>
        /// 合同
        /// </summary>
        public List<EnterpriseEmployeeContract> Contracts { get; set; }
    }
}
FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs
New file
@@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 灵工合同
    /// </summary>
    public class EnterpriseEmployeeContract : CommonEntity
    {
        /// <summary>
        /// 灵工Id
        /// </summary>
        public Guid EnterpriseEmployeeId { get; set; }
        /// <summary>
        /// 灵工
        /// </summary>
        public EnterpriseEmployee EnterpriseEmployee { get; set; }
        /// <summary>
        /// 灵工签约状态
        /// </summary>
        public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
        /// <summary>
        /// 灵工签约时间
        /// </summary>
        public DateTime? UserSignContractTime { get; set; }
        /// <summary>
        /// 企业签约状态
        /// </summary>
        public EnumTaskUserSignContractStatus? EnterpriseSignContractStatus { get; set; }
        /// <summary>
        /// 企业签约时间
        /// </summary>
        public DateTime? EnterpriseSignContractTime { get; set; }
        /// <summary>
        /// 合同编号
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 电子合同
        /// </summary>
        public string Url { get; set; }
    }
}
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -1740,14 +1740,59 @@
            企业签约时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployee.ContractUrl">
            <summary>
            电子合同
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployee.TaskInfoUsers">
            <summary>
            任务人员信息
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployee.Contracts">
            <summary>
            合同
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnterpriseEmployeeContract">
            <summary>
            灵工合同
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.EnterpriseEmployeeId">
            <summary>
            灵工Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.EnterpriseEmployee">
            <summary>
            灵工
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.UserSignContractStatus">
            <summary>
            灵工签约状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.UserSignContractTime">
            <summary>
            灵工签约时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.EnterpriseSignContractStatus">
            <summary>
            企业签约状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.EnterpriseSignContractTime">
            <summary>
            企业签约时间
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.Code">
            <summary>
            合同编号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.Url">
            <summary>
            电子合同
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnterpriseUserCollect">
@@ -8129,6 +8174,16 @@
            错误信息
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQuery">
            <summary>
            查询个人用户签约详情
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult">
            <summary>
            查询个人用户签约详情-结果
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeQuery">
            <summary>
            查询灵工详情
FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs
@@ -13,6 +13,7 @@
    [Resource([EnumResourceController.UserServerElectronSign])]
    public class GetEnabledElectronSignSettingsQuery : IRequest<List<GetEnabledElectronSignSettingsQueryResultItem>>
    {
    }
    /// <summary>
FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs
New file
@@ -0,0 +1,25 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 查询个人用户签约详情
    /// </summary>
    [Resource([EnumResourceController.UserServerEnterpriseEmployee])]
    public class GetEnterpriseEmployeeElectronSignQuery : IRequest<GetEnterpriseEmployeeElectronSignQueryResult>
    {
    }
    /// <summary>
    /// 查询个人用户签约详情-结果
    /// </summary>
    public class GetEnterpriseEmployeeElectronSignQueryResult
    {
    }
}
FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs
@@ -15,11 +15,13 @@
    /// 电子签配置查询处理器
    /// </summary>
    public class ElectronSignSettingQueryHandler(
            IRepository<ElectronSignSetting> rep
            IRepository<ElectronSignSetting> rep,
            IRepository<EnterpriseElectronSignSetting> repEnterpriseElectronSignSetting
        ) :
        IRequestHandler<GetEnabledElectronSignSettingsQuery, List<GetEnabledElectronSignSettingsQueryResultItem>>
    {
        private readonly IRepository<ElectronSignSetting> rep = rep;
        private readonly IRepository<EnterpriseElectronSignSetting> repEnterpriseElectronSignSetting = repEnterpriseElectronSignSetting;
        /// <summary>
        /// 查询已启用的电子签配置
@@ -27,10 +29,20 @@
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task<List<GetEnabledElectronSignSettingsQueryResultItem>> Handle(GetEnabledElectronSignSettingsQuery request, CancellationToken cancellationToken)
        public async Task<List<GetEnabledElectronSignSettingsQueryResultItem>> Handle(GetEnabledElectronSignSettingsQuery request, CancellationToken cancellationToken)
        {
            return rep.AsQueryable().AsNoTracking()
                .Where(it => !it.IsDisabled)
            var logier = JwtUtils.GetCurrentLogier();
            var q = rep.AsQueryable().AsNoTracking()
                .Where(it => !it.IsDisabled);
            if (logier.Type == EnumUserType.Enterprise)
            {
                var accesses = await repEnterpriseElectronSignSetting.AsQueryable()
                    .Where(it => it.EnterpriseId == logier.EnterpriseId)
                    .Select(it => it.ElectronSignAccess)
                    .ToListAsync();
                q = q.Where(it => accesses.Contains(it.Access));
            }
            return q
                .ProjectToType<GetEnabledElectronSignSettingsQueryResultItem>()
                .ToListAsync();
        }
FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs
@@ -126,7 +126,10 @@
                    UserSignContractStatus = it.UserSignContractStatus,
                    EnterpriseSignContractStatus = it.EnterpriseSignContractStatus,
                    EnterpriseSignContractTime = it.EnterpriseSignContractTime,
                    ContractUrl = it.ContractUrl,
                    ContractUrl = it.Contracts
                        .Where(c => c.EnterpriseSignContractStatus == it.EnterpriseSignContractStatus)
                        .Select(c => c.Url)
                        .FirstOrDefault(),
                });
            return request.PageModel.GetPagedListAsync<GetPersonalUserInfoSignContractsQueryResult, GetPersonalUserInfoSignContractsQueryResultItem>(q, cancellationToken);
        }