🔨 修改主机自动创建配置.

This commit is contained in:
lijiahangmax
2025-06-30 17:12:36 +08:00
parent 3d0250dd5f
commit 700b6d221d
6 changed files with 44 additions and 8 deletions

View File

@@ -37,6 +37,14 @@ import java.util.List;
*/ */
public interface HostConfigService { public interface HostConfigService {
/**
* 初始化主机配置
*
* @param hostId hostId
* @param types types
*/
void initHostConfig(Long hostId, List<String> types);
/** /**
* 更新主机配置 * 更新主机配置
* *

View File

@@ -67,6 +67,34 @@ public class HostConfigServiceImpl implements HostConfigService {
@Resource @Resource
private HostConfigDAO hostConfigDAO; private HostConfigDAO hostConfigDAO;
@Override
public void initHostConfig(Long hostId, List<String> types) {
// 查询主机配置类型
List<String> hostConfigTypes = hostConfigDAO.selectByHostId(hostId)
.stream()
.map(HostConfigDO::getType)
.collect(Collectors.toList());
List<HostConfigDO> 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 @Override
public Integer updateHostConfig(HostConfigUpdateRequest request) { public Integer updateHostConfig(HostConfigUpdateRequest request) {
log.info("HostConfigService-updateHostConfig request: {}", request); log.info("HostConfigService-updateHostConfig request: {}", request);

View File

@@ -128,8 +128,10 @@ public class HostServiceImpl implements HostService {
this.checkHostCodePresent(record); this.checkHostCodePresent(record);
// 插入主机 // 插入主机
int effect = hostDAO.insert(record); int effect = hostDAO.insert(record);
log.info("HostService-createHost effect: {}", effect);
Long id = record.getId(); Long id = record.getId();
log.info("HostService-createHost id: {}, effect: {}", id, effect);
// 初始化主机配置
hostConfigService.initHostConfig(id, request.getTypes());
// 插入 tag // 插入 tag
tagRelApi.addTagRel(TagTypeEnum.HOST, id, request.getTags()); tagRelApi.addTagRel(TagTypeEnum.HOST, id, request.getTags());
// 引用分组 // 引用分组
@@ -183,6 +185,8 @@ public class HostServiceImpl implements HostService {
// 修改 config 状态 // 修改 config 状态
hostConfigDAO.updateConfigStatus(id, types, EnableStatus.ENABLED.name()); hostConfigDAO.updateConfigStatus(id, types, EnableStatus.ENABLED.name());
hostConfigDAO.updateConfigInvertStatus(id, types, EnableStatus.DISABLED.name()); hostConfigDAO.updateConfigInvertStatus(id, types, EnableStatus.DISABLED.name());
// 初始化主机配置
hostConfigService.initHostConfig(id, types);
// 删除缓存 // 删除缓存
this.clearCache(); this.clearCache();
return effect; return effect;

View File

@@ -27,8 +27,6 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.List;
/** /**
* 文件操作请求 实体对象 * 文件操作请求 实体对象
* *
@@ -62,11 +60,6 @@ public class TransferOperatorRequest {
*/ */
private Long hostId; private Long hostId;
/**
* 被压缩文件路径
*/
private List<String> paths;
/** /**
* 错误信息 后端赋值 * 错误信息 后端赋值
*/ */

View File

@@ -133,6 +133,7 @@
// 更新主机信息 // 更新主机信息
const onUpdateHostInfo = (id: number) => { const onUpdateHostInfo = (id: number) => {
title.value = '修改主机';
hostId.value = id; hostId.value = id;
hostViewUpdated.value = true; hostViewUpdated.value = true;
}; };

View File

@@ -194,11 +194,13 @@
// 复制 // 复制
const { data } = await copyHost(formModel.value); const { data } = await copyHost(formModel.value);
Message.success('复制成功'); Message.success('复制成功');
formModel.value.id = data;
emits('updated', data); emits('updated', data);
} else if (!formModel.value.id) { } else if (!formModel.value.id) {
// 新增 // 新增
const { data } = await createHost(formModel.value); const { data } = await createHost(formModel.value);
Message.success('创建成功'); Message.success('创建成功');
formModel.value.id = data;
emits('updated', data); emits('updated', data);
} else { } else {
// 修改 // 修改