|  | @@ -113,7 +113,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
 | 
	
		
			
				|  |  |      public static final int PRE_LIVE_TIME_MINUTE = 30;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     * 进入直播间检查数据
 | 
	
		
			
				|  |  | +     * 进入直播间检查数据-现在只有学生端用
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param roomUid 房间uid
 | 
	
		
			
				|  |  |       * @param userId  用户id
 | 
	
	
		
			
				|  | @@ -127,14 +127,23 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              sysUser = getSysUser(userId);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        osType = Optional.ofNullable(osType).orElse(1);
 | 
	
		
			
				|  |  |          return queryRoomAndCheck(roomUid, sysUser, 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()))
 | 
	
		
			
				|  |  |                  .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();
 | 
	
		
			
				|  |  |          //分部
 | 
	
		
			
				|  |  | -        String organIds = null;
 | 
	
		
			
				|  |  | +        String organIds;
 | 
	
		
			
				|  |  |          //如果是超管就查询当前机构所有的直播间
 | 
	
		
			
				|  |  |          if (sysUser.getTenantId() == -1 || sysUser.getIsSuperAdmin()) {
 | 
	
		
			
				|  |  |              param.put("allRoom", 1);
 | 
	
	
		
			
				|  | @@ -396,6 +405,10 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
 | 
	
		
			
				|  |  |          param.put("tenantId", TenantContextHolder.getTenantId());
 | 
	
		
			
				|  |  |          param.put("popularize", 1);
 | 
	
		
			
				|  |  |          param.put("liveState", 1);
 | 
	
		
			
				|  |  | +        return getImLiveBroadcastRoomVo(param);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private ImLiveBroadcastRoomVo getImLiveBroadcastRoomVo(Map<String, Object> param) {
 | 
	
		
			
				|  |  |          PageInfo<ImLiveBroadcastRoomVo> pageInfo = imLiveRoomReservationService.queryPageStudent(param);
 | 
	
		
			
				|  |  |          List<ImLiveBroadcastRoomVo> list = pageInfo.getRows();
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(list)) {
 |