Browse Source

发送消息

liujc 2 years ago
parent
commit
171f127d82

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImRoomMessage.java

@@ -49,6 +49,16 @@ public class ImRoomMessage extends BaseMessage {
     private String toChatroomId;
 
 
+    private String clientType;
+
+    public String getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(String clientType) {
+        this.clientType = clientType;
+    }
+
     public String getServiceProvider() {
         return serviceProvider;
     }

+ 20 - 18
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java

@@ -713,6 +713,7 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
         ImRoomMessage message = new ImRoomMessage();
         message.setFromUserId(speakerIdStr);
         message.setToChatroomId(roomUid);
+        message.setClientType(ClientEnum.TEACHER.getCode());
         message.setObjectName(ImRoomMessage.FORCED_OFFLINE);
         message.setContent(speakerIdStr);
         try {
@@ -873,21 +874,22 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
                     .update(roomMember);
 
             //向直播间发送当前在线人数消息
-            this.sendOnlineUserCount(roomUid, userId, 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.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);
+//            }
         });
 
     }
@@ -1133,6 +1135,7 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
         }
         ImRoomMessage message = new ImRoomMessage();
         message.setObjectName(ImRoomMessage.MEMBER_COUNT);
+        message.setClientType(ClientEnum.TEACHER.getCode());
         message.setToChatroomId(roomUid);
         HashMap<String, Integer> sendMap = new HashMap<>();
         sendMap.put("count", count);
@@ -1164,7 +1167,7 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
             // 发送用户信息
             messageUser = LiveRoomMessage.MessageUser
                     .builder()
-                    .sendUserId(sysUser.getId().toString())
+                    .sendUserId(imGroupService.getImUserId(message.getFromUserId(), message.getClientType()))
                     .sendUserName(sysUser.getUsername())
                     .avatarUrl(sysUser.getAvatar())
                     .build();
@@ -1172,14 +1175,13 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
 
         LiveRoomMessage.MessageContent messageContent = LiveRoomMessage.MessageContent
                 .builder()
-                .targetId(sysUser.getId().toString())
                 .sendUserInfo(messageUser)
                 .build();
 
         LiveRoomMessage build = LiveRoomMessage.builder()
                 .isIncludeSender(1)
                 .objectName(message.getObjectName())
-                .fromUserId(message.getFromUserId())
+                .fromUserId(imGroupService.getImUserId(message.getFromUserId(), message.getClientType()))
                 .toChatRoomId(message.getToChatroomId())
                 .content(messageContent)
                 .build();
@@ -2128,7 +2130,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