diff --git a/src/main/java/neatlogic/module/deploy/api/appconfig/env/SaveDeployAppConfigEnvAutoConfigApi.java b/src/main/java/neatlogic/module/deploy/api/appconfig/env/SaveDeployAppConfigEnvAutoConfigApi.java index b0d838f98ea1df97d70fb12f3447b85b22ff8422..87e9922b6c9f5a03f3903620e257e7805ced7f5a 100644 --- a/src/main/java/neatlogic/module/deploy/api/appconfig/env/SaveDeployAppConfigEnvAutoConfigApi.java +++ b/src/main/java/neatlogic/module/deploy/api/appconfig/env/SaveDeployAppConfigEnvAutoConfigApi.java @@ -26,6 +26,7 @@ import neatlogic.framework.deploy.dto.app.DeployAppEnvAutoConfigKeyValueVo; import neatlogic.framework.deploy.dto.app.DeployAppEnvAutoConfigVo; import neatlogic.framework.deploy.exception.DeployAppConfigEnvAutoConfigKeyIrregularException; import neatlogic.framework.deploy.exception.DeployAppConfigEnvAutoConfigKeyRepeatException; +import neatlogic.framework.deploy.exception.DeployAppConfigEnvAutoConfigKeyTypeIrregularException; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; @@ -110,11 +111,15 @@ public class SaveDeployAppConfigEnvAutoConfigApi extends PrivateApiComponentBase if (instanceId != 0L) { DeployAppEnvAutoConfigVo appEnvAutoConfigVo = new DeployAppEnvAutoConfigVo(appSystemId, appModuleId, envId, 0L); List oldKeyValueList = deployAppConfigMapper.getAppEnvAutoConfigKeyValueList(appEnvAutoConfigVo); - List keyList = oldKeyValueList.stream().filter(Objects::nonNull).map(DeployAppEnvAutoConfigKeyValueVo::getKey).collect(Collectors.toList()); + Map oldKeyValueMap = oldKeyValueList.stream().filter(Objects::nonNull).collect(Collectors.toMap(DeployAppEnvAutoConfigKeyValueVo::getKey, e -> e)); for (DeployAppEnvAutoConfigKeyValueVo keyValueVo : keyValueList) { - if (!keyList.contains(keyValueVo.getKey())) { + DeployAppEnvAutoConfigKeyValueVo oldKeyValueVo = oldKeyValueMap.get(keyValueVo.getKey()); + if (oldKeyValueVo == null) { throw new DeployAppConfigEnvAutoConfigKeyIrregularException(keyValueVo.getKey()); } + if (!Objects.equals(oldKeyValueVo.getType(), keyValueVo.getType())) { + throw new DeployAppConfigEnvAutoConfigKeyTypeIrregularException(keyValueVo.getKey(), keyValueVo.getType(), oldKeyValueVo.getType()); + } } } // DeployAppEnvAutoConfigVo appEnvAutoConfigVo = JSON.toJavaObject(paramObj, DeployAppEnvAutoConfigVo.class);