From ab38e4f6313bb3e053f7a26535f865da6829dae9 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 11 九月 2025 15:53:03 +0800
Subject: [PATCH] -

---
 FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs
index bf19f28..c94930f 100644
--- a/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs
@@ -32,19 +32,30 @@
         public async Task<List<GetEnabledElectronSignSettingsQueryResultItem>> Handle(GetEnabledElectronSignSettingsQuery request, CancellationToken cancellationToken)
         {
             var logier = JwtUtils.GetCurrentLogier();
-            var q = rep.AsQueryable().AsNoTracking()
-                .Where(it => !it.IsDisabled);
+            var q = rep.AsQueryable().AsNoTracking();
+            if (request.All != true)
+            {
+                q = q.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));
+                request.EnterpriseId = logier.EnterpriseId;
             }
-            return await q
+            var models = await q
                 .ProjectToType<GetEnabledElectronSignSettingsQueryResultItem>()
                 .ToListAsync();
+            if (request.EnterpriseId.HasValue)
+            {
+                var accesses = await repEnterpriseElectronSignSetting.AsQueryable()
+                    .Where(it => it.EnterpriseId == request.EnterpriseId)
+                    .Select(it => it.ElectronSignAccess)
+                    .ToListAsync();
+                foreach (var model in models)
+                {
+                    model.IsDisabled = !accesses.Contains(model.Access);
+                }
+            }
+            return models;
         }
     }
 }

--
Gitblit v1.9.1