From 69e89e0d52939f8676f580a6bed7179d5572dde4 Mon Sep 17 00:00:00 2001 From: Boram Date: Wed, 12 Aug 2026 17:48:00 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=A0=EA=B0=9D=20=ED=86=B5=ED=95=A9=20?= =?UTF-8?q?=EC=95=88=EB=82=B4=EC=9D=B4=EB=A0=A5=20=EC=A1=B0=ED=9A=8C=20sam?= =?UTF-8?q?ple=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomerGuidanceToolConverter.java | 29 +++++ .../mcc/biz/cmm/dto/CcCstUnfcNotiCarhDto.java | 97 ++++++++++++++++ .../cmm/dto/CustomerGuidanceToolRequest.java | 29 +++++ .../cmm/dto/CustomerGuidanceToolResponse.java | 23 ++++ .../usecase/CustomerGuidanceToolUseCase.java | 30 +++++ .../impl/CustomerGuidanceToolUseCaseImpl.java | 58 ++++++++++ .../infra/itrf/mci/nil/d/MciNildClient.java | 50 ++++++++ .../infra/itrf/mci/nil/d/io/ONILD0320_I.java | 42 +++++++ .../infra/itrf/mci/nil/d/io/ONILD0320_O.java | 109 ++++++++++++++++++ .../mock-responses/cmm_customer_tool.json | 4 + .../CustomerGuidanceToolUseCaseTest.java | 16 +++ 11 files changed, 487 insertions(+) create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/converter/CustomerGuidanceToolConverter.java create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CcCstUnfcNotiCarhDto.java create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CustomerGuidanceToolRequest.java create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CustomerGuidanceToolResponse.java create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/CustomerGuidanceToolUseCase.java create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CustomerGuidanceToolUseCaseImpl.java create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/MciNildClient.java create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/io/ONILD0320_I.java create mode 100644 dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/io/ONILD0320_O.java create mode 100644 dap-was-oth/src/main/resources/mock-responses/cmm_customer_tool.json create mode 100644 dap-was-oth/src/test/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/CustomerGuidanceToolUseCaseTest.java diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/converter/CustomerGuidanceToolConverter.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/converter/CustomerGuidanceToolConverter.java new file mode 100644 index 00000000..1908a2cd --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/converter/CustomerGuidanceToolConverter.java @@ -0,0 +1,29 @@ +package io.shinhanlife.dap.mcc.biz.cmm.converter; + +import io.shinhanlife.dap.mcc.biz.cmm.dto.CcCstUnfcNotiCarhDto; +import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGuidanceToolRequest; +import io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.io.ONILD0320_I; +import io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.io.ONILD0320_O.CstUnfcNotiCarhInqrOutDto; +import org.mapstruct.*; + +import java.util.List; + +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface CustomerGuidanceToolConverter { + + /** + * 고객통합이력조회 전사 Request -> I/F + */ + @Mapping(target = "cstUnfcNotiCarhInqrInDto.inqrEndYmd", source = "inqrEndYmd") + @Mapping(target = "cstUnfcNotiCarhInqrInDto.inqrStrtYmd", source = "inqrStrtYmd") + @Mapping(target = "cstUnfcNotiCarhInqrInDto.notiPmlMdCd", source = "notiPmlMdCd") + @Mapping(target = "cstUnfcNotiCarhInqrInDto.ntleCd", source = "ntleCd") + @Mapping(target = "cstUnfcNotiCarhInqrInDto.csNo", source = "csNo") + public abstract ONILD0320_I toONILD0320_I(CustomerGuidanceToolRequest req); + + @Named("toCcCstUnfcNotiCarhDto") + public abstract CcCstUnfcNotiCarhDto toCcCstUnfcNotiCarhDto(CstUnfcNotiCarhInqrOutDto cstUnfcNotiCarhInqrOutDto); + + @IterableMapping(qualifiedByName = "toCcCstUnfcNotiCarhDto") + public abstract List toCcCstUnfcNotiCarhDtoList(List cstUnfcNotiCarhInqrOutDto); +} diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CcCstUnfcNotiCarhDto.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CcCstUnfcNotiCarhDto.java new file mode 100644 index 00000000..73771a46 --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CcCstUnfcNotiCarhDto.java @@ -0,0 +1,97 @@ +package io.shinhanlife.dap.mcc.biz.cmm.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Builder +@Data +public class CcCstUnfcNotiCarhDto { + @Schema(description = "고객번호", example = "CUST123") + private String csNo; + + @Schema(description = "안내일시", example = "20260812093000") + private String notiDt; + + @Schema(description = "발송일련번호", example = "1") + private int pmlSriaNo; + + @Schema(description = "안내신청상세일시", example = "20260812092500") + private String notiPetDtptDt; + + @Schema(description = "안내장코드", example = "NT001") + private String ntleCd; + + @Schema(description = "안내장명", example = "카드대금 결제일 안내") + private String ntleNm; + + @Schema(description = "안내발송일련번호", example = "10") + private int notiPmlSriaNo; + + @Schema(description = "안내발송방법코드", example = "SMS") + private String notiPmlMdCd; + + @Schema(description = "안내수신정보암호화내용", example = "AbC123EncRypTed==") + private String notiRcvInfoEncrCt; + + @Schema(description = "메시지ID", example = "MSG20260812000001") + private String msgId; + + @Schema(description = "안내내용", example = "8월 카드대금 결제일은 8월 25일입니다.") + private String notiCt; + + @Schema(description = "통합안내발송결과코드", example = "00") + private String unfcNotiPmlRsltCd; + + @Schema(description = "통합안내발송결과상세코드", example = "0001") + private String unfcNotiPmlRsltDtptCd; + + @Schema(description = "발송시스템코드", example = "SYS01") + private String pmlSystCd; + + @Schema(description = "발송조직번호", example = "1001") + private String pmlOgnzNo; + + @Schema(description = "발송조직명", example = "고객지원팀") + private String pmlOgnzNm; + + @Schema(description = "발신기관조직명", example = "카드사업본부") + private String msdilttOgnzNm; + + @Schema(description = "조회구분명", example = "전체") + private String inqrDvsnNm; + + @Schema(description = "등록일시", example = "20260812090000") + private String rgiDt; + + @Schema(description = "등록자명", example = "홍길동") + private String rgstNm; + + @Schema(description = "등록자조직명", example = "고객지원팀") + private String rgstOgnzNm; + + @Schema(description = "최종변경자명", example = "김철수") + private String lstPrwpNm; + + @Schema(description = "최종변경일시", example = "20260812101500") + private String lstChgDt; + + @Schema(description = "최종변경자조직명", example = "운영지원팀") + private String lstPrwpOgnzNm; + + @Schema(description = "원천회사구분코드", example = "01") + private String oriCpnyDvsnCd; + + @Schema(description = "고객한글명", example = "이보람") + private String cstHanNm; + + @Schema(description = "시스템등록인사번호", example = "20260001") + private String systRgiPrafNo; + + @Schema(description = "시스템변경인사번호", example = "20260002") + private String systChgPrafNo; +} diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CustomerGuidanceToolRequest.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CustomerGuidanceToolRequest.java new file mode 100644 index 00000000..00e0e241 --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CustomerGuidanceToolRequest.java @@ -0,0 +1,29 @@ +package io.shinhanlife.dap.mcc.biz.cmm.dto; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Data +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CustomerGuidanceToolRequest { + @Schema(description = "고객번호", example = "CUST123") + private String csNo; + + @Schema(description = "안내장코드", example = "ab12321") + private String ntleCd; + + @Schema(description = "안내발송방법코드", example = "aa") + private String notiPmlMdCd; + + @Schema(description = "조회시작일자", example = "20260101") + private String inqrStrYmd; + + @Schema(description = "조회종료일자", example = "20260101") + private String inqrEndYmd; + + +} diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CustomerGuidanceToolResponse.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CustomerGuidanceToolResponse.java new file mode 100644 index 00000000..a027d0f1 --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/dto/CustomerGuidanceToolResponse.java @@ -0,0 +1,23 @@ +package io.shinhanlife.dap.mcc.biz.cmm.dto; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.List; + +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class CustomerGuidanceToolResponse { + + private String resultCode; + + private String resultMessage; + + private List ccCstUnfcNotiCarhDtoList; + +} diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/CustomerGuidanceToolUseCase.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/CustomerGuidanceToolUseCase.java new file mode 100644 index 00000000..362c12fa --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/CustomerGuidanceToolUseCase.java @@ -0,0 +1,30 @@ +package io.shinhanlife.dap.mcc.biz.cmm.usecase; + +import io.shinhanlife.glow.BaseResponse; +import org.springaicommunity.mcp.annotation.McpTool; +import io.shinhanlife.dap.lib.annotation.ToolHint; +import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGuidanceToolRequest; +import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGuidanceToolResponse; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @package io.shinhanlife.dap.mcc.biz.cmm.usecase + * @className CustomerGuidanceToolUseCase + * @description AX HUB ?쒖뒪??泥섎━ ?대옒?? + * @author Boram + * @create 2026.08.12 + *
+ * ---------- 媛쒖젙?대젰 ----------
+ * ?섏젙??     ?섏젙??   ?섏젙?댁슜
+ * ---------- -------- ---------------------------
+ * 2026.08.12  Boram    理쒖큹?앹꽦
+ *
+ * 
+ */ +public interface CustomerGuidanceToolUseCase { + + @McpTool(name = "cmm_customer_tool", title = "고객 통합 안내이력 조회", description = "고객의 통합 안내 이력을 조회하는 도구입니다. 고객 ID와 조회 기간을 입력하면 해당 기간 동안의 안내 이력을 반환합니다.") + @ToolHint(register = false, categoryKey = "cmm", mappingId = "ONILD0320") + CustomerGuidanceToolResponse execute(CustomerGuidanceToolRequest req) throws Exception; +} diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CustomerGuidanceToolUseCaseImpl.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CustomerGuidanceToolUseCaseImpl.java new file mode 100644 index 00000000..a5e0e07a --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/impl/CustomerGuidanceToolUseCaseImpl.java @@ -0,0 +1,58 @@ +package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl; + +import io.shinhanlife.dap.mcc.biz.cmm.dto.CcCstUnfcNotiCarhDto; +import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGuidanceToolRequest; +import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGuidanceToolResponse; +import io.shinhanlife.dap.mcc.biz.cmm.usecase.CustomerGuidanceToolUseCase; +import io.shinhanlife.glow.BaseResponse; +import io.shinhanlife.glow.ResponseUtil; +import io.shinhanlife.glow.communication.dto.Transfer; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import io.shinhanlife.dap.mcc.biz.cmm.converter.CustomerGuidanceToolConverter; +import io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.io.ONILD0320_I; +import io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.io.ONILD0320_O; +import io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.MciNildClient; + +import java.util.List; +import java.util.Map; + + +/** + * @package io.shinhanlife.dap.mcc.biz.cmm.usecase.impl + * @className CustomerGuidanceToolUseCaseImpl + * @description AX HUB ?쒖뒪??泥섎━ ?대옒?? + * @author Boram + * @create 2026.08.12 + *
+ * ---------- 媛쒖젙?대젰 ----------
+ * ?섏젙??     ?섏젙??   ?섏젙?댁슜
+ * ---------- -------- ---------------------------
+ * 2026.08.12  Boram    理쒖큹?앹꽦
+ *
+ * 
+ */ +@Slf4j +@Service +@RequiredArgsConstructor +public class CustomerGuidanceToolUseCaseImpl implements CustomerGuidanceToolUseCase { + + private final MciNildClient mci; + private final CustomerGuidanceToolConverter converter; + + @Override + public CustomerGuidanceToolResponse execute(CustomerGuidanceToolRequest req) throws Exception { + ONILD0320_I onild0320_i = converter.toONILD0320_I(req); + ONILD0320_O onild0320_o = mci.callOnild0320(onild0320_i); + + List ccCstUnfcNotiCarhDtoList = converter.toCcCstUnfcNotiCarhDtoList(onild0320_o.getCstUnfcNotiCarhInqrOutDto()); + + return CustomerGuidanceToolResponse.builder() + .ccCstUnfcNotiCarhDtoList(ccCstUnfcNotiCarhDtoList) + .resultCode("SUCCESS") + .resultMessage("") + .build(); + } +} diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/MciNildClient.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/MciNildClient.java new file mode 100644 index 00000000..302e7867 --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/MciNildClient.java @@ -0,0 +1,50 @@ +package io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d; + +import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGuidanceToolResponse; +import io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.io.ONILD0320_I; +import io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.io.ONILD0320_O; +import io.shinhanlife.glow.BizException; +import io.shinhanlife.glow.GlowLogger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import lombok.RequiredArgsConstructor; +import io.shinhanlife.dap.lib.integration.mci.component.AxhubMciComponent; +import io.shinhanlife.glow.communication.dto.Transfer; + +/** + * @package io.shinhanlife.dap.mcc.infra.itrf.mci.nild + * @className MciNildClient + * @description AX HUB ?쒖뒪??泥섎━ ?대옒?? + * @author Boram + * @create 2026.08.12 + *
+ * ---------- 媛쒖젙?대젰 ----------
+ * ?섏젙??     ?섏젙??   ?섏젙?댁슜
+ * ---------- -------- ---------------------------
+ * 2026.08.12  Boram    理쒖큹?앹꽦
+ *
+ * 
+ */ +@Component +@RequiredArgsConstructor +public class MciNildClient { + private final AxhubMciComponent mci; + private final GlowLogger log; + + public ONILD0320_O callOnild0320(ONILD0320_I onild0320_i){ + try { + Transfer resTransfer = mci.callTo( + "CTMNILO00007", + null, + onild0320_i, + ONILD0320_O.class + ); + + ONILD0320_O onild0320_o = resTransfer.getBody(); + + return onild0320_o; + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/io/ONILD0320_I.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/io/ONILD0320_I.java new file mode 100644 index 00000000..a58b46cd --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/io/ONILD0320_I.java @@ -0,0 +1,42 @@ +package io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.io; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.shinhanlife.glow.GlowMciFieldInfo; +import io.shinhanlife.glow.communication.annotation.GlowTrgmField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Data +@Getter +@Setter +@NoArgsConstructor +public class ONILD0320_I { + + @GlowTrgmField(order = 1, description = "고객 통합 안내이력 조회", type="gs") + private CstUnfcNotiCarhInqrInDto cstUnfcNotiCarhInqrInDto; + + @JsonIgnoreProperties(ignoreUnknown = true) + @NoArgsConstructor + @Getter + @Setter + public static class CstUnfcNotiCarhInqrInDto { + + @GlowMciFieldInfo(order = 1, length = 5, description = "고객번호") + private String csNo; + + @GlowMciFieldInfo(order = 2, length = 5, description = "안내장코드") + private String ntleCd; + + @GlowMciFieldInfo(order = 3, length = 5, description = "안내발송방법코드") + private String notiPmlMdCd; + + @GlowMciFieldInfo(order = 4, length = 5, description = "조회시작일자") + private String inqrStrtYmd; + + @GlowMciFieldInfo(order = 5, length = 5, description = "조회종료일자") + private String inqrEndYmd; + } +} diff --git a/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/io/ONILD0320_O.java b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/io/ONILD0320_O.java new file mode 100644 index 00000000..5e781651 --- /dev/null +++ b/dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/infra/itrf/mci/nil/d/io/ONILD0320_O.java @@ -0,0 +1,109 @@ +package io.shinhanlife.dap.mcc.infra.itrf.mci.nil.d.io; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.shinhanlife.glow.GlowMciFieldInfo; +import io.shinhanlife.glow.communication.annotation.GlowTrgmField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.List; + +@NoArgsConstructor +@Getter +@Setter +public class ONILD0320_O { + + @GlowTrgmField(order = 1, description = "고객 통합 안내이력 조회out", type="gm") + private List cstUnfcNotiCarhInqrOutDto; + + @JsonIgnoreProperties(ignoreUnknown = true) + @NoArgsConstructor + @Getter + @Setter + public static class CstUnfcNotiCarhInqrOutDto { + + @GlowMciFieldInfo(order = 1, length = 5, description = "고객번호") + private String csNo; + + @GlowMciFieldInfo(order = 2, length = 5, description = "안내일시") + private String notiDt; + + @GlowMciFieldInfo(order = 3, length = 5, description = "발송일련번호") + private int pmlSriaNo; + + @GlowMciFieldInfo(order = 4, length = 5, description = "안내신청상세일시") + private String notiPetDtptDt; + + @GlowMciFieldInfo(order = 5, length = 5, description = "안내장코드") + private String ntleCd; + + @GlowMciFieldInfo(order = 6, length = 5, description = "안내장명") + private String ntleNm; + + @GlowMciFieldInfo(order = 7, length = 5, description = "안내발송일련번호") + private int notiPmlSriaNo; + + @GlowMciFieldInfo(order = 8, length = 5, description = "안내발송방법코드") + private String notiPmlMdCd; + + @GlowMciFieldInfo(order = 9, length = 5, description = "안내수신정보암호화내용") + private String notiRcvInfoEncrCt; + + @GlowMciFieldInfo(order = 10, length = 5, description = "메시지ID") + private String msgId; + + @GlowMciFieldInfo(order = 11, length = 5, description = "안내내용") + private String notiCt; + + @GlowMciFieldInfo(order = 12, length = 5, description = "통합안내발송결과코드") + private String unfcNotiPmlRsltCd; + + @GlowMciFieldInfo(order = 13, length = 5, description = "통합안내발송결과상세코드") + private String unfcNotiPmlRsltDtptCd; + + @GlowMciFieldInfo(order = 14, length = 5, description = "발송시스템코드") + private String pmlSystCd; + + @GlowMciFieldInfo(order = 15, length = 5, description = "발송조직번호") + private String pmlOgnzNo; + + @GlowMciFieldInfo(order = 16, length = 5, description = "발송조직명") + private String pmlOgnzNm; + + @GlowMciFieldInfo(order = 17, length = 5, description = "발신기관조직명") + private String msdilttOgnzNm; + + @GlowMciFieldInfo(order = 18, length = 5, description = "조회구분명") + private String inqrDvsnNm; + + @GlowMciFieldInfo(order = 19, length = 5, description = "등록일시") + private String rgiDt; + + @GlowMciFieldInfo(order = 20, length = 5, description = "등록자명") + private String rgstNm; + + @GlowMciFieldInfo(order = 21, length = 5, description = "등록자조직명") + private String rgstOgnzNm; + + @GlowMciFieldInfo(order = 22, length = 5, description = "최종변경자명") + private String lstPrwpNm; + + @GlowMciFieldInfo(order = 23, length = 5, description = "최종변경일시") + private String lstChgDt; + + @GlowMciFieldInfo(order = 24, length = 5, description = "최종변경자조직명") + private String lstPrwpOgnzNm; + + @GlowMciFieldInfo(order = 25, length = 5, description = "원천회사구분코드") + private String oriCpnyDvsnCd; + + @GlowMciFieldInfo(order = 26, length = 5, description = "고객한글명") + private String cstHanNm; + + @GlowMciFieldInfo(order = 27, length = 5, description = "시스템등록인사번호") + private String systRgiPrafNo; + + @GlowMciFieldInfo(order = 28, length = 5, description = "시스템변경인사번호") + private String systChgPrafNo; + } +} diff --git a/dap-was-oth/src/main/resources/mock-responses/cmm_customer_tool.json b/dap-was-oth/src/main/resources/mock-responses/cmm_customer_tool.json new file mode 100644 index 00000000..07ad1840 --- /dev/null +++ b/dap-was-oth/src/main/resources/mock-responses/cmm_customer_tool.json @@ -0,0 +1,4 @@ +{ + "resultCode" : "SUCCESS", + "data" : "[{\"date\":\"2024-01-05\",\"message\":\"안내 내용\"}]" +} diff --git a/dap-was-oth/src/test/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/CustomerGuidanceToolUseCaseTest.java b/dap-was-oth/src/test/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/CustomerGuidanceToolUseCaseTest.java new file mode 100644 index 00000000..4e4b23e7 --- /dev/null +++ b/dap-was-oth/src/test/java/io/shinhanlife/dap/mcc/biz/cmm/usecase/CustomerGuidanceToolUseCaseTest.java @@ -0,0 +1,16 @@ +package io.shinhanlife.dap.mcc.biz.cmm.usecase; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGuidanceToolRequest; +import io.shinhanlife.dap.mcc.biz.cmm.dto.CustomerGuidanceToolResponse; +import org.junit.jupiter.api.Test; + +class CustomerGuidanceToolUseCaseTest { + + @Test + void createsToolRequestAndResponseDtos() { + assertNotNull(new CustomerGuidanceToolRequest()); + assertNotNull(new CustomerGuidanceToolResponse()); + } +}