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
+
+