lyhzzz 1 gadu atpakaļ
vecāks
revīzija
6decda8007

+ 1 - 0
src/main/java/com/fdkankan/tk/common/util/RedisKeyUtil.java

@@ -6,5 +6,6 @@ public class RedisKeyUtil {
     public final static String AGORA_KEY = "take-look:agora:%s:%s:%s";
 
     public final static String roomPassword = "take-look:room:%s:%s:%s";
+    public final static String takeUserToken = "take-look:user:%s";
 
 }

+ 24 - 9
src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java

@@ -107,8 +107,14 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
             if (!redisUtil.hasKey(fdToken)) {
                 throw new BusinessException(ResultCode.USER_NOT_LOGIN);
             }
-            redisUtil.expire(fdToken, 6 * 60 * 60);
             String userName = JwtUtil.getUserName(token);
+            String takeRedisKey = String.format(RedisKeyUtil.takeUserToken, userName);
+            if(!redisUtil.hasKey(takeRedisKey)){
+                redisUtil.set(takeRedisKey,fdToken,6 * 60 * 60);
+            }else {
+                redisUtil.expire(takeRedisKey, 6 * 60 * 60);
+            }
+            redisUtil.expire(fdToken, 6 * 60 * 60);
             param.setUserName(userName);
             page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(), param.getPageSize()), param);
         }
@@ -247,7 +253,6 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
             roomVo.setRoomId(roomId+"_"+roomUserId);
             roomVo.setRoomHostCode("");
             roomVo.setRoomShareCode("");
-
         }
         String userName = null;
         if(StringUtils.isBlank(token)){
@@ -255,13 +260,13 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         }else {
             userName = JwtUtil.getUserName(token);
         }
-        if(StringUtils.isNotBlank(roomUserId) && StringUtils.isNotBlank(token)){
-            FdkkUserVo userInfo = fdKKService.getUserInfo(token);
-            if(userInfo != null){
-                roomVo.setRoomHostName(userInfo.getNickName());
-                roomVo.setRoomUserName(userInfo.getUserName());
-            }
-        }
+//        if(StringUtils.isNotBlank(roomUserId) && StringUtils.isNotBlank(token)){
+//            FdkkUserVo userInfo = fdKKService.getUserInfo(token);
+//            if(userInfo != null){
+//                roomVo.setRoomHostName(userInfo.getNickName());
+//                roomVo.setRoomUserName(userInfo.getUserName());
+//            }
+//        }
         //
         if(StringUtils.isNotBlank(wxToken)){
             String redisKey = String.format(RedisKeyUtil.roomPassword, room.getRoomId(), room.getVisitPassword(), wxToken);
@@ -276,6 +281,16 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         if(roomUserId != null){
             RoomUser roomUser = roomUserService.getById(roomUserId);
             if(roomUser != null){
+                String takeRedisKey = String.format(RedisKeyUtil.takeUserToken, roomUser.getUserName());
+                if(redisUtil.hasKey(takeRedisKey)){
+                    userName = roomUser.getUserName();
+                    String fdToken = redisUtil.get(takeRedisKey);
+                    FdkkUserVo userInfo = fdKKService.getUserInfo(fdToken);
+                    if(userInfo != null){
+                        roomVo.setRoomHostName(userInfo.getNickName());
+                        roomVo.setRoomUserName(userInfo.getUserName());
+                    }
+                }
                 roomVo.setRoomHostCode(roomUser.getRoomHostCode());
                 roomVo.setRoomShareCode(roomUser.getRoomShareCode());
                 roomVo.setHostStatus(roomUser.getHostStatus());