diff --git a/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvInfoApi.java b/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvInfoApi.java index 7a6e12aa4ca7a54dc86ebd8eb021d6bba2f35f0c..28d2767fdc1b7ca9b76dcb651bee56d960c5623d 100644 --- a/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvInfoApi.java +++ b/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvInfoApi.java @@ -15,6 +15,7 @@ along with this program. If not, see .*/ package neatlogic.module.deploy.api.appconfig.env; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.CollectionUtils; import neatlogic.framework.auth.core.AuthAction; @@ -29,10 +30,12 @@ import neatlogic.framework.deploy.auth.DEPLOY_BASE; import neatlogic.framework.deploy.dto.app.DeployAppConfigEnvDBConfigVo; import neatlogic.framework.deploy.dto.app.DeployAppEnvAutoConfigKeyValueVo; import neatlogic.framework.deploy.dto.app.DeployAppEnvAutoConfigVo; +import neatlogic.framework.deploy.dto.instance.DeployInstanceVersionVo; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.module.deploy.dao.mapper.DeployAppConfigMapper; +import neatlogic.module.deploy.dao.mapper.DeployInstanceVersionMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -55,6 +58,9 @@ public class GetDeployAppConfigEnvInfoApi extends PrivateApiComponentBase { @Resource private DeployAppConfigMapper deployAppConfigMapper; + @Resource + DeployInstanceVersionMapper deployInstanceVersionMapper; + @Override public String getToken() { return "deploy/app/config/env/info/get"; @@ -96,7 +102,21 @@ public class GetDeployAppConfigEnvInfoApi extends PrivateApiComponentBase { if (CollectionUtils.isNotEmpty(instanceIdList)) { List instanceList = resourceCrossoverMapper.getAppInstanceResourceListByIdList(instanceIdList); - envInfo.put("instanceList", instanceList); + // 补充实例当前版本信息 + List instanceVersionVoList = deployInstanceVersionMapper.getDeployInstanceVersionByEnvIdAndInstanceIdList(envAutoConfigVo.getAppSystemId(), envAutoConfigVo.getAppModuleId(), envAutoConfigVo.getEnvId(), instanceIdList); + if (CollectionUtils.isNotEmpty(instanceVersionVoList)) { + Map versionMap = instanceVersionVoList.stream().collect(Collectors.toMap(DeployInstanceVersionVo::getResourceId, e -> e)); + JSONArray instanceArray = new JSONArray(); + for (ResourceVo resourceVo : instanceList) { + JSONObject instanceObj = (JSONObject) JSONObject.toJSON(resourceVo); + instanceObj.put("version", versionMap.containsKey(resourceVo.getId()) ? versionMap.get(resourceVo.getId()).getVersion() : ""); + instanceObj.put("instanceVersion", versionMap.get(resourceVo.getId())); + instanceArray.add(instanceObj); + } + envInfo.put("instanceList", instanceArray); + } else { + envInfo.put("instanceList", instanceList); + } List instanceAutoConfigList = deployAppConfigMapper.getAppEnvAutoConfigListBySystemIdAndModuleIdAndEnvIdAndInstanceIdList(paramObj.getLong("appSystemId"), paramObj.getLong("appModuleId"), paramObj.getLong("envId"), instanceIdList); envInfo.put("instanceAutoConfigList", instanceAutoConfigList); diff --git a/src/main/java/neatlogic/module/deploy/dao/mapper/DeployInstanceVersion.xml b/src/main/java/neatlogic/module/deploy/dao/mapper/DeployInstanceVersion.xml index ea627bd71f4a8ac2a21de48a1edc91f7dfc00642..8eec59cf448228f00c6bd918ef218eb938783129 100644 --- a/src/main/java/neatlogic/module/deploy/dao/mapper/DeployInstanceVersion.xml +++ b/src/main/java/neatlogic/module/deploy/dao/mapper/DeployInstanceVersion.xml @@ -34,6 +34,28 @@ along with this program. If not, see .--> for update + +