소스 검색

Merge branch 'online1' of http://git.dayaedu.com/yonge/mec into online_music_library

zouxuan 4 년 전
부모
커밋
31bdca5571
2개의 변경된 파일5개의 추가작업 그리고 6개의 파일을 삭제
  1. 3 0
      mec-im/src/main/java/com/ym/dao/RoomDao.java
  2. 2 6
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

+ 3 - 0
mec-im/src/main/java/com/ym/dao/RoomDao.java

@@ -18,6 +18,9 @@ import java.util.List;
 public interface RoomDao extends JpaRepository<Room, Long> {
     Room findByRid(String rid);
 
+    @Query(value = "select * from rongyun_room where rid=?1 FOR UPDATE", nativeQuery = true)
+    Room findByLockRid(String rid);
+
     @Modifying
     int deleteByRid(String rid);
 

+ 2 - 6
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -260,15 +260,11 @@ public class RoomServiceImpl implements RoomService {
         }
 
         Date curTime = DateTimeUtils.currentUTC();
-        Room room = roomDao.findByRid(roomId);
+        Room room = roomDao.findByLockRid(roomId);
         if (room == null) {
             //如果房间不存在,删除除了自己之外的其他用户
 //            roomMemberDao.deleteRoomMember(roomId,userId);
-            try {
-                saveRoom(roomId, roomId, curTime, display);
-            }catch (Exception e){
-                log.error("joinRoomSuccess saveRoom error: {}", e.getMessage());
-            }
+            saveRoom(roomId, roomId, curTime, display);
             IMApiResultInfo resultInfo = imHelper.createGroup(new String[]{userId}, roomId, roomId);
             if (!resultInfo.isSuccess()) {
                 log.error("joinRoomSuccess createGroup error: roomId={}, {}", roomId, resultInfo.getErrorMessage());