Преглед изворни кода

Merge branch 'feature/0414-trtc' into master_saas

liujc пре 2 година
родитељ
комит
b13eec4342

+ 19 - 0
mec-im/src/main/java/com/ym/dao/RoomMemberDao.java

@@ -58,4 +58,23 @@ public interface RoomMemberDao extends JpaRepository<RoomMember, Long> {
     int updateMusicByRidAndUid(String rid, String uid, boolean musicMode);
 
     boolean existsByRidAndUid(String rid, String uid);
+
+    @Modifying
+    @Query(value = "update rongyun_room_member set camera=?3 where rid=?1 and role=?2", nativeQuery = true)
+    void updateCameraByRidAndRole(String roomId, int role, boolean enable);
+
+
+    @Modifying
+    @Query(value = "update rongyun_room_member set mic=?3 where rid=?1 and role=?2", nativeQuery = true)
+    void updateMicByRidAndRole(String roomId, int role, boolean enable);
+
+
+    @Modifying
+    @Query(value = "update rongyun_room_member set music_mode=?3 where rid=?1 and role=?2", nativeQuery = true)
+    void updateMusicByRidAndRole(String roomId, int role, boolean enable);
+
+
+    @Modifying
+    @Query(value = "update rongyun_room_member set hand=?3 where rid=?1 and role=?2", nativeQuery = true)
+    void updateHandByRidAndRole(String roomId, int role, boolean enable);
 }

+ 18 - 7
mec-im/src/main/java/com/ym/enums/DeviceTypeEnum.java

@@ -1,11 +1,22 @@
 package com.ym.enums;
 
 public enum DeviceTypeEnum {
-    Microphone,
-    Camera,
-    MusicMode,
-    HandUp,
-    ExamSong,
-    MusicScore,
-    MusicScoreAccompaniment,
+    Microphone(1),
+    Camera(2),
+    MusicMode(3),
+    HandUp(4),
+    ExamSong(5),
+    MusicScore(6),
+    MusicScoreAccompaniment(7),;
+
+
+    private int value;
+
+    DeviceTypeEnum(int value) {
+        this.value = value;
+    }
+
+    public int getValue() {
+        return value;
+    }
 }

+ 16 - 1
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -8,7 +8,6 @@ import com.google.common.collect.Maps;
 import com.microsvc.toolkit.middleware.rtc.RTCRoomPluginContext;
 import com.microsvc.toolkit.middleware.rtc.RTCRoomPluginService;
 import com.microsvc.toolkit.middleware.rtc.enums.EMemberAction;
-import com.microsvc.toolkit.middleware.rtc.enums.EMemberRole;
 import com.microsvc.toolkit.middleware.rtc.impl.TencentCloudRTCPlugin;
 import com.microsvc.toolkit.middleware.rtc.message.ImGroupMemberWrapper;
 import com.microsvc.toolkit.middleware.rtc.message.RTCRoomMessage;
@@ -1441,6 +1440,22 @@ public class RoomServiceImpl implements RoomService {
             data.setUserId(e.getUid());
             controlDevice(data);
         }
+        boolean enable;
+        if (data.getCameraOn() != null) {
+            enable = data.getCameraOn();
+            roomMemberDao.updateCameraByRidAndRole(data.getRoomId(), RoleStudent.getValue(), enable);
+        } else if (data.getMicrophoneOn() != null) {
+            enable = data.getMicrophoneOn();
+            roomMemberDao.updateMicByRidAndRole(data.getRoomId(), RoleStudent.getValue(), enable);
+        } else if (data.getMusicModeOn() != null) {
+            enable = data.getMusicModeOn();
+            roomMemberDao.updateMusicByRidAndRole(data.getRoomId(), RoleStudent.getValue(), enable);
+        } else if (data.getHandUpOn() != null) {
+            enable = data.getHandUpOn();
+            roomMemberDao.updateHandByRidAndRole(data.getRoomId(), RoleStudent.getValue(), enable);
+        }  else
+            return true;
+
         return true;
     }