From 47bc6604e53b841e9070b890e65e0a75df1c1e1c Mon Sep 17 00:00:00 2001 From: wangzhibiao Date: Wed, 14 Oct 2026 10:56:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=92=A4=E6=9D=83=E6=84=8F?= =?UTF-8?q?=E5=9B=BE=E7=8A=B6=E6=80=81=EF=BC=9A=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=B8=8D=E7=BB=A7=E6=89=BF=E4=B8=8A=E6=AC=A1=E6=8E=88=E6=9D=83?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TrainIotLockAuthBridgeServiceImpl.java | 3 +++ .../integration/lock/TrainIotLockAuthBridgeMockTest.java | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/lock/service/impl/TrainIotLockAuthBridgeServiceImpl.java b/RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/lock/service/impl/TrainIotLockAuthBridgeServiceImpl.java index ab8aa80aa..a63572f56 100644 --- a/RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/lock/service/impl/TrainIotLockAuthBridgeServiceImpl.java +++ b/RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/lock/service/impl/TrainIotLockAuthBridgeServiceImpl.java @@ -363,8 +363,11 @@ public class TrainIotLockAuthBridgeServiceImpl implements ITrainLockAuthBridgeSe if (!securityGate.sameOrigin(activeAuth)) { activeAuth.setExecutionState(com.ruoyi.iot.lock.security.ExecutionStates.QUARANTINED); activeAuth.setIntentAction(com.ruoyi.iot.lock.security.ExecutionStates.REVOKE); + activeAuth.setSyncStatus(LockConstants.SYNC_FAIL); } else if (!com.ruoyi.iot.lock.security.ExecutionStates.REVOKE.equals(activeAuth.getIntentAction())) { securityGate.advanceIntent(activeAuth, com.ruoyi.iot.lock.security.ExecutionStates.REVOKE); + activeAuth.setSyncStatus(com.ruoyi.iot.lock.security.ExecutionStates.MANUAL_REVIEW.equals(activeAuth.getExecutionState()) + ? LockConstants.SYNC_FAIL : LockConstants.SYNC_PENDING); } activeAuth.setStatus("1"); activeAuth.setRemark("由住宿安排 " + accommodationId + " 退宿触发撤权"); diff --git a/RuoYi-Vue/ruoyi-train/src/test/java/com/ruoyi/train/integration/lock/TrainIotLockAuthBridgeMockTest.java b/RuoYi-Vue/ruoyi-train/src/test/java/com/ruoyi/train/integration/lock/TrainIotLockAuthBridgeMockTest.java index 6b3662f4e..d94ca78ad 100644 --- a/RuoYi-Vue/ruoyi-train/src/test/java/com/ruoyi/train/integration/lock/TrainIotLockAuthBridgeMockTest.java +++ b/RuoYi-Vue/ruoyi-train/src/test/java/com/ruoyi/train/integration/lock/TrainIotLockAuthBridgeMockTest.java @@ -1248,6 +1248,12 @@ public class TrainIotLockAuthBridgeMockTest if ("updateAuth".equals(name)) { LockAuth a = (LockAuth) args[0]; + if (com.ruoyi.iot.lock.security.ExecutionStates.REVOKE.equals(a.getIntentAction()) + && com.ruoyi.iot.lock.security.ExecutionStates.READY.equals(a.getExecutionState()) + && a.getPreviousIntentVersion() != null && a.getIntentVersion() > a.getPreviousIntentVersion()) { + assertEquals("A new revoke intent must not inherit the previous grant confirmation", + LockConstants.SYNC_PENDING, a.getSyncStatus()); + } if (a != null && a.getAuthId() != null) { authStore.put(a.getAuthId(), a);