MarkQuestionService.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.qmth.teachcloud.mark.service;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletResponse;
  4. import com.qmth.teachcloud.common.bean.result.MarkQuestionResult;
  5. import com.qmth.teachcloud.mark.bean.cardJson.DescriptionCourse;
  6. import com.qmth.teachcloud.mark.bean.vo.parseCard.Struct;
  7. import org.springframework.web.multipart.MultipartFile;
  8. import com.baomidou.mybatisplus.extension.service.IService;
  9. import com.qmth.teachcloud.common.entity.MarkQuestion;
  10. import com.qmth.teachcloud.mark.dto.mark.setting.MarkQuestionDto;
  11. import com.qmth.teachcloud.mark.params.MarkObjectiveQuestionParams;
  12. import com.qmth.teachcloud.mark.params.MarkQuestionParams;
  13. /**
  14. * <p>
  15. * 小题信息表 服务类
  16. * </p>
  17. *
  18. * @author xf
  19. * @since 2023-09-22
  20. */
  21. public interface MarkQuestionService extends IService<MarkQuestion> {
  22. /**
  23. * 查询分组的分组题目
  24. *
  25. * @param examId 考试ID
  26. * @param paperNumber 试卷编号
  27. * @param groupNumber 分组号
  28. */
  29. String assembleGroupQuestionsByExamIdAndPaperNumberAndNumber(Long examId, String paperNumber, Integer groupNumber);
  30. List<MarkQuestion> listQuestionByExamIdAndPaperNumberAndPaperType(Long examId, String paperNumber, String paperType);
  31. List<MarkQuestion> listQuestionByExamIdAndPaperNumberAndSerialNumber(Long examId, String paperNumber, Integer serialNumber);
  32. void saveQuestions(MarkQuestionParams markQuestionParams);
  33. List<MarkQuestion> listQuestionByExamIdAndPaperNumberAndGroupNumber(Long examId, String paperNumber, Integer number,
  34. Boolean isObjective);
  35. /**
  36. * 客观题标答模板导出
  37. *
  38. * @param examId 考试id
  39. * @param paperNumber 试卷编号
  40. */
  41. void objectiveAnswerSettingModelExport(Long examId, String paperNumber, HttpServletResponse response)
  42. throws Exception;
  43. /**
  44. * 客观题标答导入
  45. *
  46. * @param examId 考试id
  47. * @param paperNumber 试卷编号
  48. * @param file excel文件
  49. */
  50. void objectiveAnswerSettingImport(Long examId, String paperNumber, MultipartFile file) throws Exception;
  51. void saveObjectiveQuestions(MarkObjectiveQuestionParams markObjectiveQuestionParams);
  52. String uploadSubjectiveFile(Long examId, String paperNumber, MultipartFile file, String md5);
  53. String previewAnswerFileByExamIdAndPaperNumber(Long examId, String paperNumber);
  54. double sumTotalScoreByGroupNumber(Long examId, String paperNumber, Integer groupNumber);
  55. MarkQuestion getByExamIdAndPaperNumberAndMainNumberAndSubNumberAndObjective(Long examId, String paperNumber, Integer mainNumber, Integer subNumber, boolean isObjective);
  56. List<MarkQuestion> listByExamIdAndPaperNumberAndPaperIndexAndPageIndex(Long examId, String paperNumber, Integer paperIndex, Integer pageIndex, boolean isObjective);
  57. MarkQuestionDto pageQuestionsByExamIdAndPaperNumber(Long examId, String paperNumber, String paperType);
  58. void updateGroupNumberByExamIdAndPaperNumberAndGroupNumber(Integer newGroupNumber, Long examId, String paperNumber,
  59. Integer groupNumber);
  60. long countByExamIdAndPaperNumberAndObjectiveAndGroupNumberIsNull(Long examId, String paperNumber, boolean objective);
  61. List<MarkQuestion> listByExamIdAndPaperNumberAndPaperType(Long examId, String paperNumber, String paperType, Boolean objective);
  62. List<MarkQuestionResult> listDetailByExamIdAndPaperNumberAndPaperType(Long examId, String paperNumber, String paperType, Boolean objective);
  63. void deleteByExamIdAndPaperNumber(Long examId, String paperNumber);
  64. /**
  65. * 更新试卷总分
  66. *
  67. * @param examId 考试id
  68. * @param paperNumber 试卷编号
  69. * @param paperType 试卷类型
  70. */
  71. void updateMarkPaperScore(Long examId, String paperNumber, String paperType);
  72. }