zouxuan 5 anni fa
parent
commit
de0318a916

+ 9 - 0
edu-im/edu-im-api/src/main/java/com/keao/edu/im/api/entity/MemberChangedMessage.java

@@ -16,6 +16,7 @@ public class MemberChangedMessage extends BaseMessage{
     private String roomId;
 //    private String appParamJson;
     private Integer waitNum;
+    private Integer openFlag;
     private Integer classroomSwitch;
     private String webParamJson;
     private boolean camera;
@@ -25,6 +26,14 @@ public class MemberChangedMessage extends BaseMessage{
 
     private Date timestamp;
 
+    public Integer getOpenFlag() {
+        return openFlag;
+    }
+
+    public void setOpenFlag(Integer openFlag) {
+        this.openFlag = openFlag;
+    }
+
     public MemberChangedMessage() {
     }
 

+ 1 - 0
edu-im/edu-im-server/src/main/java/com/keao/edu/im/pojo/RoomResult.java

@@ -15,6 +15,7 @@ public class RoomResult {
     private @Getter @Setter String roomId;
     private @Getter @Setter Date startTime;
     private @Getter @Setter int surplusTime;
+    private @Getter @Setter Integer examFlag;
     private @Getter @Setter Long registrationId;
     private @Getter @Setter String imToken;
     private @Getter @Setter String authorization;

+ 1 - 0
edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java

@@ -332,6 +332,7 @@ public class RoomServiceImpl implements RoomService {
         if (registrationId != null){
             roomResult.setRegistrationId(registrationId);
         }
+        roomResult.setExamFlag(examRoom.getExamFlag());
         roomResult.setMembers(roomMemberDao.findByRid(roomId));
 //        List<Whiteboard> whiteboardList = whiteboardDao.findByRid(roomId);
 //        roomResult.setWhiteboards(whiteboardList);

+ 10 - 2
edu-user/edu-user-client-api/src/main/java/com/keao/edu/user/api/entity/ExamRoom.java

@@ -54,8 +54,8 @@ public class ExamRoom {
 	@ApiModelProperty(value = "考场状态0关闭1开启")
 	private Integer openFlag;
 
-//	@ApiModelProperty(value = "考试状态1开始0关闭")
-//	private Integer examFlag;
+	@ApiModelProperty(value = "考试状态1开始0关闭")
+	private Integer examFlag;
 
 	private Integer examPlanPushFlag;
 
@@ -72,6 +72,14 @@ public class ExamRoom {
 	/**  */
 	private String tenantId;
 
+	public Integer getExamFlag() {
+		return examFlag;
+	}
+
+	public void setExamFlag(Integer examFlag) {
+		this.examFlag = examFlag;
+	}
+
 	public ExamRoom() {
 	}
 

+ 4 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRoomStudentRelationController.java

@@ -56,12 +56,12 @@ public class ExamRoomStudentRelationController extends BaseController {
         return succeed();
     }
 
-    /*@ApiOperation("开始考试")
+    @ApiOperation("开始考试")
     @PostMapping(value = "/actionExam")
-    public HttpResponseResult actionExam(Long examRoomStudentRelationId) {
-        examRoomStudentRelationService.actionExam(examRoomStudentRelationId);
+    public HttpResponseResult actionExam(Long roomId) {
+        examRoomStudentRelationService.actionExam(roomId);
         return succeed();
-    }*/
+    }
 
     @ApiOperation("监考端选择去录播")
     @PostMapping(value = "/webRecorded")

+ 0 - 6
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/StudentExamResultDao.java

@@ -46,12 +46,6 @@ public interface StudentExamResultDao extends BaseDAO<Long, StudentExamResult> {
     List<Map<Integer, Integer>> countExamNum(@Param("studentIds") List<Integer> studentIds, @Param("tenantId") String tenantId);
 
     /**
-     * 更改考试状态
-     * @param examRegistrationId
-     */
-    void endExam(Long examRegistrationId);
-
-    /**
      * 获取考试结果
      * @param examRegistrationId
      * @return

+ 2 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRoomStudentRelationService.java

@@ -146,7 +146,7 @@ public interface ExamRoomStudentRelationService extends BaseService<Long, ExamRo
 
     /**
      * 开始考试
-     * @param examRoomStudentRelationId
+     * @param roomId
      */
-    void actionExam(Long examRoomStudentRelationId);
+    void actionExam(Long roomId);
 }

+ 4 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java

@@ -652,6 +652,9 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 		ExamRoom examRoom = examRoomDao.get(examRoomId);
 		examRoom.setId(examRoomId);
 		examRoom.setOpenFlag(openFlag);
+		if(openFlag == 0){
+			examRoom.setExamFlag(openFlag);
+		}
 		examRoomDao.update(examRoom);
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		//加群退群
@@ -685,6 +688,7 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 			MemberChangedMessage msg = new MemberChangedMessage(5, sysUser.getId().toString(),3);
 			msg.setWaitNum(0);
 			msg.setClassroomSwitch(1);
+			msg.setOpenFlag(openFlag);
 			Map<String,Object> paramMap = new HashMap<>(1);
 			paramMap.put("studentQueue",examRoomStudentRelationService.queryNeedCheckingList(examRoomId));
 			msg.setWebParamJson(JSONObject.toJSONString(paramMap));

+ 7 - 7
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java

@@ -418,18 +418,14 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void actionExam(Long examRoomStudentRelationId) {
-		/*ExamRoomStudentRelation examRoomStudentRelation = examRoomStudentRelationDao.get(examRoomStudentRelationId);
-		examRoomStudentRelation.setClassroomSwitch(1);
-
-		ExamRoom examRoom = examRoomDao.get(examRoomStudentRelation.getExamRoomId());
+	public void actionExam(Long roomId) {
+		ExamRoom examRoom = examRoomDao.get(roomId);
 		if(examRoom.getExamFlag() == 1){
 			throw new BizException("考试已开启,请勿重复操作");
 		}
-		examRoomStudentRelationDao.update(examRoomStudentRelation);
 		examRoom.setExamFlag(1);
 		examRoomDao.update(examRoom);
-		publishMessage(examRoomStudentRelation,MemberChangedMessage.Student_Queue,true);*/
+		nextBit(null,roomId);
 	}
 
 	@Override
@@ -496,6 +492,7 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 		NeedCheckingDetailDto needCheckingDetailDto = examCertificationService.needCheckingDetail(examRoomStudentRelation.getExamRegistrationId());
 		msg.setWaitNum(needCheckingDetailDto.getWaitNum());
 		msg.setClassroomSwitch(needCheckingDetailDto.getClassroomSwitch());
+		msg.setOpenFlag(needCheckingDetailDto.getOpenFlag());
 //		msg.setAppParamJson(jsonString);
 		Map<String,Object> paramMap = new HashMap<>(2);
 
@@ -518,6 +515,7 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 		NeedCheckingDetailDto needCheckingDetailDto = examCertificationService.needCheckingDetail(examRoomStudentRelation.getExamRegistrationId());
 		msg.setWaitNum(needCheckingDetailDto.getWaitNum());
 		msg.setClassroomSwitch(needCheckingDetailDto.getClassroomSwitch());
+		msg.setOpenFlag(needCheckingDetailDto.getOpenFlag());
 		Map<String,Object> paramMap = new HashMap<>(2);
 		this.queryNeedCheckingList(examRoomStudentRelation.getExamRoomId());
 		paramMap.put("studentQueue",this.queryNeedCheckingList(examRoomStudentRelation.getExamRoomId()));
@@ -562,6 +560,8 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 		NeedCheckingDetailDto needCheckingDetailDto = examCertificationService.needCheckingDetail(examRegistrationId);
 //		msg.setAppParamJson(needCheckingDetailDto.getWaitNum());
 		msg.setWaitNum(needCheckingDetailDto.getWaitNum());
+		msg.setClassroomSwitch(0);
+		msg.setOpenFlag(needCheckingDetailDto.getOpenFlag());
 		publishMessageDto.setMemberChangedMessage(msg);
 		//修改签到状态
 		studentExamResultDao.updateFinishedExam(examRegistrationId,2);

+ 6 - 2
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRoomMapper.xml

@@ -27,6 +27,7 @@
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="tenant_id_" property="tenantId" />
+		<result column="exam_flag_" property="examFlag" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -44,11 +45,11 @@
 		INSERT INTO exam_room (id_,examination_basic_id_,exam_mode_,exam_location_id_,subject_id_list_,subject_name_list_,
 		main_teacher_user_id_,main_teacher_user_name_,assistant_teacher_user_id_list_,assistant_teacher_user_name_list_,
 		exam_start_time_,exam_end_time_,del_flag_,organ_id_,exam_plan_push_flag_,
-		exam_room_student_num_,create_time_,update_time_,tenant_id_)
+		exam_room_student_num_,create_time_,update_time_,tenant_id_,exam_flag_)
 		VALUES(#{id},#{examinationBasicId},#{examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{examLocationId},
 		#{subjectIdList},#{subjectNameList},#{mainTeacherUserId},#{mainTeacherName},#{assistantTeacherUserIdList},#{assistantTeacherUserNameList},
 		#{examStartTime},#{examEndTime},#{delFlag},#{organId},#{examPlanPushFlag},
-		#{examRoomStudentNum},NOW(),NOW(),#{tenantId})
+		#{examRoomStudentNum},NOW(),NOW(),#{tenantId},#{examFlag})
 	</insert>
 
 	<insert id="batchInsert" parameterType="com.keao.edu.user.api.entity.ExamRoom" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
@@ -70,6 +71,9 @@
 	<update id="update" parameterType="com.keao.edu.user.api.entity.ExamRoom">
 		UPDATE exam_room
 		<set>
+			<if test="examFlag != null">
+				exam_flag_ = #{examFlag},
+			</if>
 			<if test="delFlag != null">
 				del_flag_ = #{delFlag},
 			</if>

+ 0 - 3
edu-user/edu-user-server/src/main/resources/config/mybatis/StudentExamResultMapper.xml

@@ -100,9 +100,6 @@
 				update_time_ = NOW()
 		</set> WHERE id_ = #{id}
 	</update>
-    <update id="endExam">
-		UPDATE student_exam_result SET is_finished_exam_ = 4 AND update_time_ = NOW() WHERE exam_registration_id_ = #{examRegistrationId}
-	</update>
     <update id="confirmStudent">
 		UPDATE student_exam_result SET confirm_status_ = 1 AND update_time_ = NOW()
 		WHERE exam_registration_id_ = #{examRegistrationId}