questionnaire_subject.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package questionnaire_subject
  2. import (
  3. "surveyService/response"
  4. "surveyService/service/questionnaire_subject"
  5. "surveyService/validators"
  6. "github.com/gin-gonic/gin"
  7. )
  8. // 修改或创建
  9. func UpdateOrCreate(c *gin.Context) {
  10. var validator validators.QuestionnaireSubject
  11. err := c.ShouldBind(&validator)
  12. if err != nil {
  13. response.FailValidator(c, err)
  14. return
  15. }
  16. var updateErr *response.ErrCode
  17. if validator.ID > 0 {
  18. updateErr = questionnaire_subject.Update(&validator)
  19. } else {
  20. updateErr = questionnaire_subject.Create(&validator)
  21. }
  22. if updateErr != nil {
  23. response.Fail(c, updateErr)
  24. return
  25. }
  26. response.Success(c, map[string]any{})
  27. }
  28. // 分页获取列表
  29. func Paginate(c *gin.Context) {
  30. type Validator struct {
  31. Page int `json:"page" form:"page" binding:"omitempty,min=1"`
  32. PageSize int `json:"pageSize" form:"pageSize" binding:"omitempty,min=1,max=100"`
  33. Key string `json:"key" form:"key" binding:"omitempty"`
  34. }
  35. var validator Validator
  36. err := c.ShouldBindQuery(&validator)
  37. if err != nil {
  38. response.FailValidator(c, err)
  39. return
  40. }
  41. subjects, total := questionnaire_subject.Paginate(validator.Page, validator.PageSize, validator.Key)
  42. var list []*validators.QuestionnaireSubject = make([]*validators.QuestionnaireSubject, 0)
  43. for _, item := range subjects {
  44. list = append(list, questionnaire_subject.Format(item))
  45. }
  46. response.Success(c, map[string]any{
  47. "list": list,
  48. "total": total,
  49. })
  50. }
  51. // 获取全部列表
  52. func List(c *gin.Context) {
  53. type Validator struct {
  54. Key string `json:"key" form:"key" binding:"omitempty"`
  55. }
  56. var validator Validator
  57. err := c.ShouldBindQuery(&validator)
  58. if err != nil {
  59. response.FailValidator(c, err)
  60. return
  61. }
  62. subjects := questionnaire_subject.List(validator.Key)
  63. var list []*validators.QuestionnaireSubject = make([]*validators.QuestionnaireSubject, 0)
  64. for _, item := range subjects {
  65. list = append(list, questionnaire_subject.Format(item))
  66. }
  67. response.Success(c, map[string]any{
  68. "list": list,
  69. })
  70. }
  71. // 删除
  72. func Delete(c *gin.Context) {
  73. type Validator struct {
  74. ID int64 `json:"id" form:"id" binding:"required"`
  75. }
  76. var validator Validator
  77. err := c.ShouldBind(&validator)
  78. if err != nil {
  79. response.FailValidator(c, err)
  80. return
  81. }
  82. deleteErr := questionnaire_subject.Delete(validator.ID)
  83. if deleteErr != nil {
  84. response.Fail(c, deleteErr)
  85. return
  86. }
  87. response.Success(c, map[string]any{})
  88. }
  89. // 修改备注
  90. func UpdateMark(c *gin.Context) {
  91. type Validator struct {
  92. ID int64 `json:"id" form:"id" binding:"required"`
  93. Mark string `json:"mark" form:"mark" binding:"omitempty"`
  94. }
  95. var validator Validator
  96. err := c.ShouldBind(&validator)
  97. if err != nil {
  98. response.FailValidator(c, err)
  99. return
  100. }
  101. updateErr := questionnaire_subject.UpdateMark(validator.ID, validator.Mark)
  102. if updateErr != nil {
  103. response.Fail(c, updateErr)
  104. return
  105. }
  106. response.Success(c, map[string]any{})
  107. }