job.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package models
  2. import (
  3. "IotAdmin/common/models"
  4. "gorm.io/gorm"
  5. )
  6. // SysJob 定时任务实体
  7. type SysJob struct {
  8. JobId int `json:"jobId" gorm:"type:bigint(20);primaryKey;autoIncrement;comment:编码"`
  9. JobName string `json:"jobName" gorm:"type:varchar(255);comment:名称"`
  10. JobGroup string `json:"jobGroup" gorm:"type:varchar(255);comment:任务分组"`
  11. JobType int `json:"jobType" gorm:"type:tinyint(4);comment:调用类型"`
  12. CronExpression string `json:"cronExpression" gorm:"type:varchar(255);comment:Cron表达式"`
  13. InvokeTarget string `json:"invokeTarget" gorm:"type:varchar(255);comment:调用目标"`
  14. Args string `json:"args" gorm:"type:varchar(255);comment:目标参数"`
  15. MisfirePolicy int `json:"misfirePolicy" gorm:"type:bigint(20);comment:执行策略"`
  16. Concurrent int `json:"concurrent" gorm:"type:tinyint(4);comment:是否并发"`
  17. Status int `json:"status" gorm:"type:tinyint(4);comment:状态"`
  18. EntryId int `json:"entryId" gorm:"type:smallint(6);comment:EntryId"`
  19. models.ControlBy
  20. models.ModelTime
  21. }
  22. func (*SysJob) TableName() string {
  23. return "sys_job"
  24. }
  25. func (e *SysJob) Generate() models.ActiveRecord {
  26. o := *e
  27. return &o
  28. }
  29. func (e *SysJob) GetId() interface{} {
  30. return e.JobId
  31. }
  32. func (e *SysJob) GetList(tx *gorm.DB, list interface{}) (err error) {
  33. return tx.Table(e.TableName()).Where("status = ?", 2).Find(list).Error
  34. }
  35. // Update 更新SysJob
  36. func (e *SysJob) Update(tx *gorm.DB, id interface{}) (err error) {
  37. return tx.Table(e.TableName()).Where(id).Updates(&e).Error
  38. }
  39. func (e *SysJob) RemoveAllEntryID(tx *gorm.DB) (update SysJob, err error) {
  40. if err = tx.Table(e.TableName()).Where("entry_id > ?", 0).Update("entry_id", 0).Error; err != nil {
  41. return
  42. }
  43. return
  44. }