diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/TerminalConnectLogController.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/TerminalConnectLogController.java index 5d88ca31..1d552e8a 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/TerminalConnectLogController.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/TerminalConnectLogController.java @@ -117,8 +117,9 @@ public class TerminalConnectLogController { @PutMapping("/force-offline") @Operation(summary = "强制断开终端连接") @PreAuthorize("@ss.hasAnyPermission('asset:terminal-connect-log:management:force-offline', 'asset:terminal-connect-session:management:force-offline')") - public Integer forceOffline(@Validated(Id.class) @RequestBody TerminalConnectLogQueryRequest request) { - return terminalConnectLogService.forceOffline(request); + public Boolean forceOffline(@Validated(Id.class) @RequestBody TerminalConnectLogQueryRequest request) { + terminalConnectLogService.forceOffline(request); + return true; } } diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/TerminalConnectLogService.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/TerminalConnectLogService.java index 77ef89c1..4dd238cf 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/TerminalConnectLogService.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/TerminalConnectLogService.java @@ -116,9 +116,8 @@ public interface TerminalConnectLogService { * 强制断开终端连接 * * @param request request - * @return effect */ - Integer forceOffline(TerminalConnectLogQueryRequest request); + void forceOffline(TerminalConnectLogQueryRequest request); /** * 构建查询 wrapper diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/TerminalConnectLogServiceImpl.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/TerminalConnectLogServiceImpl.java index 9e29734c..38a946ca 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/TerminalConnectLogServiceImpl.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/TerminalConnectLogServiceImpl.java @@ -236,7 +236,7 @@ public class TerminalConnectLogServiceImpl implements TerminalConnectLogService } @Override - public Integer forceOffline(TerminalConnectLogQueryRequest request) { + public void forceOffline(TerminalConnectLogQueryRequest request) { Long id = request.getId(); // 查询数据是否存在 TerminalConnectLogDO record = terminalConnectLogDAO.selectById(id); @@ -251,8 +251,12 @@ public class TerminalConnectLogServiceImpl implements TerminalConnectLogService // 关闭会话 session.forceOffline(); } + // 再次查询数据 + record = terminalConnectLogDAO.selectById(id); // 更新状态 - return this.updateStatus(record, TerminalConnectStatusEnum.FORCE_OFFLINE, null); + if (!record.getStatus().equals(TerminalConnectStatusEnum.FORCE_OFFLINE.name())) { + this.updateStatus(record, TerminalConnectStatusEnum.FORCE_OFFLINE, null); + } } @Override