|
@@ -874,22 +874,22 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
|
|
|
.update(roomMember);
|
|
|
|
|
|
//向直播间发送当前在线人数消息
|
|
|
-// this.sendOnlineUserCount(roomUid, roomInfo.getSpeakerId(), onlineUserInfo.size());
|
|
|
+ this.sendOnlineUserCount(roomUid, roomInfo.getSpeakerId(), onlineUserInfo.size());
|
|
|
log.info("opsRoom>>>> looker userInfo: {}", userJsonStr);
|
|
|
-// //用户离开直播间发送退出房间消息给主讲人
|
|
|
-// ImRoomMessage message = new ImRoomMessage();
|
|
|
-// message.setFromUserId(userId.toString());
|
|
|
-// message.setToChatroomId(roomUid);
|
|
|
-// message.setClientType(ClientEnum.STUDENT.getCode());
|
|
|
-// message.setObjectName(ImRoomMessage.LOOKER_LOGIN_OUT);
|
|
|
-// message.setContent(userId);
|
|
|
-// try {
|
|
|
-// this.publishRoomMessage(message);
|
|
|
-// log.info("opsRoom>>>> looker RC_CHATROOM_LEAVE : {}", userJsonStr);
|
|
|
-// } catch (Exception e) {
|
|
|
-// log.error("opsRoom>>>> looker error RC_CHATROOM_LEAVE {}", e.getMessage());
|
|
|
-// log.error("opsRoom>>>> looker error sendMessage {} : RC_CHATROOM_LEAVE : {}", message, userJsonStr);
|
|
|
-// }
|
|
|
+ //用户离开直播间发送退出房间消息给主讲人
|
|
|
+ ImRoomMessage message = new ImRoomMessage();
|
|
|
+ message.setFromUserId(userId.toString());
|
|
|
+ message.setToChatroomId(roomUid);
|
|
|
+ message.setClientType(ClientEnum.STUDENT.getCode());
|
|
|
+ message.setObjectName(ImRoomMessage.LOOKER_LOGIN_OUT);
|
|
|
+ message.setContent(userId);
|
|
|
+ try {
|
|
|
+ this.publishRoomMessage(message);
|
|
|
+ log.info("opsRoom>>>> looker RC_CHATROOM_LEAVE : {}", userJsonStr);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("opsRoom>>>> looker error RC_CHATROOM_LEAVE {}", e.getMessage());
|
|
|
+ log.error("opsRoom>>>> looker error sendMessage {} : RC_CHATROOM_LEAVE : {}", message, userJsonStr);
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
}
|
|
@@ -1173,10 +1173,8 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
|
|
|
.build();
|
|
|
}
|
|
|
|
|
|
- LiveRoomMessage.MessageContent messageContent = LiveRoomMessage.MessageContent
|
|
|
- .builder()
|
|
|
- .sendUserInfo(messageUser)
|
|
|
- .build();
|
|
|
+ LiveRoomMessage.MessageContent messageContent = getMessageContent(message);
|
|
|
+ messageContent.setSendUserInfo(messageUser);
|
|
|
|
|
|
LiveRoomMessage build = LiveRoomMessage.builder()
|
|
|
.isIncludeSender(1)
|
|
@@ -1189,13 +1187,40 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
|
|
|
|
|
|
LivePluginService pluginService = livePluginContext.getPluginService(message.getServiceProvider());
|
|
|
pluginService.sendChatRoomMessage(build);
|
|
|
- log.info("sendLiveRoomLoginOutMessage>>>> looker {} : roomId={}, userId={}",message.getObjectName(), message.getToChatroomId(), message.getFromUserId());
|
|
|
+ log.info("sendLiveRoomMessage>>>> looker {} : roomId={}, userId={}",message.getObjectName(), message.getToChatroomId(), message.getFromUserId());
|
|
|
} catch (Exception e) {
|
|
|
log.error("sendLiveRoomMessage>>>> looker error {} {}", message.getObjectName(),e.getMessage());
|
|
|
log.error("sendLiveRoomMessage>>>> looker error sendMessage {} : {} : : roomId={}, userId={}",message.getObjectName(), message, message.getToChatroomId(), message.getFromUserId());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private LiveRoomMessage.MessageContent getMessageContent(ImRoomMessage message) {
|
|
|
+
|
|
|
+ switch (message.getObjectName()) {
|
|
|
+ case LiveRoomMessage.FORCED_OFFLINE:
|
|
|
+ return LiveRoomMessage.MessageContent.builder()
|
|
|
+ .build();
|
|
|
+ case LiveRoomMessage.LOOKER_LOGIN_OUT:
|
|
|
+ return LiveRoomMessage.MessageContent.builder()
|
|
|
+ .targetId( imGroupService.getImUserId(message.getFromUserId(),message.getClientType()))
|
|
|
+ .build();
|
|
|
+ case LiveRoomMessage.MEMBER_COUNT:
|
|
|
+ LiveRoomWrapper.LiveRoomVo liveRoomVo = queryRoomInfo(message.getToChatroomId());
|
|
|
+ return LiveRoomMessage.MessageContent.builder()
|
|
|
+ .count(liveRoomVo.getLookNum().longValue())
|
|
|
+ .onlineUsers(liveRoomVo.getLookNum().longValue())
|
|
|
+ .viewers(liveRoomVo.getTotalLookNum().longValue())
|
|
|
+ .likes(liveRoomVo.getLikeNum().longValue())
|
|
|
+ .build();
|
|
|
+ case LiveRoomMessage.WELCOME:
|
|
|
+ return LiveRoomMessage.MessageContent.builder()
|
|
|
+ .build();
|
|
|
+ default:
|
|
|
+ return LiveRoomMessage.MessageContent.builder()
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private SysUser getSysUser(Long userId) {
|
|
|
return Optional.ofNullable(userId)
|
|
|
.map(sysUserFeignService::queryUserById)
|
|
@@ -2130,7 +2155,7 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
|
|
|
onlineUserCache.fastPut(userId, userJsonStr);
|
|
|
log.info("joinRoom>>>> userInfo: {}", userJsonStr);
|
|
|
//向直播间发送当前在线人数消息
|
|
|
-// this.sendOnlineUserCount(roomUid, userId, onlineUserCache.size());
|
|
|
+ this.sendOnlineUserCount(roomUid, userId, onlineUserCache.size());
|
|
|
log.info("join sendOnlineUserCount>>>> param is null roomUid: {} fromUserId:{} count:{}", roomUid, userId, onlineUserCache.size());
|
|
|
log.info("joinRoom>>>> userInfo: {}", userJsonStr);
|
|
|
//记录当前用户对应的房间uid
|