|
@@ -113,7 +113,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
public static final int PRE_LIVE_TIME_MINUTE = 30;
|
|
public static final int PRE_LIVE_TIME_MINUTE = 30;
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 进入直播间检查数据
|
|
|
|
|
|
+ * 进入直播间检查数据-现在只有学生端用
|
|
*
|
|
*
|
|
* @param roomUid 房间uid
|
|
* @param roomUid 房间uid
|
|
* @param userId 用户id
|
|
* @param userId 用户id
|
|
@@ -127,14 +127,23 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
} else {
|
|
} else {
|
|
sysUser = getSysUser(userId);
|
|
sysUser = getSysUser(userId);
|
|
}
|
|
}
|
|
|
|
+ osType = Optional.ofNullable(osType).orElse(1);
|
|
return queryRoomAndCheck(roomUid, sysUser, osType);
|
|
return queryRoomAndCheck(roomUid, sysUser, osType);
|
|
}
|
|
}
|
|
|
|
|
|
public ImLiveBroadcastRoomVo queryRoomAndCheck(String roomUid, SysUser sysUser, Integer osType) {
|
|
public ImLiveBroadcastRoomVo queryRoomAndCheck(String roomUid, SysUser sysUser, Integer osType) {
|
|
|
|
+ Optional<ImLiveBroadcastRoomVo> optional;
|
|
|
|
+ //如果是学生端,则需要检查是否有权限进入
|
|
|
|
+ if (osType == 1) {
|
|
|
|
+ Map<String, Object> param = new HashMap<>();
|
|
|
|
+ param.put("roomUid", roomUid);
|
|
|
|
+ optional = Optional.of(param).map(this::getImLiveBroadcastRoomVo);
|
|
|
|
+ optional.orElseThrow(() -> new BizException("您无法观看该直播"));
|
|
|
|
+ } else {
|
|
|
|
+ optional = Optional.ofNullable(roomUid).map(this::queryRoomInfo);
|
|
|
|
+ optional.orElseThrow(() -> new BizException("直播间不存在"));
|
|
|
|
+ }
|
|
//直播间信息校验
|
|
//直播间信息校验
|
|
- Optional<ImLiveBroadcastRoomVo> optional = Optional.ofNullable(roomUid)
|
|
|
|
- .map(this::queryRoomInfo);
|
|
|
|
- optional.orElseThrow(() -> new BizException("直播间不存在"));
|
|
|
|
optional.filter(r -> r.getTenantId().equals(sysUser.getTenantId()))
|
|
optional.filter(r -> r.getTenantId().equals(sysUser.getTenantId()))
|
|
.orElseThrow(() -> new BizException("您不是该直播机构人员,不可观看!"));
|
|
.orElseThrow(() -> new BizException("您不是该直播机构人员,不可观看!"));
|
|
optional.filter(r -> r.getRoomState() != 1).orElseThrow(() -> new BizException("直播间不存在"));
|
|
optional.filter(r -> r.getRoomState() != 1).orElseThrow(() -> new BizException("直播间不存在"));
|
|
@@ -203,7 +212,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
//查询该人员分部 及 分部下包含的学校(合作单位)
|
|
//查询该人员分部 及 分部下包含的学校(合作单位)
|
|
SysUser sysUser = getSysUser();
|
|
SysUser sysUser = getSysUser();
|
|
//分部
|
|
//分部
|
|
- String organIds = null;
|
|
|
|
|
|
+ String organIds;
|
|
//如果是超管就查询当前机构所有的直播间
|
|
//如果是超管就查询当前机构所有的直播间
|
|
if (sysUser.getTenantId() == -1 || sysUser.getIsSuperAdmin()) {
|
|
if (sysUser.getTenantId() == -1 || sysUser.getIsSuperAdmin()) {
|
|
param.put("allRoom", 1);
|
|
param.put("allRoom", 1);
|
|
@@ -396,6 +405,10 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
param.put("tenantId", TenantContextHolder.getTenantId());
|
|
param.put("tenantId", TenantContextHolder.getTenantId());
|
|
param.put("popularize", 1);
|
|
param.put("popularize", 1);
|
|
param.put("liveState", 1);
|
|
param.put("liveState", 1);
|
|
|
|
+ return getImLiveBroadcastRoomVo(param);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private ImLiveBroadcastRoomVo getImLiveBroadcastRoomVo(Map<String, Object> param) {
|
|
PageInfo<ImLiveBroadcastRoomVo> pageInfo = imLiveRoomReservationService.queryPageStudent(param);
|
|
PageInfo<ImLiveBroadcastRoomVo> pageInfo = imLiveRoomReservationService.queryPageStudent(param);
|
|
List<ImLiveBroadcastRoomVo> list = pageInfo.getRows();
|
|
List<ImLiveBroadcastRoomVo> list = pageInfo.getRows();
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
if (CollectionUtils.isNotEmpty(list)) {
|