优化任务添加修改

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 映射到 实体
var tasksQz = parm.Adapt<SysTasksQz>().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));
}
/// <summary>
@ -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<SysTasksQz>();
model.Update_by = HttpContextExtension.GetName(HttpContext);
int response = _tasksQzService.UpdateTasks(model);
if (response > 0)
{
//先暂停原先的任务
var respon = await _schedulerServer.UpdateTaskScheduleAsync(tasksQz);
}

View File

@ -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>
{
//SysTasksQz GetId(object id);
int AddTasks(SysTasksQz parm);
int UpdateTasks(SysTasksQz parm);
}
}

View File

@ -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<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,
});
}
}
}