router-class.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package router
  2. import (
  3. "exam_system/dao"
  4. "exam_system/entity"
  5. "exam_system/result"
  6. "exam_system/utils"
  7. "github.com/gin-gonic/gin"
  8. "strings"
  9. )
  10. func Class(router *RouterPlus) {
  11. r := router.Group("/admin")
  12. {
  13. // 添加班级
  14. r.POST("/class", AdminAddClass)
  15. // 获取班级
  16. r.GET("/class/:id", AdminGetClass)
  17. // 获取班级列表(通过termid)
  18. r.GET("/class/list", AdminClassList)
  19. // 修改班级
  20. r.PUT("/class", AdminUpdateClass)
  21. // 删除班级
  22. r.DELETE("/class/:ids", AdminDeleteClass)
  23. }
  24. }
  25. func AdminAddClass(c *gin.Context) *result.Result {
  26. var class entity.Class
  27. err := c.ShouldBindJSON(&class)
  28. if err != nil || class.TermId == 0 || class.Name == "" {
  29. return result.PARAM_ERROR
  30. }
  31. return dao.AddClass(&class)
  32. }
  33. func AdminGetClass(c *gin.Context) *result.Result {
  34. id := c.Param("id")
  35. if id == "" {
  36. return result.UNKNOW_ERROR
  37. }
  38. return dao.ClassDetail(id)
  39. }
  40. func AdminClassList(c *gin.Context) *result.Result {
  41. page, size, sort, query, err := utils.Page(c)
  42. if err != nil {
  43. return result.PARAM_ERROR
  44. }
  45. return dao.ClassList(page, size, sort, query)
  46. }
  47. func AdminUpdateClass(c *gin.Context) *result.Result {
  48. var class entity.Class
  49. err := c.ShouldBindJSON(&class)
  50. if err != nil || class.TermId == 0 || class.Name == "" {
  51. return result.PARAM_ERROR
  52. }
  53. return dao.UpdateClass(&class)
  54. }
  55. func AdminDeleteClass(c *gin.Context) *result.Result {
  56. idStr := c.Param("ids")
  57. if idStr == "" {
  58. return result.PARAM_ERROR
  59. }
  60. ids := strings.Split(idStr, ",")
  61. return dao.DeleteClasss(ids)
  62. }