sys_job.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package model
  2. import (
  3. model2 "cold-delivery/common/model"
  4. "gorm.io/gorm"
  5. )
  6. type SysJob struct {
  7. JobId int `json:"jobId" gorm:"primaryKey;autoIncrement"` // 编码
  8. JobName string `json:"jobName" gorm:"size:255;"` // 名称
  9. JobGroup string `json:"jobGroup" gorm:"size:255;"` // 任务分组
  10. JobType int `json:"jobType" gorm:"size:1;"` // 任务类型 1-接口 2-函数
  11. CronExpression string `json:"cronExpression" gorm:"size:255;"` // cron表达式
  12. InvokeTarget string `json:"invokeTarget" gorm:"size:255;"` // 调用目标
  13. Args string `json:"args" gorm:"size:255;"` // 目标参数
  14. MisfirePolicy int `json:"misfirePolicy" gorm:"size:255;"` // 执行策略 1-立即执行 2-执行一次 3-放弃执行
  15. Concurrent int `json:"concurrent" gorm:"size:1;"` // 是否并发 1-禁止
  16. Status int `json:"status" gorm:"size:1;"` // 状态 1-停用 2-正常
  17. EntryId int `json:"entry_id" gorm:"size:11;"` // job启动时返回的id
  18. Auto bool `json:"auto" gorm:"size:4;"` // 是否开机自启动
  19. model2.ControlBy
  20. model2.ModelTime
  21. DataScope string `json:"dataScope" gorm:"-"`
  22. }
  23. func (SysJob) TableName() string {
  24. return "sys_job"
  25. }
  26. func (e *SysJob) Generate() model2.ActiveRecord {
  27. o := *e
  28. return &o
  29. }
  30. func (e *SysJob) GetId() interface{} {
  31. return e.JobId
  32. }
  33. func (e *SysJob) SetCreateBy(createBy int) {
  34. e.CreateBy = createBy
  35. }
  36. func (e *SysJob) SetUpdateBy(updateBy int) {
  37. e.UpdateBy = updateBy
  38. }
  39. func (e *SysJob) GetList(tx *gorm.DB, list interface{}) (err error) {
  40. return tx.Table(e.TableName()).Where("status = ?", 2).Find(list).Error
  41. }
  42. // 更新SysJob
  43. func (e *SysJob) Update(tx *gorm.DB, id interface{}) (err error) {
  44. return tx.Table(e.TableName()).Where(id).Updates(&e).Error
  45. }
  46. func (e *SysJob) RemoveAllEntryID(tx *gorm.DB) (update SysJob, err error) {
  47. if err = tx.Table(e.TableName()).Where("entry_id > ?", 0).Update("entry_id", 0).Error; err != nil {
  48. return
  49. }
  50. return
  51. }