using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Estsh.Core.Quartz.Enum; using Estsh.Core.Quartz.Model; using Estsh.Core.Quartz.Service; using Estsh.Core.Quartz.Tools; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Newtonsoft.Json; namespace Estsh.Core.Quartz.Areas.MyFeature.Pages { public class MainModel : PageModel { private IQuartzHandle _quartzHandle; private IQuartzLogService _logService; public MainModel(IQuartzHandle quartzHandle, IQuartzLogService logService) { _quartzHandle = quartzHandle; _logService = logService; } [BindProperty] public tab_quarz_task Input { get; set; } /// /// 获取任务列表 /// /// public async Task OnGetSelectJob() { var jobs = await _quartzHandle.GetJobs(); return new JsonDataResult(jobs); } /// /// 新建任务 /// /// public async Task OnPostAddJob() { var date = await _quartzHandle.AddJob(Input); Input.Status = Convert.ToInt32(JobState.暂停); return new JsonDataResult(date); } /// /// 暂停任务 /// /// public async Task OnPostPauseJob() { var date = await _quartzHandle.Pause(Input); return new JsonDataResult(date); } /// /// 开启任务 /// /// public async Task OnPostStartJob() { var date = await _quartzHandle.Start(Input); return new JsonDataResult(date); } /// /// 立即执行任务 /// /// public async Task OnPostRunJob() { var date = await _quartzHandle.Run(Input); return new JsonDataResult(date); } /// /// 修改任务 /// /// public async Task OnPostUpdateJob() { var date = await _quartzHandle.Update(Input); return new JsonDataResult(date); } /// /// 删除任务 /// /// public async Task OnPostDeleteJob() { var date = await _quartzHandle.Remove(Input); return new JsonDataResult(date); } /// /// 获取任务执行记录 /// /// public async Task OnPostJobRecord(string taskName, string groupName, int current, int size) { var date = await _logService.GetLogs(taskName,groupName, current, size); return new JsonDataResult(date); } /// /// 获取已注入的任务类 /// /// public IActionResult OnGetSelectClassJob() { var date = ClassJobsFactory.ClassJobs; return new JsonDataResult(date); } public void OnGet() { } } }