shangke %!s(int64=2) %!d(string=hai) anos
pai
achega
50f6966c69

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImLiveBroadcastRoom.java

@@ -131,6 +131,10 @@ public class ImLiveBroadcastRoom implements Serializable {
     @ApiModelProperty("声部编号")
     private String subjectId;
 
+    @TableField("video_record_")
+    @ApiModelProperty("视频录制编号")
+    private String videoRecord;
+
     @TableField("created_by_")
     @ApiModelProperty(value = "创建人")
     private Integer createdBy;
@@ -407,5 +411,13 @@ public class ImLiveBroadcastRoom implements Serializable {
     public void setSubjectId(String subjectId) {
         this.subjectId = subjectId;
     }
+
+    public String getVideoRecord() {
+        return videoRecord;
+    }
+
+    public void setVideoRecord(String videoRecord) {
+        this.videoRecord = videoRecord;
+    }
 }
 

+ 16 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -2243,9 +2243,22 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
                                                    .endTime(now.plusDays(1).toDateTime().getMillis())
                                                    .build();
 
-                    // 生成录制任务
-                    log.info("createLiveRoom>>>>>> recordStart:{}", recordStart.jsonString());
-                    pluginService.rtcRoomRecordStart(recordStart);
+                    if ("NORMAL".equals(room.getGroupType()) || ("LIVE".equals(room.getGroupType()) && StringUtils.isBlank(room.getVideoRecord()))) {
+
+                        // 生成录制任务
+                        log.info("createLiveRoom>>>>>> recordStart:{}", recordStart.jsonString());
+                        RTCRoom.RecordResp resp = pluginService.rtcRoomRecordStart(recordStart);
+
+                        // 设置录制任务Id
+                        ImLiveBroadcastRoom update = new ImLiveBroadcastRoom();
+                        update.setId(room.getId());
+                        if (StringUtils.isBlank(room.getVideoRecord())) {
+                            update.setVideoRecord(resp.getRecordId());
+                        } else {
+                            update.setVideoRecord(room.getVideoRecord() + "," + resp.getRecordId());
+                        }
+                        updateById(update);
+                    }
                 }
 
                 // 直播间类型: NORMAL, LIVE

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -345,6 +345,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 throw new BizException("直播间参数错误");
             }
 
+            // 直播间默认方案
+            String liveClient = sysConfigDao.findConfigValue("live_client");
+            liveRoom.setServiceProvider(liveClient);
+
             // 设置默认参数
             liveRoom.groupType(vipGroup.getVipGroupApplyBaseInfo().getGroupType())
                     .subjectId(vipGroup.getVipGroupApplyBaseInfo().getSubjectIdList())

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -329,6 +329,9 @@
             <if test="isLock != null">
                 is_lock_ = #{isLock},
             </if>
+            <if test="liveRoomId != null">
+                live_room_id_ = #{liveRoomId},
+            </if>
         </set>
         WHERE id_ = #{id} and tenant_id_ = #{tenantId}
     </update>

+ 7 - 1
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -34,7 +34,6 @@ import com.ym.mec.biz.dal.dto.RongyunBasicUserDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
-import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.WrapperUtil;
@@ -382,6 +381,13 @@ public class RoomServiceImpl implements RoomService {
         // 开启直播间
         imLiveBroadcastRoomService.createLiveRoom(liveRoom);
 
+        // 更新课程关联直播间
+        CourseSchedule schedule = new CourseSchedule();
+        schedule.setId(courseSchedule.getId());
+        schedule.setTenantId(courseSchedule.getTenantId());
+        schedule.setLiveRoomId(roomUid);
+        courseScheduleDao.update(schedule);
+
         // 返回直播间信息
         return liveRoom;
     }