From 82fd3ae9115c9400f203c7be34d5cbb761823b64 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EC=B2=9C=20=EC=A7=84=EA=B0=95?= <jjjjjk12@ajou.ac.kr>
Date: Sat, 15 Mar 2025 19:35:32 +0900
Subject: [PATCH] =?UTF-8?q?fix:=20conf=20=EC=A4=91=EB=B3=B5=20=EA=B2=80?=
 =?UTF-8?q?=EC=A6=9D=EC=9D=B4=20=EC=95=88=EB=90=98=EB=8D=98=20=EB=AC=B8?=
 =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/forwarding/ForwardingService.java | 24 +++++++++++++------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/aolda/itda/service/forwarding/ForwardingService.java b/src/main/java/com/aolda/itda/service/forwarding/ForwardingService.java
index 4bfbce4..9ec9343 100644
--- a/src/main/java/com/aolda/itda/service/forwarding/ForwardingService.java
+++ b/src/main/java/com/aolda/itda/service/forwarding/ForwardingService.java
@@ -162,21 +162,31 @@ public class ForwardingService {
         Forwarding forwarding = forwardingRepository.findByForwardingIdAndIsDeleted(forwardingId, false)
                 .orElseThrow(() -> new CustomException(ErrorCode.NOT_FOUND_FORWARDING));
 
-        forwarding.edit(dto);
 
         /* 중복 검증 */
+        if (dto.getServerPort() != null && forwardingRepository.existsByServerPortAndIsDeleted(dto.getServerPort(), false)) {
+            System.out.println(dto.getServerPort());
+            System.out.println(forwarding.getServerPort());
+            forwardingRepository.existsByServerPortAndIsDeleted(dto.getServerPort(), false);
+            throw new CustomException(ErrorCode.DUPLICATED_SERVER_PORT);
+        }
+
         if (!(dto.getInstanceIp() == null && dto.getInstancePort() == null) &&
-                forwardingRepository.existsByInstanceIpAndInstancePortAndIsDeleted(forwarding.getInstanceIp()
-                , forwarding.getInstancePort()
+                forwardingRepository.existsByInstanceIpAndInstancePortAndIsDeleted(
+                        dto.getInstanceIp() == null ? forwarding.getInstanceIp() : dto.getInstanceIp()
+                , dto.getInstancePort() == null ? forwarding.getInstancePort() : dto.getInstancePort()
                 , false)) {
+            System.out.println(dto.getInstanceIp());
+            System.out.println(forwarding.getInstanceIp());
+            System.out.println(forwardingRepository.existsByInstanceIpAndInstancePortAndIsDeleted(
+                    dto.getInstanceIp() == null ? forwarding.getInstanceIp() : dto.getInstanceIp()
+                    , dto.getInstancePort() == null ? forwarding.getInstancePort() : dto.getInstancePort()
+                    , false));
             throw new CustomException(ErrorCode.DUPLICATED_INSTANCE_INFO);
         }
 
-        if (dto.getServerPort() != null && forwardingRepository.existsByServerPortAndIsDeleted(dto.getServerPort(), false)) {
-            throw new CustomException(ErrorCode.DUPLICATED_SERVER_PORT);
-        }
-
         /* 파일 수정 */
+        forwarding.edit(dto);
         String content = forwardingTemplate.getPortForwardingWithTCP(forwarding.getServerPort(),
                 forwarding.getInstanceIp(),
                 forwarding.getInstancePort(),
-- 
GitLab