questionnaire.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "hongze/hongze_mfyx/utils"
  6. "time"
  7. )
  8. type AddCygxQuestionnaireThemeReq struct {
  9. QuestionnaireThemeId int `description:"ID"`
  10. ActivityTheme string `description:"活动主题"`
  11. DisabledRadio bool `description:"是否选择,配合前端添加的字段"`
  12. }
  13. type CygxQuestionnaireResp struct {
  14. QuestionnaireId int `description:"ID"`
  15. ActivityTypeId int `description:"活动类型id"`
  16. ActivityTypeName string `description:"活动类型名称"`
  17. Content string `description:"内容"`
  18. EndTime string `description:"截止日期"`
  19. PublishTime string `description:"发布时间"`
  20. MaxChooseTotal int `description:"最多可选几项"`
  21. State string `description:"状态"`
  22. ListTheme []*AddCygxQuestionnaireThemeReq
  23. }
  24. type GetCygxQuestionnaireResp struct {
  25. Paging *paging.PagingItem `description:"分页数据"`
  26. List []*CygxQuestionnaireResp
  27. }
  28. type GetCygxQuestionnaireDetailResp struct {
  29. Detail *CygxQuestionnaireResp
  30. }
  31. // 通过ID获取详情
  32. func GetCygxQuestionnaireDetail(questionnaireId int) (item *CygxQuestionnaireResp, err error) {
  33. o := orm.NewOrm()
  34. sql := `SELECT * FROM cygx_questionnaire WHERE questionnaire_id=? `
  35. err = o.Raw(sql, questionnaireId).QueryRow(&item)
  36. return
  37. }
  38. // 获取数量
  39. func GetCygxQuestionnaireCount(condition string, pars []interface{}) (count int, err error) {
  40. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_questionnaire as art WHERE 1= 1 `
  41. if condition != "" {
  42. sqlCount += condition
  43. }
  44. o := orm.NewOrm()
  45. err = o.Raw(sqlCount, pars).QueryRow(&count)
  46. return
  47. }
  48. // 通过ID获取详情
  49. func GetCygxQuestionnaireDetailBestNew() (item *CygxQuestionnaireResp, err error) {
  50. o := orm.NewOrm()
  51. sql := `SELECT * FROM cygx_questionnaire WHERE end_time >= ? ORDER BY publish_time DESC LIMIT 1 `
  52. err = o.Raw(sql, time.Now().Format(utils.FormatDate)).QueryRow(&item)
  53. return
  54. }
  55. // 列表
  56. func GetCygxQuestionnaireThemeListByQuestionnaireId(questionnaireId int) (items []*AddCygxQuestionnaireThemeReq, err error) {
  57. o := orm.NewOrm()
  58. sql := `SELECT * FROM cygx_questionnaire_theme as art WHERE questionnaire_id = ? `
  59. _, err = o.Raw(sql, questionnaireId).QueryRows(&items)
  60. return
  61. }