ExamRoomStudentRelationService.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. package com.keao.edu.user.service;
  2. import com.keao.edu.common.page.PageInfo;
  3. import com.keao.edu.common.service.BaseService;
  4. import com.keao.edu.im.api.entity.PublishMessageDto;
  5. import com.keao.edu.user.dto.ExamRoomStudentRelationDto;
  6. import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
  7. import com.keao.edu.user.dto.NeedCheckingDetailDto;
  8. import com.keao.edu.user.dto.RoomStudentListDto;
  9. import com.keao.edu.user.dto.StuRecordDetailDto;
  10. import com.keao.edu.user.page.ExamRoomStudentRelationQueryInfo;
  11. import java.util.List;
  12. import java.util.Map;
  13. public interface ExamRoomStudentRelationService extends BaseService<Long, ExamRoomStudentRelation> {
  14. /**
  15. * 开启/关闭教室
  16. * @param openFlag
  17. * @param examinationBasicId
  18. * @param studentId
  19. */
  20. void switchClassRoom(Integer openFlag, Integer examinationBasicId, Integer studentId);
  21. /**
  22. * @describe 给教室分配学员
  23. * @author Joburgess
  24. * @date 2020.06.24
  25. * @param examRoomId:
  26. * @param registIds:
  27. * @return void
  28. */
  29. void addStudentForRoom(Long examRoomId, String registIds, Integer organId);
  30. /**
  31. * @describe 更换学员考场
  32. * @author Joburgess
  33. * @date 2020.07.08
  34. * @param registId:
  35. * @param examRoomId:
  36. * @return void
  37. */
  38. void changeStudentExamRoom(Long registId, Long examRoomId, Integer organId);
  39. /**
  40. * @describe 获取教室学员
  41. * @author Joburgess
  42. * @date 2020.06.24
  43. * @param queryInfo:
  44. * @return com.keao.edu.common.page.PageInfo<com.keao.edu.user.dto.ExamRoomStudentRelationDto>
  45. */
  46. PageInfo<ExamRoomStudentRelationDto> findExamRoomStudents(ExamRoomStudentRelationQueryInfo queryInfo);
  47. /**
  48. * @describe 删除指定教室学员
  49. * @author Joburgess
  50. * @date 2020.06.24
  51. * @param examRoomId:
  52. * @param registIds:
  53. * @return void
  54. */
  55. void deleteStudentFromRoom(Long examRoomId, String registIds, Integer organId);
  56. /**
  57. * 获取教室学员关联
  58. * @param registrationId
  59. * @return
  60. */
  61. ExamRoomStudentRelation getExamRoomStudentRelation(Long registrationId);
  62. /**
  63. * 下一位
  64. * @param examStatus 是否完成考试1是0否
  65. */
  66. void nextBit(Integer examStatus,Long roomId);
  67. public void publishMessage(ExamRoomStudentRelation examRoomStudentRelation,Integer action,Boolean isPush,Integer operator);
  68. public PublishMessageDto getPublishMessage(Long examRegistrationId);
  69. /**
  70. * 获取房间学员队列
  71. * @param roomId
  72. * @return
  73. */
  74. List<RoomStudentListDto> queryStudentList(Long roomId);
  75. /**
  76. * 队列
  77. * @param roomId
  78. * @return
  79. */
  80. Map<String,Object> queryNeedCheckingList(Long roomId);
  81. /**
  82. * 签到
  83. * @param examRegistrationId
  84. */
  85. void signIn(Long examRegistrationId);
  86. /**
  87. * 监考端去录播
  88. * @param roomId 房间编号
  89. */
  90. void recorded(Long roomId);
  91. /**
  92. * 学生端去录播
  93. * @param examRegistrationId
  94. */
  95. NeedCheckingDetailDto stuRecorded(Long examRegistrationId);
  96. /**
  97. * 重新排队
  98. * @param examRegistrationId
  99. */
  100. NeedCheckingDetailDto againQueue(Long examRegistrationId);
  101. List<ExamRoomStudentRelation> findStudentsWithExamRooms(List<Long> examRoomIds);
  102. void deleteWithExamRooms(List<Long> examRoomIds);
  103. String getStudentIds(Long examRoomId);
  104. /**
  105. * 获取学员编号注册编号map
  106. * @param examRoomId
  107. * @return
  108. */
  109. List<Map<Integer, String>> getStuRegistrationMap(Long examRoomId);
  110. /**
  111. * 学生端录播详情页面
  112. * @param examRegistrationId
  113. * @return
  114. */
  115. StuRecordDetailDto stuRecordDetail(Long examRegistrationId);
  116. /**
  117. * 学生端完成录播
  118. * @param examRegistrationId
  119. * @param videoUrl
  120. */
  121. void stuEndRecord(Long examRegistrationId, String videoUrl);
  122. /**
  123. * 开始考试
  124. * @param roomId
  125. */
  126. void actionExam(Long roomId);
  127. /**
  128. * 获取已签到的学员
  129. * @param examRoomId
  130. * @return
  131. */
  132. Integer countSignInNum(Long examRoomId);
  133. /**
  134. * 获取报名学员所在教室
  135. * @param examRegistrationId
  136. * @return
  137. */
  138. ExamRoomStudentRelation getStudentExamRoom(Long examRegistrationId);
  139. }