zouxuan преди 5 години
родител
ревизия
f2072eacab

+ 1 - 0
edu-im/edu-im-api/src/main/java/com/keao/edu/im/api/client/ImFeignService.java

@@ -102,6 +102,7 @@ public interface ImFeignService {
 	 * @return
 	 */
 	@PostMapping(value = "room/kick")
+	@Async
 	void kickRoom(@RequestBody ReqUserData reqUserData);
 
 	/**

+ 0 - 4
edu-im/edu-im-server/src/main/java/com/keao/edu/im/dao/RoomDao.java

@@ -26,10 +26,6 @@ public interface RoomDao extends JpaRepository<Room, Long> {
     public int updateDisplayByRid(String rid, String display);
 
     @Modifying
-    @Query(value = "update rongyun_room set play_midi_json=?2 where rid=?1", nativeQuery = true)
-    public int updatePlayMidiByRid(String rid, String playMidi);
-
-    @Modifying
     @Query(value = "update rongyun_room set whiteboard_name_index=?2 where rid=?1", nativeQuery = true)
     public int updateWhiteboardNameIndexByRid(String rid, int whiteboardNameIndex);
 }

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

@@ -2,13 +2,10 @@ 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;
-import org.springframework.transaction.annotation.Transactional;
 
-import javax.persistence.LockModeType;
 import java.util.List;
 
 /**
@@ -45,10 +42,6 @@ public interface RoomMemberDao extends JpaRepository<RoomMember, Long> {
     public int updateMsidFlagByRidAndUid(String rid, String uid,int msidFlag);
 
     @Modifying
-    @Query(value = "update rongyun_room_member set role=?3 where rid=?1 and role=?2", nativeQuery = true)
-    public int updateRoleByRidAndRole(String rid, int role);
-
-    @Modifying
     @Query(value = "update rongyun_room_member set camera=?3 where rid=?1 and uid=?2", nativeQuery = true)
     public int updateCameraByRidAndUid(String rid, String uid, boolean camera);
 
@@ -62,6 +55,4 @@ public interface RoomMemberDao extends JpaRepository<RoomMember, Long> {
 
     public boolean existsByRidAndUid(String rid, String uid);
 
-    public boolean existsByRidAndRole(String rid, int role);
-
 }

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

@@ -15,7 +15,6 @@ import javax.persistence.LockModeType;
 @Repository
 public interface UserDao extends JpaRepository<UserInfo, Long> {
 
-    @Lock(value = LockModeType.PESSIMISTIC_WRITE)
     UserInfo findByUid(String uid);
 
     @Modifying

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

@@ -76,7 +76,6 @@ public class RoomServiceImpl implements RoomService {
         return baseResponse;
     }
 
-    @Transactional(rollbackFor = Exception.class, isolation = Isolation.SERIALIZABLE)
     public void joinRoomSuccess(Long registrationId,String roomId,String userId) throws Exception {
         StudentExamResultApiDto examResult = null;
         log.info("joinRoomSuccess: roomId={}, isAudience={}, isDisableCamera={},isMusicMode={}", roomId);
@@ -286,7 +285,6 @@ public class RoomServiceImpl implements RoomService {
         roomMemberDao.save(roomMember);
     }
 
-    @Transactional(rollbackFor = Exception.class, isolation = Isolation.SERIALIZABLE)
     public void leaveRoomSuccess(Long registrationId,String roomId,String userId) throws Exception {
         if(registrationId != null){
             StudentExamResultApiDto examResult = eduUserFeignService.getExamResult(registrationId);
@@ -444,7 +442,7 @@ public class RoomServiceImpl implements RoomService {
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = Exception.class,isolation = Isolation.SERIALIZABLE)
     public void destroyRoom(Long roomId,String userId) throws Exception {
 
         CheckUtils.checkArgument(roomId != null, "destroyRoom roomId must't be null");
@@ -481,7 +479,7 @@ public class RoomServiceImpl implements RoomService {
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = Exception.class,isolation = Isolation.SERIALIZABLE)
     public Boolean kickMember(ReqUserData data) throws ApiException, Exception {
         StudentExamResultApiDto examResult = eduUserFeignService.getExamResult(data.getRegistrationId());
         String roomId = examResult.getRoomId();
@@ -707,6 +705,7 @@ public class RoomServiceImpl implements RoomService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class,isolation = Isolation.SERIALIZABLE)
     public Boolean controlDevice(String roomId, String userId, DeviceTypeEnum typeEnum, boolean enable) throws ApiException, Exception {
         CheckUtils.checkArgument(roomId != null, "roomId must't be null");
         CheckUtils.checkArgument(userId != null, "userId must't be null");
@@ -899,6 +898,7 @@ public class RoomServiceImpl implements RoomService {
     }*/
 
     @Override
+    @Transactional(rollbackFor = Exception.class, isolation = Isolation.SERIALIZABLE)
     public Boolean approveSpeech(String roomId, String ticket) throws ApiException, Exception {
         CheckUtils.checkArgument(roomId != null, "roomId must't be null");
         CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
@@ -1116,6 +1116,7 @@ public class RoomServiceImpl implements RoomService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class, isolation = Isolation.SERIALIZABLE)
     public Boolean changeRole(String roomId, String targetUserId, int targetRole) throws ApiException, Exception {
 
         CheckUtils.checkArgument(roomId != null, "roomId must't be null");
@@ -1259,31 +1260,6 @@ public class RoomServiceImpl implements RoomService {
         }
     }
 
-    public static void main(String[] args) {
-        String body = "{\"members\":[{\"data\":{\"uris\":\"[{\\\"mediaType\\\":0,\\\"msid\\\":\\\"113_RongCloudRTC\\\",\\\"uri\\\":\\\"{\\\\\\\"clusterId\\\\\\\":\\\\\\\"rtc-data-bdcbj.ronghub.com:80\\\\\\\",\\\\\\\"serverId\\\\\\\":\\\\\\\"172.28.76.221:40080\\\\\\\",\\\\\\\"resourceId\\\\\\\":\\\\\\\"113_RongCloudRTC_0\\\\\\\",\\\\\\\"connectionId\\\\\\\":\\\\\\\"AAcxMDczNjg5AAMxMTMAAjMxAA==\\\\\\\",\\\\\\\"ssrc\\\\\\\":1152580707,\\\\\\\"serviceProvider\\\\\\\":\\\\\\\"bdc\\\\\\\",\\\\\\\"userTimestamp\\\\\\\":1598241638662}\\\",\\\"tag\\\":\\\"RongCloudRTC\\\",\\\"state\\\":1},{\\\"mediaType\\\":1,\\\"msid\\\":\\\"113_RongCloudRTC\\\",\\\"uri\\\":\\\"{\\\\\\\"clusterId\\\\\\\":\\\\\\\"rtc-data-bdcbj.ronghub.com:80\\\\\\\",\\\\\\\"serverId\\\\\\\":\\\\\\\"172.28.76.221:40080\\\\\\\",\\\\\\\"resourceId\\\\\\\":\\\\\\\"113_RongCloudRTC_1\\\\\\\",\\\\\\\"connectionId\\\\\\\":\\\\\\\"AAcxMDczNjg5AAMxMTMAAjMxAA==\\\\\\\",\\\\\\\"ssrc\\\\\\\":1388804240,\\\\\\\"serviceProvider\\\\\\\":\\\\\\\"bdc\\\\\\\",\\\\\\\"userTimestamp\\\\\\\":1598241638662}\\\",\\\"tag\\\":\\\"RongCloudRTC\\\",\\\"state\\\":1}]\"},\"userId\":\"113\"}],\"appKey\":\"mgb7ka1nme0yg\",\"sessionId\":\"9XmxCXVZQkArdnxcMyFN98\",\"event\":20,\"userId\":\"113\",\"channelId\":\"31\",\"timestamp\":1598241638774,\"token\":\"\"}";
-        ChannelStateNotify notify = JSONObject.parseObject(body, ChannelStateNotify.class);
-        boolean msidFlag = false;
-        Integer state = null;
-        List<Member> members = notify.getMembers();
-        if(members != null && members.size() != 0){
-            Object uris = JSONObject.parseObject(members.get(0).getData().toJSONString()).get("uris");
-            if(uris != null){
-                List<UrisDto> jsonArray = JSONObject.parseArray(uris.toString(),UrisDto.class);
-                for (UrisDto urisDto : jsonArray) {
-                    //视频流
-                    if(urisDto.getMediaType() == 1){
-                        state = urisDto.getState();
-                        if(state == 1){
-                            msidFlag = true;
-                        }
-                    }else {
-                        //音频流
-                    }
-                }
-            }
-        }
-    }
-
     @Override
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.SERIALIZABLE)
     public boolean statusSync(ChannelStateNotify notify) throws Exception {