|
@@ -1,7 +1,9 @@
|
|
|
package com.keao.edu.im.service.Impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.keao.edu.auth.api.client.EduUserFeignService;
|
|
|
import com.keao.edu.auth.api.client.SysUserFeignService;
|
|
|
+import com.keao.edu.auth.api.entity.ExamRoom;
|
|
|
import com.keao.edu.auth.api.entity.SysUser;
|
|
|
import com.keao.edu.common.exception.BizException;
|
|
|
import com.keao.edu.im.common.ApiException;
|
|
@@ -32,10 +34,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Isolation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -77,11 +76,116 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Autowired
|
|
|
private SysUserFeignService sysUserFeignService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private EduUserFeignService eduUserFeignService;
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
@Override
|
|
|
- public RoomResult joinRoom(String userName, String roomId, boolean isAudience, boolean isDisableCamera,boolean isMusicMode) throws ApiException, Exception {
|
|
|
-
|
|
|
- return null;
|
|
|
+ public RoomResult joinRoom(String roomId, boolean isAudience, boolean isDisableCamera,boolean isMusicMode) throws ApiException, Exception {
|
|
|
+ CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
+
|
|
|
+ log.info("joinRoom: roomId={}, isAudience={}, isDisableCamera={},isMusicMode={}", roomId, isAudience, isDisableCamera,isMusicMode);
|
|
|
+
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ String userId = sysUser.getId().toString();
|
|
|
+ String realName = sysUser.getRealName();
|
|
|
+ ExamRoom examRoom = eduUserFeignService.getExamRoom(Integer.parseInt(roomId));
|
|
|
+ boolean isAssistant = false;
|
|
|
+ if (StringUtils.isNotEmpty(examRoom.getAssistantTeacherUserIdList())){
|
|
|
+ List<String> list = Arrays.asList(examRoom.getAssistantTeacherUserIdList().split(","));
|
|
|
+ if(list.contains(userId)){
|
|
|
+ isAssistant = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String display = "";
|
|
|
+ Date curTime = DateTimeUtils.currentUTC();
|
|
|
+ List<Room> roomList = roomDao.findByRid(roomId);
|
|
|
+ if (roomList.isEmpty()) {
|
|
|
+ saveRoom(roomId, roomId, curTime, display);
|
|
|
+ IMApiResultInfo resultInfo = imHelper.createGroup(new String[]{userId}, roomId, roomId);
|
|
|
+ if (!resultInfo.isSuccess()) {
|
|
|
+ log.error("joinRoom IM error: roomId={}, {}", roomId, resultInfo.getErrorMessage());
|
|
|
+ throw new ApiException(ErrorEnum.ERR_CREATE_ROOM_ERROR, resultInfo.getErrorMessage());
|
|
|
+ }
|
|
|
+// else {
|
|
|
+// scheduleManager.addExpiredTask(this, roomId);
|
|
|
+// }
|
|
|
+ } else {
|
|
|
+ display = roomList.get(0).getDisplay();
|
|
|
+ }
|
|
|
+ RoleEnum roleEnum;
|
|
|
+ RoomResult roomResult = new RoomResult();
|
|
|
+ RoomResult.MemberResult userResult = new RoomResult.MemberResult();
|
|
|
+ List<RoomMember> memberList = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ if (memberList.isEmpty()) {
|
|
|
+ if(userId.equals(examRoom.getMainTeacherUserId())){
|
|
|
+ roleEnum = RoleEnum.MainTeacher;
|
|
|
+ }else if(isAssistant){
|
|
|
+ roleEnum = RoleEnum.AssistantTeacher;
|
|
|
+ }else {
|
|
|
+ roleEnum = RoleEnum.Student;
|
|
|
+ }
|
|
|
+ saveRoomMember(userId,sysUser.getAvatar(), realName, roomId, roleEnum.getValue(), !isDisableCamera,!isMusicMode, curTime);
|
|
|
+ IMApiResultInfo resultInfo = imHelper.joinGroup(new String[]{userId}, roomId, roomId);
|
|
|
+ if (!resultInfo.isSuccess()) {
|
|
|
+ throw new ApiException(ErrorEnum.ERR_CREATE_ROOM_ERROR, resultInfo.getErrorMessage());
|
|
|
+ }
|
|
|
+ userResult.setMicrophone(true);
|
|
|
+ userResult.setCamera(!isDisableCamera);
|
|
|
+ userResult.setHandUp(false);
|
|
|
+ userResult.setJoinTime(curTime);
|
|
|
+ log.info("user join the room: roomId={} , userId={}, roleEnum={}", roomId, userId, roleEnum);
|
|
|
+ } else {
|
|
|
+ RoomMember roomMember = memberList.get(0);
|
|
|
+ roleEnum = RoleEnum.getEnumByValue(roomMember.getRole());
|
|
|
+// roomMemberDao.updateCameraByRidAndUid(roomId, userId, !isDisableCamera);
|
|
|
+ userResult.setCamera(roomMember.isCamera());
|
|
|
+ userResult.setHandUp(roomMember.isHand());
|
|
|
+ userResult.setJoinTime(roomMember.getJoinDt());
|
|
|
+ log.info("user exist in the room: roomId={} , userId={}, use the last role={}", roomId, userId, roleEnum);
|
|
|
+ }
|
|
|
+
|
|
|
+ MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Join, userId, roleEnum.getValue());
|
|
|
+ msg.setTimestamp(curTime);
|
|
|
+ msg.setUserName(realName);
|
|
|
+ msg.setCamera(!isDisableCamera);
|
|
|
+ imHelper.publishMessage(userId, roomId, msg);
|
|
|
+ if (roleEnum == RoleEnum.MainTeacher) {
|
|
|
+ display = "display://type=0?userId=" + userId + "?uri=";
|
|
|
+ updateDisplay(roomId, userId, display, 0);
|
|
|
+ log.info("joinRoom, display changed: roomId={}, {}, userId={}", roomId, display, userId);
|
|
|
+ } else if (roleEnum == RoleEnum.AssistantTeacher && display.isEmpty()) {
|
|
|
+ display = "display://type=1?userId=" + userId + "?uri=";
|
|
|
+ updateDisplay(roomId, userId, display, 0);
|
|
|
+ log.info("joinRoom, display changed: roomId={}, {}, userId={}", roomId, display, userId);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<UserInfo> userInfoList = userDao.findByUid(userId);
|
|
|
+ if (userInfoList.isEmpty()) {
|
|
|
+ UserInfo userInfo = new UserInfo();
|
|
|
+ userInfo.setUid(userId);
|
|
|
+ userInfo.setName(realName);
|
|
|
+ userInfo.setCreateDt(curTime);
|
|
|
+ userInfo.setUpdateDt(curTime);
|
|
|
+ userDao.save(userInfo);
|
|
|
+ } else {
|
|
|
+ UserInfo user = userInfoList.get(0);
|
|
|
+ user.setUpdateDt(curTime);
|
|
|
+ userDao.save(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ userResult.setUserName(realName);
|
|
|
+ userResult.setUserId(userId);
|
|
|
+ userResult.setRole(roleEnum.getValue());
|
|
|
+ roomResult.setUserInfo(userResult);
|
|
|
+ roomResult.setDisplay(display);
|
|
|
+ roomResult.setRoomId(roomId);
|
|
|
+
|
|
|
+ roomResult.setMembers(roomMemberDao.findByRid(roomId));
|
|
|
+ List<Whiteboard> whiteboardList = whiteboardDao.findByRid(roomId);
|
|
|
+ roomResult.setWhiteboards(whiteboardList);
|
|
|
+ log.info("join success: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, roleEnum);
|
|
|
+ return roomResult;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -104,7 +208,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void saveRoomMember(String userId, String userName, String roomId, int role, boolean cameraOn,boolean musicModeOn, Date joinTime) {
|
|
|
+ private void saveRoomMember(String userId, String headUrl, String userName, String roomId, int role, boolean cameraOn,boolean musicModeOn, Date joinTime) {
|
|
|
RoomMember roomMember = new RoomMember();
|
|
|
roomMember.setUid(userId);
|
|
|
roomMember.setName(userName);
|
|
@@ -113,6 +217,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomMember.setCamera(cameraOn);
|
|
|
roomMember.setJoinDt(joinTime);
|
|
|
roomMember.setMusicMode(musicModeOn);
|
|
|
+ roomMember.setHeadUrl(headUrl);
|
|
|
roomMemberDao.save(roomMember);
|
|
|
}
|
|
|
|
|
@@ -143,7 +248,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
int userRole = roomMemberList.get(0).getRole();
|
|
|
log.info("leaveRoom: roomId={}, role={}", roomId, RoleEnum.getEnumByValue(userRole));
|
|
|
|
|
|
- if (userRole == RoleEnum.RoleTeacher.getValue() || userRole == RoleEnum.RoleAssistant.getValue()) {
|
|
|
+ if (userRole == RoleEnum.MainTeacher.getValue() || userRole == RoleEnum.AssistantTeacher.getValue()) {
|
|
|
if (isUserDisplay(roomList.get(0), userId)) {
|
|
|
updateDisplay(roomId, userId, "", 0);
|
|
|
log.info("clear display cause speaker leave: roomId={}", roomId);
|
|
@@ -249,7 +354,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
} else {
|
|
|
List<RoomMember> oldUsers = roomMemberDao.findByRidAndUid(roomId, changedUserId);
|
|
|
if (oldUsers.size() > 0) {
|
|
|
- if (changedRole.equals(RoleEnum.RoleAudience)) {
|
|
|
+ /*if (changedRole.equals(RoleEnum.RoleAudience)) {
|
|
|
int r = roomMemberDao.updateRoleByRidAndUid(roomId, changedUserId, changedRole.getValue());
|
|
|
RoleChangedMessage.ChangedUser u = new RoleChangedMessage.ChangedUser(changedUserId, changedRole.getValue());
|
|
|
List<UserInfo> userInfoList = userDao.findByUid(changedUserId);
|
|
@@ -259,8 +364,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
changedUsers.add(u);
|
|
|
log.info("change the role: {}, {}, {}, result: {}", roomId, userId, changedRole, r);
|
|
|
result = true;
|
|
|
- }
|
|
|
- if (oldUsers.get(0).getRole() == RoleEnum.RoleTeacher.getValue() && isUserDisplay(roomList.get(0), oldUsers.get(0).getUid())) {
|
|
|
+ }*/
|
|
|
+ if (oldUsers.get(0).getRole() != RoleEnum.Student.getValue() && isUserDisplay(roomList.get(0), oldUsers.get(0).getUid())) {
|
|
|
updateDisplay(roomId, userId, "", 1);
|
|
|
} else {
|
|
|
log.info("don't update display: room={}, userRole={}", roomList.get(0), RoleEnum.getEnumByValue(oldUsers.get(0).getRole()));
|
|
@@ -303,7 +408,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
Thread.sleep(50);
|
|
|
log.info("published msg: msg={}", msg);
|
|
|
List<Room> roomList = roomDao.findByRid(roomId);
|
|
|
- if (kickedUsers.get(0).getRole() == RoleEnum.RoleTeacher.getValue() && isUserDisplay(roomList.get(0), userId)) {
|
|
|
+ if (kickedUsers.get(0).getRole() != RoleEnum.Student.getValue() && isUserDisplay(roomList.get(0), userId)) {
|
|
|
updateDisplay(roomId, userId, "", 1);
|
|
|
} else {
|
|
|
log.info("don't update display: room={}, userRole={}", roomId, RoleEnum.getEnumByValue(kickedUsers.get(0).getRole()));
|
|
@@ -317,7 +422,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
+ /*@Override
|
|
|
public Boolean display(String roomId, int type, String uri) throws ApiException, Exception {
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
@@ -377,7 +482,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
log.info("result display in room: {}, type = {}, uri = {}", roomId, type, uri);
|
|
|
return true;
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
@Override
|
|
|
public String createWhiteBoard(String roomId) throws ApiException, Exception {
|
|
@@ -550,7 +655,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomMembers.add(new RoomMember(split[i]));
|
|
|
}
|
|
|
}else {
|
|
|
- roomMembers = roomMemberDao.findByRidAndRole(data.getRoomId(),RoleEnum.RoleStudent.getValue());
|
|
|
+ roomMembers = roomMemberDao.findByRidAndRole(data.getRoomId(),RoleEnum.Student.getValue());
|
|
|
}
|
|
|
if(roomMembers.size() == 0){
|
|
|
return false;
|
|
@@ -653,7 +758,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
+ /*@Override
|
|
|
public Boolean applySpeech(String roomId) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
@@ -685,7 +790,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
} else {
|
|
|
throw new ApiException(ErrorEnum.ERR_MESSAGE_ERROR, resultInfo.getErrorMessage());
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
@Override
|
|
|
public Boolean approveSpeech(String roomId, String ticket) throws ApiException, Exception {
|
|
@@ -694,15 +799,15 @@ public class RoomServiceImpl implements RoomService {
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
|
|
|
- int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
|
+ /*int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
|
if (count == roomProperties.getMaxCount()) {
|
|
|
log.error("approveSpeech error: roomId = {}, ticket={}", roomId, ticket);
|
|
|
throw new ApiException(ErrorEnum.ERR_OVER_MAX_COUNT);
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
ScheduledTaskInfo taskInfo = scheduleManager.executeTask(ticket);
|
|
|
log.info("approveSpeech: task = {}", taskInfo);
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, taskInfo.getApplyUserId(), RoleEnum.RoleStudent.getValue());
|
|
|
+ roomMemberDao.updateRoleByRidAndUid(roomId, taskInfo.getApplyUserId(), RoleEnum.Student.getValue());
|
|
|
|
|
|
SpeechResultMessage msg = new SpeechResultMessage(SpeechResultMessage.Action_Approve);
|
|
|
List<UserInfo> userInfoList = userDao.findByUid(taskInfo.getApplyUserId());
|
|
@@ -712,7 +817,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
if (!userInfoList.isEmpty()) {
|
|
|
msg.setReqUserName(userInfoList.get(0).getName());
|
|
|
}
|
|
|
- msg.setRole(RoleEnum.RoleStudent.getValue());
|
|
|
+ msg.setRole(RoleEnum.Student.getValue());
|
|
|
IMApiResultInfo resultInfo = imHelper.publishMessage(userId, taskInfo.getApplyUserId(), roomId, msg);
|
|
|
if (!resultInfo.isSuccess()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_MESSAGE_ERROR, resultInfo.getErrorMessage());
|
|
@@ -720,7 +825,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
RoleChangedMessage rcMsg = new RoleChangedMessage(userId);
|
|
|
List<RoleChangedMessage.ChangedUser> changedUserList = new ArrayList<>();
|
|
|
- RoleChangedMessage.ChangedUser user = new RoleChangedMessage.ChangedUser(taskInfo.getApplyUserId(), RoleEnum.RoleStudent.getValue());
|
|
|
+ RoleChangedMessage.ChangedUser user = new RoleChangedMessage.ChangedUser(taskInfo.getApplyUserId(), RoleEnum.Student.getValue());
|
|
|
if (!userInfoList.isEmpty()) {
|
|
|
user.setUserName(userInfoList.get(0).getName());
|
|
|
}
|
|
@@ -743,7 +848,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
SpeechResultMessage msg = new SpeechResultMessage(SpeechResultMessage.Action_Reject);
|
|
|
msg.setOpUserId(userId);
|
|
|
msg.setOpUserName(authUser.getUsername());
|
|
|
- msg.setRole(RoleEnum.RoleStudent.getValue());
|
|
|
+ msg.setRole(RoleEnum.Student.getValue());
|
|
|
IMApiResultInfo resultInfo = imHelper.publishMessage(userId, taskInfo.getApplyUserId(), roomId, msg);
|
|
|
if (resultInfo.isSuccess()) {
|
|
|
return true;
|
|
@@ -752,7 +857,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void checkOverMax(String roomId, RoomMember targetUser, int targetRole) {
|
|
|
+ /*private void checkOverMax(String roomId, RoomMember targetUser, int targetRole) {
|
|
|
if (RoleEnum.getEnumByValue(targetUser.getRole()).equals(RoleEnum.RoleAudience)) {
|
|
|
int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
|
if (count == roomProperties.getMaxCount()) {
|
|
@@ -762,7 +867,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
} else if (targetRole > targetUser.getRole()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_DOWNGRADE_ROLE);
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
@Override
|
|
|
public Boolean transfer(String roomId, String userId) throws ApiException, Exception {
|
|
@@ -789,8 +894,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.info("don't update display: room={}", roomList.get(0));
|
|
|
}
|
|
|
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, userId, RoleEnum.RoleStudent.getValue());
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, userId, RoleEnum.RoleAssistant.getValue());
|
|
|
+ roomMemberDao.updateRoleByRidAndUid(roomId, userId, RoleEnum.Student.getValue());
|
|
|
+// roomMemberDao.updateRoleByRidAndUid(roomId, userId, RoleEnum.RoleAssistant.getValue());
|
|
|
|
|
|
AssistantTransferMessage msg = new AssistantTransferMessage();
|
|
|
msg.setOpUserId(userId);
|
|
@@ -817,7 +922,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
|
|
|
|
- checkOverMax(roomId, targetUser.get(0), targetRole);
|
|
|
+// checkOverMax(roomId, targetUser.get(0), targetRole);
|
|
|
|
|
|
String ticket = IdentifierUtils.uuid();
|
|
|
|
|
@@ -860,7 +965,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
throw new ApiException(ErrorEnum.ERR_APPLY_TICKET_INVALID);
|
|
|
}
|
|
|
|
|
|
- checkOverMax(roomId, targetUser.get(0), taskInfo.getRole().getValue());
|
|
|
+// checkOverMax(roomId, targetUser.get(0), taskInfo.getRole().getValue());
|
|
|
roomMemberDao.updateRoleByRidAndUid(roomId, userId, taskInfo.getRole().getValue());
|
|
|
|
|
|
UpgradeRoleMessage msg = new UpgradeRoleMessage(ActionEnum.Approve.ordinal());
|
|
@@ -910,7 +1015,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(targetUserId != null, "userId must't be null");
|
|
|
CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist");
|
|
|
- CheckUtils.checkArgument(RoleEnum.getEnumByValue(targetRole).equals(RoleEnum.RoleTeacher), "only set to teacher");
|
|
|
+// CheckUtils.checkArgument(RoleEnum.getEnumByValue(targetRole).equals(RoleEnum.RoleTeacher), "only set to teacher");
|
|
|
CheckUtils.checkArgument(roomMemberDao.existsByRidAndUid(roomId, targetUserId), "room member not exist");
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
@@ -919,7 +1024,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
if (targetUser.isEmpty()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
} else {
|
|
|
- if (!RoleEnum.getEnumByValue(targetUser.get(0).getRole()).equals(RoleEnum.RoleStudent)) {
|
|
|
+ if (!RoleEnum.getEnumByValue(targetUser.get(0).getRole()).equals(RoleEnum.Student)) {
|
|
|
log.error("change role error: targetUserId={}, targetRole = {}", targetUser, RoleEnum.getEnumByValue(targetRole));
|
|
|
throw new ApiException(ErrorEnum.ERR_CHANGE_ROLE);
|
|
|
}
|
|
@@ -929,10 +1034,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
List<RoleChangedMessage.ChangedUser> changedUserList = new ArrayList<>();
|
|
|
RoleChangedMessage msg = new RoleChangedMessage(userId);
|
|
|
|
|
|
- List<RoomMember> teachers = roomMemberDao.findByRidAndRole(roomId, RoleEnum.RoleTeacher.getValue());
|
|
|
+ List<RoomMember> teachers = roomMemberDao.findByRidAndRole(roomId, RoleEnum.MainTeacher.getValue());
|
|
|
if (!teachers.isEmpty()) {
|
|
|
- roomMemberDao.updateRoleByRidAndUid(roomId, teachers.get(0).getUid(), RoleEnum.RoleStudent.getValue());
|
|
|
- RoleChangedMessage.ChangedUser user = new RoleChangedMessage.ChangedUser(teachers.get(0).getUid(), RoleEnum.RoleStudent.getValue());
|
|
|
+ roomMemberDao.updateRoleByRidAndUid(roomId, teachers.get(0).getUid(), RoleEnum.Student.getValue());
|
|
|
+ RoleChangedMessage.ChangedUser user = new RoleChangedMessage.ChangedUser(teachers.get(0).getUid(), RoleEnum.Student.getValue());
|
|
|
List<UserInfo> userInfoList = userDao.findByUid(teachers.get(0).getUid());
|
|
|
if (!userInfoList.isEmpty()) {
|
|
|
user.setUserName(userInfoList.get(0).getName());
|
|
@@ -996,7 +1101,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
int userRole = member.getRole();
|
|
|
log.info("userIMOfflineKick: roomId={}, {}, role={}", member.getRid(), userId, RoleEnum.getEnumByValue(userRole));
|
|
|
try {
|
|
|
- if (userRole == RoleEnum.RoleTeacher.getValue() || userRole == RoleEnum.RoleAssistant.getValue()) {
|
|
|
+ if (userRole == RoleEnum.MainTeacher.getValue() || userRole == RoleEnum.AssistantTeacher.getValue()) {
|
|
|
List<Room> rooms = roomDao.findByRid(member.getRid());
|
|
|
if (rooms.isEmpty()) {
|
|
|
break;
|
|
@@ -1061,7 +1166,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
int userRole = roomMemberList.get(0).getRole();
|
|
|
log.info("statusSync: roomId={}, role={}", roomId, RoleEnum.getEnumByValue(userRole));
|
|
|
|
|
|
- if (userRole == RoleEnum.RoleTeacher.getValue() || userRole == RoleEnum.RoleAssistant.getValue()) {
|
|
|
+ if (userRole == RoleEnum.MainTeacher.getValue() || userRole == RoleEnum.AssistantTeacher.getValue()) {
|
|
|
if (isUserDisplay(roomList.get(0), userId)) {
|
|
|
try {
|
|
|
updateDisplay(roomId, userId, "", 0);
|
|
@@ -1117,7 +1222,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
+ /*@Override
|
|
|
public void sendImPlayMidiMessage(PlayMidiMessageData playMidiMessageData) throws Exception {
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
if(sysUser == null){
|
|
@@ -1136,7 +1241,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
//记录节拍器消息
|
|
|
String userId = playMidiMessageData.getUserId();
|
|
|
// long courseId = Long.parseLong(roomId.substring(1));
|
|
|
- /*if(StringUtils.isEmpty(userId)){
|
|
|
+ *//*if(StringUtils.isEmpty(userId)){
|
|
|
//批量操作节拍器状态
|
|
|
courseScheduleStudentPaymentDao.openPlayMidi(courseId,userId,content);
|
|
|
roomMemberDao.updatePlayMidiJsonByRidAndRole(roomId,RoleEnum.RoleStudent.getValue(), content);
|
|
@@ -1146,8 +1251,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomMemberDao.updatePlayMidiJsonByRidAndRole(playMidiMessageData.getRoomId(),RoleEnum.RoleTeacher.getValue(), null);
|
|
|
}
|
|
|
roomMemberDao.updatePlayMidiJsonByRidAndUid(playMidiMessageData.getRoomId(),userId,content);
|
|
|
- }*/
|
|
|
- }
|
|
|
+ }*//*
|
|
|
+ }*/
|
|
|
|
|
|
/*@Override
|
|
|
public void sendImPlayMidiMessage(PlayMidiMessageData playMidiMessageData) {
|