1、新增加工配置接口补充修改名称的同时同步json和hash;2、装配设置删除接口补充配置转导入恢复名称;

This commit is contained in:
gaoqr
2026-03-05 16:52:35 +08:00
parent fec25f10ca
commit 04264eaa64
@@ -320,7 +320,7 @@ public class AssemblyConfigServiceImpl implements AssemblyConfigService {
Long organId = SecurityFrameworkUtils.getUserOrganId();
// 1、校验本身
getById(configId, organId);
AssemblyConfigDO assemblyConfigDO = getById(configId, organId);
// 2、校验新的名字是否已有存在的部件
boolean exists = assemblyConfigMapper.exists(new LambdaQueryWrapper<AssemblyConfigDO>()
@@ -345,13 +345,25 @@ public class AssemblyConfigServiceImpl implements AssemblyConfigService {
);
AssertUtils.isTrue(newExists, ASSEMBLY_CONFIG_NEW_CONFIG_NAME_EXIST, name);
// 4、更新状态和名称
// 新名更新到hash和json中
String structureJson = assemblyConfigDO.getStructureJson();
AssemblyConfigStructureVO structureVO = JsonUtils.parseObject(JsonUtils.unzipString(structureJson), AssemblyConfigStructureVO.class);
structureVO.setName(newName);
String newJson = JsonUtils.zipString(JsonUtils.toJsonString(structureVO));
// 重算hash
computeHashRecursively(structureVO);
String newHash = structureVO.getStructureHash();
// 更新状态和名称
assemblyConfigMapper.update(new LambdaUpdateWrapperX<AssemblyConfigDO>()
.eq(AssemblyConfigDO::getId, configId)
.eq(AssemblyConfigDO::getOrganId, organId)
.eq(AssemblyConfigDO::getDeleted, DeletedCodeEnum.NOT_DELETED.getStatus())
.setIfPresent(AssemblyConfigDO::getComponentName, newName)
.set(AssemblyConfigDO::getComponentName, newName)
.set(AssemblyConfigDO::getStatus, AssemblyConfigStatusEnum.CONFIGURED.getStatus())
.set(AssemblyConfigDO::getStructureHash, newHash)
.set(AssemblyConfigDO::getStructureJson, newJson)
);
} else {
throw new ServiceException(ASSEMBLY_CONFIG_NO_NEED_NEW_CONFIG, name);
@@ -387,6 +399,7 @@ public class AssemblyConfigServiceImpl implements AssemblyConfigService {
.eq(AssemblyConfigDO::getStatus, AssemblyConfigStatusEnum.CONFIGURED.getStatus())
.eq(AssemblyConfigDO::getDeleted, DeletedCodeEnum.NOT_DELETED.getStatus())
.set(AssemblyConfigDO::getStatus, AssemblyConfigStatusEnum.IMPORT.getStatus())
.set(AssemblyConfigDO::getComponentName, assemblyConfigDO.getBaseName())
);
} else {
// 导入状态的删除
@@ -396,7 +409,6 @@ public class AssemblyConfigServiceImpl implements AssemblyConfigService {
.eq(AssemblyConfigDO::getStatus, AssemblyConfigStatusEnum.IMPORT.getStatus())
.eq(AssemblyConfigDO::getDeleted, DeletedCodeEnum.NOT_DELETED.getStatus())
.set(AssemblyConfigDO::getDeleted, DeletedCodeEnum.DELETED.getStatus())
.set(AssemblyConfigDO::getComponentName, assemblyConfigDO.getBaseName())
);
}
}