1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package router
- import (
- "exam_system/dao"
- "exam_system/entity"
- "exam_system/result"
- "exam_system/utils"
- "github.com/gin-gonic/gin"
- "strings"
- )
- func Exam(router *RouterPlus) {
-
- router.GET("/exam/list",ExamInfoList)
- r := router.Group("/admin")
- {
-
- r.POST("/exam", AdminAddExam)
-
- r.GET("/exam/:id", AdminGetExam)
-
- r.GET("/exam/list", AdminExamList)
-
- r.PUT("/exam", AdminUpdateExam)
-
- r.DELETE("/exam/:ids", AdminDeleteExam)
- }
- }
- func ExamInfoList(c *gin.Context)*result.Result{
- page, size, sort, query, err := utils.Page(c)
- if err!=nil{
- return result.PARAM_ERROR
- }
- uid, exists := c.Get("id")
- if !exists{
- return result.UNAUTHORIZED
- }
- return dao.ExamInfoList(page,size,sort,query,uid.(int))
- }
- func AdminAddExam(c *gin.Context) *result.Result {
- var exam entity.Exam
- err := c.ShouldBindJSON(&exam)
- if err != nil || exam.StartAt.IsZero() || exam.EndAt.IsZero() || exam.PublishAt.IsZero() || exam.Duration == 0 || exam.ClassIds == "" || exam.TpId == 0 {
- return result.PARAM_ERROR
- }
- return dao.AddExam(&exam)
- }
- func AdminGetExam(c *gin.Context) *result.Result {
- id := c.Param("id")
- if id == "" {
- return result.UNKNOW_ERROR
- }
- return dao.ExamDetail(id)
- }
- func AdminExamList(c *gin.Context) *result.Result {
- page, size, sort, query, err := utils.Page(c)
- if err != nil {
- return result.PARAM_ERROR
- }
- return dao.ExamList(page, size, sort, query)
- }
- func AdminUpdateExam(c *gin.Context) *result.Result {
- var exam entity.Exam
- err := c.ShouldBindJSON(&exam)
- if err != nil || exam.Id == 0 || exam.StartAt.IsZero() || exam.PublishAt.IsZero() || exam.EndAt.IsZero() || exam.Duration == 0 || exam.ClassIds == "" || exam.TpId == 0 {
- return result.PARAM_ERROR
- }
- return dao.UpdateExam(&exam)
- }
- func AdminDeleteExam(c *gin.Context) *result.Result {
- idStr := c.Param("ids")
- if idStr == "" {
- return result.PARAM_ERROR
- }
- ids := strings.Split(idStr, ",")
- return dao.DeleteExams(ids)
- }
|