From 580be959102654582b881f33ab721fd78b8dbbcc Mon Sep 17 00:00:00 2001 From: mjkhan21 Date: Fri, 28 Mar 2025 18:06:18 +0900 Subject: [PATCH] =?UTF-8?q?registerPreNotices(...)=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prenotice/Bu18WebReturnInfoDTO.java | 1 + .../sntris/service/bean/SntrisBean.java | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/main/java/cokr/xit/interfaces/sntris/prenotice/Bu18WebReturnInfoDTO.java b/src/main/java/cokr/xit/interfaces/sntris/prenotice/Bu18WebReturnInfoDTO.java index e885ad8..1dfcd93 100644 --- a/src/main/java/cokr/xit/interfaces/sntris/prenotice/Bu18WebReturnInfoDTO.java +++ b/src/main/java/cokr/xit/interfaces/sntris/prenotice/Bu18WebReturnInfoDTO.java @@ -36,6 +36,7 @@ public class Bu18WebReturnInfoDTO extends SntrisWSDTO { /** 계좌번호(우리) */ private String WAccountNo; private String buAfk; + /** 전자납부번호 */ private String enapbuNo; private String etcColmn1; private String etcColmn2; diff --git a/src/main/java/cokr/xit/interfaces/sntris/service/bean/SntrisBean.java b/src/main/java/cokr/xit/interfaces/sntris/service/bean/SntrisBean.java index 4a57a7d..f394f3b 100644 --- a/src/main/java/cokr/xit/interfaces/sntris/service/bean/SntrisBean.java +++ b/src/main/java/cokr/xit/interfaces/sntris/service/bean/SntrisBean.java @@ -1,5 +1,8 @@ package cokr.xit.interfaces.sntris.service.bean; +import java.util.Map; +import java.util.stream.Collectors; + import org.springframework.stereotype.Component; import cokr.xit.foundation.component.AbstractBean; @@ -41,4 +44,31 @@ public class SntrisBean extends AbstractBean { throw runtimeException(e); } } + + public Map registerPreNotices(Ye22InputDTO input, Map prenotices) { + Map registered = prenotices.entrySet().stream().collect(Collectors.toMap( + entry -> entry.getKey(), + entry -> { + try { + return register(entry.getValue()); + } catch (Exception e) { + Bu18WebReturnInfoDTO dto = new Bu18WebReturnInfoDTO(); + dto.setReturnMsg(ifEmpty(e.getLocalizedMessage(), e::toString)); + return dto; + } + } + )); + return registered.entrySet().stream().collect(Collectors.toMap( + entry -> entry.getKey(), + entry -> { + input.setBuAk(entry.getValue().getNoticeAk()); + Ye22NoticeInfoDTO[] dtos = getPreNoticeList(input); + return switch (dtos.length) { + case 0 -> null; + case 1 -> dtos[0]; + default -> throw new RuntimeException("Multiple prenotices returned"); + }; + } + )); + } } \ No newline at end of file