diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/djb/webhook/WebhookReqEventId.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/djb/webhook/WebhookReqEventId.java index 1af090e..e136d7f 100644 --- a/src/main/java/com/eactive/eai/rms/data/entity/onl/djb/webhook/WebhookReqEventId.java +++ b/src/main/java/com/eactive/eai/rms/data/entity/onl/djb/webhook/WebhookReqEventId.java @@ -20,6 +20,6 @@ public class WebhookReqEventId implements Serializable { private String webhookReqId; @Column(name = "EVENT_TYPE", nullable = false, length = 50) - @Comment("이벤트 유형 (CONTROL_START, ERROR_START 등)") + @Comment("이벤트 유형 (CHECK_START, ERROR_START 등)") private String eventType; } diff --git a/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusDetectionService.java b/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusDetectionService.java index 396529f..4233c68 100644 --- a/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusDetectionService.java +++ b/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusDetectionService.java @@ -58,8 +58,8 @@ public class ApiStatusDetectionService { private static final Logger log = LoggerFactory.getLogger(ApiStatusDetectionService.class); - public static final String EVENT_CONTROL_START = "CONTROL_START"; - public static final String EVENT_CONTROL_END = "CONTROL_END"; + public static final String EVENT_CHECK_START = "CHECK_START"; + public static final String EVENT_CHECK_END = "CHECK_END"; public static final String EVENT_ERROR_START = "ERROR_START"; public static final String EVENT_ERROR_END = "ERROR_END"; public static final String EVENT_DELAY_START = "DELAY_START"; @@ -119,8 +119,8 @@ public class ApiStatusDetectionService { /** * 이벤트 감지 - * @param event "CONTROL_START" : 점검시작 - "CONTROL_END" : 점검종료 + * @param event "CHECK_START" : 점검시작 + "CHECK_END" : 점검종료 "ERROR_START" : 장애시작 "ERROR_END" : 장애종료 "DELAY_START" : 지연시작 @@ -154,8 +154,8 @@ public class ApiStatusDetectionService { case EVENT_DELAY_END: markRecovered(event, targets); break; - case EVENT_CONTROL_START: - case EVENT_CONTROL_END: + case EVENT_CHECK_START: + case EVENT_CHECK_END: // 점검은 관리자 등록 공지가 원천 - 재기록하지 않음 log.debug("점검 이벤트는 장애 데이터로 기록하지 않음: {} {}", event, targets); break; diff --git a/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusRepository.java b/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusRepository.java index 58d1128..f02b77b 100644 --- a/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusRepository.java +++ b/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusRepository.java @@ -17,8 +17,8 @@ public interface ApiStatusRepository extends BaseRepository { /** * API 상태 판단. 정상(N), 점검(C), 지연(D), 장애(E) * - * 1. 정상/지연/장애 -> 점검중 : CONTROL_START - * 2. 점검 -> 점검X : CONTROL_END + * 1. 정상/지연/장애 -> 점검중 : CHECK_START + * 2. 점검 -> 점검X : CHECK_END * 3. 정상/지연 -> 장애 : ERROR_START * 4. 장애 -> 장애X : ERROR_END * 5. 정상 -> 지연 : DELAY_START @@ -34,8 +34,8 @@ public interface ApiStatusRepository extends BaseRepository { + " FROM (" + " SELECT EAISVCNAME" + " , STATUS_CODE AS PREV_STATUS_CODE " - + " , CASE WHEN STATUS_CODE != 'C' AND CTRL_YN = 'Y' THEN 'CONTROL_START'" - + " WHEN STATUS_CODE = 'C' AND CTRL_YN = 'N' THEN 'CONTROL_END'" + + " , CASE WHEN STATUS_CODE != 'C' AND CTRL_YN = 'Y' THEN 'CHECK_START'" + + " WHEN STATUS_CODE = 'C' AND CTRL_YN = 'N' THEN 'CHECK_END'" + " WHEN STATUS_CODE IN ('N','D') AND ERR_YN = 'Y' THEN 'ERROR_START'" + " WHEN STATUS_CODE = 'E' AND ERR_YN = 'N' THEN 'ERROR_END'" + " WHEN STATUS_CODE = 'N' AND DELAY_YN = 'Y' THEN 'DELAY_START'" @@ -45,7 +45,7 @@ public interface ApiStatusRepository extends BaseRepository { + " SELECT A.EAISVCNAME" + " , NVL(B.STATUS_CODE, 'N') AS STATUS_CODE" // 점검(KIND='MAINTENANCE')만 CTRL_YN 대상이다. KIND 를 안 걸면 관리자가 시작~종료 시각을 - // 넣어 등록한 장애 공지까지 '점검중'으로 오판해 CONTROL_START 가 발생한다. + // 넣어 등록한 장애 공지까지 '점검중'으로 오판해 CHECK_START 가 발생한다. + " , NVL(( SELECT MAX('Y') FROM EMSAPP.DJB_APISTATUS_INCIDENT_API X" + " WHERE EXISTS (SELECT 1 FROM EMSAPP.DJB_APISTATUS_INCIDENT Y WHERE X.INCIDENT_ID = Y.INCIDENT_ID " + " AND Y.KIND = 'MAINTENANCE'" diff --git a/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusService.java b/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusService.java index c6de265..a2493b6 100644 --- a/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusService.java +++ b/src/main/java/com/eactive/eai/rms/ext/djb/apistatus/ApiStatusService.java @@ -179,8 +179,8 @@ public class ApiStatusService { private String resolveStatusCode(String event) { switch (event) { - case "CONTROL_START": return "C"; //점검 - case "CONTROL_END": return "N"; //정상 + case "CHECK_START": return "C"; //점검 + case "CHECK_END": return "N"; //정상 case "ERROR_START": return "E"; //장애 case "ERROR_END": return "N"; //정상 case "DELAY_START": return "D"; //지연 @@ -195,10 +195,10 @@ public class ApiStatusService { private HashMap getSwingChatMessage(String event, List apiIds) { String message = ""; switch (event) { - case "CONTROL_START": + case "CHECK_START": message = "API 서비스 점검이 시작되었습니다"; //점검 break; - case "CONTROL_END": + case "CHECK_END": message = "API 서비스 점검이 완료되었습니다"; //정상 break; case "ERROR_START": diff --git a/src/main/java/com/eactive/eai/rms/ext/djb/webhook/service/WebhookReceiveService.java b/src/main/java/com/eactive/eai/rms/ext/djb/webhook/service/WebhookReceiveService.java index 8674d9d..b9943a7 100644 --- a/src/main/java/com/eactive/eai/rms/ext/djb/webhook/service/WebhookReceiveService.java +++ b/src/main/java/com/eactive/eai/rms/ext/djb/webhook/service/WebhookReceiveService.java @@ -85,10 +85,10 @@ public class WebhookReceiveService { log.info("[Webhook] 이벤트 처리 시작 - eventType: {}", eventType); switch (eventType) { - case "CONTROL_START": + case "CHECK_START": handleControlStart(data); break; - case "CONTROL_END": + case "CHECK_END": handleControlEnd(data); break; case "ERROR_START": @@ -107,11 +107,11 @@ public class WebhookReceiveService { /* ------------------------------------------------------------------ */ private void handleControlStart(JsonNode data) { - log.info("[Webhook] CONTROL_START 처리 - data: {}", data); + log.info("[Webhook] CHECK_START 처리 - data: {}", data); // TODO: 점검시작 처리 로직 } private void handleControlEnd(JsonNode data) { - log.info("[Webhook] CONTROL_END 처리 - data: {}", data); + log.info("[Webhook] CHECK_END 처리 - data: {}", data); // TODO: 점검종료 처리 로직 } private void handleErrorStart(JsonNode data) {