diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index 908d43689..10c5558ae 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -127,8 +127,8 @@ func PublishJob(ctx *jxcontext.Context, job *model.Job) (err error) { return err } -func GetJobs(ctx *jxcontext.Context, userIDs []string, categoryIDs []int, includeStep bool, fromTime, toTime string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) { - return dao.GetJobs(dao.GetDB(), userIDs, categoryIDs, includeStep, utils.Str2Time(fromTime), utils.Str2Time(toTime), pageSize, offset) +func GetJobs(ctx *jxcontext.Context, userIDs []string, categoryIDs, statuss []int, includeStep bool, fromTime, toTime string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) { + return dao.GetJobs(dao.GetDB(), userIDs, categoryIDs, statuss, includeStep, utils.Str2Time(fromTime), utils.Str2Time(toTime), pageSize, offset) } func AcceptJob(ctx *jxcontext.Context, jobID int) (err error) { diff --git a/business/model/dao/dao_job.go b/business/model/dao/dao_job.go index 029ee6deb..a9e6156ae 100644 --- a/business/model/dao/dao_job.go +++ b/business/model/dao/dao_job.go @@ -26,7 +26,7 @@ type GetJobsResult struct { CategoryName string `json:"CategoryName"` //分类名 } -func GetJobs(db *DaoDB, userIDs []string, categoryIDs []int, includeStep bool, fromTime, toTime time.Time, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) { +func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss []int, includeStep bool, fromTime, toTime time.Time, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) { var jobs []*GetJobsResult sql := ` SELECT SQL_CALC_FOUND_ROWS a.*, b.name @@ -43,6 +43,10 @@ func GetJobs(db *DaoDB, userIDs []string, categoryIDs []int, includeStep bool, f sql += ` AND a.job_category_id IN (` + GenQuestionMarks(len(categoryIDs)) + `)` sqlParams = append(sqlParams, categoryIDs) } + if len(statuss) > 0 { + sql += ` AND a.status IN (` + GenQuestionMarks(len(statuss)) + `)` + sqlParams = append(sqlParams, statuss) + } if fromTime != utils.ZeroTimeValue { sql += ` AND a.created_at >= ?` sqlParams = append(sqlParams, fromTime) @@ -51,9 +55,9 @@ func GetJobs(db *DaoDB, userIDs []string, categoryIDs []int, includeStep bool, f sql += ` AND a.created_at <= ?` sqlParams = append(sqlParams, toTime) } - sql += " AND a.status <> ? LIMIT ? OFFSET ?" + sql += " LIMIT ? OFFSET ?" pageSize = jxutils.FormalizePageSize(pageSize) - sqlParams = append(sqlParams, model.JobStatusFailed, pageSize, offset) + sqlParams = append(sqlParams, pageSize, offset) Begin(db) defer Commit(db) if err = GetRows(db, &jobs, sql, sqlParams...); err == nil { diff --git a/controllers/job_controller.go b/controllers/job_controller.go index 13d414b51..231c5cd4a 100644 --- a/controllers/job_controller.go +++ b/controllers/job_controller.go @@ -49,6 +49,7 @@ func (c *JobController) GetJobCategories() { // @Param token header string true "认证token" // @Param userIDs query string false "用户IDs" // @Param categoryIDs query string false "分类IDs" +// @Param statuss query string false "状态s" // @Param includeStep query bool false "是否查询步骤,默认否" // @Param fromTime query string false "开始时间" // @Param toTime query string false "结束时间" @@ -60,11 +61,11 @@ func (c *JobController) GetJobCategories() { func (c *JobController) GetJobs() { c.callGetJobs(func(params *tJobGetJobsParams) (retVal interface{}, errCode string, err error) { var ( - userIDs []string - categoryIDs []int + userIDs []string + categoryIDs, statuss []int ) - if err = jxutils.Strings2Objs(params.UserIDs, &userIDs, params.CategoryIDs, categoryIDs); err == nil { - retVal, err = cms.GetJobs(params.Ctx, userIDs, categoryIDs, params.IncludeStep, params.FromTime, params.ToTime, params.PageSize, params.Offset) + if err = jxutils.Strings2Objs(params.UserIDs, &userIDs, params.CategoryIDs, &categoryIDs, params.Statuss, &statuss); err == nil { + retVal, err = cms.GetJobs(params.Ctx, userIDs, categoryIDs, statuss, params.IncludeStep, params.FromTime, params.ToTime, params.PageSize, params.Offset) } return retVal, "", err })