|
@@ -353,11 +353,6 @@ public class RoomServiceImpl implements RoomService {
|
|
|
imHelper.dismiss(userId,groupId);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public void joinFailure(String roomId, String userId) {
|
|
|
- roomMemberDao.deleteUserByRidAndUid(roomId, userId);
|
|
|
- }
|
|
|
-
|
|
|
private void deleteWhiteboardByUser(String roomId, String userId) throws Exception {
|
|
|
List<Whiteboard> whiteboardList = whiteboardDao.findByRidAndCreator(roomId, userId);
|
|
|
if (!whiteboardList.isEmpty()) {
|
|
@@ -389,9 +384,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @Transactional
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public Boolean downgrade(String roomId, List<ReqChangeUserRoleData.ChangedUser> users) throws ApiException, Exception {
|
|
|
+ public Boolean downgrade(String roomId, List<ReqChangeUserRoleData.ChangedUser> users) throws Exception {
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
CheckUtils.checkArgument(users.size() > 0, "the changed user list must't be null");
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
@@ -412,17 +407,6 @@ public class RoomServiceImpl implements RoomService {
|
|
|
} else {
|
|
|
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());
|
|
|
- List<UserInfo> userInfoList = userDao.findByUid(changedUserId);
|
|
|
- if (!userInfoList.isEmpty()) {
|
|
|
- u.setUserName(userInfoList.get(0).getName());
|
|
|
- }
|
|
|
- changedUsers.add(u);
|
|
|
- log.info("change the role: {}, {}, {}, result: {}", roomId, userId, changedRole, r);
|
|
|
- result = true;
|
|
|
- }*/
|
|
|
if (roomMember.getRole() != Student.getValue() && isUserDisplay(room, roomMember.getUid())) {
|
|
|
updateDisplay(roomId, userId, "", 1);
|
|
|
} else {
|
|
@@ -479,7 +463,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Transactional(rollbackFor = Exception.class,isolation = Isolation.SERIALIZABLE)
|
|
|
public Boolean kickMember(ReqUserData data) throws Exception {
|
|
|
StudentExamResultApiDto examResult = eduUserFeignService.getExamResult(data.getRegistrationId());
|
|
|
String roomId = examResult.getRoomId();
|
|
@@ -1185,6 +1169,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class,isolation = Isolation.SERIALIZABLE)
|
|
|
public void userIMOfflineKick(String userId) {
|
|
|
List<RoomMember> members = roomMemberDao.findByUid(userId);
|
|
|
for (RoomMember member : members) {
|
|
@@ -1206,35 +1191,11 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomDao.deleteByRid(member.getRid());
|
|
|
deleteWhiteboardByUser(member.getRid(), member.getUid());
|
|
|
log.info("dismiss the room: {},userId: {}", member.getRid(),userId);
|
|
|
-
|
|
|
- /*IMApiResultInfo apiResultInfo = null;
|
|
|
- apiResultInfo = imHelper.dismiss(member.getUid(), member.getRid());
|
|
|
- if (apiResultInfo.getCode() == 200) {
|
|
|
- roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
|
|
|
- roomDao.deleteByRid(member.getRid());
|
|
|
- deleteWhiteboardByUser(member.getRid(), member.getUid());
|
|
|
- log.info("dismiss the room: {},userId: {}", member.getRid(),userId);
|
|
|
- } else {
|
|
|
- log.error("{} exit {} room error: {}", member.getUid(), member.getRid(), apiResultInfo.getErrorMessage());
|
|
|
- }*/
|
|
|
} else {
|
|
|
roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
|
|
|
MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, member.getUid(), userRole);
|
|
|
msg.setUserName(member.getName());
|
|
|
imHelper.publishMessage(member.getUid(), member.getRid(), msg);
|
|
|
-
|
|
|
- /*IMApiResultInfo apiResultInfo = null;
|
|
|
- apiResultInfo = imHelper.quit(new String[]{member.getUid()}, member.getRid());
|
|
|
- if (apiResultInfo.isSuccess()) {
|
|
|
- roomMemberDao.deleteUserByRidAndUid(member.getRid(), member.getUid());
|
|
|
- MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, member.getUid(), userRole);
|
|
|
- msg.setUserName(member.getName());
|
|
|
- imHelper.publishMessage(member.getUid(), member.getRid(), msg);
|
|
|
- imHelper.quit(new String[]{member.getUid()}, member.getRid());
|
|
|
- log.info("quit group: roomId={},userId: {}", member.getRid(), member.getUid());
|
|
|
- } else {
|
|
|
- log.error("{} exit {} room error: {}", member.getUid(), member.getRid(), apiResultInfo.getErrorMessage());
|
|
|
- }*/
|
|
|
}
|
|
|
userDao.deleteByUid(member.getUid());
|
|
|
} catch (Exception e) {
|