quiz count
This commit is contained in:
@ -24,12 +24,14 @@ type QuizController interface {
|
||||
}
|
||||
|
||||
type quizController struct {
|
||||
service services.QuizService
|
||||
service services.QuizService
|
||||
quizPaperService services.QuizPaperService
|
||||
}
|
||||
|
||||
func NewQuizController(service services.QuizService) QuizController {
|
||||
func NewQuizController(service services.QuizService, quizPaperService services.QuizPaperService) QuizController {
|
||||
return &quizController{
|
||||
service: service,
|
||||
service: service,
|
||||
quizPaperService: quizPaperService,
|
||||
}
|
||||
}
|
||||
|
||||
@ -174,6 +176,24 @@ func (controller *quizController) Create(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
count, err := controller.service.QuizCount(request.QuizPaperID)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
quizpaper, err := controller.quizPaperService.Find(request.QuizPaperID)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
quizpaper.QuizCount = int(count)
|
||||
_, err = controller.quizPaperService.Update(quizpaper)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
@ -264,7 +284,7 @@ func (controller *quizController) Delete(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
_, err = controller.service.Find(id)
|
||||
quiz, err := controller.service.Find(id)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
@ -276,5 +296,23 @@ func (controller *quizController) Delete(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
count, err := controller.service.QuizCount(quiz.QuizPaperID)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
quizpaper, err := controller.quizPaperService.Find(quiz.QuizPaperID)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
quizpaper.QuizCount = int(count)
|
||||
_, err = controller.quizPaperService.Update(quizpaper)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"message": "success"})
|
||||
}
|
||||
|
@ -285,6 +285,7 @@ func (controller *quizPaperController) Copy(c *gin.Context) {
|
||||
Content: template.Content,
|
||||
Category: template.Category,
|
||||
Tag: template.Tag,
|
||||
QuizCount: 0,
|
||||
Status: template.Status,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
|
Reference in New Issue
Block a user