sunpengfei
2025-08-07 7620ece055c34a13c868d846f4f34cd0a0fb3c4d
feat:任务开发
7个文件已添加
9个文件已修改
607 ■■■■■ 已修改文件
FlexJobApi.Application/FlexJobApi.Application.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/Tasks/TaskInfo.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Tasks/EnumTaskCheckReceiveStatus.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Tasks/EnumTaskRecommendStatus.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Tasks/EnumTaskSettlementStatus.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Tasks/EnumTaskUserSettlementStatus.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/FlexJobApi.Application.xml
@@ -145,6 +145,22 @@
            <returns></returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:FlexJobApi.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SetTaskInfoReleaseStatusCommand,System.Threading.CancellationToken)">
            <summary>
            设置任务发布状态
            </summary>
            <param name="request"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SetTaskInfoRecommendStatusCommand,System.Threading.CancellationToken)">
            <summary>
            设置任务是否推荐
            </summary>
            <param name="request"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="T:FlexJobApi.Application.TaskInfoQueryHandler">
            <summary>
            任务查询处理器
FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs
@@ -17,8 +17,10 @@
    /// </summary>
    public class TaskInfoCommandHandler(
            IRepository<TaskInfo> rep
        )
        : IRequestHandler<SaveTaskInfoCommand, Guid>
        ) :
        IRequestHandler<SaveTaskInfoCommand, Guid>,
        IRequestHandler<SetTaskInfoReleaseStatusCommand, int>,
        IRequestHandler<SetTaskInfoRecommendStatusCommand, int>
    {
        private readonly IRepository<TaskInfo> rep = rep;
@@ -34,7 +36,8 @@
        {
            var logier = JwtUtils.GetCurrentLogier();
            return await request.SaveData<TaskInfo, SaveTaskInfoCommand>(
                 q => {
                 q =>
                 {
                     q = TaskInfoRepository.GetQueryable(rep)
                          .Include(it => it.Benefits)
                          .Include(it => it.CredentialLimits);
@@ -65,6 +68,44 @@
                 cancellationToken);
        }
        /// <summary>
        /// 设置任务发布状态
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task<int> Handle(SetTaskInfoReleaseStatusCommand request, CancellationToken cancellationToken)
        {
            var entities = await TaskInfoRepository.GetQueryable(rep)
                .Where(it => request.Ids.Contains(it.Id))
                .ToListAsync();
            foreach (var entity in entities)
            {
                entity.ReleaseStatus = request.ReleaseStatus;
            }
            await rep.UpdateAsync(entities);
            return entities.Count;
        }
        /// <summary>
        /// 设置任务是否推荐
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task<int> Handle(SetTaskInfoRecommendStatusCommand request, CancellationToken cancellationToken)
        {
            var entities = await TaskInfoRepository.GetQueryable(rep)
                .Where(it => request.Ids.Contains(it.Id))
                .ToListAsync();
            foreach (var entity in entities)
            {
                entity.RecommendStatus = request.RecommendStatus;
            }
            await rep.UpdateAsync(entities);
            return entities.Count;
        }
        private async Task BuildCode(TaskInfo entity)
        {
            entity.Code = $"{DateTime.Now:yyyyMMddHHmm}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}";
FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -30,12 +30,20 @@
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task<GetTaskInfoQueryResult> Handle(GetTaskInfoQuery request, CancellationToken cancellationToken)
        public async Task<GetTaskInfoQueryResult> Handle(GetTaskInfoQuery request, CancellationToken cancellationToken)
        {
            return TaskInfoRepository.GetQueryable(rep)
            var model = await TaskInfoRepository.GetQueryable(rep)
                .Where(it => it.Id == request.Id)
                .ProjectToType<GetTaskInfoQueryResult>()
                .FirstOrDefaultAsync(cancellationToken);
            model.EnterpriseName = await rep.Change<Enterprise>().AsQueryable().AsNoTracking()
                .Where(it => it.EnterpriseAuthId == model.EnterpriseId)
                .Select(it => it.EnterpriseAuth.EnterpriseName)
                .FirstOrDefaultAsync();
            model.TaskCount = await rep.AsQueryable().AsNoTracking()
                .Where(it => it.EnterpriseId == model.EnterpriseId && it.ReleaseStatus == EnumTaskReleaseStatus.Stopped)
                .CountAsync();
            return model;
        }
        /// <summary>
@@ -46,12 +54,61 @@
        /// <returns></returns>
        public Task<PagedListQueryResult<GetTaskInfosQueryResultItem>> Handle(GetTaskInfosQuery request, CancellationToken cancellationToken)
        {
            return request.PageModel.GetPagedListAsync<TaskInfo, GetTaskInfosQueryResultItem>(
                q =>
                {
                    q = TaskInfoRepository.GetQueryable(rep);
                    return q;
                });
            var q = TaskInfoRepository.GetQueryable(rep);
            if (request.Keywords.IsNotNull())
            {
                q = q.Where(it => it.Name.Contains(request.Keywords));
            }
            if (request.Time.HasValue)
            {
                q = q.Where(it => it.BeginTime <= request.Time && request.Time <= it.EndTime);
            }
            if (request.CityCode.IsNotNull())
            {
                q = q.Where(it => it.CityCode == request.CityCode);
            }
            if (request.SettlementCycle.HasValue)
            {
                q = q.Where(it => it.SettlementCycle == request.SettlementCycle);
            }
            if (request.BenefitCodes.IsNotNull())
            {
                q = q.Where(it => it.Benefits.Any(b => request.BenefitCodes.Contains(b.BenefitCode)));
            }
            if (request.GenderLimit.HasValue)
            {
                q = q.Where(it => it.GenderLimit == request.GenderLimit);
            }
            if (request.Status.HasValue)
            {
                q = q.Where(it => it.Status == request.Status);
            }
            if (request.ReleaseStatus.HasValue)
            {
                q = q.Where(it => it.ReleaseStatus == request.ReleaseStatus);
            }
            if (request.RecommendStatus.HasValue)
            {
                q = q.Where(it => it.RecommendStatus == request.RecommendStatus);
            }
            var s = from t in q
                    join tu in rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() on t.Id equals tu.TaskInfoId into tug
                    select new GetTaskInfosQueryResultItem
                    {
                        Id = t.Id,
                        Name = t.Name,
                        Code = t.Code,
                        BillingMethod = t.BillingMethod,
                        ServiceFee = t.ServiceFee,
                        SettlementCycle = t.SettlementCycle,
                        GenderLimit = t.GenderLimit,
                        UserCount = tug.Count(),
                        Status = t.Status,
                        BeginTime = t.BeginTime,
                        EndTime = t.EndTime,
                        ReleaseStatus = t.ReleaseStatus
                    };
            return request.PageModel.GetPagedListAsync(s, cancellationToken);
        }
    }
}
FlexJobApi.Core/Entities/Tasks/TaskInfo.cs
@@ -108,6 +108,16 @@
        public string Address { get; set; }
        /// <summary>
        /// 经度
        /// </summary>
        public decimal? Longitude { get; set; }
        /// <summary>
        /// 纬度
        /// </summary>
        public decimal? Latitude { get; set; }
        /// <summary>
        /// 任务开始时间
        /// </summary>
        public DateTime BeginTime { get; set; }
@@ -127,6 +137,21 @@
        /// </summary>
        public EnumTaskReleaseStatus ReleaseStatus { get; set; }
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; }
        /// <summary>
        /// 结算状态
        /// </summary>
        public EnumTaskSettlementStatus? SettlementStatus { get; set; }
        /// <summary>
        /// 推荐状态
        /// </summary>
        public EnumTaskRecommendStatus RecommendStatus { get; set; }
        public void Configure(EntityTypeBuilder<TaskInfo> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
            entityBuilder
FlexJobApi.Core/Enums/Tasks/EnumTaskCheckReceiveStatus.cs
New file
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 任务结算状态
    /// </summary>
    public enum EnumTaskCheckReceiveStatus
    {
        /// <summary>
        /// 待验收
        /// </summary>
        Wait = 10,
        /// <summary>
        /// 已验收
        /// </summary>
        Completed = 30
    }
}
FlexJobApi.Core/Enums/Tasks/EnumTaskRecommendStatus.cs
New file
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 任务推荐状态
    /// </summary>
    public enum EnumTaskRecommendStatus
    {
        /// <summary>
        /// 未推荐
        /// </summary>
        No = 10,
        /// <summary>
        /// 已推荐
        /// </summary>
        Yes = 20
    }
}
FlexJobApi.Core/Enums/Tasks/EnumTaskSettlementStatus.cs
New file
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 任务结算状态
    /// </summary>
    public enum EnumTaskSettlementStatus
    {
        /// <summary>
        /// 待结算
        /// </summary>
        Wait = 10,
        /// <summary>
        /// 已结算
        /// </summary>
        Completed = 30,
    }
}
FlexJobApi.Core/Enums/Tasks/EnumTaskUserSettlementStatus.cs
New file
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 任务用户结算状态
    /// </summary>
    public enum EnumTaskUserSettlementStatus
    {
        /// <summary>
        /// 待结算
        /// </summary>
        Wait = 10,
        /// <summary>
        /// 结算中
        /// </summary>
        InProcess = 20,
        /// <summary>
        /// 已结算
        /// </summary>
        Completed = 30,
        /// <summary>
        /// 结算失败
        /// </summary>
        Fail = 40
    }
}
FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs
New file
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 任务验收状态
    /// </summary>
    public enum EnumTaskUserSubmitCheckReceiveStatus
    {
        /// <summary>
        /// 待提交
        /// </summary>
        Submit = 10,
        /// <summary>
        /// 待验收
        /// </summary>
        Wait = 20,
        /// <summary>
        /// 验收通过
        /// </summary>
        Success = 30,
        /// <summary>
        /// 验收未通过
        /// </summary>
        Fail = 40
    }
}
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -644,6 +644,21 @@
            发布状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfo.CheckReceiveStatus">
            <summary>
            验收状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfo.SettlementStatus">
            <summary>
            结算状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.TaskInfo.RecommendStatus">
            <summary>
            推荐状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.TaskInfoBenefit">
            <summary>
            任务福利
