lyhzzz 1 年間 前
コミット
af25b2f98e

+ 4 - 2
src/main/java/com/fdkankan/tk/controller/RoomController.java

@@ -43,7 +43,7 @@ public class RoomController extends BaseController{
      */
     @GetMapping("/roomInfo")
     public ResultData roomInfo(@RequestParam(required = false) String roomId){
-        return ResultData.ok(roomService.getRoomInfo(roomId,getToken(),getWxToken()));
+        return ResultData.ok(roomService.getRoomInfo(roomId,getToken(),getWxToken(),request.getSession().getId()));
     }
     /**
      * 房间访问次数 +1
@@ -160,8 +160,10 @@ public class RoomController extends BaseController{
         Boolean flag = pwd.equals(param.getPassword());
         if(flag){
             String redisKey = String.format(RedisKeyUtil.roomPassword, room.getRoomId(), room.getVisitPassword(),getWxToken());
-            log.info("rediskey:{}",redisKey);
+            String redisKey2 = String.format(RedisKeyUtil.roomPassword, room.getRoomId(), room.getVisitPassword(),request.getSession().getId());
+            log.info("rediskey:{},redisKey2:{}",redisKey,redisKey2);
             redisUtil.set(redisKey,"1",60 * 60);
+            redisUtil.set(redisKey2,"1",60 * 60);
         }
         return ResultData.ok(flag);
     }

+ 1 - 1
src/main/java/com/fdkankan/tk/service/IRoomService.java

@@ -30,7 +30,7 @@ public interface IRoomService extends IService<Room> {
 
     void deleteById(String roomId);
 
-    RoomVo getRoomInfo(String roomId,String token,String wxToken);
+    RoomVo getRoomInfo(String roomId,String token,String wxToken,String sessionId);
     Boolean checkCanDel(Room room);
 
     String getWxQrCode(String roomId,String type);

+ 7 - 1
src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java

@@ -224,7 +224,7 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
     }
 
     @Override
-    public RoomVo getRoomInfo(String roomId,String token,String wxToken) {
+    public RoomVo getRoomInfo(String roomId,String token,String wxToken,String sessionId) {
         log.info("getRoomInfo-request-roomId:{},token:{},wxToken:{}",roomId,token,wxToken);
         String roomUserId = null;
         if(roomId.contains("_")){
@@ -273,6 +273,12 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
             }
             WxUser wxUser = wxUserService.getById(JwtUtil.getUserName(wxToken));
             userName = wxUser.getPhoneNumber();
+        }else {
+            String redisKey = String.format(RedisKeyUtil.roomPassword, room.getRoomId(), room.getVisitPassword(), sessionId);
+            log.info("rediskey:{}",redisKey);
+            if(redisUtil.hasKey(redisKey)){
+                roomVo.setTakeLookLock(0);
+            }
         }
 
         if(roomUserId != null){