QuizService.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package nju.seec.helper.service;
  2. import nju.seec.helper.dto.QuestionStudentAnswerDTO;
  3. import nju.seec.helper.entity.Quiz;
  4. import nju.seec.helper.entity.Slide;
  5. import nju.seec.helper.util.enums.QuizState;
  6. import nju.seec.helper.util.enums.SlideState;
  7. import nju.seec.helper.util.enums.UserType;
  8. import nju.seec.helper.vo.quiz.QuizResultVO;
  9. import nju.seec.helper.vo.quiz.QuizVO;
  10. import org.springframework.data.domain.Page;
  11. import org.springframework.data.domain.Pageable;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import java.util.Collection;
  14. import java.util.List;
  15. import java.util.Map;
  16. public interface QuizService {
  17. @Transactional
  18. Quiz CreateQuiz(String name, Integer uid, SlideState quizTime,
  19. Integer slideId, List<String> questions);
  20. Integer upStudentAnswer(Long quizId, Integer uid, List<QuestionStudentAnswerDTO> answers);
  21. Page<Quiz> getAllBasicQuizBySlide(Integer slideId, Pageable pageable, QuizState state, Integer uid);
  22. @Transactional
  23. QuizState checkQuizState(Quiz quiz, Slide slide);
  24. QuizState checkQuizState(Long quizId, Integer slideId);
  25. QuizVO combineQuiz(Long quizId);
  26. QuizVO combineQuizWithAnswer(Long quizId, Integer uid, UserType type);
  27. String deleteQuiz(Long quizId);
  28. Quiz modifyQuiz(Long quizId, String name, List<String> questions, SlideState quizTime, String slideId);
  29. Page<Quiz> getAllBasicQuizByUser(Pageable pageable, QuizState state, Integer uid);
  30. List<QuizResultVO> getQuizResult(Long aLong);
  31. void modifySlideState(Slide slide);
  32. }