Просмотр исходного кода

任务持久化采用自定义数据库操作(摒弃sql硬编码)

zuohuaijun 3 лет назад
Родитель
Сommit
e46b870a05

+ 3 - 3
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -16,9 +16,9 @@
     <PackageReference Include="AngleSharp" Version="0.17.1" />
     <PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
     <PackageReference Include="DotNetCore.Natasha.CSharp" Version="5.0.2" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.8.2" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.8.2" />
-    <PackageReference Include="Furion.Pure" Version="4.8.2" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.8.2.2" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.8.2.2" />
+    <PackageReference Include="Furion.Pure" Version="4.8.2.2" />
     <PackageReference Include="Lazy.Captcha.Core" Version="1.1.6" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.7.0" />
     <PackageReference Include="Magicodes.IE.Pdf" Version="2.7.0" />

+ 29 - 4
Admin.NET/Admin.NET.Core/Service/Job/DbJobPersistence.cs

@@ -52,8 +52,21 @@ public class DbJobPersistence : IJobPersistence
     {
         using var serviceScope = _serviceProvider.CreateScope();
         var db = serviceScope.ServiceProvider.GetService<ISqlSugarClient>();
-        var sql = context.ConvertToSQL(db.EntityMaintenance.GetEntityInfo<SysJobDetail>().DbTableName, NamingConventions.Pascal);
-        db.Ado.ExecuteCommand(sql);
+
+
+        var jobDetail = context.JobDetail.Adapt<SysJobDetail>();
+        if (context.Behavior == PersistenceBehavior.Appended)
+        {
+            db.Insertable(jobDetail).ExecuteCommand();
+        }
+        else if (context.Behavior == PersistenceBehavior.Updated)
+        {
+            db.Updateable(jobDetail).WhereColumns(u => new { u.JobId }).ExecuteCommand();
+        }
+        else if (context.Behavior == PersistenceBehavior.Removed)
+        {
+            db.Deleteable<SysJobDetail>().Where(u => u.JobId == jobDetail.JobId).ExecuteCommand();
+        }
     }
 
     /// <summary>
@@ -64,7 +77,19 @@ public class DbJobPersistence : IJobPersistence
     {
         using var serviceScope = _serviceProvider.CreateScope();
         var db = serviceScope.ServiceProvider.GetService<ISqlSugarClient>();
-        var sql = context.ConvertToSQL(db.EntityMaintenance.GetEntityInfo<SysJobTrigger>().DbTableName, NamingConventions.Pascal);
-        db.Ado.ExecuteCommand(sql);
+
+        var jobTrigger = context.Trigger.Adapt<SysJobTrigger>();
+        if (context.Behavior == PersistenceBehavior.Appended)
+        {
+            db.Insertable(jobTrigger).ExecuteCommand();
+        }
+        else if (context.Behavior == PersistenceBehavior.Updated)
+        {
+            db.Updateable(jobTrigger).WhereColumns(u => new { u.TriggerId }).ExecuteCommand();
+        }
+        else if (context.Behavior == PersistenceBehavior.Removed)
+        {
+            db.Deleteable<SysJobTrigger>().Where(u => u.TriggerId == jobTrigger.TriggerId).ExecuteCommand();
+        }
     }
 }