QuestionServiceImpl.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package nju.seec.helper.service.impl;
  2. import com.fasterxml.jackson.core.JsonProcessingException;
  3. import nju.seec.helper.dto.LoginUser;
  4. import nju.seec.helper.service.QuestionService;
  5. import nju.seec.helper.util.BOKUtil;
  6. import nju.seec.helper.util.JsonUtils;
  7. import nju.seec.helper.util.RestRequestUtil;
  8. import nju.seec.helper.util.enums.ExceptionType;
  9. import nju.seec.helper.util.enums.QuestionKindState;
  10. import nju.seec.helper.util.exception.HelperException;
  11. import nju.seec.helper.vo.quiz.ChoiceQuestionVO;
  12. import nju.seec.helper.vo.quiz.QuestionVO;
  13. import nju.seec.helper.vo.quiz.TrueOrFalseQuestionVO;
  14. import org.omg.CORBA.portable.UnknownException;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.data.domain.Page;
  17. import org.springframework.data.domain.PageImpl;
  18. import org.springframework.data.domain.Pageable;
  19. import org.springframework.stereotype.Service;
  20. import java.util.ArrayList;
  21. import java.util.HashMap;
  22. import java.util.List;
  23. import java.util.Map;
  24. import java.util.stream.Collectors;
  25. @Service
  26. public class QuestionServiceImpl implements QuestionService {
  27. @Autowired
  28. private BOKUtil bokUtil;
  29. @Override
  30. public Page<QuestionVO> getQuestionList(LoginUser user, String stem, Pageable pageable) throws JsonProcessingException {
  31. List<QuestionVO> Questions = new ArrayList<QuestionVO>();
  32. Map page = new HashMap();
  33. bokUtil.BokFindByStemLike(stem, Questions,page,pageable);
  34. Page<QuestionVO> ret =new PageImpl<QuestionVO>(Questions,pageable,Long.valueOf((Integer)page.get("totalElements")));
  35. return ret;
  36. }
  37. @Override
  38. public QuestionVO getQuestion(String questionId) {
  39. return bokUtil.BokFindById(questionId);
  40. }
  41. @Override
  42. public QuestionVO newQuestion(QuestionVO newQuestion) {
  43. try {
  44. return bokUtil.PostNewQuestion(newQuestion);
  45. } catch (JsonProcessingException e) {
  46. throw HelperException.of(ExceptionType.ERROR,"请求BOK题库数据错误:"+e.getMessage());
  47. }
  48. }
  49. @Override
  50. public QuestionVO updateQuestion(QuestionVO newQuestion) {
  51. try {
  52. return bokUtil.PutQuestion(newQuestion);
  53. } catch (JsonProcessingException e) {
  54. throw HelperException.of(ExceptionType.ERROR,"请求BOK题库数据错误:"+e.getMessage());
  55. }
  56. }
  57. @Override
  58. public void deleteQuestion(String questionId) {
  59. bokUtil.deleteQuestion(questionId);
  60. }
  61. }