优化任务添加修改

This commit is contained in:
不做码农 2022-07-09 12:45:18 +08:00
parent 6a0a3beab5
commit e6b5ce3884
3 changed files with 53 additions and 39 deletions

View File

@ -102,18 +102,10 @@ namespace ZR.Admin.WebApi.Controllers
//从 Dto 映射到 实体 //从 Dto 映射到 实体
var tasksQz = parm.Adapt<SysTasksQz>().ToCreate(); var tasksQz = parm.Adapt<SysTasksQz>().ToCreate();
var worker = new IdWorker(1, 1); var worker = new IdWorker(1, 1);
tasksQz.ID = worker.NextId().ToString();
tasksQz.IsStart = false;
tasksQz.Create_by = HttpContext.GetName(); tasksQz.Create_by = HttpContext.GetName();
tasksQz.TaskType = parm.TaskType; tasksQz.ID = worker.NextId().ToString();
tasksQz.ApiUrl = parm.ApiUrl;
if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2) return SUCCESS(_tasksQzService.AddTasks(tasksQz));
{
tasksQz.AssemblyName = "ZR.Tasks";
tasksQz.ClassName = "TaskScheduler.Job_HttpRequest";
}
return SUCCESS(_tasksQzService.Add(tasksQz));
} }
/// <summary> /// <summary>
@ -152,28 +144,11 @@ namespace ZR.Admin.WebApi.Controllers
{ {
throw new CustomException($"该任务正在运行中,请先停止在更新"); throw new CustomException($"该任务正在运行中,请先停止在更新");
} }
var model = parm.Adapt<SysTasksQz>();
var response = _tasksQzService.Update(m => m.ID == parm.ID, m => new SysTasksQz model.Update_by = HttpContextExtension.GetName(HttpContext);
{ int response = _tasksQzService.UpdateTasks(model);
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,
});
if (response > 0) if (response > 0)
{ {
//先暂停原先的任务
var respon = await _schedulerServer.UpdateTaskScheduleAsync(tasksQz); var respon = await _schedulerServer.UpdateTaskScheduleAsync(tasksQz);
} }

View File

@ -1,14 +1,12 @@
using System; using ZR.Model.System;
using System.Collections.Generic; using ZR.Model.System.Dto;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZR.Model.System;
namespace ZR.Service.System.IService namespace ZR.Service.System.IService
{ {
public interface ISysTasksQzService : IBaseService<SysTasksQz> public interface ISysTasksQzService : IBaseService<SysTasksQz>
{ {
//SysTasksQz GetId(object id); //SysTasksQz GetId(object id);
int AddTasks(SysTasksQz parm);
int UpdateTasks(SysTasksQz parm);
} }
} }

View File

@ -1,6 +1,7 @@
using Infrastructure.Attribute; using Infrastructure.Attribute;
using Infrastructure.Extensions;
using System;
using ZR.Model.System; using ZR.Model.System;
using ZR.Repository.System;
using ZR.Service.System.IService; using ZR.Service.System.IService;
namespace ZR.Service.System namespace ZR.Service.System
@ -11,8 +12,48 @@ namespace ZR.Service.System
[AppService(ServiceType = typeof(ISysTasksQzService), ServiceLifetime = LifeTime.Transient)] [AppService(ServiceType = typeof(ISysTasksQzService), ServiceLifetime = LifeTime.Transient)]
public class SysTasksQzService : BaseService<SysTasksQz>, ISysTasksQzService public class SysTasksQzService : BaseService<SysTasksQz>, ISysTasksQzService
{ {
public SysTasksQzService(SysTasksQzRepository repository) /// <summary>
/// 添加任务
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 更新任务
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
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,
});
} }
} }
} }