Apptask.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. using SqlSugar;
  2. using XF.Domain.Repository;
  3. namespace Hotline.BatchTask;
  4. /// <summary>
  5. /// 系统任务
  6. /// </summary>
  7. public class Apptask : CreationEntity
  8. {
  9. /// <summary>
  10. /// 任务名称
  11. /// </summary>
  12. public string TaskName { get; set; } = string.Empty;
  13. /// <summary>
  14. /// 任务描述
  15. /// </summary>
  16. public string TaskDesc { get; set; } = string.Empty;
  17. /// <summary>
  18. /// 任务类型
  19. /// </summary>
  20. public ETaskType TaskType { get; set; }
  21. [Navigate(NavigateType.OneToMany, nameof(ApptaskItem.ApptaskId))]
  22. public List<ApptaskItem> ApptaskItems { get; set; }
  23. }
  24. public class ApptaskItem
  25. {
  26. /// <summary>
  27. /// 任务id
  28. /// </summary>
  29. public string ApptaskId { get; set; }
  30. /// <summary>
  31. /// 业务id(冗余)
  32. /// </summary>
  33. public string BusinessId { get; set; }
  34. /// <summary>
  35. /// 任务类型(冗余)
  36. /// </summary>
  37. public ETaskType TaskType { get; set; }
  38. /// <summary>
  39. /// 任务状态
  40. /// </summary>
  41. public ETaskStatus TaskStatus { get; set; }
  42. /// <summary>
  43. /// 任务执行时间
  44. /// </summary>
  45. public DateTime? TaskStartTime { get; set; }
  46. public DateTime? TaskEndTime { get; set; }
  47. /// <summary>
  48. /// 参数
  49. /// </summary>
  50. [SugarColumn(ColumnDataType = "varchar(8000)")]
  51. public string TaskParams { get; set; }
  52. /// <summary>
  53. /// 执行次数
  54. /// </summary>
  55. public int Tries { get; set; }
  56. /// <summary>
  57. /// 执行次数上限
  58. /// </summary>
  59. public int Limit { get; set; } = 1;
  60. [SugarColumn(IsEnableUpdateVersionValidation = true)]
  61. public string Ver { get; set; }
  62. [Navigate(NavigateType.OneToOne, nameof(ApptaskId))]
  63. public Apptask Apptask { get; set; }
  64. }
  65. /// <summary>
  66. /// 任务状态
  67. /// </summary>
  68. public enum ETaskStatus
  69. {
  70. Wait = 0,
  71. Processing = 1,
  72. Success = 2,
  73. Failed = 3,
  74. Terminated = 9,
  75. }
  76. /// <summary>
  77. /// 任务类型
  78. /// </summary>
  79. public enum ETaskType
  80. {
  81. /// <summary>
  82. /// 延期
  83. /// </summary>
  84. Delay = 1,
  85. /// <summary>
  86. /// 甄别
  87. /// </summary>
  88. Screen = 2,
  89. }