package schema import ( "github.guxuan/haibei/pkg/util" ) // Defining the `QeustionDetail` struct. type QeustionDetail struct { util.BaseModel QuestionID uint `json:"questionId" gorm:"index;"` CustomerID uint `json:"customerId" gorm:"index;"` Content *[]QuestionDetailTable `json:"content" gorm:"serializer:json;comment:问卷表单详情"` Status string `json:"status" gorm:"size:20;index;comment:状态"` } type QuestionDetailTable struct { Label string `json:"label"` Typer string `json:"type"` Required bool `json:"required"` Options []string `json:"options"` Answer string `json:"answer"` } // Defining the query parameters for the `QeustionDetail` struct. type QeustionDetailQueryParam struct { util.PaginationParam QuestionID uint `form:"questionId" ` CustomerID uint `form:"customerId" ` Status string `form:"status" ` } // Defining the query options for the `QeustionDetail` struct. type QeustionDetailQueryOptions struct { util.QueryOptions } // Defining the query result for the `QeustionDetail` struct. type QeustionDetailQueryResult struct { Data QeustionDetails PageResult *util.PaginationResult } // Defining the slice of `QeustionDetail` struct. type QeustionDetails []*QeustionDetail // Defining the data structure for creating a `QeustionDetail` struct. type QeustionDetailForm struct { QuestionID uint `json:"questionId" ` CustomerID uint `json:"customerId" ` Content *[]QuestionDetailTable `json:"content" ` Status string `json:"status" ` } // A validation function for the `QeustionDetailForm` struct. func (a *QeustionDetailForm) Validate() error { return nil } // Convert `QeustionDetailForm` to `QeustionDetail` object. func (a *QeustionDetailForm) FillTo(qeustionDetail *QeustionDetail) error { qeustionDetail.CustomerID = a.CustomerID qeustionDetail.QuestionID = a.QuestionID qeustionDetail.Content = a.Content qeustionDetail.Status = a.Status return nil }