task_service.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package task
  2. import (
  3. logger "eta/eta_mini_ht_api/common/component/log"
  4. "eta/eta_mini_ht_api/models/task"
  5. )
  6. type TaskDTO struct {
  7. TaskType string
  8. Detail string
  9. }
  10. func InitTask(dto TaskDTO) (taskId int, err error) {
  11. initTask := convertToTask(dto)
  12. taskId, err = task.InitTask(initTask)
  13. if err != nil {
  14. logger.Error("创建任务记录失败:%v", err)
  15. return
  16. }
  17. return
  18. }
  19. func InitAndStartTask(dto TaskDTO) (taskId int, err error) {
  20. initTask := convertToTask(dto)
  21. initTask.Status = task.StatusProcess
  22. taskId, err = task.InitTask(initTask)
  23. if err != nil {
  24. logger.Error("创建任务记录失败:%v", err)
  25. return
  26. }
  27. return
  28. }
  29. func StartTask(taskId int) {
  30. task.UpdateTaskStatusById(taskId, task.StatusProcess)
  31. }
  32. func UpdateAndFailedTask(taskId int, detail string) {
  33. task.UpdateDetailsAndStatusById(taskId, task.StatusFailed, detail)
  34. }
  35. func UpdateAndSuccessTask(taskId int, detail string) {
  36. task.UpdateDetailsAndStatusById(taskId, task.StatusSuccess, detail)
  37. }
  38. func convertToTask(dto TaskDTO) task.Task {
  39. return task.Task{
  40. TaskType: dto.TaskType,
  41. Details: dto.Detail,
  42. }
  43. }