manage.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package survey_result
  2. import (
  3. "surveyService/response"
  4. "surveyService/service/survey_result"
  5. "surveyService/validators"
  6. "github.com/gin-gonic/gin"
  7. )
  8. // 获取详情
  9. func DetailForManage(c *gin.Context) {
  10. type Validator struct {
  11. ID string `json:"id" form:"id" binding:"required"`
  12. }
  13. var validator Validator
  14. validateErr := c.ShouldBindQuery(&validator)
  15. if validateErr != nil {
  16. response.FailValidator(c, validateErr)
  17. return
  18. }
  19. surveyResult, err := survey_result.InitMechanism(nil).Detail(validator.ID)
  20. if err != nil {
  21. response.Fail(c, err)
  22. return
  23. }
  24. response.Success(c, map[string]any{
  25. "detail": survey_result.Format(surveyResult, true),
  26. })
  27. }
  28. // 获取列表
  29. func PaginateForManage(c *gin.Context) {
  30. var validator validators.SurveyResultPaginate
  31. validateErr := c.ShouldBindQuery(&validator)
  32. if validateErr != nil {
  33. response.FailValidator(c, validateErr)
  34. return
  35. }
  36. surveyResultList, total, err := survey_result.InitMechanism(nil).Paginate(validator)
  37. if err != nil {
  38. response.Fail(c, err)
  39. return
  40. }
  41. var list = make([]*validators.SurveyResult, 0)
  42. for _, surveyResult := range surveyResultList {
  43. list = append(list, survey_result.Format(surveyResult, false))
  44. }
  45. response.Success(c, map[string]any{
  46. "list": list,
  47. "total": total,
  48. })
  49. }
  50. // 重新执行一次
  51. func RunForManage(c *gin.Context) {
  52. type Validator struct {
  53. ID string `json:"id" form:"id" binding:"required"`
  54. }
  55. var validator Validator
  56. validateErr := c.ShouldBind(&validator)
  57. if validateErr != nil {
  58. response.FailValidator(c, validateErr)
  59. return
  60. }
  61. err := survey_result.InitMechanism(nil).Run(validator.ID)
  62. if err != nil {
  63. response.Fail(c, err)
  64. return
  65. }
  66. response.Success(c, map[string]any{})
  67. }