|
@@ -29,6 +29,7 @@ import com.keao.edu.user.api.entity.ExamRoom;
|
|
|
import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
|
|
|
import com.keao.edu.user.api.enums.StudentExamResultApiDto;
|
|
|
import com.keao.edu.util.date.DateUtil;
|
|
|
+import io.swagger.models.auth.In;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -84,6 +85,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
@Override
|
|
|
public void configRecord(String roomId,String userId) throws Exception {
|
|
|
+ ExamRoom examRoom = eduUserFeignService.getExamRoom(Integer.parseInt(roomId));
|
|
|
+ RoomMember roomMembers = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
// imHelper.configRecord(roomId,userId);
|
|
|
}
|
|
|
|
|
@@ -264,8 +267,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
BaseResponse baseResponse = new BaseResponse(roomResult);
|
|
|
RoomResult.MemberResult userResult = new RoomResult.MemberResult();
|
|
|
userResult.setShieldUserId(examRoom.getShieldUserId());
|
|
|
- List<RoomMember> memberList = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
- if (memberList.isEmpty()) {
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ if (roomMember == null) {
|
|
|
if(sysUser.getId().equals(examRoom.getMainTeacherUserId())){
|
|
|
roleEnum = RoleEnum.MainTeacher;
|
|
|
}else if(isAssistant){
|
|
@@ -295,7 +298,6 @@ public class RoomServiceImpl implements RoomService {
|
|
|
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());
|
|
|
if(roleEnum == Student){
|
|
|
ExamRoomStudentRelation examRoomStudentRelation = eduUserFeignService.getExamRoomStudentRelation(registrationId);
|
|
@@ -438,14 +440,14 @@ public class RoomServiceImpl implements RoomService {
|
|
|
return false;
|
|
|
// throw new ApiException(ErrorEnum.ERR_ROOM_NOT_EXIST);
|
|
|
}
|
|
|
- List<RoomMember> roomMemberList = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
- if (roomMemberList.size() == 0) {
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ if (roomMember == null) {
|
|
|
log.error("{} not exist in room: {}", userId, roomId);
|
|
|
return false;
|
|
|
// throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
|
|
|
|
- int userRole = roomMemberList.get(0).getRole();
|
|
|
+ int userRole = roomMember.getRole();
|
|
|
log.info("leaveRoom: roomId={}, role={}", roomId, RoleEnum.getEnumByValue(userRole));
|
|
|
|
|
|
/*if (userRole == RoleEnum.MainTeacher.getValue() || userRole == RoleEnum.AssistantTeacher.getValue()) {
|
|
@@ -515,13 +517,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.error("levelRecorded room : {} not exist ", roomId);
|
|
|
return false;
|
|
|
}
|
|
|
- List<RoomMember> roomMemberList = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
- if (roomMemberList.size() == 0) {
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ if (roomMember == null) {
|
|
|
log.error("levelRecorded {} not exist in room: {}", userId, roomId);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- int userRole = roomMemberList.get(0).getRole();
|
|
|
+ int userRole = roomMember.getRole();
|
|
|
log.info("levelRecorded: roomId={}, role={}", roomId, RoleEnum.getEnumByValue(userRole));
|
|
|
|
|
|
if (roomMemberDao.countByRid(roomId) == 1) {
|
|
@@ -641,8 +643,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.error("can not change self role: {}, {}, {}", roomId, userId, changedRole);
|
|
|
throw new ApiException(ErrorEnum.ERR_CHANGE_SELF_ROLE);
|
|
|
} else {
|
|
|
- List<RoomMember> oldUsers = roomMemberDao.findByRidAndUid(roomId, changedUserId);
|
|
|
- if (oldUsers.size() > 0) {
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, changedUserId);
|
|
|
+ if (roomMember != null) {
|
|
|
/*if (changedRole.equals(RoleEnum.RoleAudience)) {
|
|
|
int r = roomMemberDao.updateRoleByRidAndUid(roomId, changedUserId, changedRole.getValue());
|
|
|
RoleChangedMessage.ChangedUser u = new RoleChangedMessage.ChangedUser(changedUserId, changedRole.getValue());
|
|
@@ -654,10 +656,10 @@ public class RoomServiceImpl implements RoomService {
|
|
|
log.info("change the role: {}, {}, {}, result: {}", roomId, userId, changedRole, r);
|
|
|
result = true;
|
|
|
}*/
|
|
|
- if (oldUsers.get(0).getRole() != Student.getValue() && isUserDisplay(roomList.get(0), oldUsers.get(0).getUid())) {
|
|
|
+ if (roomMember.getRole() != Student.getValue() && isUserDisplay(roomList.get(0), roomMember.getUid())) {
|
|
|
updateDisplay(roomId, userId, "", 1);
|
|
|
} else {
|
|
|
- log.info("don't update display: room={}, userRole={}", roomList.get(0), RoleEnum.getEnumByValue(oldUsers.get(0).getRole()));
|
|
|
+ log.info("don't update display: room={}, userRole={}", roomList.get(0), RoleEnum.getEnumByValue(roomMember.getRole()));
|
|
|
}
|
|
|
} else {
|
|
|
log.info("role changed fail, not exist: {} - {} - {}", roomId, userId, changedRole);
|
|
@@ -719,13 +721,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(userId != null, "userId must't be null");
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
|
|
|
- List<RoomMember> kickedUsers = roomMemberDao.findByRidAndUid(roomId, data.getUserId());
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, data.getUserId());
|
|
|
int result = roomMemberDao.deleteUserByRidAndUid(roomId, data.getUserId());
|
|
|
log.info("kickMember: roomId={}, userId={}, result = {}", roomId, userId, result);
|
|
|
if (result == 0) {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
} else {
|
|
|
- MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Kick, data.getUserId(), kickedUsers.get(0).getRole());
|
|
|
+ MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Kick, data.getUserId(), roomMember.getRole());
|
|
|
List<UserInfo> userInfoList = userDao.findByUid(data.getUserId());
|
|
|
if (!userInfoList.isEmpty()) {
|
|
|
msg.setUserName(userInfoList.get(0).getName());
|
|
@@ -1210,8 +1212,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
CheckUtils.checkArgument(!userId.equals(userId), "can't set self role");
|
|
|
|
|
|
log.info("transfer: roomId = {}, userId = {}", roomId, userId);
|
|
|
- List<RoomMember> roomMemberList = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
- if (roomMemberList.size() == 0) {
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ if (roomMember == null) {
|
|
|
log.error("assistant transfer error: {} toUser = {}, opUser={}", roomId, userId, userId);
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
@@ -1251,8 +1253,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
String userId = authUser.getId().toString();
|
|
|
log.info("inviteUpgradeRole roomId = {}, targetUserId = {}, targetRole = {}", roomId, targetUserId, targetRole);
|
|
|
|
|
|
- List<RoomMember> targetUser = roomMemberDao.findByRidAndUid(roomId, targetUserId);
|
|
|
- if (targetUser.isEmpty()) {
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, targetUserId);
|
|
|
+ if (roomMember == null) {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
|
|
|
@@ -1291,8 +1293,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
UpgradeRoleTaskInfo taskInfo = (UpgradeRoleTaskInfo) scheduleManager.executeTask(ticket);
|
|
|
log.info("approveUpgradeRole roomId = {}, task={}", roomId, taskInfo);
|
|
|
|
|
|
- List<RoomMember> targetUser = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
- if (targetUser.isEmpty()) {
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ if (roomMember == null) {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
}
|
|
|
if (!taskInfo.getTargetUserId().equals(userId)) {
|
|
@@ -1354,12 +1356,12 @@ public class RoomServiceImpl implements RoomService {
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = authUser.getId().toString();
|
|
|
|
|
|
- List<RoomMember> targetUser = roomMemberDao.findByRidAndUid(roomId, targetUserId);
|
|
|
- if (targetUser.isEmpty()) {
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, targetUserId);
|
|
|
+ if (roomMember == null) {
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
} else {
|
|
|
- if (!RoleEnum.getEnumByValue(targetUser.get(0).getRole()).equals(Student)) {
|
|
|
- log.error("change role error: targetUserId={}, targetRole = {}", targetUser, RoleEnum.getEnumByValue(targetRole));
|
|
|
+ if (!RoleEnum.getEnumByValue(roomMember.getRole()).equals(Student)) {
|
|
|
+ log.error("change role error: targetUserId={}, targetRole = {}", roomMember, RoleEnum.getEnumByValue(targetRole));
|
|
|
throw new ApiException(ErrorEnum.ERR_CHANGE_ROLE);
|
|
|
}
|
|
|
}
|
|
@@ -1491,8 +1493,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
public boolean statusSync(String roomId,String userId) throws Exception {
|
|
|
log.info("statusSync: roomId={}, userId={}", roomId, userId);
|
|
|
- List<RoomMember> byRidAndUid = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
- if(byRidAndUid.size() > 0){
|
|
|
+ RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ if(roomMember != null){
|
|
|
// SysUser sysUser = sysUserFeignService.queryUserById(Integer.parseInt(userId));
|
|
|
|
|
|
List<Room> roomList = roomDao.findByRid(roomId);
|
|
@@ -1501,13 +1503,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
throw new ApiException(ErrorEnum.ERR_ROOM_NOT_EXIST);
|
|
|
}
|
|
|
|
|
|
- List<RoomMember> roomMemberList = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
- if (roomMemberList.size() == 0) {
|
|
|
+// List<RoomMember> roomMemberList = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
+ /*if (roomMemberList.size() == 0) {
|
|
|
log.error("{} not exist in room: {}", userId, roomId);
|
|
|
throw new ApiException(ErrorEnum.ERR_USER_NOT_EXIST_IN_ROOM);
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
- int userRole = roomMemberList.get(0).getRole();
|
|
|
+ int userRole = roomMember.getRole();
|
|
|
log.info("statusSync: roomId={}, role={}", roomId, RoleEnum.getEnumByValue(userRole));
|
|
|
|
|
|
if (userRole == RoleEnum.MainTeacher.getValue() || userRole == RoleEnum.AssistantTeacher.getValue()) {
|