Files
jx-callback/controllers/job_controller.go
苏尹岚 accb629e14 shan
2020-10-14 11:57:12 +08:00

99 lines
3.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package controllers
import (
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"github.com/astaxie/beego"
)
type JobController struct {
beego.Controller
}
// @Title 发布任务
// @Description 发布任务
// @Param token header string true "认证token"
// @Param payload formData string true "job+step 类型"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /PublishJob [post]
func (c *JobController) PublishJob() {
c.callPublishJob(func(params *tJobPublishJobParams) (retVal interface{}, errCode string, err error) {
var job *model.Job
if err = jxutils.Strings2Objs(params.Payload, &job); err == nil {
err = cms.PublishJob(params.Ctx, job)
}
return retVal, "", err
})
}
// @Title 查看任务类型
// @Description 查看任务类型
// @Param token header string true "认证token"
// @Param name query string false "分类名"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetJobCategories [get]
func (c *JobController) GetJobCategories() {
c.callGetJobCategories(func(params *tJobGetJobCategoriesParams) (retVal interface{}, errCode string, err error) {
retVal, err = dao.GetJobCategories(dao.GetDB(), params.Name)
return retVal, "", err
})
}
// @Title 查看任务列表
// @Description 查看任务列表
// @Param token header string true "认证token"
// @Param userIDs query string false "用户IDs"
// @Param categoryIDs query string false "分类IDs"
// @Param includeStep query bool false "是否查询步骤,默认否"
// @Param fromTime query string false "开始时间"
// @Param toTime query string false "结束时间"
// @Param offset query int false "门店列表起始序号以0开始缺省为0"
// @Param pageSize query int false "门店列表页大小缺省为50-1表示全部"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetJobs [get]
func (c *JobController) GetJobs() {
c.callGetJobs(func(params *tJobGetJobsParams) (retVal interface{}, errCode string, err error) {
var (
userIDs []string
categoryIDs []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)
}
return retVal, "", err
})
}
// @Title 查看任务
// @Description 查看任务
// @Param token header string true "认证token"
// @Param jobID query int false "任务ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetJobDetail [get]
func (c *JobController) GetJobDetail() {
c.callGetJobDetail(func(params *tJobGetJobDetailParams) (retVal interface{}, errCode string, err error) {
retVal, err = dao.GetJobDetail(dao.GetDB(), params.JobID)
return retVal, "", err
})
}
// @Title 接任务
// @Description 接任务
// @Param token header string true "认证token"
// @Param jobID formData int true "jobID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AcceptJob [post]
func (c *JobController) AcceptJob() {
c.callAcceptJob(func(params *tJobAcceptJobParams) (retVal interface{}, errCode string, err error) {
return retVal, "", err
})
}