فهرست منبع

Merge branch 'dev_20230222_live' into saas

liujunchi 2 سال پیش
والد
کامیت
17ebbf71d2

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -872,7 +872,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
                 log.debug("opsRoom>>>> userRoom is not exists, userState: {}", JSON.toJSONString(userState));
                 return;
             }
-            String roomUid = userRoom.get();
+            String roomUid = Optional.ofNullable(user.getRoomUid()).orElse(userRoom.get());
 
             //向直播间发送当前在线人数消息
             ImLiveBroadcastRoomVo roomVo = this.getImLiveBroadcastRoomVo(roomUid);
@@ -2417,6 +2417,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
             imUserState.setStatus(onlineStatus == 1 && liveRoomStatus == 1?"0":"1");
             imUserState.setOs(callbackOnMemberStateChange.getOptPlatform());
             imUserState.setTime(new Date().getTime());
+            imUserState.setRoomUid(callbackOnMemberStateChange.getGroupId());
             imUserStates.add(imUserState);
         }
         opsRoom(imUserStates);
@@ -2449,6 +2450,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
             imUserState.setStatus("3");
             imUserState.setOs(callbackAfterMemberExit.getOptPlatform());
             imUserState.setTime(callbackAfterMemberExit.getEventTime().atZone(ZoneId.systemDefault()).toEpochSecond());
+            imUserState.setRoomUid(callbackAfterMemberExit.getGroupId());
             imUserStates.add(imUserState);
         }
         opsRoom(imUserStates);
@@ -2492,6 +2494,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
             imUserState.setStatus(userMap.getOrDefault(userId.intValue(), new ImLiveBroadcastRoomMember()).getOnlineStatus() == 1 ? "0" : "1");
             imUserState.setOs(callbackAfterNewMemberJoin.getOptPlatform());
             imUserState.setTime(callbackAfterNewMemberJoin.getEventTime().atZone(ZoneId.systemDefault()).toEpochSecond());
+            imUserState.setRoomUid(callbackAfterNewMemberJoin.getGroupId());
             imUserStates.add(imUserState);
         }
         opsRoom(imUserStates);

+ 10 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImUserState.java

@@ -28,6 +28,16 @@ public class ImUserState implements Serializable {
      */
     private String clientIp;
 
+    private String roomUid;
+
+    public String getRoomUid() {
+        return roomUid;
+    }
+
+    public void setRoomUid(String roomUid) {
+        this.roomUid = roomUid;
+    }
+
     public String getUserid() {
         return userid;
     }