zouxuan 4 years ago
parent
commit
c87cfb1a77

+ 9 - 18
edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java

@@ -33,7 +33,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
@@ -104,9 +103,10 @@ public class RoomServiceImpl implements RoomService {
         String userId = roomMember.getUid();
         String userId = roomMember.getUid();
         Long registrationId = roomMember.getExamRegistrationId();
         Long registrationId = roomMember.getExamRegistrationId();
         log.info("joinRoomSuccess: roomId={}, userId={}", roomId,userId);
         log.info("joinRoomSuccess: roomId={}, userId={}", roomId,userId);
+        Integer anInt = Integer.parseInt(userId);
 
 
-        SysUser sysUser = sysUserFeignService.queryUserById(Integer.parseInt(roomMember.getUid()));
-        String realName = sysUser.getRealName();
+//        SysUser sysUser = sysUserFeignService.queryUserById(Integer.parseInt(roomMember.getUid()));
+//        String realName = sysUser.getRealName();
         if(registrationId != null){
         if(registrationId != null){
             examResult = eduUserFeignService.getExamResult(registrationId);
             examResult = eduUserFeignService.getExamResult(registrationId);
         }
         }
@@ -128,21 +128,21 @@ public class RoomServiceImpl implements RoomService {
         }
         }
         RoleEnum roleEnum;
         RoleEnum roleEnum;
         if (roomMember == null) {
         if (roomMember == null) {
-            if(sysUser.getId().equals(examRoom.getMainTeacherUserId())){
+            if(anInt.equals(examRoom.getMainTeacherUserId())){
                 roleEnum = RoleEnum.MainTeacher;
                 roleEnum = RoleEnum.MainTeacher;
             }else if(isAssistant){
             }else if(isAssistant){
                 roleEnum = RoleEnum.AssistantTeacher;
                 roleEnum = RoleEnum.AssistantTeacher;
             }else {
             }else {
                 roleEnum = Student;
                 roleEnum = Student;
             }
             }
-            saveRoomMember(userId,sysUser.getAvatar(), realName, roomId, roleEnum.getValue(),true, curTime,registrationId);
+            saveRoomMember(userId,roomMember.getHeadUrl(), roomMember.getName(), roomId, roleEnum.getValue(),true, curTime,registrationId);
         } else {
         } else {
             roleEnum = RoleEnum.getEnumByValue(roomMember.getRole());
             roleEnum = RoleEnum.getEnumByValue(roomMember.getRole());
         }
         }
         log.info("user exist in the room: roomId={} , userId={}, use the last role={}", roomId, userId, roleEnum);
         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());
         MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Join, userId, roleEnum.getValue());
         msg.setTimestamp(curTime);
         msg.setTimestamp(curTime);
-        msg.setUserName(realName);
+        msg.setUserName(roomMember.getName());
         msg.setCamera(true);
         msg.setCamera(true);
         imHelper.publishMessage(userId, roomId, msg);
         imHelper.publishMessage(userId, roomId, msg);
 
 
@@ -150,7 +150,7 @@ public class RoomServiceImpl implements RoomService {
         if (userInfo == null) {
         if (userInfo == null) {
             userInfo = new UserInfo();
             userInfo = new UserInfo();
             userInfo.setUid(userId);
             userInfo.setUid(userId);
-            userInfo.setName(realName);
+            userInfo.setName(roomMember.getName());
             userInfo.setCreateDt(curTime);
             userInfo.setCreateDt(curTime);
             userInfo.setUpdateDt(curTime);
             userInfo.setUpdateDt(curTime);
             userDao.save(userInfo);
             userDao.save(userInfo);
@@ -168,7 +168,7 @@ public class RoomServiceImpl implements RoomService {
             imHelper.startRecord(roomId, registrationId);
             imHelper.startRecord(roomId, registrationId);
 //            exitRoom(roomId,userId);
 //            exitRoom(roomId,userId);
         }else {
         }else {
-            eduUserFeignService.upsetTeacherAttendance(examRoom.getId(),sysUser.getId(),0);
+            eduUserFeignService.upsetTeacherAttendance(examRoom.getId(),anInt,0);
             imHelper.configRecord(roomId);
             imHelper.configRecord(roomId);
         }
         }
     }
     }
@@ -299,12 +299,6 @@ public class RoomServiceImpl implements RoomService {
         String userId = roomMember.getUid();
         String userId = roomMember.getUid();
         Long registrationId = roomMember.getExamRegistrationId();
         Long registrationId = roomMember.getExamRegistrationId();
         log.info("leaveRoomSuccess: roomId={}, userId={}", roomId,userId);
         log.info("leaveRoomSuccess: roomId={}, userId={}", roomId,userId);
-        if(registrationId != null){
-            StudentExamResultApiDto examResult = eduUserFeignService.getExamResult(registrationId);
-            roomId = examResult.getRoomId();
-        }
-
-        SysUser  user = sysUserFeignService.queryUserById(Integer.parseInt(userId));
 
 
         CheckUtils.checkArgument(userId != null, "userId must't be null");
         CheckUtils.checkArgument(userId != null, "userId must't be null");
         CheckUtils.checkArgument(roomId != null, "roomId must't be null");
         CheckUtils.checkArgument(roomId != null, "roomId must't be null");
@@ -327,7 +321,7 @@ public class RoomServiceImpl implements RoomService {
         } else {
         } else {
             roomMemberDao.deleteUserByRidAndUid(roomId, userId);
             roomMemberDao.deleteUserByRidAndUid(roomId, userId);
             MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, userId, userRole);
             MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, userId, userRole);
-            msg.setUserName(user.getRealName());
+            msg.setUserName(roomMember.getName());
             imHelper.publishMessage(userId, roomId, msg);
             imHelper.publishMessage(userId, roomId, msg);
             log.info("quit group: roomId={},userId: {}", roomId,userId);
             log.info("quit group: roomId={},userId: {}", roomId,userId);
         }
         }
@@ -1230,11 +1224,9 @@ public class RoomServiceImpl implements RoomService {
             //房间创建
             //房间创建
         }else if(notify.getEvent() == 3){
         }else if(notify.getEvent() == 3){
             log.info("房间销毁 roomId: {}, userId: {}",roomId, userId);
             log.info("房间销毁 roomId: {}, userId: {}",roomId, userId);
-            //房间销毁(删除缓存的sessionId)
             redisTemplate.delete("sessionId:" + roomId);
             redisTemplate.delete("sessionId:" + roomId);
         }else if(notify.getEvent() == 11){
         }else if(notify.getEvent() == 11){
             //成员加入
             //成员加入
-//            roomMemberDao.updateMsidByRidAndUid(roomId,userId,msidFlag);
             roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
             roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
             if(roomMember == null){
             if(roomMember == null){
                 return false;
                 return false;
@@ -1242,7 +1234,6 @@ public class RoomServiceImpl implements RoomService {
             joinRoomSuccess(roomMember);
             joinRoomSuccess(roomMember);
         }else if(notify.getEvent() == 12){
         }else if(notify.getEvent() == 12){
             //成员退出
             //成员退出
-//            roomMemberDao.updateMsidByRidAndUid(roomId,userId,msidFlag);
             roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
             roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
             if(roomMember == null){
             if(roomMember == null){
                 return false;
                 return false;