sunpengfei
2025-08-15 e80bb467eef7ed92c5fc83360785d6584762052c
FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
@@ -18,7 +18,8 @@
    public class EnterprisesQueryHandler(
            IRepository<Enterprise> rep,
            IRepository<EnterpriseAuth> repEnterpriseAuth,
            IRepository<DictionaryData> repDictionaryData
            IRepository<DictionaryData> repDictionaryData,
            IRepository<TaskInfo> repTaskInfo
        ) :
        IRequestHandler<GetEnterprisesQuery, PagedListQueryResult<GetEnterprisesQueryResultItem>>,
        IRequestHandler<GetEnterpriseQuery, GetEnterpriseQueryResult>,
@@ -40,8 +41,8 @@
            if (request.Keywords.IsNotNull())
            {
                q = q.Where(it =>
                    it.EnterpriseAuth.EnterpriseName.Contains(request.Keywords)
                    || it.EnterpriseAuth.LegalPerson.Contains(request.Keywords)
                    it.EnterpriseName.Contains(request.Keywords)
                    || it.LegalPerson.Contains(request.Keywords)
                    || it.Contacts.Contains(request.Keywords));
            }
            if (request.IsConfigured.HasValue)
@@ -84,11 +85,14 @@
                .Where(it => it.Id == request.Id)
                .ProjectToType<GetEnterpriseQueryResult>()
                .FirstOrDefaultAsync(cancellationToken);
            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业");
            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业");
            model.UserName = await rep.Change<User>().AsQueryable().AsNoTracking()
                 .Where(it => it.EnterpriseId == model.Id)
                 .Select(it => it.UserName)
                 .FirstOrDefaultAsync(cancellationToken);
            model.TaskCount = await repTaskInfo.AsQueryable().AsNoTracking()
                .Where(it => it.EnterpriseId == request.Id && it.ReleaseStatus == EnumTaskReleaseStatus.InProcess)
                .CountAsync();
            return model;
        }
@@ -104,7 +108,7 @@
                .Where(it => it.Id == request.Id)
                .ProjectToType<GetEnterpriseElectronSignSettingQueryResult>()
                .FirstOrDefaultAsync(cancellationToken);
            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业");
            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业");
            return model;
        }
@@ -120,7 +124,7 @@
                .Where(it => it.Id == request.Id)
                .ProjectToType<GetEnterpriseSmsSettingQueryResult>()
                .FirstOrDefaultAsync(cancellationToken);
            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业");
            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业");
            return model;
        }
    }