eta_trial_questionnaire.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package crm
  2. import (
  3. "hongze/hz_crm_eta/global"
  4. "time"
  5. )
  6. // EtaTrialQuestionnaire 问卷调查题目
  7. type EtaTrialQuestionnaire struct {
  8. QuestionnaireId int `gorm:"primaryKey;column:questionnaire_id;type:int(11);not null" json:"questionnaire_id"`
  9. Question string `gorm:"column:question;type:varchar(255)" json:"question"` // 题目
  10. Options string `gorm:"column:options;type:varchar(255);default:''" json:"options"` // 选项
  11. Type int `gorm:"column:type;type:tinyint(4)" json:"type"` // 1单选 2多选 3简答题 4标题
  12. CreateTime time.Time `gorm:"column:create_time;type:datetime" json:"create_time"` // 创建时间
  13. Sort int `gorm:"column:sort;type:int(11);default:0" json:"sort"`
  14. IsMust int `gorm:"column:is_must;type:tinyint(4);not null;default:0" json:"is_must"` // 0必填 1非必填
  15. }
  16. func (m *EtaTrialQuestionnaire) TableName() string {
  17. return "eta_trial_questionnaire"
  18. }
  19. // Create 新增
  20. func (m *EtaTrialQuestionnaire) Create() (err error) {
  21. err = global.MYSQL["hz_crm"].Create(m).Error
  22. return
  23. }
  24. // Update 更新
  25. func (m *EtaTrialQuestionnaire) Update(cols []string) (err error) {
  26. err = global.MYSQL["hz_crm"].Model(m).Select(cols).Updates(m).Error
  27. return
  28. }
  29. // List 列表
  30. func (m *EtaTrialQuestionnaire) List(cond string, pars []interface{}) (items []*EtaTrialQuestionnaire, err error) {
  31. err = global.MYSQL["hz_crm"].Where(cond, pars...).Find(&items).Error
  32. return
  33. }
  34. // EtaTrialQuestionnaireRespItem 问卷调查信息
  35. type EtaTrialQuestionnaireRespItem struct {
  36. QuestionnaireId int `orm:"column(questionnaire_id);pk" description:"问卷题目id"`
  37. Question string `description:"题目"`
  38. Type int `description:"1单选 2多选 3简答题"`
  39. Sort int `description:"排序"`
  40. Option []string `description:"选项"`
  41. IsMust int `description:"是否必填"`
  42. CreateTime string
  43. }
  44. // EtaTrialQuestionnaireResp 问卷调查列表响应体
  45. type EtaTrialQuestionnaireResp struct {
  46. List []EtaTrialQuestionnaireRespItem
  47. }
  48. func (m EtaTrialQuestionnaireResp) Len() int {
  49. return len(m.List)
  50. }
  51. func (m EtaTrialQuestionnaireResp) Less(i, j int) bool {
  52. return m.List[i].Sort < m.List[j].Sort
  53. }
  54. func (m EtaTrialQuestionnaireResp) Swap(i, j int) {
  55. m.List[i], m.List[j] = m.List[j], m.List[i]
  56. }