job.go 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package dto
  2. import (
  3. "IotAdmin/app/schedule/models"
  4. "IotAdmin/common/dto"
  5. comModels "IotAdmin/common/models"
  6. "time"
  7. )
  8. type SysJobGetPageReq struct {
  9. dto.Pagination `search:"-"`
  10. JobName string `form:"jobName" search:"type:icontains;column:job_name;table:sys_job" comment:"名称"`
  11. JobGroup string `form:"jobGroup" search:"type:exact;column:job_group;table:sys_job" comment:"任务分组"`
  12. JobType int `form:"jobType" search:"type:exact;column:job_type;table:sys_job" comment:"调用类型"`
  13. InvokeTarget string `form:"invokeTarget" search:"type:icontains;column:invoke_target;table:sys_job" comment:"调用目标"`
  14. Status int `form:"status" search:"type:exact;column:status;table:sys_job" comment:"状态"`
  15. SysJobOrder
  16. }
  17. type SysJobOrder struct {
  18. JobGroup string `form:"jobGroupOrder" search:"type:order;column:job_group;table:sys_job"`
  19. JobType string `form:"jobTypeOrder" search:"type:order;column:job_type;table:sys_job"`
  20. ExecCount string `form:"execCountOrder" search:"type:order;column:exec_count;table:sys_job"`
  21. FailCount string `form:"failCountOrder" search:"type:order;column:fail_count;table:sys_job"`
  22. LastExecTime string `form:"lastExecTimeOrder" search:"type:order;column:last_exec_time;table:sys_job"`
  23. NextExecTime string `form:"nextExecTimeOrder" search:"type:order;column:next_exec_time;table:sys_job"`
  24. CreatedAt string `form:"createdAtOrder" search:"type:order;column:created_at;table:sys_job"`
  25. Status string `form:"statusOrder" search:"type:order;column:status;table:sys_job"`
  26. }
  27. func (m *SysJobGetPageReq) GetNeedSearch() interface{} {
  28. return *m
  29. }
  30. // SysJobInsertReq 添加定时任务请求参数
  31. type SysJobInsertReq struct {
  32. JobId int `json:"-" comment:"编码"` // 编码
  33. JobName string `json:"jobName" comment:"名称"`
  34. JobGroup string `json:"jobGroup" comment:"任务分组"`
  35. JobType int `json:"jobType" comment:"调用类型"`
  36. CronExpression string `json:"cronExpression" comment:"Cron表达式"`
  37. InvokeTarget string `json:"invokeTarget" comment:"调用目标"`
  38. Args string `json:"args" comment:"目标参数"`
  39. MisfirePolicy int `json:"misfirePolicy" comment:"执行策略"`
  40. Concurrent int `json:"concurrent" comment:"是否并发"`
  41. Status int `json:"status" comment:"状态"`
  42. comModels.ControlBy
  43. }
  44. func (s *SysJobInsertReq) Generate(model *models.SysJob) {
  45. if s.JobId == 0 {
  46. model.JobId = s.JobId
  47. }
  48. model.JobName = s.JobName
  49. model.JobGroup = s.JobGroup
  50. model.JobType = s.JobType
  51. model.CronExpression = s.CronExpression
  52. model.InvokeTarget = s.InvokeTarget
  53. model.Args = s.Args
  54. model.MisfirePolicy = s.MisfirePolicy
  55. model.Concurrent = s.Concurrent
  56. model.Status = 1
  57. model.CreateBy = s.CreateBy // 添加这而,需要记录是被谁创建的
  58. }
  59. func (s *SysJobInsertReq) GetId() interface{} {
  60. return s.JobId
  61. }
  62. // SysJobUpdateReq 修改定时任务请求参数
  63. type SysJobUpdateReq struct {
  64. JobId int `uri:"jobId" comment:"编码"` // 编码
  65. JobName string `json:"jobName" comment:"名称"`
  66. JobGroup string `json:"jobGroup" comment:"任务分组"`
  67. JobType int `json:"jobType" comment:"调用类型"`
  68. CronExpression string `json:"cronExpression" comment:"Cron表达式"`
  69. InvokeTarget string `json:"invokeTarget" comment:"调用目标"`
  70. Args string `json:"args" comment:"目标参数"`
  71. MisfirePolicy int `json:"misfirePolicy" comment:"执行策略"`
  72. Concurrent int `json:"concurrent" comment:"是否并发"`
  73. Status int `json:"status" comment:"状态"`
  74. comModels.ControlBy
  75. }
  76. func (s *SysJobUpdateReq) Generate(model *models.SysJob) {
  77. if s.JobId == 0 {
  78. model.JobId = s.JobId
  79. }
  80. model.JobName = s.JobName
  81. model.JobGroup = s.JobGroup
  82. model.JobType = s.JobType
  83. model.CronExpression = s.CronExpression
  84. model.InvokeTarget = s.InvokeTarget
  85. model.Args = s.Args
  86. model.MisfirePolicy = s.MisfirePolicy
  87. model.Concurrent = s.Concurrent
  88. model.Status = s.Status
  89. model.UpdateBy = s.UpdateBy // 添加这而,需要记录是被谁更新的
  90. }
  91. func (s *SysJobUpdateReq) GetId() interface{} {
  92. return s.JobId
  93. }
  94. // SysJobGetReq 获取定时任务请求参数
  95. type SysJobGetReq struct {
  96. Id int `uri:"id"`
  97. }
  98. func (s *SysJobGetReq) GetId() interface{} {
  99. return s.Id
  100. }
  101. // SysJobDeleteReq 删除定时任务请求参数
  102. type SysJobDeleteReq struct {
  103. Ids []int `json:"ids"`
  104. }
  105. func (s *SysJobDeleteReq) GetId() interface{} {
  106. return s.Ids
  107. }
  108. // SysJobResp 获取定时任务响应参数
  109. type SysJobResp struct {
  110. JobId int `uri:"jobId" comment:"编码"` // 编码
  111. JobName string `json:"jobName" comment:"名称"`
  112. JobGroup string `json:"jobGroup" comment:"任务分组"`
  113. JobType int `json:"jobType" comment:"调用类型"`
  114. CronExpression string `json:"cronExpression" comment:"Cron表达式"`
  115. InvokeTarget string `json:"invokeTarget" comment:"调用目标"`
  116. Args string `json:"args" comment:"目标参数"`
  117. MisfirePolicy int `json:"misfirePolicy" comment:"执行策略"`
  118. Concurrent int `json:"concurrent" comment:"是否并发"`
  119. Status int `json:"status" comment:"状态"`
  120. CreateBy int `json:"createBy" comment:"创建者"`
  121. CreatedAt time.Time `json:"createdAt" comment:"创建时间"`
  122. }
  123. func (s *SysJobResp) Generate(model *models.SysJob) {
  124. s.JobName = model.JobName
  125. s.JobGroup = model.JobGroup
  126. s.JobType = model.JobType
  127. s.CronExpression = model.CronExpression
  128. s.InvokeTarget = model.InvokeTarget
  129. s.Args = model.Args
  130. s.MisfirePolicy = model.MisfirePolicy
  131. s.Concurrent = model.Concurrent
  132. s.Status = model.Status
  133. s.CreateBy = model.CreateBy
  134. s.CreatedAt = model.CreatedAt
  135. }