From 2819df9c3186b6bb2cf7a9e4a4ea338d13810634 Mon Sep 17 00:00:00 2001 From: lijiahangmax Date: Sun, 17 Mar 2024 21:09:58 +0800 Subject: [PATCH] =?UTF-8?q?:hammer:=20=E6=89=A7=E8=A1=8C=E5=91=BD=E4=BB=A4?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/entity/domain/ExecHostLogDO.java | 4 + .../asset/entity/vo/ExecCommandHostVO.java | 9 ++ .../module/asset/entity/vo/ExecHostLogVO.java | 3 + .../asset/service/impl/ExecServiceImpl.java | 14 +- .../resources/mapper/ExecHostLogMapper.xml | 3 +- orion-ops-ui/src/api/exec/exec-log.ts | 1 + orion-ops-ui/src/api/exec/exec.ts | 20 ++- .../components/host-table.vue | 2 +- .../host/authorized-host-modal/index.vue | 3 +- .../components/host-identity-card-list.vue | 8 +- .../components/host-identity-table.vue | 8 +- .../host-identity/types/table.columns.ts | 9 -- .../host-list/components/host-card-list.vue | 10 +- .../components/exec-panel-editor.vue | 2 +- .../components/exec-panel-form.vue | 4 +- .../components/exec-panel-history.vue | 44 +++++- .../exec-command/components/exec-panel.vue | 37 ++--- .../components/log-panel-host.vue | 118 ++++++++++++++++ .../exec-command/components/log-panel.vue | 128 ++++++++++++++++++ .../src/views/exec/exec-command/index.vue | 48 ++++++- .../components/exec-host-log-table.vue | 9 +- .../dict-key/components/dict-key-table.vue | 12 +- 22 files changed, 429 insertions(+), 67 deletions(-) create mode 100644 orion-ops-ui/src/views/exec/exec-command/components/log-panel-host.vue create mode 100644 orion-ops-ui/src/views/exec/exec-command/components/log-panel.vue diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecHostLogDO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecHostLogDO.java index e5b3522b..1981ac2c 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecHostLogDO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecHostLogDO.java @@ -44,6 +44,10 @@ public class ExecHostLogDO extends BaseDO { @TableField("host_name") private String hostName; + @Schema(description = "主机地址") + @TableField("host_address") + private String hostAddress; + @Schema(description = "执行状态") @TableField("status") private String status; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecCommandHostVO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecCommandHostVO.java index c54ea484..c1a42df6 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecCommandHostVO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecCommandHostVO.java @@ -28,4 +28,13 @@ public class ExecCommandHostVO implements Serializable { @Schema(description = "hostId") private Long hostId; + @Schema(description = "主机名称") + private String hostName; + + @Schema(description = "主机地址") + private String hostAddress; + + @Schema(description = "执行状态") + private String status; + } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecHostLogVO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecHostLogVO.java index fa3d1c90..5260a96f 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecHostLogVO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecHostLogVO.java @@ -37,6 +37,9 @@ public class ExecHostLogVO implements Serializable { @Schema(description = "主机名称") private String hostName; + @Schema(description = "主机地址") + private String hostAddress; + @Schema(description = "执行状态") private String status; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecServiceImpl.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecServiceImpl.java index fc107073..a50e1fc2 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecServiceImpl.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecServiceImpl.java @@ -65,6 +65,8 @@ public class ExecServiceImpl implements ExecService { private static final ReplacementFormatter FORMATTER = ReplacementFormatters.create("@{{ ", " }}") .noMatchStrategy(NoMatchStrategy.KEEP); + private static final int DESC_OMIT = 60; + @Resource private FileClient logsFileClient; @@ -102,7 +104,13 @@ public class ExecServiceImpl implements ExecService { .userId(userId) .username(user.getUsername()) .source(ExecSourceEnum.BATCH.name()) - .description(Strings.ifBlank(request.getDescription(), Strings.retain(command, 60) + Const.OMIT)) + .description(Strings.ifBlank(request.getDescription(), () -> { + if (command.length() < DESC_OMIT + 3) { + return command; + } else { + return command.substring(0, DESC_OMIT) + Const.OMIT; + } + })) .command(command) .parameterSchema(request.getParameterSchema()) .timeout(request.getTimeout()) @@ -120,6 +128,7 @@ public class ExecServiceImpl implements ExecService { .logId(execId) .hostId(s.getId()) .hostName(s.getName()) + .hostAddress(s.getAddress()) .status(ExecHostStatusEnum.WAITING.name()) .command(FORMATTER.format(command, parameter)) .parameter(parameter) @@ -136,6 +145,9 @@ public class ExecServiceImpl implements ExecService { .map(s -> ExecCommandHostVO.builder() .id(s.getId()) .hostId(s.getHostId()) + .hostName(s.getHostName()) + .hostAddress(s.getHostAddress()) + .status(s.getStatus()) .build()) .collect(Collectors.toList()); return ExecCommandVO.builder() diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/resources/mapper/ExecHostLogMapper.xml b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/resources/mapper/ExecHostLogMapper.xml index f3a5888d..f6d8c196 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/resources/mapper/ExecHostLogMapper.xml +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/resources/mapper/ExecHostLogMapper.xml @@ -8,6 +8,7 @@ + @@ -25,7 +26,7 @@ - id, log_id, host_id, host_name, status, command, parameter, exit_status, log_path, error_message, start_time, finish_time, create_time, update_time, creator, updater, deleted + id, log_id, host_id, host_name, host_address, status, command, parameter, exit_status, log_path, error_message, start_time, finish_time, create_time, update_time, creator, updater, deleted diff --git a/orion-ops-ui/src/api/exec/exec-log.ts b/orion-ops-ui/src/api/exec/exec-log.ts index f6d10d1f..75e3754b 100644 --- a/orion-ops-ui/src/api/exec/exec-log.ts +++ b/orion-ops-ui/src/api/exec/exec-log.ts @@ -47,6 +47,7 @@ export interface ExecHostLogQueryResponse extends TableData { logId: number; hostId: number; hostName: string; + hostAddress: string; status: string; command: string; parameter: string; diff --git a/orion-ops-ui/src/api/exec/exec.ts b/orion-ops-ui/src/api/exec/exec.ts index 9bf4ed96..552e0c2d 100644 --- a/orion-ops-ui/src/api/exec/exec.ts +++ b/orion-ops-ui/src/api/exec/exec.ts @@ -25,10 +25,22 @@ export interface ExecInterruptRequest { */ export interface ExecCommandResponse { id: number; - hosts: { - id: number; - hostId: number; - }; + hosts: Array; +} + +/** + * 执行命令主机响应 + */ +export interface ExecCommandHostResponse { + id: number; + hostId: number; + hostName: string; + hostAddress: string; + status: string; + exitStatus: number; + errorMessage: string; + startTime: number; + finishTime: number; } /** diff --git a/orion-ops-ui/src/components/asset/host/authorized-host-modal/components/host-table.vue b/orion-ops-ui/src/components/asset/host/authorized-host-modal/components/host-table.vue index e23665b7..d1606791 100644 --- a/orion-ops-ui/src/components/asset/host/authorized-host-modal/components/host-table.vue +++ b/orion-ops-ui/src/components/asset/host/authorized-host-modal/components/host-table.vue @@ -18,7 +18,7 @@