|
@@ -265,19 +265,20 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void joinRoomFailure(String roomId, ClientEnum clientType) {
|
|
|
-
|
|
|
// 当前登录用户ID
|
|
|
Long userId = sysUserService.getUserId();
|
|
|
log.info("joinRoomFailure: roomId={}, userId={}", roomId, userId);
|
|
|
|
|
|
// 网络教室用户身份
|
|
|
- UserRoleEnum userRole = UserRoleEnum.TEACHER;
|
|
|
+ RoleEnum userRole = RoleEnum.RoleTeacher;
|
|
|
if (ClientEnum.STUDENT == clientType) {
|
|
|
- userRole = UserRoleEnum.STUDENT;
|
|
|
+ userRole = RoleEnum.RoleStudent;
|
|
|
}
|
|
|
-
|
|
|
+ imNetworkRoomMemberService.lambdaUpdate().eq(ImNetworkRoomMember::getRoomId,roomId)
|
|
|
+ .eq(ImNetworkRoomMember::getUserId,userId)
|
|
|
+ .eq(ImNetworkRoomMember::getRole,userRole.ordinal());
|
|
|
// 删除网络教室学员
|
|
|
- imNetworkRoomMemberService.getDao().delByRidAndUid(roomId, userId, userRole.ordinal());
|
|
|
+ imNetworkRoomMemberService.getDao().delByRidAndUid(roomId, userId, userRole.getValue());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -287,8 +288,11 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
Long userId = Long.parseLong(imGroupService.analysisImUserId(imUserId));
|
|
|
// 客户端类型
|
|
|
ClientEnum clientType = ClientEnum.valueOf(imGroupService.analysisImUserClient(imUserId));
|
|
|
- // 客户端类型
|
|
|
- UserRoleEnum userRole = UserRoleEnum.convert(clientType);
|
|
|
+ // 网络教室用户身份
|
|
|
+ RoleEnum userRole = RoleEnum.RoleTeacher;
|
|
|
+ if (ClientEnum.STUDENT == clientType) {
|
|
|
+ userRole = RoleEnum.RoleStudent;
|
|
|
+ }
|
|
|
log.info("quitRoomSuccess: roomId={}, userId={}", roomId, userId);
|
|
|
//防止幂等
|
|
|
String QUIT_ROOM_SUCCESS = "quitRoomSuccess:";
|
|
@@ -297,8 +301,11 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
log.info("quitRoomSuccess break: roomId={}, userId={}", roomId, userId);
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- ImNetworkRoomMember roomMember = imNetworkRoomMemberService.getDao().findByRidAndUid(roomId, userId, userRole.ordinal());
|
|
|
+ ImNetworkRoomMember roomMember = imNetworkRoomMemberService.lambdaQuery()
|
|
|
+ .eq(ImNetworkRoomMember::getUserId, userId)
|
|
|
+ .eq(ImNetworkRoomMember::getRoomId, roomId)
|
|
|
+ .eq(ImNetworkRoomMember::getRole, userRole.getValue())
|
|
|
+ .last("LIMIT 1").one();
|
|
|
if(Objects.isNull(roomMember)){
|
|
|
return;
|
|
|
}
|
|
@@ -417,7 +424,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
}
|
|
|
|
|
|
}else {
|
|
|
- List<ImNetworkRoomMember> roomMembers = imNetworkRoomMemberService.getDao().findByRoomAndRole(deviceControl.getRoomId(), 0);
|
|
|
+ List<ImNetworkRoomMember> roomMembers = imNetworkRoomMemberService.getDao().findByRoomAndRole(deviceControl.getRoomId(), RoleEnum.RoleStudent.getValue());
|
|
|
if (!CollectionUtils.isEmpty(roomMembers)) {
|
|
|
for (ImNetworkRoomMember roomMember : roomMembers) {
|
|
|
deviceControl.setImUserId(imGroupService.getImUserId(String.valueOf(roomMember.getUserId()), ClientEnum.STUDENT.name()));
|
|
@@ -485,12 +492,12 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void approveControlDevice(ImNetworkDeviceControlDto deviceControl) throws Exception {
|
|
|
log.info("approveControlDevice: roomId:{} ,deviceType:{} ,enable:{}", deviceControl.getRoomId(),deviceControl.getDeviceType(),deviceControl.getEnable());
|
|
|
- UserRoleEnum userRole = UserRoleEnum.TEACHER;
|
|
|
+ RoleEnum userRole = RoleEnum.RoleTeacher;
|
|
|
if (ClientEnum.STUDENT == deviceControl.getClientType()) {
|
|
|
- userRole = UserRoleEnum.STUDENT;
|
|
|
+ userRole = RoleEnum.RoleStudent;
|
|
|
}
|
|
|
ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.getDao().findByRidAndUid(deviceControl.getRoomId(),sysUserService.getUserId(),
|
|
|
- userRole.ordinal())).
|
|
|
+ userRole.getValue())).
|
|
|
orElseThrow(()-> new BizException("用户不在房间内"));
|
|
|
CourseSchedule courseSchedule = courseScheduleService.getById(deviceControl.getRoomId());
|
|
|
deviceControl.setServiceProvider(courseSchedule.getServiceProvider());
|
|
@@ -506,16 +513,15 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
log.info("deviceStatusSync: enable:{} ,roomId:{} ,deviceType:{}", deviceStatusSync.getEnable(),deviceStatusSync.getRoomId(),deviceStatusSync.getDeviceType());
|
|
|
SysUser user = sysUserService.getUser();
|
|
|
Long userId = user.getId();
|
|
|
-
|
|
|
- UserRoleEnum userRole = UserRoleEnum.TEACHER;
|
|
|
+ RoleEnum userRole = RoleEnum.RoleTeacher;
|
|
|
if (ClientEnum.STUDENT == deviceStatusSync.getClientType()) {
|
|
|
- userRole = UserRoleEnum.STUDENT;
|
|
|
+ userRole = RoleEnum.RoleStudent;
|
|
|
}
|
|
|
|
|
|
CourseSchedule courseSchedule = courseScheduleService.getById(deviceStatusSync.getRoomId());
|
|
|
deviceStatusSync.setServiceProvider(courseSchedule.getServiceProvider());
|
|
|
ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.getDao().
|
|
|
- findByRidAndUid(deviceStatusSync.getRoomId(), userId, userRole.ordinal()))
|
|
|
+ findByRidAndUid(deviceStatusSync.getRoomId(), userId, userRole.getValue()))
|
|
|
.orElseThrow(()-> new BizException("用户不在房间内"));
|
|
|
imService.sendDeviceStatusSync(deviceStatusSync,roomMember);
|
|
|
}
|