SysTasksQzService.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using Infrastructure.Attribute;
  2. using Infrastructure.Extensions;
  3. using System;
  4. using ZR.Model.System;
  5. using ZR.Service.System.IService;
  6. namespace ZR.Service.System
  7. {
  8. /// <summary>
  9. /// 定时任务
  10. /// </summary>
  11. [AppService(ServiceType = typeof(ISysTasksQzService), ServiceLifetime = LifeTime.Transient)]
  12. public class SysTasksQzService : BaseService<SysTasks>, ISysTasksQzService
  13. {
  14. /// <summary>
  15. /// 添加任务
  16. /// </summary>
  17. /// <param name="parm"></param>
  18. /// <returns></returns>
  19. public int AddTasks(SysTasks parm)
  20. {
  21. parm.IsStart = false;
  22. SetAssembleName(parm);
  23. return Add(parm);
  24. }
  25. private void SetAssembleName(SysTasks parm)
  26. {
  27. if (parm.ApiUrl.IfNotEmpty() && parm.TaskType == 2)
  28. {
  29. parm.AssemblyName = "ZR.Tasks";
  30. parm.ClassName = "TaskScheduler.Job_HttpRequest";
  31. }
  32. if (parm.SqlText.IfNotEmpty() && parm.TaskType == 3)
  33. {
  34. parm.AssemblyName = "ZR.Tasks";
  35. parm.ClassName = "TaskScheduler.Job_SqlExecute";
  36. }
  37. }
  38. /// <summary>
  39. /// 更新任务
  40. /// </summary>
  41. /// <param name="parm"></param>
  42. /// <returns></returns>
  43. public int UpdateTasks(SysTasks parm)
  44. {
  45. SetAssembleName(parm);
  46. return Update(f => f.ID == parm.ID, f => new SysTasks
  47. {
  48. ID = parm.ID,
  49. Name = parm.Name,
  50. JobGroup = parm.JobGroup,
  51. Cron = parm.Cron,
  52. AssemblyName = parm.AssemblyName,
  53. ClassName = parm.ClassName,
  54. Remark = parm.Remark,
  55. TriggerType = parm.TriggerType,
  56. IntervalSecond = parm.IntervalSecond,
  57. JobParams = parm.JobParams,
  58. Update_time = DateTime.Now,
  59. BeginTime = parm.BeginTime,
  60. EndTime = parm.EndTime,
  61. TaskType = parm.TaskType,
  62. ApiUrl = parm.ApiUrl,
  63. SqlText = parm.SqlText,
  64. RequestMethod = parm.RequestMethod,
  65. });
  66. }
  67. }
  68. }