package command import ( "fmt" "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/domain" "time" "github.com/astaxie/beego/validation" ) type CreateTaskCommand struct { // 公司ID CompanyId int64 `json:"companyId" valid:"Required"` // 任务名称 TaskName string `json:"taskName" valid:"Required"` // 任务类型 TaskType int `json:"taskType" valid:"Required"` // 任务发起者uid Sponsor int64 `json:"sponsor" valid:"Required"` // 引用类型 ReferenceResourceType int `json:"referenceResourceType,omitempty"` // 引用资源项列表 ReferenceResourceItems []*domain.ReferenceResourceItem `json:"referenceResourceItems,omitempty"` // 客户价值列表 CustomerValue []string `json:"customerValue" valid:"Required"` // 任务性质 TaskNature string `json:"taskNature" valid:"Required"` // 奖励素币 SuMoney float64 `json:"suMoney,omitempty"` // 验收标准 AcceptanceStandard string `json:"acceptanceStandard" valid:"Required"` // 任务描述 TaskDescription string `json:"taskDescription" valid:"Required"` // 任务图片URL列表 TaskPictureUrls []string `json:"taskPictureUrls,omitempty"` // 是否悬赏任务 IsRewardTake bool `json:"isRewardTake,omitempty"` // 竞标开始时间 BidStartTime time.Time `json:"bidStartTime,omitempty"` // 竞标结束时间 BidEndTime time.Time `json:"bidEndTime,omitempty"` } //func (createTaskCommand *CreateTaskCommand) Valid(validation *validation.Validation) { // validation.SetError("CustomValid", "未实现的自定义认证") //} func (createTaskCommand *CreateTaskCommand) ValidateCommand() error { valid := validation.Validation{} b, err := valid.Valid(createTaskCommand) if err != nil { return err } if !b { for _, validErr := range valid.Errors { return fmt.Errorf("%s %s", validErr.Key, validErr.Message) } } return nil }