survey.go 4.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package validators
  2. import "gogs.uu.mdfitnesscao.com/cuiguohai/sdk"
  3. type Survey struct {
  4. ID string `json:"id" form:"id" binding:"omitempty"`
  5. Name string `json:"name" form:"name" binding:"required,min=1,max=255"`
  6. SurveyCode string `json:"surveyCode" form:"surveyCode" binding:"required"`
  7. Cover string `json:"cover" form:"cover" binding:"omitempty,url"`
  8. Status int `json:"status" form:"-" binding:"-"`
  9. Remark string `json:"remark" form:"-" binding:"-"`
  10. Type int64 `json:"type" form:"type" binding:"required"`
  11. CreatedAt string `json:"createdAt" form:"-" binding:"-"`
  12. UpdatedAt string `json:"updatedAt" form:"-" binding:"-"`
  13. }
  14. type SurveyMechanism struct {
  15. ID string `json:"id" form:"id" binding:"required"`
  16. AuthorizeStatus int `json:"authorizeStatus" form:"-" binding:"-"`
  17. Status int `json:"status" form:"-" binding:"-"`
  18. MechanismId string `json:"mechanismId" form:"mechanismId" binding:"-"`
  19. Mechanism *sdk.Mechanism `json:"mechanism" form:"-" binding:"-"`
  20. SurveyId string `json:"surveyId" form:"surveyId" binding:"-"`
  21. Survey *Survey `json:"survey" form:"-" binding:"-"`
  22. Permissions string `json:"permissions" form:"-" binding:"-"`
  23. Name string `json:"name" form:"name" binding:"required,min=1,max=255"`
  24. Cover string `json:"cover" form:"cover" binding:"omitempty,url"`
  25. Description string `json:"description" form:"description" binding:"omitempty"`
  26. SubTitle string `json:"subTitle" form:"subTitle" binding:"omitempty"`
  27. LastVisitTime string `json:"lastVisitTime" form:"-" binding:"-"` // 用户最后一次访问时间
  28. LastSurveyResultId string `json:"lastSurveyResultId" form:"-" binding:"-"` // 用户最后一次答题结果ID
  29. CreatedAt string `json:"createdAt" form:"-" binding:"-"`
  30. UpdatedAt string `json:"updatedAt" form:"-" binding:"-"`
  31. }
  32. type SurveyResult struct {
  33. ID string `json:"id" form:"id" binding:"omitempty"` // 问卷结果编号(字符串)
  34. Method int `json:"method" form:"method" binding:"-"` // 答题方式
  35. StartTime string `json:"startTime" form:"startTime" binding:"required"` // 开始时间
  36. EndTime string `json:"endTime" form:"endTime" binding:"required"` // 结束时间
  37. ArchivesId string `json:"archivesId" form:"archivesId" binding:"required"` // 档案ID
  38. Status int `json:"status" form:"-" binding:"-"` // 状态
  39. Remark string `json:"remark" form:"-" binding:"-"` // 备注
  40. AnswerResult map[string]any `json:"answerResult" form:"-" binding:"-"` // 答题结果
  41. ResultRaw string `json:"resultRaw" form:"-" binding:"-"` // 结果原始数据
  42. SurveyMechanismId string `json:"surveyMechanismId" form:"surveyMechanismId" binding:"required"` // 机构问卷ID
  43. SurveyMechanism *SurveyMechanism `json:"surveyMechanism" form:"-" binding:"-"` // 机构问卷信息
  44. CanAnalyze bool `json:"canAnalyze" form:"-" binding:"-"` // 是否可以分析
  45. CreatedAt string `json:"createdAt" form:"-" binding:"-"`
  46. UpdatedAt string `json:"updatedAt" form:"-" binding:"-"`
  47. }
  48. type SurveyResultPaginate struct {
  49. Page int `json:"page" form:"page" binding:"omitempty,min=1"`
  50. PageSize int `json:"pageSize" form:"pageSize" binding:"omitempty,min=1,max=100"`
  51. Method int `json:"method" form:"method" binding:"omitempty"`
  52. SurveyMechanismId string `json:"surveyMechanismId" form:"surveyMechanismId" binding:"omitempty"`
  53. SurveyId string `json:"surveyId" form:"surveyId" binding:"omitempty"`
  54. ArchivesId string `json:"archivesId" form:"archivesId" binding:"omitempty"`
  55. }
  56. type SurveyToken struct {
  57. Extra string `json:"extra"` // 第三方自定义参数
  58. SurveyId string `json:"surveyId"` // 问卷编号
  59. MechanismId string `json:"mechanismId"` // 机构编号
  60. SurveyResultId string `json:"surveyResultId"` // 问卷结果编号
  61. }