package command import ( "github.com/beego/beego/v2/core/validation" "unicode/utf8" ) type UpdateProjectCommand struct { CompanyId int64 `cname:"公司ID" json:"companyId"` CycleId int64 `cname:"周期ID" json:"cycleId,string" valid:"Required"` Id int64 `cname:"项目ID" json:"id,string" valid:"Required"` Name string `cname:"项目名称" json:"name" valid:"Required"` Describe string `cname:"项目描述" json:"describe"` HrBp int `cname:"HR角色权限" json:"hrBp"` Pmp int `cname:"PM角色权限" json:"pmp"` PmpIds []string `cname:"项目管理员ID" json:"pmpIds"` } type UpdateProjectTemplateCommand struct { CompanyId int64 `cname:"公司ID" json:"companyId"` CycleId int64 `cname:"周期ID" json:"cycleId,string" valid:"Required"` Id int64 `cname:"项目ID" json:"id,string" valid:"Required"` TemplateId int64 `cname:"模板ID" json:"templateId,string"` Recipients []string `cname:"被评估人ID" json:"recipients"` TimeStart string `cname:"自评起始时间" json:"timeStart" valid:"Required"` TimeEnd string `cname:"自评截止时间" json:"timeEnd" valid:"Required"` KpiCycle int `cname:"评估周期" json:"kpiCycle" valid:"Required"` } type CheckRecipientCommand struct { CompanyId int64 `cname:"公司ID" json:"companyId"` CycleId int64 `cname:"周期ID" json:"cycleId,string" valid:"Required"` Id int64 `cname:"项目ID" json:"id,string" valid:"Required"` Recipients []string `cname:"被评估人ID" json:"recipients"` } func (in *UpdateProjectCommand) Valid(validation *validation.Validation) { if utf8.RuneCountInString(in.Name) > 40 { validation.SetError("name", "项目名称最大长度40个字符") return } } func (in *UpdateProjectTemplateCommand) Valid(validation *validation.Validation) { if len(in.Recipients) == 0 { validation.SetError("recipients", "请添加被评估人") return } if len(in.TimeStart) == 0 { validation.SetError("timeEnd", "请选择开始时间") return } if len(in.TimeEnd) == 0 { validation.SetError("timeEnd", "请选择结束时间") return } }