|
@@ -10,11 +10,16 @@ import com.yonge.cooleshow.biz.dal.dao.SysConfigDao;
|
|
import com.yonge.cooleshow.biz.dal.dto.CourseScheduleStudentMusicScoreResult;
|
|
import com.yonge.cooleshow.biz.dal.dto.CourseScheduleStudentMusicScoreResult;
|
|
import com.yonge.cooleshow.biz.dal.dto.ImNetworkRoomResult;
|
|
import com.yonge.cooleshow.biz.dal.dto.ImNetworkRoomResult;
|
|
import com.yonge.cooleshow.biz.dal.dto.NetworkRoomResult;
|
|
import com.yonge.cooleshow.biz.dal.dto.NetworkRoomResult;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.CourseSchedule;
|
|
import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoom;
|
|
import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoom;
|
|
import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoomMember;
|
|
import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoomMember;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ImNetworkRoomErrorEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.UserRoleEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.UserRoleEnum;
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
|
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
import com.yonge.cooleshow.common.exception.BizException;
|
|
import com.yonge.cooleshow.common.exception.BizException;
|
|
|
|
+import com.yonge.toolset.utils.date.DateUtil;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -48,6 +53,8 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
@Resource
|
|
@Resource
|
|
private CourseScheduleStudentMusicScoreService courseScheduleStudentMusicScoreService;
|
|
private CourseScheduleStudentMusicScoreService courseScheduleStudentMusicScoreService;
|
|
@Resource
|
|
@Resource
|
|
|
|
+ private CourseScheduleService courseScheduleService;
|
|
|
|
+ @Resource
|
|
private SysConfigDao sysConfigDao;
|
|
private SysConfigDao sysConfigDao;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -57,10 +64,21 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
- public NetworkRoomResult joinRoom(Long courseScheduleId, UserRoleEnum userRole) {
|
|
|
|
|
|
+ public HttpResponseResult<ImNetworkRoomResult> joinRoom(Long courseScheduleId, UserRoleEnum userRole) {
|
|
|
|
+ CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getDao().findOne(courseScheduleId)).
|
|
|
|
+ orElseThrow(()-> new BizException("课程信息不存在"));
|
|
|
|
+ Date now = new Date();
|
|
|
|
+ //是否提前进入教室
|
|
|
|
+ String courseBeforeBufferTime = sysConfigDao.findConfigValue(SysConfigConstant.PRE_CREATE_PRACTICE_ROOM_MINUTE);
|
|
|
|
+ if (StringUtils.isEmpty(courseBeforeBufferTime)) {
|
|
|
|
+ courseBeforeBufferTime = "5";
|
|
|
|
+ }
|
|
|
|
+ Date addMinutes = DateUtil.addMinutes(now, Integer.parseInt(courseBeforeBufferTime));
|
|
|
|
+ if (courseSchedule.getStartClassTime().compareTo(addMinutes) > 0) {
|
|
|
|
+ return HttpResponseResult.failed(ImNetworkRoomErrorEnum.ROOM_NOT_START.getRemark());
|
|
|
|
+ }
|
|
SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
|
|
SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
|
|
orElseThrow(()-> new BizException("请登录"));
|
|
orElseThrow(()-> new BizException("请登录"));
|
|
- Date now = new Date();
|
|
|
|
String roomId = courseScheduleId.toString();
|
|
String roomId = courseScheduleId.toString();
|
|
ImNetworkRoomResult joinRoomResult = new ImNetworkRoomResult();
|
|
ImNetworkRoomResult joinRoomResult = new ImNetworkRoomResult();
|
|
//获取房间
|
|
//获取房间
|
|
@@ -83,7 +101,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
queryByScoreIdAndCourseId(null,courseScheduleId,sysUser.getId(),null,null);
|
|
queryByScoreIdAndCourseId(null,courseScheduleId,sysUser.getId(),null,null);
|
|
joinRoomResult.setMusicScoreResults(musicScoreResults);
|
|
joinRoomResult.setMusicScoreResults(musicScoreResults);
|
|
//网络教室配置项
|
|
//网络教室配置项
|
|
- String autoCloseNetworkRoomTime = sysConfigDao.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_LIVE_ROOM_MINUTE, courseSchedule.getTenantId());
|
|
|
|
|
|
+ String autoCloseNetworkRoomTime = sysConfigDao.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_PRACTICE_ROOM_MINUTE);
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|