From 68faa22ec52f4dd7577a98799265d6fc0bb0d230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Sat, 9 Jul 2022 14:18:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=BB=E5=8A=A1=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BF=AE=E6=94=B9&fix=E6=89=8B=E5=8A=A8=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E7=BD=91=E7=BB=9C=E5=9E=8B=E4=BB=BB=E5=8A=A1=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CommonController.cs | 3 +- .../Controllers/System/TasksController.cs | 37 +++------------ .../System/IService/ISysTasksQzService.cs | 10 ++--- ZR.Service/System/SysTasksQzService.cs | 45 ++++++++++++++++++- ZR.Tasks/TaskScheduler/JobBase.cs | 2 +- ZR.Tasks/TaskScheduler/Job_HttpRequest.cs | 4 +- 6 files changed, 58 insertions(+), 43 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/CommonController.cs b/ZR.Admin.WebApi/Controllers/CommonController.cs index 5f87795..02a8a5e 100644 --- a/ZR.Admin.WebApi/Controllers/CommonController.cs +++ b/ZR.Admin.WebApi/Controllers/CommonController.cs @@ -46,7 +46,8 @@ namespace ZR.Admin.WebApi.Controllers [HttpGet] public IActionResult Index() { - return Content("Hello看到这里页面说明你已经成功启动了本项目,加油吧 少年。"); + return Ok("看到这里页面说明你已经成功启动了本项目:)\n\n" + + "如果觉得项目有用,打赏作者喝杯咖啡作为奖励\n☛☛http://www.izhaorui.cn/doc\n"); } /// diff --git a/ZR.Admin.WebApi/Controllers/System/TasksController.cs b/ZR.Admin.WebApi/Controllers/System/TasksController.cs index 0f34da6..cbabbb0 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksController.cs @@ -102,18 +102,10 @@ namespace ZR.Admin.WebApi.Controllers //从 Dto 映射到 实体 var tasksQz = parm.Adapt().ToCreate(); var worker = new IdWorker(1, 1); - - tasksQz.ID = worker.NextId().ToString(); - tasksQz.IsStart = false; tasksQz.Create_by = HttpContext.GetName(); - tasksQz.TaskType = parm.TaskType; - tasksQz.ApiUrl = parm.ApiUrl; - if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2) - { - tasksQz.AssemblyName = "ZR.Tasks"; - tasksQz.ClassName = "TaskScheduler.Job_HttpRequest"; - } - return SUCCESS(_tasksQzService.Add(tasksQz)); + tasksQz.ID = worker.NextId().ToString(); + + return SUCCESS(_tasksQzService.AddTasks(tasksQz)); } /// @@ -152,28 +144,11 @@ namespace ZR.Admin.WebApi.Controllers { throw new CustomException($"该任务正在运行中,请先停止在更新"); } - - var response = _tasksQzService.Update(m => m.ID == parm.ID, m => new SysTasksQz - { - Name = parm.Name, - JobGroup = parm.JobGroup, - Cron = parm.Cron, - AssemblyName = parm.AssemblyName, - ClassName = parm.ClassName, - Remark = parm.Remark, - TriggerType = parm.TriggerType, - IntervalSecond = parm.IntervalSecond, - JobParams = parm.JobParams, - Update_by = HttpContextExtension.GetName(HttpContext), - Update_time = DateTime.Now, - BeginTime = parm.BeginTime, - EndTime = parm.EndTime, - TaskType = parm.TaskType, - ApiUrl = parm.ApiUrl, - }); + var model = parm.Adapt(); + model.Update_by = HttpContextExtension.GetName(HttpContext); + int response = _tasksQzService.UpdateTasks(model); if (response > 0) { - //先暂停原先的任务 var respon = await _schedulerServer.UpdateTaskScheduleAsync(tasksQz); } diff --git a/ZR.Service/System/IService/ISysTasksQzService.cs b/ZR.Service/System/IService/ISysTasksQzService.cs index e7e0257..c081a2c 100644 --- a/ZR.Service/System/IService/ISysTasksQzService.cs +++ b/ZR.Service/System/IService/ISysTasksQzService.cs @@ -1,14 +1,12 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using ZR.Model.System; +using ZR.Model.System; +using ZR.Model.System.Dto; namespace ZR.Service.System.IService { public interface ISysTasksQzService : IBaseService { //SysTasksQz GetId(object id); + int AddTasks(SysTasksQz parm); + int UpdateTasks(SysTasksQz parm); } } diff --git a/ZR.Service/System/SysTasksQzService.cs b/ZR.Service/System/SysTasksQzService.cs index ed72d3c..f5de924 100644 --- a/ZR.Service/System/SysTasksQzService.cs +++ b/ZR.Service/System/SysTasksQzService.cs @@ -1,6 +1,7 @@ using Infrastructure.Attribute; +using Infrastructure.Extensions; +using System; using ZR.Model.System; -using ZR.Repository.System; using ZR.Service.System.IService; namespace ZR.Service.System @@ -11,8 +12,48 @@ namespace ZR.Service.System [AppService(ServiceType = typeof(ISysTasksQzService), ServiceLifetime = LifeTime.Transient)] public class SysTasksQzService : BaseService, ISysTasksQzService { - public SysTasksQzService(SysTasksQzRepository repository) + /// + /// 添加任务 + /// + /// + /// + public int AddTasks(SysTasksQz parm) { + parm.IsStart = false; + + if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2) + { + parm.AssemblyName = "ZR.Tasks"; + parm.ClassName = "TaskScheduler.Job_HttpRequest"; + } + return Add(parm); + } + + /// + /// 更新任务 + /// + /// + /// + public int UpdateTasks(SysTasksQz parm) + { + return Update(f => f.ID == parm.ID, f => new SysTasksQz + { + ID = parm.ID, + Name = parm.Name, + JobGroup = parm.JobGroup, + Cron = parm.Cron, + AssemblyName = parm.AssemblyName, + ClassName = parm.ClassName, + Remark = parm.Remark, + TriggerType = parm.TriggerType, + IntervalSecond = parm.IntervalSecond, + JobParams = parm.JobParams, + Update_time = DateTime.Now, + BeginTime = parm.BeginTime, + EndTime = parm.EndTime, + TaskType = parm.TaskType, + ApiUrl = parm.ApiUrl, + }); } } } diff --git a/ZR.Tasks/TaskScheduler/JobBase.cs b/ZR.Tasks/TaskScheduler/JobBase.cs index 5d27c75..0f3d973 100644 --- a/ZR.Tasks/TaskScheduler/JobBase.cs +++ b/ZR.Tasks/TaskScheduler/JobBase.cs @@ -46,7 +46,7 @@ namespace ZR.Tasks RefireImmediately = true }; status = 1; - logMsg = $"Fail,Exception:{ex.Message}"; + logMsg = $"Job Run Fail,Exception:{ex.Message}"; } var logModel = new SysTasksLog() diff --git a/ZR.Tasks/TaskScheduler/Job_HttpRequest.cs b/ZR.Tasks/TaskScheduler/Job_HttpRequest.cs index b03c06a..c6a65df 100644 --- a/ZR.Tasks/TaskScheduler/Job_HttpRequest.cs +++ b/ZR.Tasks/TaskScheduler/Job_HttpRequest.cs @@ -29,7 +29,7 @@ namespace ZR.Tasks.TaskScheduler public async Task Run(IJobExecutionContext context) { AbstractTrigger trigger = (context as JobExecutionContextImpl).Trigger as AbstractTrigger; - var info = await tasksQzService.GetByIdAsync(trigger.Name); + var info = await tasksQzService.GetByIdAsync(trigger.JobName); if (info != null) { var result = await HttpHelper.HttpGetAsync("http://" + info.ApiUrl); @@ -37,7 +37,7 @@ namespace ZR.Tasks.TaskScheduler } else { - throw new CustomException("任务网络请求执行失败,任务不存在"); + throw new CustomException($"任务{trigger?.JobName}网络请求执行失败,任务不存在"); } } }