|
@@ -1345,11 +1345,68 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
onlineUserInfo.fastPut(userId, JSONObject.toJSONString(userInfo));
|
|
|
//向直播间发送当前在线人数消息
|
|
|
this.sendOnlineUserCount(imLiveBroadcastRoomVo, userId, onlineUserInfo.size());
|
|
|
+
|
|
|
+ // 黑名单发送进入消息
|
|
|
+ if (imLiveRoomBlackService.checkBlackUser(userId, imLiveBroadcastRoomVo.getRoomUid())) {
|
|
|
+ // 发送进入消息
|
|
|
+ this.sendBlackJoinRoom(userId, imLiveBroadcastRoomVo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
log.info("join sendOnlineUserCount>>>> roomUid: {} fromUserId:{} count:{}", roomUid, userId, onlineUserInfo.size());
|
|
|
log.info("joinRoom>>>> userInfo: {}", JSONObject.toJSONString(userInfo));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 发送黑名单进入消息
|
|
|
+ * @param userId 用户id
|
|
|
+ */
|
|
|
+ private void sendBlackJoinRoom(Integer userId,ImLiveBroadcastRoomVo roomVo) {
|
|
|
+
|
|
|
+ String roomUid = roomVo.getRoomUid();
|
|
|
+ //校验传入参数,房间uid和发送人id不能为空
|
|
|
+ if (!WrapperUtil.checkObj(roomUid, userId)) {
|
|
|
+ log.info(" sendOnlineUserCount>>>> param is null roomUid: {} fromUserId:{} ", roomUid, userId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 消息发送用户
|
|
|
+ LiveRoomMessage.MessageUser messageUser = null;
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserById(userId);
|
|
|
+ if (Objects.nonNull(sysUser)) {
|
|
|
+ // 发送用户信息
|
|
|
+ messageUser = LiveRoomMessage.MessageUser
|
|
|
+ .builder()
|
|
|
+ .sendUserId(sysUser.getId().toString())
|
|
|
+ .sendUserName(sysUser.getUsername())
|
|
|
+ .avatarUrl(sysUser.getAvatar())
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+
|
|
|
+ LiveRoomMessage.MessageContent messageContent = LiveRoomMessage.MessageContent
|
|
|
+ .builder()
|
|
|
+ .sendUserInfo(messageUser)
|
|
|
+ .build();
|
|
|
+
|
|
|
+ LiveRoomMessage message = LiveRoomMessage.builder()
|
|
|
+ .isIncludeSender(1)
|
|
|
+ .objectName(LiveRoomMessage.ENTER)
|
|
|
+ .fromUserId(roomVo.getSpeakerId().toString())
|
|
|
+ .toChatRoomId(roomUid)
|
|
|
+ .content(messageContent)
|
|
|
+ .build();
|
|
|
+
|
|
|
+ //发送消息
|
|
|
+ try {
|
|
|
+ livePluginContext.getPluginService(roomVo.getServiceProvider()).sendChatRoomMessage(message);
|
|
|
+ log.info("sendBlackJoinRoom>>>> message: {}", JSONObject.toJSONString(message));
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("sendBlackJoinRoom>>>> error {}", e.getMessage());
|
|
|
+ log.error("sendBlackJoinRoom>>>> sendMessage {} :", JSONObject.toJSONString(message));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 获取直播间用户信息
|
|
|
* @param userId 用户id
|
|
|
* @param imLiveBroadcastRoomVo 直播间信息
|