Просмотр исходного кода

fix : Websocket调试修改003

bilingfeng 1 год назад
Родитель
Сommit
5b9cc7269c

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -23,7 +23,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 <Websocket调试修改002> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 <Websocket调试修改003> ( ´・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 8 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/IKfRoomService.java

@@ -47,4 +47,12 @@ public interface IKfRoomService extends IService<KfRoom> {
      * @return : 返回待接入房间列表
      */
     List<KfWebSocketMsgDTO.RoomBean> getOnlineRoomList(Long gameId);
+
+    /**
+     * 根据房间id获取房间信息
+     *
+     * @param roomId : 房间id
+     * @return : 返回房间信息
+     */
+    List<KfWebSocketMsgDTO.RoomBean> getRoomByRoomId(Long roomId);
 }

+ 2 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/KfAppletMsgServiceImpl.java

@@ -115,6 +115,8 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
             roomMsgBean.setContent(msgContent);
             kfWebSocketMsgDTO.setRoomMsgList(Collections.singletonList(roomMsgBean));
         }
+        //游戏列表
+        kfWebSocketMsgDTO.setGameList(kfRoomService.getKfGameList());
         return kfWebSocketMsgDTO;
     }
 

+ 9 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/KfRoomServiceImpl.java

@@ -141,6 +141,15 @@ public class KfRoomServiceImpl extends ServiceImpl<KfRoomMapper, KfRoom> impleme
         ).stream().map(this::transform).collect(Collectors.toList());
     }
 
+    @Override
+    public List<KfWebSocketMsgDTO.RoomBean> getRoomByRoomId(Long roomId) {
+        KfRoom kfRoom = super.getById(roomId);
+        if (kfRoom == null) {
+            return Collections.emptyList();
+        }
+        return Collections.singletonList(this.transform(kfRoom));
+    }
+
     private KfWebSocketMsgDTO.RoomBean transform(KfRoom kfRoom) {
         if (kfRoom == null) {
             return null;

+ 4 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/websocket/KfMsgWebsocketHandler.java

@@ -263,12 +263,16 @@ public class KfMsgWebsocketHandler implements WebSocketHandler {
         //分页获取房间消息列表
         Tuple2<KfWebSocketMsgDTO.PageBean, List<KfWebSocketMsgDTO.RoomMsgBean>> tuple2 = kfRoomMsgService
                 .msgRoomHistory(param.getRoomId(), param.getPage());
+        //房间信息设置
+        List<KfWebSocketMsgDTO.RoomBean> roomList = kfRoomService.getRoomByRoomId(param.getRoomId());
+        //发送消息
         this.sendMessage(session, KfWebSocketMsgDTO.builder()
                 .webSocketMsgType(param.getWebSocketMsgType())
                 .kfUserId(SecurityUtil.getUserId())
                 .page(tuple2.getT1())
                 .gameId(param.getGameId())
                 .roomId(param.getRoomId())
+                .roomList(roomList)
                 .roomMsgList(tuple2.getT2())
                 .build());
     }