update_task_logic.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package task
  2. import (
  3. "context"
  4. "github.com/suyuan32/simple-admin-job/internal/svc"
  5. "github.com/suyuan32/simple-admin-job/internal/utils/dberrorhandler"
  6. "github.com/suyuan32/simple-admin-job/types/job"
  7. "github.com/suyuan32/simple-admin-common/i18n"
  8. "github.com/suyuan32/simple-admin-common/utils/pointy"
  9. "github.com/zeromicro/go-zero/core/logx"
  10. )
  11. type UpdateTaskLogic struct {
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. logx.Logger
  15. }
  16. func NewUpdateTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateTaskLogic {
  17. return &UpdateTaskLogic{
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. Logger: logx.WithContext(ctx),
  21. }
  22. }
  23. func (l *UpdateTaskLogic) UpdateTask(in *job.TaskInfo) (*job.BaseResp, error) {
  24. err := l.svcCtx.DB.Task.UpdateOneID(*in.Id).
  25. SetNotNilStatus(pointy.GetStatusPointer(in.Status)).
  26. SetNotNilName(in.Name).
  27. SetNotNilTaskGroup(in.TaskGroup).
  28. SetNotNilCronExpression(in.CronExpression).
  29. SetNotNilPattern(in.Pattern).
  30. SetNotNilPayload(in.Payload).
  31. Exec(l.ctx)
  32. if err != nil {
  33. return nil, dberrorhandler.DefaultEntError(l.Logger, err, in)
  34. }
  35. return &job.BaseResp{Msg: i18n.UpdateSuccess}, nil
  36. }