package com.eactive.eai.rms.onl.dashboard.modern.dto;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.time.LocalDateTime;

/**
 * SMS 장애 통보 정보를 담는 DTO 클래스
 */
public class SmsNotificationDto {
    @JsonFormat(pattern = "MMdd HH:mm:ss.SSS")
    private LocalDateTime dateTime;      // 발생 일시
    private Integer count;               // 발생 건수
    private String instanceName;         // 인스턴스 명
    private String errorContent;         // 에러 내용
    private String adapterDesc;          // 어댑터 설명 (어댑터 오류인 경우)
    private String adapterId;            // 어댑터 ID (어댑터 오류인 경우)
    private String interfaceId;          // 인터페이스 ID (인터페이스 오류인 경우)
    private String errorType;            // 오류 유형 (ADAPTER/INTERFACE)
    private String serviceType;          // 서비스 유형

    // Getters and Setters
    public LocalDateTime getDateTime() {
        return dateTime;
    }

    public void setDateTime(LocalDateTime dateTime) {
        this.dateTime = dateTime;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public String getInstanceName() {
        return instanceName;
    }

    public void setInstanceName(String instanceName) {
        this.instanceName = instanceName;
    }

    public String getErrorContent() {
        return errorContent;
    }

    public void setErrorContent(String errorContent) {
        this.errorContent = errorContent;
    }

    public String getAdapterDesc() {
        return adapterDesc;
    }

    public void setAdapterDesc(String adapterDesc) {
        this.adapterDesc = adapterDesc;
    }

    public String getAdapterId() {
        return adapterId;
    }

    public void setAdapterId(String adapterId) {
        this.adapterId = adapterId;
    }

    public String getInterfaceId() {
        return interfaceId;
    }

    public void setInterfaceId(String interfaceId) {
        this.interfaceId = interfaceId;
    }

    public String getErrorType() {
        return errorType;
    }

    public void setErrorType(String errorType) {
        this.errorType = errorType;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    @Override
    public String toString() {
        return "SmsNotificationDto{" +
                "dateTime=" + dateTime +
                ", count=" + count +
                ", instanceName='" + instanceName + '\'' +
                ", errorContent='" + errorContent + '\'' +
                ", adapterDesc='" + adapterDesc + '\'' +
                ", adapterId='" + adapterId + '\'' +
                ", interfaceId='" + interfaceId + '\'' +
                ", errorType='" + errorType + '\'' +
                ", serviceType='" + serviceType + '\'' +
                '}';
    }
}