sunpengfei
2025-08-07 7d64d742e52809237473e13e18faec2c23dfe3c7
feat:企业开发
1 文件已重命名
5个文件已修改
74 ■■■■■ 已修改文件
FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseQuery.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Dictionaries/Commands/DictionaryDataCommandHandler.cs
@@ -50,6 +50,10 @@
            if (category == null) throw Oops.Oh(EnumErrorCodeType.s404, "数据字典类别");
            request.CategoryId = category.Id;
            if (!request.Code.StartsWith($"{category.Code}-")) throw Oops.Oh(EnumErrorCodeType.s400, "编号开头需要包含类别编号-");
            var parent = request.ParentId.HasValue
                ? await rep.AsQueryable().AsNoTracking()
                    .FirstOrDefaultAsync(it => it.Id == request.ParentId)
                : null;
            return await request.SaveData<DictionaryData, SaveDictionaryDataCommand>(
                null,
                it =>
@@ -62,10 +66,15 @@
                    if (request.Id.HasValue)
                    {
                        if (entity.Code != request.Code) throw Oops.Oh(EnumErrorCodeType.s400, "编号不可修改");
                        DbUtils.UpdateTreeDataChildrenPath<DictionaryData>(
                           $"{entity.Path}/{entity.Code}/",
                           $"{entity.Path}/{request.Code}/",
                           cancellationToken).Wait();
                        if (entity.ParentId != request.ParentId) throw Oops.Oh(EnumErrorCodeType.s400, "上级Id不可修改");
                        //DbUtils.UpdateTreeDataChildrenPath<DictionaryData>(
                        //   $"{entity.Path}/{entity.Code}/",
                        //   $"{entity.Path}/{request.Code}/",
                        //   cancellationToken).Wait();
                    }
                    else
                    {
                        entity.Deep = request.ParentId == null ? 1 : parent.Deep + 1;
                    }
                    request.Adapt(entity);
                },
@@ -114,7 +123,8 @@
        /// <param name="entities"></param>
        /// <param name="all"></param>
        /// <param name="areas"></param>
        private void LoopSyncHumanResourcesAreaDictionaryData(Guid categoryId, List<DictionaryData> entities, List<BaseArea> all, List<BaseArea> areas)
        /// <param name="deep"></param>
        private void LoopSyncHumanResourcesAreaDictionaryData(Guid categoryId, List<DictionaryData> entities, List<BaseArea> all, List<BaseArea> areas, int deep = 1)
        {
            if (areas.IsNotNull())
            {
@@ -149,11 +159,12 @@
                    entity.Field3 = area.SimpleSpelling;
                    entity.Field4 = area.Layer.ToString();
                    entity.Field5 = area.Description;
                    entity.Deep = deep;
                    entity.Sort = area.Sort ?? 0;
                    entities.Add(entity);
                    var children = all.Where(it => it.ParentId == area.AreaCode).ToList();
                    LoopSyncHumanResourcesAreaDictionaryData(categoryId, entities, all, children);
                    LoopSyncHumanResourcesAreaDictionaryData(categoryId, entities, all, children, deep + 1);
                }
            }
        }
FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs
@@ -34,7 +34,7 @@
        {
            var logier = JwtUtils.GetCurrentLogier();
            return await request.SaveData<TaskInfo, SaveTaskInfoCommand>(
                 q => TaskInfoQueryable.GetQueryable(
                 q => TaskInfoRepository.GetQueryable(
                    rep,
                    q => q
                         .Include(it => it.Benefits)
FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs
@@ -32,7 +32,8 @@
        /// <returns></returns>
        public Task<GetTaskInfoQueryResult> Handle(GetTaskInfoQuery request, CancellationToken cancellationToken)
        {
            return TaskInfoQueryable.GetQueryable(rep, q => q.Where(it => it.Id == request.Id))
            return TaskInfoRepository.GetQueryable(rep)
                .Where(it => it.Id == request.Id)
                .ProjectToType<GetTaskInfoQueryResult>()
                .FirstOrDefaultAsync(cancellationToken);
        }
@@ -45,8 +46,12 @@
        /// <returns></returns>
        public Task<PagedListQueryResult<GetTaskInfosQueryResultItem>> Handle(GetTaskInfosQuery request, CancellationToken cancellationToken)
        {
            //return request.PageModel.GetPagedListAsync<TaskInfo, >()
            throw new Exception();
            return request.PageModel.GetPagedListAsync<TaskInfo, GetTaskInfosQueryResultItem>(
                q =>
                {
                    q = TaskInfoRepository.GetQueryable(rep);
                    return q;
                });
        }
    }
}
FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs
File was renamed from FlexJobApi.Core/Models/Main/Tasks/Queryables/TaskInfoQueryable.cs
@@ -10,9 +10,9 @@
namespace FlexJobApi.Core
{
    /// <summary>
    /// 任务查询
    /// 任务仓库
    /// </summary>
    public static class TaskInfoQueryable
    public static class TaskInfoRepository
    {
        /// <summary>
        /// 获取任务查询
@@ -21,14 +21,12 @@
        /// <param name="query"></param>
        /// <param name="logier"></param>
        /// <returns></returns>
        public static IQueryable<TaskInfo> GetQueryable(this IRepository<TaskInfo> rep, Func<IQueryable<TaskInfo>, IQueryable<TaskInfo>> query, CurrentLogier logier = null)
        public static IQueryable<TaskInfo> GetQueryable(this IRepository<TaskInfo> rep, CurrentLogier logier = null)
        {
            logier = logier ?? JwtUtils.GetCurrentLogier();
            IQueryable<TaskInfo> q = rep.AsQueryable().AsNoTracking()
                .OrderBy(it => it.BeginTime);
            if (query != null) q = query(q);
            return q
                .Where(it => it.EnterpriseId == logier.EnterpriseId);
            return q = rep.AsQueryable().AsNoTracking()
                 .OrderBy(it => it.BeginTime)
                 .Where(it => it.EnterpriseId == logier.EnterpriseId);
        }
    }
}
FlexJobApi.Core/Models/User/Enterprises/Commands/SaveEnterpriseCommand.cs
@@ -53,19 +53,19 @@
        };
        /// <summary>
        /// 所在省份Id
        /// 所在省份编号
        /// </summary>
        public Guid? ProvinceId { get; set; }
        public string ProvinceCode { get; set; }
        /// <summary>
        /// 所在城市Id
        /// 所在城市编号
        /// </summary>
        public Guid? CityId { get; set; }
        public string CityCode { get; set; }
        /// <summary>
        /// 所属行业Id
        /// 所属行业编号
        /// </summary>
        public Guid? IndustryTypeId { get; set; }
        public Guid? IndustryTypeCode { get; set; }
        /// <summary>
        /// 主营业务
FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterpriseQuery.cs
@@ -62,9 +62,9 @@
        public SaveEnterpriseCommandAuth EnterpriseAuth { get; set; }
        /// <summary>
        /// 所在省份Id
        /// 所在省份编号
        /// </summary>
        public Guid? ProvinceId { get; set; }
        public string ProvinceCode { get; set; }
        /// <summary>
        /// 所在省份
@@ -72,9 +72,9 @@
        public string ProvinceContent { get; set; }
        /// <summary>
        /// 所在城市Id
        /// 所在城市编号
        /// </summary>
        public Guid? CityId { get; set; }
        public string CityCode { get; set; }
        /// <summary>
        /// 所在城市
@@ -82,9 +82,9 @@
        public string CityContent { get; set; }
        /// <summary>
        /// 所属行业Id
        /// 所属行业编号
        /// </summary>
        public Guid? IndustryTypeId { get; set; }
        public string IndustryTypeCode { get; set; }
        /// <summary>
        /// 所属行业