Переглянути джерело

Merge remote-tracking branch 'origin/master'

Joburgess 5 роки тому
батько
коміт
a829c33718

+ 30 - 9
edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java

@@ -771,6 +771,13 @@ public class RoomServiceImpl implements RoomService {
                 }
                 roomMemberDao.deleteUserByRidAndUid(e.getRid(), e.getUid());
                 userDao.deleteByUid(e.getUid());
+                if("3".equals(e.getRid())){
+                    try {
+                        imHelper.stopRecord(e.getUid(),e.getRid());
+                    } catch (Exception e1) {
+                        e1.printStackTrace();
+                    }
+                }
             });
             roomDao.deleteByRid(roomId.toString());
         }
@@ -801,6 +808,7 @@ public class RoomServiceImpl implements RoomService {
             if("recorded".equals(data.getType())){
                 msg.setRoomId("recorded" + roomId);
             }*/
+            imHelper.stopRecord(userId,roomId);
             IMApiResultInfo apiResultInfo = imHelper.publishMessage(userId, roomId, msg, 1);
             if (!apiResultInfo.isSuccess()) {
                 throw new ApiException(ErrorEnum.ERR_MESSAGE_ERROR);
@@ -815,10 +823,10 @@ public class RoomServiceImpl implements RoomService {
             }*/
         }
         userDao.deleteByUid(data.getUserId());
-        IMApiResultInfo apiResultInfo = imHelper.quit(new String[]{data.getUserId()}, roomId);
+        /*IMApiResultInfo apiResultInfo = imHelper.quit(new String[]{data.getUserId()}, roomId);
         if (!apiResultInfo.isSuccess()) {
             throw new ApiException(ErrorEnum.ERR_EXIT_ROOM_ERROR, apiResultInfo.getErrorMessage());
-        }
+        }*/
         return true;
     }
 
@@ -1512,7 +1520,12 @@ public class RoomServiceImpl implements RoomService {
                     }
                 }
                 if (roomMemberDao.countByRid(member.getRid()) == 1) {
-                    IMApiResultInfo apiResultInfo = null;
+                    roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
+                    roomDao.deleteByRid(member.getRid());
+                    deleteWhiteboardByUser(member.getRid(), member.getUid());
+                    log.info("dismiss the room: {},userId: {}", member.getRid(),userId);
+
+                    /*IMApiResultInfo apiResultInfo = null;
                     apiResultInfo = imHelper.dismiss(member.getUid(), member.getRid());
                     if (apiResultInfo.getCode() == 200) {
                         roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
@@ -1521,9 +1534,14 @@ public class RoomServiceImpl implements RoomService {
                         log.info("dismiss the room: {},userId: {}", member.getRid(),userId);
                     } else {
                         log.error("{} exit {} room error: {}", member.getUid(), member.getRid(), apiResultInfo.getErrorMessage());
-                    }
+                    }*/
                 } else {
-                    IMApiResultInfo apiResultInfo = null;
+                    roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
+                    MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, member.getUid(), userRole);
+                    msg.setUserName(member.getName());
+                    imHelper.publishMessage(member.getUid(), member.getRid(), msg);
+
+                    /*IMApiResultInfo apiResultInfo = null;
                     apiResultInfo = imHelper.quit(new String[]{member.getUid()}, member.getRid());
                     if (apiResultInfo.isSuccess()) {
                         roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
@@ -1534,7 +1552,7 @@ public class RoomServiceImpl implements RoomService {
                         log.info("quit group: roomId={},userId: {}", member.getRid(), member.getUid());
                     } else {
                         log.error("{} exit {} room error: {}", member.getUid(), member.getRid(), apiResultInfo.getErrorMessage());
-                    }
+                    }*/
                 }
                 userDao.deleteByUid(member.getUid());
             } catch (Exception e) {
@@ -1599,11 +1617,14 @@ public class RoomServiceImpl implements RoomService {
                     throw new ApiException(ErrorEnum.ERR_EXIT_ROOM_ERROR, e.getMessage());
                 }
             } else {
-                IMApiResultInfo apiResultInfo = null;
+                MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, userId, userRole);
+                imHelper.publishMessage(userId, roomId, msg);
+
+                /*IMApiResultInfo apiResultInfo = null;
                 try {
                     apiResultInfo = imHelper.quit(new String[]{userId}, roomId);
                     if (apiResultInfo.isSuccess()) {
-//                        roomMemberDao.deleteUserByRidAndUid(roomId, userId);
+                        roomMemberDao.deleteUserByRidAndUid(roomId, userId);
                         MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, userId, userRole);
                         imHelper.publishMessage(userId, roomId, msg);
                         imHelper.quit(new String[]{userId}, roomId);
@@ -1614,7 +1635,7 @@ public class RoomServiceImpl implements RoomService {
                 } catch (Exception e) {
                     log.error("leave room error: roomId={}, {}", roomId, e.getMessage());
                     throw new ApiException(ErrorEnum.ERR_EXIT_ROOM_ERROR);
-                }
+                }*/
             }
             userDao.deleteByUid(userId);
             return true;

+ 1 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java

@@ -457,6 +457,7 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 		if(examStatus != null && examStatus == 0){
 			//未完成
 			examRoomStudentRelationDao.cleanSignInTime(examRoomStudentRelation.getExamRegistrationId());
+			examRoomStudentRelation.setSignInTime(null);
 			studentExamResultDao.updateFinishedExam(examRoomStudentRelation.getExamRegistrationId(),3);
 		}else {
 			//结束考试

+ 1 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/StudentExamResultServiceImpl.java

@@ -207,6 +207,7 @@ public class StudentExamResultServiceImpl extends BaseServiceImpl<Long, StudentE
 			if("10000".equals(jsonObject.get("fileState"))){
 				String recordId = redisTemplate.opsForValue().get(recordNotify.getRecordId());
 				if(StringUtils.isNotEmpty(recordId)){
+					redisTemplate.delete(recordNotify.getRecordId());
 					Long registrationId = Long.parseLong(recordId);
 					StudentExamResult studentExamResult = studentExamResultDao.findByRegistrationId(registrationId);
 					String videoUrl = studentExamResult.getVideoUrl();