From 59833ddbf47ed028462e1b089b46bf7c6f7518e3 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 05 八月 2025 18:31:38 +0800
Subject: [PATCH] feat:字典开发

---
 FlexJobApi.Core/Utils/DbUtils/DbUtils.cs |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs b/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
index a1465c0..ecaf344 100644
--- a/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
+++ b/FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
@@ -51,12 +51,11 @@
         /// </summary>
         /// <typeparam name="TEntity"></typeparam>
         /// <typeparam name="TRequest"></typeparam>
-        /// <param name="rep"></param>
         /// <param name="request"></param>
         /// <param name="checkExist"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public static async Task<Guid> SaveData<TEntity, TRequest>(this TRequest request, Func<TEntity, TRequest, bool> checkExist = null, CancellationToken cancellationToken = default)
+        public static async Task<Guid> SaveData<TEntity, TRequest>(this TRequest request, Func<IQueryable<TEntity>, TEntity, TRequest, bool> checkExist = null, CancellationToken cancellationToken = default)
             where TEntity : CommonEntity, new()
             where TRequest : SaveDataCommand, new()
         {
@@ -67,7 +66,7 @@
             {
                 var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken);
                 if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, $"璇summary ?? "淇℃伅"}");
-                if (checkExist != null && checkExist(entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"璇summary ?? "淇℃伅"}");
+                if (checkExist != null && checkExist(rep.AsQueryable().AsNoTracking(), entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"璇summary ?? "淇℃伅"}");
                 request.Adapt(entity);
                 await rep.UpdateAsync(entity);
                 return entity.Id;
@@ -75,7 +74,7 @@
             else
             {
                 var entity = new TEntity();
-                if (checkExist != null && checkExist(entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"璇summary ?? "淇℃伅"}");
+                if (checkExist != null && checkExist(rep.AsQueryable().AsNoTracking(), entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"璇summary ?? "淇℃伅"}");
                 request.Adapt(entity);
                 await rep.InsertAsync(entity);
                 return entity.Id;

--
Gitblit v1.9.1