From f10f5ce08e231bccc23aab9fae333b36d76c6c3a Mon Sep 17 00:00:00 2001 From: eastargh Date: Thu, 30 Jul 2026 11:44:19 +0900 Subject: [PATCH] =?UTF-8?q?=ED=98=95=EC=83=81=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EC=97=B0=EB=8F=99=EC=8B=9C=20API=20=EC=8A=A4=ED=8E=99=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../loader/controller/LoaderController.java | 34 ++++++++++++++++++- .../onl/loader/vo/InterfaceDeployPack.java | 3 ++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/eactive/eai/rms/onl/loader/controller/LoaderController.java b/src/main/java/com/eactive/eai/rms/onl/loader/controller/LoaderController.java index ee71591..4e20f89 100644 --- a/src/main/java/com/eactive/eai/rms/onl/loader/controller/LoaderController.java +++ b/src/main/java/com/eactive/eai/rms/onl/loader/controller/LoaderController.java @@ -8,6 +8,7 @@ import java.net.URLDecoder; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -26,6 +27,10 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; +import com.eactive.apim.portal.apispec.entity.ApiSpecInfo; +import com.eactive.apim.portal.apispec.service.ApiSpecInfoService; +import com.eactive.eai.rms.onl.transaction.apim.mapping.ApiSpecUIMapper; +import com.eactive.eai.rms.onl.transaction.apim.ui.ApiSpecInfoUI; import com.eactive.eai.agent.command.Command; import com.eactive.eai.agent.command.CommonCommand; import com.eactive.eai.common.util.DatetimeUtil; @@ -105,6 +110,12 @@ public class LoaderController implements InterceptorSkipController { @Autowired private TransformDeployService transformDeployService; + @Autowired + private ApiSpecInfoService apiSpecInfoService; + + @Autowired + private ApiSpecUIMapper apiSpecUIMapper; + /** * 형상관리에서 layout을 로딩한다. @@ -1481,6 +1492,17 @@ public class LoaderController implements InterceptorSkipController { } } + // 4. API 스펙 정보(ptl_api_spec_info) 추가 (감사(audit) 컬럼은 제외) + Optional optSpecInfo = apiSpecInfoService.findById(interfaceId); + if (optSpecInfo.isPresent()) { + ApiSpecInfoUI specInfo = apiSpecUIMapper.mapToUI(optSpecInfo.get()); + specInfo.setCreatedBy(null); + specInfo.setCreatedDate(null); + specInfo.setLastModifiedBy(null); + specInfo.setLastModifiedDate(null); + interfaceDeployPack.setSpecInfo(specInfo); + } + ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(new JavaTimeModule()); objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); @@ -1545,7 +1567,17 @@ public class LoaderController implements InterceptorSkipController { transformDeployService.saveDeploy(transformDeploy); agentUtilService.broadcast(new CommonCommand( "com.eactive.eai.agent.transformer.ReloadTransformCommand", transformDeploy.getCnvsnname())); } - + + ApiSpecInfoUI specInfoUI = interfaceDeployPack.getSpecInfo(); + if (specInfoUI != null && StringUtils.isNotBlank(specInfoUI.getApiId())) { + ApiSpecInfo specInfo = apiSpecUIMapper.mapToEntity(specInfoUI); + if (apiSpecInfoService.findById(specInfo.getApiId()).isPresent()) { + apiSpecInfoService.updateById(specInfo.getApiId(), specInfo); + } else { + apiSpecInfoService.create(specInfo); + } + } + Map result = new HashMap(); String status = "success"; result.put("status", status); diff --git a/src/main/java/com/eactive/eai/rms/onl/loader/vo/InterfaceDeployPack.java b/src/main/java/com/eactive/eai/rms/onl/loader/vo/InterfaceDeployPack.java index 0d948c3..bfaaf46 100644 --- a/src/main/java/com/eactive/eai/rms/onl/loader/vo/InterfaceDeployPack.java +++ b/src/main/java/com/eactive/eai/rms/onl/loader/vo/InterfaceDeployPack.java @@ -3,6 +3,7 @@ package com.eactive.eai.rms.onl.loader.vo; import com.eactive.eai.rms.onl.loader.intf.deploy.EAIMessageDeploy; import com.eactive.eai.rms.onl.loader.layout.deploy.LayoutDeploy; import com.eactive.eai.rms.onl.loader.transform.deploy.TransformDeploy; +import com.eactive.eai.rms.onl.transaction.apim.ui.ApiSpecInfoUI; import lombok.Data; import java.util.ArrayList; @@ -15,4 +16,6 @@ public class InterfaceDeployPack { private List layoutDeployList = new ArrayList<>(); private List transformDeployList = new ArrayList<>(); + + private ApiSpecInfoUI specInfo; }