Files
jx-callback/controllers/job_controller.go
苏尹岚 76ca18d261 test
2020-11-03 15:59:58 +08:00

302 lines
12 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/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+img 类型"
// @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.JobExt
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &job); err == nil {
errCode, err = cms.PublishJob(params.Ctx, job)
}
return retVal, errCode, 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 false "认证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 lng query float64 false "经度"
// @Param lat query float64 false "维度"
// @Param sortType query int false "排序类型, 1距离2新店优先3今日热门4奖励高低"
// @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.Lng, params.Lat, params.SortType, params.PageSize, params.Offset)
}
return retVal, "", err
})
}
// @Title 查看任务
// @Description 查看任务
// @Param token header string true "认证token"
// @Param jobID query int false "任务ID"
// @Param lng query float64 false "经度"
// @Param lat query float64 false "维度"
// @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 = cms.GetJobDetail(params.Ctx, params.JobID, params.Lng, params.Lat)
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) {
errCode, err = cms.AcceptJob(params.Ctx, params.JobID)
return retVal, errCode, 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
})
}
// @Title 导入美团会员
// @Description 导入美团会员
// @Param token header string true "认证token"
// @Param payload formData string true "mtmembers struct"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /ImprotMtMembers [post]
func (c *JobController) ImprotMtMembers() {
c.callImprotMtMembers(func(params *tJobImprotMtMembersParams) (retVal interface{}, errCode string, err error) {
var mtMembers []*model.MtMember
if err = jxutils.Strings2Objs(params.Payload, &mtMembers); err == nil {
err = cms.ImprotMtMembers(params.Ctx, mtMembers)
}
return retVal, "", err
})
}
// @Title 充值美团会员
// @Description 充值美团会员
// @Param token header string true "认证token"
// @Param phone formData int true "电话"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RechargeMtMembers [post]
func (c *JobController) RechargeMtMembers() {
c.callRechargeMtMembers(func(params *tJobRechargeMtMembersParams) (retVal interface{}, errCode string, err error) {
errCode, err = cms.RechargeMtMembers(params.Ctx, params.Phone)
return retVal, errCode, err
})
}
// @Title 发送京东快递
// @Description 发送京东快递
// @Param token header string true "认证token"
// @Param payload formData string true "delivery order 类型"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SendJdDelivery [post]
func (c *JobController) SendJdDelivery() {
c.callSendJdDelivery(func(params *tJobSendJdDeliveryParams) (retVal interface{}, errCode string, err error) {
var dOrder *model.DeliveryOrder
if err = jxutils.Strings2Objs(params.Payload, &dOrder); err == nil {
errCode, err = cms.SendJdDelivery(params.Ctx, dOrder)
}
return retVal, errCode, err
})
}
// @Title 取消京东快递
// @Description 取消京东快递
// @Param token header string true "认证token"
// @Param vendorWaybillID formData string true "运单号"
// @Param reason formData string true "取消原因"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CancelJdDelivery [post]
func (c *JobController) CancelJdDelivery() {
c.callCancelJdDelivery(func(params *tJobCancelJdDeliveryParams) (retVal interface{}, errCode string, err error) {
err = cms.CancelJdDelivery(params.Ctx, params.VendorWaybillID, params.Reason)
return retVal, "", err
})
}
// @Title 查询用户的京东快递
// @Description 查询用户的京东快递
// @Param token header string true "认证token"
// @Param status query int 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 /GetJdDelivery [get]
func (c *JobController) GetJdDelivery() {
c.callGetJdDelivery(func(params *tJobGetJdDeliveryParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetJdDelivery(params.Ctx, params.Status, params.FromTime, params.ToTime, params.PageSize, params.Offset)
return retVal, "", err
})
}
// @Title 查询京东快递物流信息
// @Description 查询京东快递物流信息
// @Param token header string true "认证token"
// @Param vendorWaybillID query string false "运单号"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetJdDeliveryDetail [get]
func (c *JobController) GetJdDeliveryDetail() {
c.callGetJdDeliveryDetail(func(params *tJobGetJdDeliveryDetailParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetJdDeliveryDetail(params.Ctx, params.VendorWaybillID)
return retVal, "", err
})
}
// @Title 京东快递物流超重验证
// @Description 京东快递物流超重验证
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CheckJdDeliveryWeight [post]
func (c *JobController) CheckJdDeliveryWeight() {
c.callCheckJdDeliveryWeight(func(params *tJobCheckJdDeliveryWeightParams) (retVal interface{}, errCode string, err error) {
err = cms.CheckJdDeliveryWeight(params.Ctx)
return retVal, "", err
})
}