zouxuan 5 年之前
父節點
當前提交
02f5801b6e
共有 1 個文件被更改,包括 10 次插入9 次删除
  1. 10 9
      edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java

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

@@ -90,6 +90,11 @@ public class RoomServiceImpl implements RoomService {
                 log.info("学员加入时,将其他学员退出房间 byRidAndRole{}",byRidAndRole);
                 for (RoomMember e: byRidAndRole) {
                     roomMemberDao.deleteUserByRidAndUid(roomId, e.getUid());
+                    MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, userId, 3);
+                    msg.setUserName(e.getName());
+                    imHelper.publishMessage(userId, roomId, msg);
+                    log.info("quit group: roomId={},userId: {}", roomId,userId);
+                    userDao.deleteByUid(userId);
 //                    leaveRoom(e.getExamRegistrationId(),roomId,userId);
                 }
             }
@@ -213,10 +218,6 @@ public class RoomServiceImpl implements RoomService {
                 }
                 roleEnum = Student;
             }
-            userResult.setMicrophone(true);
-            userResult.setCamera(!isDisableCamera);
-            userResult.setHandUp(false);
-            userResult.setJoinTime(curTime);
             log.info("user join the room: roomId={} , userId={}, roleEnum={}", roomId, userId, roleEnum);
             saveRoomMember(userId,sysUser.getAvatar(), realName, roomId, roleEnum.getValue(),isDisableCamera, curTime,registrationId);
         } else {
@@ -234,13 +235,13 @@ public class RoomServiceImpl implements RoomService {
                     return getBaseResponse(baseResponse);
                 }
             }
-            userResult.setMicrophone(roomMember.isMic());
-            userResult.setCamera(roomMember.isCamera());
-            userResult.setHandUp(roomMember.isHand());
-            userResult.setJoinTime(roomMember.getJoinDt());
             log.info("user exist in the room: roomId={} , userId={}, use the last role={}", roomId, userId, roleEnum);
         }
-
+        roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
+        userResult.setMicrophone(roomMember.isMic());
+        userResult.setCamera(roomMember.isCamera());
+        userResult.setHandUp(roomMember.isHand());
+        userResult.setJoinTime(roomMember.getJoinDt());
         userResult.setUserName(realName);
         userResult.setUserId(userId);
         userResult.setRole(roleEnum.getValue());