package validators // 问题库 type QuestionnaireSubject struct { ID int64 `json:"id" form:"id" binding:"omitempty"` SN string `json:"sn" form:"sn" binding:"required_if=ID 0,omitempty,alphanum,min=1,max=255"` Type int `json:"type" form:"type" binding:"required,number"` Title string `json:"title" form:"title" binding:"required,min=1,max=255"` Validator string `json:"validator" form:"validator" binding:"omitempty"` Remark string `json:"remark" form:"remark" binding:"omitempty,min=1,max=255"` Mark string `json:"mark" form:"mark" binding:"omitempty,min=1,max=255"` CreatedAt string `json:"createdAt" form:"-" binding:"-"` } // 问题模板 type QuestionnaireTemplate struct { ID int64 `json:"id" form:"id" binding:"omitempty,number"` SN string `json:"sn" form:"sn" binding:"required_if=ID 0,omitempty,alphanum,min=1,max=255"` Title string `json:"title" form:"title" binding:"required,min=1,max=255"` Peg string `json:"peg" form:"peg" binding:"omitempty"` SubjectTotal int `json:"subjectTotal" form:"-" binding:"-"` // 关联的题目数 SubjectIds []string `json:"subjectIds" form:"-" binding:"-"` Subjects []*QuestionnaireSubject `json:"subjects" form:"-"` // 关联的题目列表 CreatedAt string `json:"createdAt" form:"-" binding:"-"` } // 问题模板关联的问题库 type QuestionnaireTemplateSubject struct { ID int64 `json:"id" form:"-" binding:"-"` Sort int64 `json:"sort" form:"-" binding:"-"` QuestionnaireSubject *QuestionnaireSubject `json:"questionnaireSubject" form:"-" binding:"-"` } // 问卷 type QuestionnaireSurvey struct { ID int64 `json:"id" form:"id" binding:"omitempty,number"` Title string `json:"title" form:"title" binding:"required,min=1,max=255"` SN string `json:"sn" form:"sn" binding:"required_if=ID 0,omitempty,alphanum,min=1,max=255"` CanSkipIntro int `json:"canSkipIntro" form:"canSkipIntro" binding:"required,number,oneof=1 2"` CanSkipResult int `json:"canSkipResult" form:"canSkipResult" binding:"required,number,oneof=1 2"` GuestAvatar string `json:"guestAvatar" form:"guestAvatar" binding:"omitempty"` CustomerAvatar string `json:"customerAvatar" form:"customerAvatar" binding:"omitempty"` GreetingText string `json:"greetingText" form:"greetingText" binding:"omitempty"` FinishedText string `json:"finishedText" form:"finishedText" binding:"omitempty"` Intro string `json:"intro" form:"intro" binding:"omitempty"` Status int `json:"status" form:"status" binding:"omitempty,number,oneof=1 2"` Returns int `json:"returns" form:"-" binding:"-"` Dsl string `json:"dsl" form:"dsl" binding:"omitempty"` Type int `json:"type" form:"type" binding:"omitempty,number,oneof=1"` Peg string `json:"peg" form:"peg" binding:"omitempty"` Remark string `json:"remark" form:"remark" binding:"omitempty"` Subjects []*SurveyQuestionnaireSubject `json:"subjects" form:"-" binding:"-"` CreatedAt string `json:"createdAt" form:"-" binding:"-"` UpdatedAt string `json:"updatedAt" form:"-" binding:"-"` } // 问题模板关联的问题库 type SurveyQuestionnaireSubject struct { ID int64 `json:"id" form:"-" binding:"-"` Sort int64 `json:"sort" form:"-" binding:"-"` IsRequired bool `json:"isRequired" form:"-" binding:"-"` QuestionnaireSubject *QuestionnaireSubject `json:"questionnaireSubject" form:"-" binding:"-"` }