package job import ( "context" domusecase "haixun-backend/internal/model/job/domain/usecase" "haixun-backend/internal/svc" "haixun-backend/internal/types" ) type CancelJobLogic struct { ctx context.Context svcCtx *svc.ServiceContext } func NewCancelJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CancelJobLogic { return &CancelJobLogic{ctx: ctx, svcCtx: svcCtx} } func (l *CancelJobLogic) CancelJob(req *types.CancelJobReq) (*types.JobData, error) { run, err := l.svcCtx.Job.RequestCancel(l.ctx, domusecase.CancelRunRequest{ JobID: req.ID, Reason: req.Reason, }) if err != nil { return nil, err } data := toJobData(run) return &data, nil }