浏览代码

Merge remote-tracking branch 'origin/dev_20230222_live' into dev_20230222_live

Eric 2 年之前
父节点
当前提交
7f1bb0e89b

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -16,6 +16,7 @@ import com.microsvc.toolkit.middleware.live.message.LiveRoomMessage;
 import com.microsvc.toolkit.middleware.live.message.LiveRoomUser;
 import com.microsvc.toolkit.middleware.live.message.RTCRequest;
 import com.microsvc.toolkit.middleware.live.message.RTCRoom;
+import com.microsvc.toolkit.middleware.live.message.TencentRequest;
 import com.microsvc.toolkit.middleware.live.message.TencentWrapper;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
@@ -1151,6 +1152,9 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
                 .eq(ImLiveBroadcastRoom::getSpeakerId, Integer.parseInt(userid))
                 .update(room);
 
+        // 设置直播群组自定义数据
+        setGroupDefinedData(roomVo,false);
+
         return true;
     }
 
@@ -1195,9 +1199,29 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
                 .set(ImLiveBroadcastRoom::getSpeakerStatus, 1)
                 .update();
 
+        // 设置直播群组自定义数据
+        setGroupDefinedData(roomVo,true);
+
         return roomVo;
     }
 
+    private void setGroupDefinedData( ImLiveBroadcastRoomVo roomVo,Boolean onlineStatus) {
+        List<TencentRequest.ChatRoomGroupDefinedData> appDefinedData = new ArrayList<>();
+        appDefinedData.add(TencentRequest.ChatRoomGroupDefinedData.builder()
+                                                                  .key("ANCHOR_STATUS")
+                                                                  .value(onlineStatus?"ONLINE":"OFFLINE")
+                                                                  .build());
+        try {
+            livePluginContext.getPluginService(roomVo.getServiceProvider())
+                             .chatRoomGroupDefinedData(TencentRequest.ChatRoomGroup.builder()
+                                                                                   .groupId(roomVo.getRoomUid())
+                                                                                   .appDefinedData(appDefinedData)
+                                                                                   .build());
+        } catch (Exception e) {
+            log.error("设置直播群配置失败", e);
+        }
+    }
+
     /**
      * 进入房间-修改用户对应的房间号信息
      *

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveRoomBlackServiceImpl.java

@@ -101,7 +101,7 @@ public class ImLiveRoomBlackServiceImpl extends ServiceImpl<ImLiveRoomBlackDao,
             //调用融云方法加入禁言
             LivePluginService pluginService = livePluginContext.getPluginService(roomVo.getServiceProvider());
             try {
-                pluginService.chatRoomUserGagCreate(userIdStr, roomUid, -1);
+                pluginService.chatRoomUserGagCreate(userIdStr, roomUid, -1L);
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }

+ 2 - 2
mec-im/src/main/java/com/ym/controller/UserController.java

@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
 import java.util.List;
 
 @RestController
@@ -70,8 +71,7 @@ public class UserController {
 
       log.info("tencentImCallback request param:{}", JSON.toJSONString(request.getParameterMap()));
 
-      String sdkAppid = request.getParameter("SdkAppid");
-      List<String> sdkList = JSON.parseArray(sdkAppid, String.class);
+      List<String> sdkList = Arrays.asList(request.getParameterValues("SdkAppid"));
       if (sdkList == null || sdkList.size() == 0) {
         log.error("tencentImCallback sdkAppid is null");
         return new TencentImCallbackResult();

+ 10 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherImLiveBroadcastRoomController.java

@@ -59,6 +59,8 @@ public class TeacherImLiveBroadcastRoomController extends BaseController {
             @ApiImplicitParam(name = "endTime", dataType = "String", value = "结束时间"),
             @ApiImplicitParam(name = "popularize", dataType = "Integer", value = "是否在首页推广 0否 1是"),
             @ApiImplicitParam(name = "speakerId", dataType = "Integer", value = "老师ID"),
+            @ApiImplicitParam(name = "clientType", dataType = "String", value = "用户类型 TEACHER 老师 EDUCATION 教务端"),
+            @ApiImplicitParam(name = "sort", dataType = "String", value = "不传是默认web端排序  1:直播中--未开始--已结束(状态相同时,根据直播时间倒序)"),
             @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
             @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
     })
@@ -178,6 +180,14 @@ public class TeacherImLiveBroadcastRoomController extends BaseController {
     }
 
     @ApiOperation("分页查询直播间人员列表")
+    @ApiImplicitParams({
+      @ApiImplicitParam(name = "search", dataType = "String", value = "模糊搜索 学员编号姓名"),
+      @ApiImplicitParam(name = "roomUid", dataType = "String", value = "房间uid"),
+      @ApiImplicitParam(name = "onlineStatus", dataType = "String ", value = "0:离线 1:在线  不传是全部"),
+      @ApiImplicitParam(name = "whetherMicStatus", dataType = "String", value = "连麦状态 0:未申请1:申请连麦中2:连麦中"),
+      @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
+      @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
+    })
     @PostMapping("/queryRoomMember")
     public HttpResponseResult<PageInfo<ImLiveBroadcastRoomMemberVo>> queryRoomMember(@RequestBody Map<String, Object> param) {
         return succeed(imLiveBroadcastRoomMemberService.queryRoomMember(param));

+ 2 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherImLiveBroadcastRoomMemberController.java

@@ -46,6 +46,8 @@ public class TeacherImLiveBroadcastRoomMemberController extends BaseController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "search", dataType = "String", value = "模糊搜索 学员编号姓名"),
             @ApiImplicitParam(name = "roomUid", dataType = "String", value = "房间uid"),
+            @ApiImplicitParam(name = "onlineStatus", dataType = "String ", value = "0:离线 1:在线  不传是全部"),
+            @ApiImplicitParam(name = "whetherMicStatus", dataType = "String", value = "连麦状态 0:未申请1:申请连麦中2:连麦中"),
             @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
             @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
     })

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ImLiveBroadcastRoomController.java

@@ -59,8 +59,8 @@ public class ImLiveBroadcastRoomController extends BaseController {
             @ApiImplicitParam(name = "startTime", dataType = "String", value = "开始时间"),
             @ApiImplicitParam(name = "endTime", dataType = "String", value = "结束时间"),
             @ApiImplicitParam(name = "popularize", dataType = "Integer", value = "是否在首页推广 0否 1是"),
-            @ApiImplicitParam(name = "sort", dataType = "String", value = "用户类型 TEACHER 老师 EDUCATION 教务端"),
-            @ApiImplicitParam(name = "sortType", dataType = "String", value = "不传是默认web端排序  1:直播中--未开始--已结束(状态相同时,根据直播时间倒序)"),
+            @ApiImplicitParam(name = "clientType", dataType = "String", value = "用户类型 TEACHER 老师 EDUCATION 教务端"),
+            @ApiImplicitParam(name = "sort", dataType = "String", value = "不传是默认web端排序  1:直播中--未开始--已结束(状态相同时,根据直播时间倒序)"),
             @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
             @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
     })