package controllers import ( "git.rosy.net.cn/baseapi/utils" "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 jobID formData int true "jobID" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /CancelPublishJob [post] func (c *JobController) CancelPublishJob() { c.callCancelPublishJob(func(params *tJobCancelPublishJobParams) (retVal interface{}, errCode string, err error) { err = cms.CancelPublishJob(params.Ctx, params.JobID) 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 statuss query string false "状态s" // @Param vendorIDs 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, statuss, vendorIDs []int ) if err = jxutils.Strings2Objs(params.UserIDs, &userIDs, params.CategoryIDs, &categoryIDs, params.Statuss, &statuss, params.VendorIDs, vendorIDs); err == nil { retVal, err = cms.GetJobs(params.Ctx, userIDs, categoryIDs, statuss, vendorIDs, 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) { err = cms.AcceptJob(params.Ctx, params.JobID) return retVal, "", err }) } // @Title 用户取消接受的任务 // @Description 用户取消接受的任务 // @Param token header string true "认证token" // @Param jobID formData int true "jobID" // @Param jobOrderID formData int true "jobOrderID" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /CancelAcceptJob [post] func (c *JobController) CancelAcceptJob() { c.callCancelAcceptJob(func(params *tJobCancelAcceptJobParams) (retVal interface{}, errCode string, err error) { err = cms.CancelAcceptJob(params.Ctx, params.JobID, int64(params.JobOrderID)) return retVal, "", err }) } // @Title 查看接受的任务列表 // @Description 查看接受的任务列表 // @Param token header string true "认证token" // @Param userID query string false "用户ID" // @Param categoryID query string false "分类ID" // @Param statuss query string false "状态s" // @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 /GetJobOrders [get] func (c *JobController) GetJobOrders() { c.callGetJobOrders(func(params *tJobGetJobOrdersParams) (retVal interface{}, errCode string, err error) { var ( statuss []int ) if err = jxutils.Strings2Objs(params.Statuss, statuss); err == nil { retVal, err = dao.GetJobOrders(dao.GetDB(), 0, 0, params.UserID, "", utils.Str2Time(params.FromTime), utils.Str2Time(params.ToTime), statuss, params.PageSize, params.Offset) } return retVal, "", err }) } // @Title 提交任务 // @Description 提交任务 // @Param token header string true "认证token" // @Param payload formData string true "joborder type" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /SubmitJob [post] func (c *JobController) SubmitJob() { c.callSubmitJob(func(params *tJobSubmitJobParams) (retVal interface{}, errCode string, err error) { var jobOrder *model.JobOrder if err = jxutils.Strings2Objs(params.Payload, &jobOrder); err == nil { err = cms.SubmitJob(params.Ctx, jobOrder) } return retVal, "", err }) } // @Title 审核任务 // @Description 审核任务 // @Param token header string true "认证token" // @Param jobOrderID formData int true "jobOrderID" // @Param status formData int true "审核标志,15 是通过,20是不通过" // @Param comment formData string true "审核理由" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /AuditJob [post] func (c *JobController) AuditJob() { c.callAuditJob(func(params *tJobAuditJobParams) (retVal interface{}, errCode string, err error) { err = cms.AuditJob(params.Ctx, params.JobOrderID, params.Status, params.Comment) return retVal, "", err }) }