From 06d5b35bae85bf0f4b5bd1f837205395305274f1 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 22 八月 2025 13:43:04 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs |   26 +++++++++++++++++---------
 1 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs b/FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
index b8a24bd..eced3b5 100644
--- a/FlexJobApi.UserServer.Application/Enterprises/Queries/EnterprisesQueryHandler.cs
+++ b/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,13 +41,13 @@
             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)
             {
-                q = q.Where(it => (it.IsCheckedBankCard && it.RealAccess.HasValue && it.SmsAccess.HasValue) == request.IsConfigured);
+                q = q.Where(it => (it.IsCheckedBankCard && it.ElectronSignSettings.Any() && it.SmsAccess.HasValue) == request.IsConfigured);
             }
             var s = (from e in q
                      join p in repDictionaryData.AsQueryable().AsNoTracking() on e.ProvinceCode equals p.Code into pg
@@ -67,7 +68,7 @@
                          CityContent = cgi.Content,
                          IndustryTypeContent = igi.Content,
                          IsReal = e.IsReal,
-                         IsConfigured = e.IsCheckedBankCard && e.RealAccess.HasValue && e.SmsAccess.HasValue
+                         IsConfigured = e.IsCheckedBankCard && e.ElectronSignSettings.Any() && e.SmsAccess.HasValue
                      });
             return request.PageModel.GetPagedListAsync(s, cancellationToken: cancellationToken);
         }
@@ -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;
         }
 
@@ -102,9 +106,13 @@
         {
             var model = await rep.AsQueryable().AsNoTracking()
                 .Where(it => it.Id == request.Id)
-                .ProjectToType<GetEnterpriseElectronSignSettingQueryResult>()
+                .Select(it => new GetEnterpriseElectronSignSettingQueryResult
+                {
+                    Id = it.Id,
+                    ElectronSignAccesses = it.ElectronSignSettings.Select(s => s.ElectronSignAccess).ToList()
+                })
                 .FirstOrDefaultAsync(cancellationToken);
-            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヤ紒涓�");
+            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟");
             return model;
         }
 
@@ -120,7 +128,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;
         }
     }

--
Gitblit v1.9.1