list_task.go 1.5 KB
package query

import (
	"fmt"

	"github.com/astaxie/beego/validation"
)

type ListTaskQuery struct {
	// 公司ID
	CompanyId int64 `json:"companyId" valid:"Required"`
	// 任务发起者
	Sponsor int64 `json:"sponsor,omitempty"`
	// 任务内容匹配
	TaskContentMatch string `json:"taskContentMatch,omitempty"`
	// 任务类型
	TaskType int `json:"taskType,omitempty"`
	// 统一用户UID
	Uid int64 `json:"uid,omitempty"`
	// 任务状态
	TaskStatus int `json:"taskStatus,omitempty"`
	// 客户价值
	CustomerValue []string `json:"customerValue,omitempty"`
	// 任务性质
	TaskNature string `json:"taskNature,omitempty"`
	// 是否悬赏任务
	IsRewardTake bool `json:"isRewardTake,omitempty"`
	// 竞标参与者UID
	Bidder int64 `json:"bidder,omitempty"`
	// 竞标时间(1全部,2已截止,3未截止)
	BidTimeMatch int `json:"bidTimeMatch,omitempty"`
	// 任务领取人
	Receiver int64 `json:"receiver,omitempty"`
	// 任务参与者
	Participator int64 `json:"participator,omitempty"`
	//是否过滤关闭状态任务
	IsFilterCloseStatus bool `json:"isFilterCloseStatus,omitempty"`
	// 查询偏离量
	Offset int `json:"offset,omitempty"`
	// 查询限制
	Limit int `json:"limit,omitempty"`
}

func (listTaskQuery *ListTaskQuery) ValidateQuery() error {
	valid := validation.Validation{}
	b, err := valid.Valid(listTaskQuery)
	if err != nil {
		return err
	}
	if !b {
		for _, validErr := range valid.Errors {
			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
		}
	}
	return nil
}