修正撤权意图状态:新版本不继承上次授权确认

This commit is contained in:
wangzhibiao committed 2026-10-14 10:56:51 +08:00
1 parent 0c1d97a6f0
commit 47bc6604e5
2 files changed
+9

No files matched your search

@@ -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 + " 退宿触发撤权");
@@ -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);