Eric 2 年之前
父节点
当前提交
4e9f063fbe

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TencentData.java

@@ -465,11 +465,11 @@ public class TencentData {
 
         @JsonProperty("EventGroupId")
         @ApiModelProperty("事件组")
-        private String eventGroupId;
+        private Integer eventGroupId;
 
         @JsonProperty("EventType")
         @ApiModelProperty("事件类型")
-        private ETencentTRTCCallbackCommand eventType;
+        private Integer eventType;
 
         @JsonProperty("CallbackTs")
         @ApiModelProperty("事件时间")

+ 16 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ETencentTRTCCallbackCommand.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.dal.enums;
 
-import com.ym.mec.common.enums.BaseEnum;
 import lombok.Getter;
 
 /**
@@ -10,12 +9,13 @@ import lombok.Getter;
  * @date 2023-03-02
  */
 @Getter
-public enum ETencentTRTCCallbackCommand implements BaseEnum<Integer, ETencentTRTCCallbackCommand> {
+public enum ETencentTRTCCallbackCommand {
 
     EVENT_TYPE_CREATE_ROOM("101", "创建房间"),
     EVENT_TYPE_DISMISS_ROOM("102", "解散房间"),
     EVENT_TYPE_ENTER_ROOM("103", "进入房间"),
     EVENT_TYPE_EXIT_ROOM("104", "退出房间"),
+    EVENT_DEFAULT("-1", "默认无效事件"),
     ;
 
     private final String command;
@@ -30,4 +30,18 @@ public enum ETencentTRTCCallbackCommand implements BaseEnum<Integer, ETencentTRT
         // 枚举转换对象
         this.code = Integer.parseInt(command);
     }
+
+    /**
+     * 回调事件对象枚举
+     * @param eventType 事件类型
+     * @return ETencentTRTCCallbackCommand
+     */
+    public static ETencentTRTCCallbackCommand get(Integer eventType) {
+        for (ETencentTRTCCallbackCommand e : ETencentTRTCCallbackCommand.values()) {
+            if (e.getCode().equals(eventType)) {
+                return e;
+            }
+        }
+        return EVENT_DEFAULT;
+    }
 }

+ 5 - 1
mec-im/src/main/java/com/ym/controller/RoomController.java

@@ -3,6 +3,7 @@ package com.ym.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.common.BaseResponse;
 import com.ym.mec.biz.dal.dto.TencentData;
+import com.ym.mec.biz.dal.enums.ETencentTRTCCallbackCommand;
 import com.ym.pojo.*;
 import com.ym.service.MessageService;
 import com.ym.service.RoomService;
@@ -122,7 +123,7 @@ public class RoomController{
             if (roomId.startsWith("S") || roomId.startsWith("I")) {
                 // 进出用户信息
                 String userId = eventInfo.getEventInfo().getUserId();
-                switch (eventInfo.getEventType()){
+                switch (ETencentTRTCCallbackCommand.get(eventInfo.getEventType())){
                     case EVENT_TYPE_ENTER_ROOM:
                         //成员加入
                         roomService.joinRoomSuccess(roomId, userId,null);
@@ -131,6 +132,9 @@ public class RoomController{
                         //成员退出
                         roomService.leaveRoomSuccess(roomId, userId,null);
                         break;
+                    default:
+                        // 默认事件,直接忽略
+                        break;
                 }
             }