init
This commit is contained in:
95
DOAN.ServiceCore/Services/SysTasksQzService.cs
Normal file
95
DOAN.ServiceCore/Services/SysTasksQzService.cs
Normal file
@@ -0,0 +1,95 @@
|
||||
using Infrastructure.Attribute;
|
||||
using DOAN.Model;
|
||||
using DOAN.Model.System;
|
||||
using DOAN.Model.System.Dto;
|
||||
using DOAN.Repository;
|
||||
|
||||
namespace DOAN.ServiceCore.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// 定时任务
|
||||
/// </summary>
|
||||
[AppService(ServiceType = typeof(ISysTasksQzService), ServiceLifetime = LifeTime.Transient)]
|
||||
public class SysTasksQzService : BaseService<SysTasks>, ISysTasksQzService
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询任务
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
public PagedInfo<SysTasks> SelectTaskList(TasksQueryDto parm)
|
||||
{
|
||||
var predicate = Expressionable.Create<SysTasks>();
|
||||
|
||||
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.QueryText),
|
||||
m => m.Name.Contains(parm.QueryText) ||
|
||||
m.JobGroup.Contains(parm.QueryText) ||
|
||||
m.AssemblyName.Contains(parm.QueryText));
|
||||
predicate.AndIF(parm.TaskType != null, m => m.TaskType == parm.TaskType);
|
||||
predicate.AndIF(parm.IsStart != null, m => m.IsStart == parm.IsStart);
|
||||
|
||||
return Queryable().Where(predicate.ToExpression())
|
||||
.ToPage(parm);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加任务
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
public int AddTasks(SysTasks parm)
|
||||
{
|
||||
parm.IsStart = 0;
|
||||
|
||||
SetAssembleName(parm);
|
||||
|
||||
return Add(parm);
|
||||
}
|
||||
|
||||
private void SetAssembleName(SysTasks parm)
|
||||
{
|
||||
if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2)
|
||||
{
|
||||
parm.AssemblyName = "DOAN.Tasks";
|
||||
parm.ClassName = "TaskScheduler.Job_HttpRequest";
|
||||
}
|
||||
|
||||
if (parm.SqlText.IfNotEmpty() && parm.TaskType == 3)
|
||||
{
|
||||
parm.AssemblyName = "DOAN.Tasks";
|
||||
parm.ClassName = "TaskScheduler.Job_SqlExecute";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新任务
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
public int UpdateTasks(SysTasks parm)
|
||||
{
|
||||
SetAssembleName(parm);
|
||||
|
||||
return Update(f => f.ID == parm.ID, f => new SysTasks
|
||||
{
|
||||
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,
|
||||
SqlText = parm.SqlText,
|
||||
RequestMethod = parm.RequestMethod,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user