router-question-bank.go 1.7 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 QuestionBank(router *RouterPlus) {
  11. r := router.Group("/admin")
  12. {
  13. // 添加题库
  14. r.POST("/questionBank", AdminAddQuestionBank)
  15. // 获取题库
  16. r.GET("/questionBank/:id", AdminGetQuestionBank)
  17. // 获取题库列表
  18. r.GET("/questionBank/list", AdminQuestionBankList)
  19. // 修改题库
  20. r.PUT("/questionBank", AdminUpdateQuestionBank)
  21. // 删除题库
  22. r.DELETE("/questionBank/:ids", AdminDeleteQuestionBank)
  23. }
  24. }
  25. func AdminAddQuestionBank(c *gin.Context) *result.Result {
  26. var questionBank entity.QuestionBank
  27. err := c.ShouldBindJSON(&questionBank)
  28. if err != nil || questionBank.Name == "" {
  29. return result.PARAM_ERROR
  30. }
  31. return dao.AddQuestionBank(&questionBank)
  32. }
  33. func AdminGetQuestionBank(c *gin.Context) *result.Result {
  34. id := c.Param("id")
  35. if id == "" {
  36. return result.UNKNOW_ERROR
  37. }
  38. return dao.QuestionBankDetail(id)
  39. }
  40. func AdminQuestionBankList(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.QuestionBankList(page, size, sort, query)
  46. }
  47. func AdminUpdateQuestionBank(c *gin.Context) *result.Result {
  48. var questionBank entity.QuestionBank
  49. err := c.ShouldBindJSON(&questionBank)
  50. if err != nil || questionBank.Id == 0 || questionBank.Name == "" {
  51. return result.PARAM_ERROR
  52. }
  53. return dao.UpdateQuestionBank(&questionBank)
  54. }
  55. func AdminDeleteQuestionBank(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.DeleteQuestionBanks(ids)
  62. }