From 3152a8d3e8054524470883c336fb6e93903a8426 Mon Sep 17 00:00:00 2001 From: nsnail Date: Tue, 14 May 2024 15:37:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(backend):=20=F0=9F=90=9B=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E8=AE=A1=E5=88=92=E4=BD=9C=E4=B8=9A=E5=9C=A8sqlite?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E7=8E=AF=E5=A2=83=E6=8A=A5=E9=94=99?= =?UTF-8?q?=20(#120)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Sys/JobService.cs | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobService.cs index 7415ea07..9277052b 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/JobService.cs @@ -63,18 +63,25 @@ public sealed class JobService(DefaultRepository rpo, IJobRecordService public async Task EditAsync(UpdateJobReq req) { req.ThrowIfInvalid(); - var ret = await Rpo.UpdateDiy.Set(a => a.ExecutionCron == req.ExecutionCron) - .Set(a => a.HttpMethod == req.HttpMethod) - .Set(a => a.JobName == req.JobName) - .SetIf(req.RequestHeaders == null, a => a.RequestHeader, null) - .SetIf(req.RequestHeaders != null, a => a.RequestHeader, req.RequestHeaders.Json()) - .Set(a => a.RequestBody == req.RequestBody) - .Set(a => a.RequestUrl == req.RequestUrl) - .Set(a => a.UserId == req.UserId) - .Where(a => a.Id == req.Id) - .ExecuteUpdatedAsync() - .ConfigureAwait(false); - return ret[0].Adapt(); + var update = Rpo.UpdateDiy.Set(a => a.ExecutionCron == req.ExecutionCron) + .Set(a => a.HttpMethod == req.HttpMethod) + .Set(a => a.JobName == req.JobName) + .SetIf(req.RequestHeaders == null, a => a.RequestHeader, null) + .SetIf(req.RequestHeaders != null, a => a.RequestHeader, req.RequestHeaders.Json()) + .Set(a => a.RequestBody == req.RequestBody) + .Set(a => a.RequestUrl == req.RequestUrl) + .Set(a => a.UserId == req.UserId) + .Where(a => a.Id == req.Id); + + #pragma warning disable IDE0046 + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + #pragma warning restore IDE0046 + return await update.ExecuteAffrowsAsync().ConfigureAwait(false) <= 0 + ? null + : await GetAsync(new QueryJobReq { Id = req.Id }).ConfigureAwait(false); + } + + return (await update.ExecuteUpdatedAsync().ConfigureAwait(false))[0].Adapt(); } ///