|
@@ -25,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
-import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
@@ -53,7 +52,12 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
* @param userId 用户id
|
|
|
*/
|
|
|
public ImLiveBroadcastRoomVo queryRoom(String roomUid, Integer userId) {
|
|
|
- SysUser sysUser = getSysUser(userId);
|
|
|
+ SysUser sysUser;
|
|
|
+ if (Objects.isNull(userId)) {
|
|
|
+ sysUser = getSysUser();
|
|
|
+ } else {
|
|
|
+ sysUser = getSysUser(userId);
|
|
|
+ }
|
|
|
//直播间信息校验
|
|
|
Optional<ImLiveBroadcastRoomVo> optional = Optional.ofNullable(roomUid)
|
|
|
.map(this::queryRoomInfo);
|
|
@@ -62,12 +66,9 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
.orElseThrow(() -> new BizException("您不是该直播机构学员,不可观看!"));
|
|
|
optional.filter(r -> r.getRoomState() != 1).orElseThrow(() -> new BizException("直播间不存在"));
|
|
|
ImLiveBroadcastRoomVo room = optional.get();
|
|
|
- String msg = "直播未开始,直播开启的时间是 " + DateUtil.format(room.getLiveStartTime(), DateUtil.EXPANDED_DATE_TIME_FORMAT);
|
|
|
- if (room.getLiveState() == 0) {
|
|
|
- throw new BizException(msg);
|
|
|
- }
|
|
|
- if (room.getLiveStartTime().getTime() < new Date().getTime()) {
|
|
|
- throw new BizException(msg);
|
|
|
+ if (room.getLiveState() == 0 || room.getLiveStartTime().getTime() < new Date().getTime()) {
|
|
|
+ throw new BizException("直播未开始,直播开启的时间是 "
|
|
|
+ + DateUtil.format(room.getLiveStartTime(), DateUtil.EXPANDED_DATE_TIME_FORMAT));
|
|
|
}
|
|
|
if (room.getLiveState() == 2) {
|
|
|
throw new BizException("直播已结束!");
|
|
@@ -111,15 +112,15 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
SysUser sysUser = getSysUser(dto.getSpeakerId());
|
|
|
ImLiveBroadcastRoom obj = new ImLiveBroadcastRoom();
|
|
|
BeanUtils.copyProperties(dto, obj);
|
|
|
- String nano = LocalDateTime.now().getNano() + "";
|
|
|
- String roomUid = "LIVE-" + sysUser.getId() + "-" + nano.substring(0, 3);
|
|
|
Date now = new Date();
|
|
|
+ String nano = now.getTime() + "";
|
|
|
+ String roomUid = "LIVE-" + sysUser.getId() + "-" + nano;
|
|
|
obj.setTenantId(TenantContextHolder.getTenantId());
|
|
|
obj.setRoomUid(roomUid);
|
|
|
obj.setRoomConfig(JSONObject.toJSONString(dto.getRoomConfig()));
|
|
|
obj.setLiveState(0);
|
|
|
obj.setRoomState(0);
|
|
|
- obj.setCreatedBy(getUserId());
|
|
|
+ obj.setCreatedBy(getSysUser().getId());
|
|
|
obj.setCreatedTime(now);
|
|
|
this.save(obj);
|
|
|
}
|
|
@@ -175,11 +176,10 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
.orElseThrow(() -> new BizException("用户不存在"));
|
|
|
}
|
|
|
|
|
|
- private Integer getUserId() {
|
|
|
+ private SysUser getSysUser() {
|
|
|
//修改机构基础信息
|
|
|
return Optional.ofNullable(sysUserFeignService.queryUserInfo())
|
|
|
- .map(SysUser::getId)
|
|
|
- .orElseThrow(() -> new BizException("用户信息获取失败,请刷新页面或者重新登录!"));
|
|
|
+ .orElseThrow(() -> new BizException("用户不存在"));
|
|
|
}
|
|
|
|
|
|
/**
|