diff --git a/internal/server/modules/v1/controller/job.go b/internal/server/modules/v1/controller/job.go index ad049e10eebf5d5ec810efe1941e933c02791baf..931941b7fe534fde8bf72bc957c488269962fdbd 100644 --- a/internal/server/modules/v1/controller/job.go +++ b/internal/server/modules/v1/controller/job.go @@ -17,6 +17,17 @@ func NewJobCtrl() *JobCtrl { return &JobCtrl{} } +func (c *JobCtrl) List(ctx iris.Context) { + list, err := c.JobService.List() + + if err != nil { + ctx.JSON(c.ErrResp(commConsts.CommErr, err.Error())) + return + } + + ctx.JSON(c.SuccessResp(list)) +} + func (c *JobCtrl) Add(ctx iris.Context) { req := serverDomain.JobReq{} if err := ctx.ReadQuery(&req); err != nil { diff --git a/internal/server/modules/v1/repo/job.go b/internal/server/modules/v1/repo/job.go index a6bc95cc6a2ad782fbda92122b5ae7922e68f01f..8a3ec5acefa81979944bd839cdd5f9408077f407 100644 --- a/internal/server/modules/v1/repo/job.go +++ b/internal/server/modules/v1/repo/job.go @@ -17,6 +17,21 @@ func NewJobRepo() *JobRepo { return &JobRepo{} } +func (r *JobRepo) Query() (pos []model.Job, err error) { + err = r.DB. + Where("progress_status != ? && progress_status != ?", + commConsts.ProgressCompleted, commConsts.ProgressTimeout). + Where("NOT deleted"). + Find(&pos).Error + + if err != nil { + logUtils.Errorf(color.RedString("list job failed: %s.", err.Error())) + return + } + + return +} + func (r *JobRepo) ListByProgressStatus(progress commConsts.ProgressStatus) (pos []model.Job, err error) { err = r.DB. Where("progress_status = ?", progress). diff --git a/internal/server/modules/v1/service/job.go b/internal/server/modules/v1/service/job.go index 31dcbd24ed61a69f76b21cc30a53f1b27b6c8a28..7b94fc495d3512a2681d2a070b3b4a93c3016544 100644 --- a/internal/server/modules/v1/service/job.go +++ b/internal/server/modules/v1/service/job.go @@ -20,6 +20,12 @@ func NewJobService() *JobService { return &JobService{} } +func (s *JobService) List() (pos []model.Job, err error) { + pos, err = s.JobRepo.Query() + + return +} + func (s *JobService) Add(req serverDomain.JobReq) (err error) { job := model.Job{} copier.CopyWithOption(&job, req, copier.Option{