|
@@ -612,10 +612,25 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
message.setFromUserId(speakerId.toString());
|
|
|
message.setToChatRoomId(roomUid);
|
|
|
message.setObjectName(ImRoomMessage.FORCED_OFFLINE);
|
|
|
+
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserById(speakerId);
|
|
|
+ if (Objects.nonNull(sysUser)) {
|
|
|
+
|
|
|
+ // 发送用户信息
|
|
|
+ LiveRoomMessage.MessageUser messageUser = LiveRoomMessage.MessageUser.builder()
|
|
|
+ .sendUserId(String.valueOf(speakerId))
|
|
|
+ .sendUserName(sysUser.getUsername())
|
|
|
+ .avatarUrl(sysUser.getAvatar())
|
|
|
+ .build();
|
|
|
+
|
|
|
+ message.setMessageContent(LiveRoomMessage.MessageContent.builder().sendUserInfo(messageUser).build());
|
|
|
+ }
|
|
|
+
|
|
|
LivePluginService pluginService = livePluginContext.getPluginService(room.getServiceProvider());
|
|
|
pluginService.sendChatRoomMessage(message);
|
|
|
log.info("roomDestroy>>>> FORCED_OFFLINE {}", JSONObject.toJSONString(message));
|
|
|
//销毁直播间
|
|
|
+ pluginService.chatRoomDestroy(roomUid);
|
|
|
// imFeignService.destroyLiveRoom(roomUid);
|
|
|
log.info("roomDestroy>>>> destroyLiveRoom {}", JSONObject.toJSONString(message));
|
|
|
} catch (Exception e) {
|
|
@@ -1164,15 +1179,22 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
//生成主讲人信息到缓存
|
|
|
SysUser sysUser = getSysUser(room.getSpeakerId());
|
|
|
createSpeakerInfo(room, sysUser);
|
|
|
+
|
|
|
//去融云创建房间
|
|
|
LivePluginService pluginService = livePluginContext.getPluginService(room.getServiceProvider());
|
|
|
+
|
|
|
+ // 注册主播用户信息到三方平台
|
|
|
+ pluginService.register(sysUser.getId().toString(), sysUser.getUsername(), sysUser.getAvatar());
|
|
|
+ // 创建直播间IM群
|
|
|
pluginService.chatRoomCreate(room.getRoomUid(),room.getRoomTitle(),sysUser.getId().toString());
|
|
|
|
|
|
// imFeignService.createLiveRoom(room.getRoomUid(), room.getRoomTitle());
|
|
|
//推送预约直播间消息
|
|
|
imLiveRoomReservationService.push(room);
|
|
|
+
|
|
|
//推送直播开始消息
|
|
|
this.sendRoomLiveState(sysUser, room, MessageTypeEnum.JIGUANG_LIVE_STARTED);
|
|
|
+
|
|
|
} catch (Exception e) {
|
|
|
log.error(">>>>>>>>>> createLiveRoom error roomUid:{} msg:{}", room.getRoomUid(), e.getMessage());
|
|
|
}
|