zouxuan 5 年之前
父節點
當前提交
b213094eea

+ 1 - 0
edu-im/edu-im-server/src/main/java/com/keao/edu/im/dao/RoomMemberDao.java

@@ -2,6 +2,7 @@ package com.keao.edu.im.dao;
 
 import com.keao.edu.im.pojo.RoomMember;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;

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

@@ -1248,6 +1248,7 @@ public class RoomServiceImpl implements RoomService {
     public boolean statusSync(ChannelStateNotify notify) throws Exception {
         String roomId = notify.getChannelId();
         String userId = notify.getUserId();
+
         RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
         log.info("statusSync roomMember:{}",roomMember);
 
@@ -1274,7 +1275,7 @@ public class RoomServiceImpl implements RoomService {
             leaveRoomSuccess(roomMember.getExamRegistrationId(),roomId,userId);
         }else if(notify.getEvent() == 20){
             log.info("资源变动 roomId: {}, userId: {}",roomId, userId);
-//            boolean msidFlag = false;
+            boolean msidFlag = false;
             Integer state = null;
             List<Member> members = notify.getMembers();
             if(members != null && members.size() != 0){
@@ -1285,9 +1286,9 @@ public class RoomServiceImpl implements RoomService {
                         //视频流
                         if(urisDto.getMediaType() == 1){
                             state = urisDto.getState();
-//                            if(state == 1){
-//                                msidFlag = true;
-//                            }
+                            if(state == 1){
+                                msidFlag = true;
+                            }
                         }else {
                             //音频流
                         }
@@ -1296,13 +1297,12 @@ public class RoomServiceImpl implements RoomService {
             }
             //同步录制资源
             //资源发生变动
-//            log.info("资源变动 state: {}",state);
-            roomMemberDao.updateMsidFlagByRidAndUid(roomId,userId,state);
-//            if(state == null || state == 0 || !msidFlag){
+            if(roomMember.isMsidFlag() != msidFlag){
+                roomMemberDao.updateMsidFlagByRidAndUid(roomId,userId,state);
                 if(roomMember.getExamRegistrationId() == null){
                     imHelper.configRecord(roomId);
                 }
-//            }
+            }
         }
         return true;
     }