zouxuan 4 years ago
parent
commit
2126355536

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

@@ -107,15 +107,6 @@ public class RoomServiceImpl implements RoomService {
         if (!roomDao.existsByRid(roomId)) {
             saveRoom(roomId,curTime);
         }
-       UserInfo userInfo = userDao.lockFindByUid(userId);
-        if (userInfo == null) {
-            userInfo = new UserInfo();
-            userInfo.setUid(userId);
-            userInfo.setName(userInfo.getName());
-            userInfo.setCreateDt(curTime);
-            userInfo.setUpdateDt(curTime);
-            userDao.save(userInfo);
-        }
         MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Join, userId, roomMember.getRole());
         msg.setTimestamp(curTime);
         msg.setUserName(roomMember.getName());
@@ -209,6 +200,9 @@ public class RoomServiceImpl implements RoomService {
             }
             log.info("user exist in the room: roomId={} , userId={}, use the last role={}", roomId, userId, roleEnum);
         }
+        if (!userDao.existsByUid(userId)) {
+            saveUser(userId,realName,curTime);
+        }
         userResult.setMicrophone(roomMember.isMic());
         userResult.setCamera(roomMember.isCamera());
         userResult.setJoinTime(roomMember.getJoinDt());
@@ -225,6 +219,15 @@ public class RoomServiceImpl implements RoomService {
         return baseResponse;
     }
 
+    private void saveUser(String userId,String realName,Date createTime) {
+        UserInfo userInfo = new UserInfo();
+        userInfo.setUid(userId);
+        userInfo.setName(realName);
+        userInfo.setCreateDt(createTime);
+        userInfo.setUpdateDt(createTime);
+        userDao.save(userInfo);
+    }
+
     private void saveRoom(String roomId,Date createTime) {
         Room room = new Room();
         room.setRid(roomId);