@@ -1949,6 +1964,36 @@
            日结
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumTaskCheckReceiveStatus">
            <summary>
            任务结算状态
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskCheckReceiveStatus.Wait">
            <summary>
            待验收
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskCheckReceiveStatus.Completed">
            <summary>
            已验收
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumTaskRecommendStatus">
            <summary>
            任务推荐状态
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskRecommendStatus.No">
            <summary>
            未推荐
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskRecommendStatus.Yes">
            <summary>
            已推荐
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumTaskReleaseStatus">
            <summary>
            任务发布状态
@@ -1962,6 +2007,21 @@
        <member name="F:FlexJobApi.Core.EnumTaskReleaseStatus.Stopped">
            <summary>
            已停止
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumTaskSettlementStatus">
            <summary>
            任务结算状态
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskSettlementStatus.Wait">
            <summary>
            待结算
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskSettlementStatus.Completed">
            <summary>
            已结算
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumTaskStatus">
@@ -1999,6 +2059,31 @@
            已谢绝
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumTaskUserSettlementStatus">
            <summary>
            任务用户结算状态
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskUserSettlementStatus.Wait">
            <summary>
            待结算
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskUserSettlementStatus.InProcess">
            <summary>
            结算中
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskUserSettlementStatus.Completed">
            <summary>
            已结算
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskUserSettlementStatus.Fail">
            <summary>
            结算失败
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumTaskUserSignContractStatus">
            <summary>
            任务用户签约状态
