diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/HostConfigService.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/HostConfigService.java index 2595ba88..0742ac7a 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/HostConfigService.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/HostConfigService.java @@ -37,6 +37,14 @@ import java.util.List; */ public interface HostConfigService { + /** + * 初始化主机配置 + * + * @param hostId hostId + * @param types types + */ + void initHostConfig(Long hostId, List types); + /** * 更新主机配置 * 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/HostConfigServiceImpl.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostConfigServiceImpl.java index fba78e3c..96414948 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostConfigServiceImpl.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostConfigServiceImpl.java @@ -67,6 +67,34 @@ public class HostConfigServiceImpl implements HostConfigService { @Resource private HostConfigDAO hostConfigDAO; + @Override + public void initHostConfig(Long hostId, List types) { + // 查询主机配置类型 + List hostConfigTypes = hostConfigDAO.selectByHostId(hostId) + .stream() + .map(HostConfigDO::getType) + .collect(Collectors.toList()); + List configs = new ArrayList<>(); + for (String type : types) { + // 配置存在则跳过 + if (hostConfigTypes.contains(type)) { + continue; + } + // 配置不存在则初始化 + HostConfigDO config = HostConfigDO.builder() + .hostId(hostId) + .type(type) + .status(EnableStatus.ENABLED.name()) + .config(HostConfigStrategyEnum.of(type).getDefault().serial()) + .build(); + configs.add(config); + } + // 插入主机配置 + if (!configs.isEmpty()) { + hostConfigDAO.insertBatch(configs); + } + } + @Override public Integer updateHostConfig(HostConfigUpdateRequest request) { log.info("HostConfigService-updateHostConfig request: {}", request); 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/HostServiceImpl.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostServiceImpl.java index 94e33f98..b5a2c178 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostServiceImpl.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostServiceImpl.java @@ -128,8 +128,10 @@ public class HostServiceImpl implements HostService { this.checkHostCodePresent(record); // 插入主机 int effect = hostDAO.insert(record); - log.info("HostService-createHost effect: {}", effect); Long id = record.getId(); + log.info("HostService-createHost id: {}, effect: {}", id, effect); + // 初始化主机配置 + hostConfigService.initHostConfig(id, request.getTypes()); // 插入 tag tagRelApi.addTagRel(TagTypeEnum.HOST, id, request.getTags()); // 引用分组 @@ -183,6 +185,8 @@ public class HostServiceImpl implements HostService { // 修改 config 状态 hostConfigDAO.updateConfigStatus(id, types, EnableStatus.ENABLED.name()); hostConfigDAO.updateConfigInvertStatus(id, types, EnableStatus.DISABLED.name()); + // 初始化主机配置 + hostConfigService.initHostConfig(id, types); // 删除缓存 this.clearCache(); return effect; diff --git a/orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/transfer/model/TransferOperatorRequest.java b/orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/transfer/model/TransferOperatorRequest.java index dd772baa..ff48cb1f 100644 --- a/orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/transfer/model/TransferOperatorRequest.java +++ b/orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/transfer/model/TransferOperatorRequest.java @@ -27,8 +27,6 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - /** * 文件操作请求 实体对象 * @@ -62,11 +60,6 @@ public class TransferOperatorRequest { */ private Long hostId; - /** - * 被压缩文件路径 - */ - private List paths; - /** * 错误信息 后端赋值 */ diff --git a/orion-visor-ui/src/views/asset/host-list/components/host-form-drawer.vue b/orion-visor-ui/src/views/asset/host-list/components/host-form-drawer.vue index 213ec1b9..85dc3ed0 100644 --- a/orion-visor-ui/src/views/asset/host-list/components/host-form-drawer.vue +++ b/orion-visor-ui/src/views/asset/host-list/components/host-form-drawer.vue @@ -133,6 +133,7 @@ // 更新主机信息 const onUpdateHostInfo = (id: number) => { + title.value = '修改主机'; hostId.value = id; hostViewUpdated.value = true; }; diff --git a/orion-visor-ui/src/views/asset/host-list/components/host-form-info.vue b/orion-visor-ui/src/views/asset/host-list/components/host-form-info.vue index 0a45dae8..cc8c76a7 100644 --- a/orion-visor-ui/src/views/asset/host-list/components/host-form-info.vue +++ b/orion-visor-ui/src/views/asset/host-list/components/host-form-info.vue @@ -194,11 +194,13 @@ // 复制 const { data } = await copyHost(formModel.value); Message.success('复制成功'); + formModel.value.id = data; emits('updated', data); } else if (!formModel.value.id) { // 新增 const { data } = await createHost(formModel.value); Message.success('创建成功'); + formModel.value.id = data; emits('updated', data); } else { // 修改