@@ -2017,6 +2102,31 @@
        <member name="F:FlexJobApi.Core.EnumTaskUserSignContractStatus.Refuse">
            <summary>
            已拒签
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus">
            <summary>
            任务验收状态
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Submit">
            <summary>
            待提交
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Wait">
            <summary>
            待验收
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Success">
            <summary>
            验收通过
            </summary>
        </member>
        <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Fail">
            <summary>
            验收未通过
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.EnumClientType">
@@ -2765,6 +2875,36 @@
            任务结束时间
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SetTaskInfoRecommendStatusCommand">
            <summary>
            设置任务是否推荐
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetTaskInfoRecommendStatusCommand.Ids">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetTaskInfoRecommendStatusCommand.RecommendStatus">
            <summary>
            推荐状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SetTaskInfoReleaseStatusCommand">
            <summary>
            设置任务发布状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetTaskInfoReleaseStatusCommand.Ids">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetTaskInfoReleaseStatusCommand.ReleaseStatus">
            <summary>
            发布状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetTaskInfoQuery">
            <summary>
            查询任务详情
@@ -2895,9 +3035,19 @@
            发布状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetTaskInfosQuery.RecommendStatus">
            <summary>
            推荐状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetTaskInfosQueryResultItem">
            <summary>
            查询任务分页列表-结果-项
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.Id">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.Name">
@@ -2955,6 +3105,21 @@
            发布状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.CheckReceiveStatus">
            <summary>
            验收状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.SettlementStatus">
            <summary>
            结算状态
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.RecommendStatus">
            <summary>
            推荐状态
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.TaskInfoRepository">
            <summary>
            任务仓库
@@ -2965,7 +3130,6 @@
            获取任务查询
            </summary>
            <param name="rep"></param>
            <param name="query"></param>
            <param name="logier"></param>
            <returns></returns>
        </member>
FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs
@@ -93,6 +93,16 @@
        public string Address { get; set; }
        /// <summary>
        /// 经度
        /// </summary>
        public decimal? Longitude { get; set; }
        /// <summary>
        /// 纬度
        /// </summary>
        public decimal? Latitude { get; set; }
        /// <summary>
        /// 任务开始时间
        /// </summary>
        [Required]
FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs
New file
@@ -0,0 +1,31 @@
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.Task])]
    public class SetTaskInfoRecommendStatusCommand : IRequest<int>
    {
        public SetTaskInfoRecommendStatusCommand()
        {
            Ids = [];
        }
        /// <summary>
        /// Id
        /// </summary>
        public List<Guid> Ids { get; set; }
        /// <summary>
        /// 推荐状态
        /// </summary>
        public EnumTaskRecommendStatus RecommendStatus { get; set; }
    }
}
FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs
New file
@@ -0,0 +1,31 @@
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.Task])]
    public class SetTaskInfoReleaseStatusCommand : IRequest<int>
    {
        public SetTaskInfoReleaseStatusCommand()
        {
            Ids = [];
        }
        /// <summary>
        /// Id
        /// </summary>
        public List<Guid> Ids { get; set; }
        /// <summary>
        /// 发布状态
        /// </summary>
        public EnumTaskReleaseStatus ReleaseStatus { get; set; }
    }
}
FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs
@@ -23,7 +23,7 @@
    }
    /// <summary>
    /// 查询任务详情-结果
    /// 查询任务详情-结果-企业
    /// </summary>
    public class GetTaskInfoQueryResult
    {
@@ -37,6 +37,21 @@
        /// Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 企业Id
        /// </summary>
        public Guid EnterpriseId { get; set; }
        /// <summary>
        /// 企业全称
        /// </summary>
        public string EnterpriseName { get; set; }
        /// <summary>
        /// 在招岗位数量
        /// </summary>
        public int TaskCount { get; set; }
        /// <summary>
        /// 任务名称
@@ -122,5 +137,10 @@
        /// 创建时间
        /// </summary>
        public DateTimeOffset CreatedTime { get; set; }
        /// <summary>
        /// 是否已收藏
        /// </summary>
        public bool IsCollected { get; set; }
    }
}
FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs
@@ -13,6 +13,11 @@
    [Resource([EnumResourceController.Task])]
    public class GetTaskInfosQuery : PagedListQuery<PagedListQueryResult<GetTaskInfosQueryResultItem>, GetTaskInfosQueryResultItem>
    {
        public GetTaskInfosQuery()
        {
            BenefitCodes = [];
        }
        /// <summary>
        /// 关键字(任务名称)
        /// </summary>
@@ -24,6 +29,26 @@
        public DateTime? Time { get; set; }
        /// <summary>
        /// 任务地点所属城市编号
        /// </summary>
        public string CityCode { get; set; }
        /// <summary>
        /// 结算方式
        /// </summary>
        public EnumSettlementCycle? SettlementCycle { get; set; }
        /// <summary>
        /// 员工福利
        /// </summary>
        public List<string> BenefitCodes { get; set; }
        /// <summary>
        /// 性别要求
        /// </summary>
        public EnumUserGender? GenderLimit { get; set; }
        /// <summary>
        /// 任务状态
        /// </summary>
        public EnumTaskStatus? Status { get; set; }
@@ -32,6 +57,11 @@
        /// 发布状态
        /// </summary>
        public EnumTaskReleaseStatus? ReleaseStatus { get; set; }
        /// <summary>
        /// 推荐状态
        /// </summary>
        public EnumTaskRecommendStatus? RecommendStatus { get; set; }
    }
    /// <summary>
@@ -39,6 +69,11 @@
    /// </summary>
    public class GetTaskInfosQueryResultItem
    {
        /// <summary>
        /// Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 任务名称
        /// </summary>
@@ -95,5 +130,24 @@
        /// </summary>
        public EnumTaskReleaseStatus ReleaseStatus { get; set; }
        /// <summary>
        /// 验收状态
        /// </summary>
        public EnumTaskCheckReceiveStatus CheckReceiveStatus { get; set; }
        /// <summary>
        /// 结算状态
        /// </summary>
        public EnumTaskSettlementStatus SettlementStatus { get; set; }
        /// <summary>
        /// 推荐状态
        /// </summary>
        public EnumTaskRecommendStatus RecommendStatus { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTimeOffset CreatedTime { get; set; }
    }
}
FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs
@@ -18,7 +18,6 @@
        /// 获取任务查询
        /// </summary>
        /// <param name="rep"></param>
        /// <param name="query"></param>
        /// <param name="logier"></param>
        /// <returns></returns>
        public static IQueryable<TaskInfo> GetQueryable(this IRepository<TaskInfo> rep, CurrentLogier logier = null)