From 1506f9bda4b5b9bf48c701ed9a14fd8894817fe5 Mon Sep 17 00:00:00 2001 From: "Jonguk. Lim" Date: Thu, 25 Apr 2024 16:10:20 +0900 Subject: [PATCH] =?UTF-8?q?json=20Alias=20=EC=A0=81=EC=9A=A9=20-=20json=20?= =?UTF-8?q?read=EC=8B=9C=20=EB=8C=80=EB=AC=B8=EC=9E=90=20=ED=95=84?= =?UTF-8?q?=EB=93=9C(RESULT=5FCD)=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adds/biz/nims/model/BizNimsRequest.java | 67 ++--- .../adds/biz/nims/model/BizNimsResponse.java | 235 ++++++++++++++++++ .../xit/adds/inf/nims/model/NimsApiDto.java | 143 ++++++----- .../adds/inf/nims/model/NimsApiResult.java | 49 ++-- 4 files changed, 368 insertions(+), 126 deletions(-) create mode 100644 src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java diff --git a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsRequest.java b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsRequest.java index 244b364..4fc76cd 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsRequest.java +++ b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsRequest.java @@ -2,15 +2,13 @@ package cokr.xit.adds.biz.nims.model; import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.*; -import java.util.ArrayList; -import java.util.List; - -import javax.validation.Valid; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Pattern; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import cokr.xit.adds.core.model.AuditDto; import cokr.xit.adds.inf.nims.model.NimsApiDto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; @@ -45,7 +43,7 @@ public class BizNimsRequest { @AllArgsConstructor @SuperBuilder @EqualsAndHashCode(callSuper = false) - public static class DsuseMgt extends NimsApiDto.DsuseRptInfo { + public static class DsuseMgt extends AuditDto { @Schema(requiredMode = AUTO, title = "폐기 관리 ID", example = " ") private String dscdmngId; @@ -53,47 +51,50 @@ public class BizNimsRequest { @NotEmpty(message = "사용자 ID는 필수 입니다") private String userId; + /** + *
+		 * 원 사용자 보고 식별 번호
+		 * 폐기 보고 생성시의 사용자 보고 식별 번호
+		 * 생성 > 변경 > 변경 > 취소 등의 보고시 매번 새로운 보고식별번호가 생성
+		 * => 추적을 위해 최초의 생성시 보고식별번호를 기록
+		 * YYYYMMDD
+		 * 
+ */ + @Schema(requiredMode = REQUIRED, title = "원사용자보고식별번호", example = " ") + private String orgUsrRptIdNo; + + /** + *
+		 * 사용자 보고 식별 번호
+		 * 생성후 변경이나 취소시 새로운 보고식별번호로 update
+		 * 
+ */ + @Schema(requiredMode = REQUIRED, title = "사용자보고식별번호", example = " ") + private String usrRptIdNo; + + /** + * 마약류취급자식별번호 + */ + @JsonProperty(value = "BSSH_CD", required = true) + private String bsshCd; + /** *
 		 * 진행상태
 		 *
-		 * 01-폐기신청서 접수
-		 * 02-폐기정보등록
+		 * 01-폐기보고 접수
+		 * 02-폐기보고 확인
 		 * 11-민원수령처리(전자결재)
 		 * 21-폐기결과통보서 작성
 		 * 22-폐기결과보고서 작성
 		 * 31-기안 및 발송
 		 * 41-폐기보고
-		 * 42-폐기보고확인?
 		 * 99-종료
 		 * 
*/ - @Schema(requiredMode = REQUIRED, title = "진행 상태 코드", example = " ", allowableValues = {"01", "02", "11", "22", "31", "41", "42", "99"}) - @Pattern(regexp = "01|02|11|22|31|41|42|99", message = "진행 상태 코드는 필수 입니다") + @Schema(requiredMode = REQUIRED, title = "진행 상태 코드", example = " ", allowableValues = {"01", "02", "11", "22", "31", "41", "99"}) + @Pattern(regexp = "01|02|11|22|31|41|99", message = "진행 상태 코드는 필수 입니다") private String prgrsSttsCd = "01"; - - @Schema(requiredMode = REQUIRED) - @Builder.Default - @Valid - List dsuseMgtDtls = new ArrayList<>(); - - @JsonIgnore - @Builder.Default - private String useYn = "Y"; - - @JsonIgnore - private String regDt; - - @JsonIgnore - @Setter - private String rgtr; - - @JsonIgnore - private String mdfcnDt; - - @JsonIgnore - @Setter - private String mdfr; } /** diff --git a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java new file mode 100644 index 0000000..4a7affb --- /dev/null +++ b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java @@ -0,0 +1,235 @@ +package cokr.xit.adds.biz.nims.model; + +import cokr.xit.adds.inf.nims.model.NimsApiDto; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + *
+ * description : 
+ *
+ * author      : limju
+ * date        : 2024-04-08
+ * ======================================================================
+ * 변경일         변경자        변경 내용
+ * ----------------------------------------------------------------------
+ * 2024-04-08    limju       최초 생성
+ *
+ * 
+ */ +public class BizNimsResponse { + + /** + * 폐기관리정보 조회 response + */ + @Schema(name = "DsuseMgtResponse", description = "폐기관리정보 조회 response DTO") + @Data + @NoArgsConstructor + @AllArgsConstructor + @SuperBuilder + @EqualsAndHashCode(callSuper = true) + public static class DsuseMgtResponse extends NimsApiDto.DsuseRptInfo { + private String dscdmngId; + + private String userId; + + /** + *
+		 * 진행상태
+		 *
+		 * 01-폐기보고 접수
+		 * 02-폐기보고 확인
+		 * 11-민원수령처리(전자결재)
+		 * 21-폐기결과통보서 작성
+		 * 22-폐기결과보고서 작성
+		 * 31-기안 및 발송
+		 * 41-폐기보고
+		 * 99-종료
+		 * 
+ */ + private String prgrsSttsCd = "01"; + + /** + *
+		 * 대표자명
+		 * 
+ */ + private String rprsntvNm; + + /** + * 허가번호 + */ + private String prmisnNo; + } + + // @Schema(name = "BizDsuseRptInfo", description = "폐기관리정보 DTO") + // @Data + // @NoArgsConstructor + // @AllArgsConstructor + // @SuperBuilder + // @EqualsAndHashCode(callSuper = false) + // public static class BizDsuseRptInfo extends AuditDto { + // /** + // * 사용자 보고 식별 번호 + // */ + // private String usrRptIdNo; + // + // /** + // * 참조 사용자 보고 식별 번호 + // * 취소|변경시 필수 - 사용자 보고 식별 번호 + // */ + // private String refUsrRptIdNo; + // + // /** + // * 마약류취급자식별번호 + // */ + // private String bsshCd; + // + // /** + // * 마약류취급자명업체명 + // */ + // private String bsshNm; + // + // /** + // * 업종명 + // */ + // private String indutyNm; + // + // /** + // * 보고 유형 코드(0-신규,1-취소,2-변경) + // */ + // private String rptTyCd; + // + // /** + // * 수불 상세 보고 수 + // */ + // private Integer rndDtlRptCnt; + // + // /** + // * 취급 일자 + // */ + // private String hdrDe; + // + // /** + // * 보고 일자 + // */ + // private String rptDe; + // + // /** + // * 폐기 구분 코드 + // * 1-보건소폐기, 2-공무원임회, 4-도난/분실/재해 발생 사고마약류 + // */ + // private String dsuseSeCd; + // + // /** + // * 폐기 사유 코드 + // * 01~05, 07~09, 12 + // */ + // private String dsusePrvCd; + // + // /** + // * 폐기 방법 코드 + // * 1 ~ 9 + // */ + // private String dsuseMthCd; + // + // /** + // * 폐기 장소 + // */ + // private String dsuseLoc; + // + // /** + // * 폐기 일자 + // */ + // private String dsuseDe; + // + // /** + // * 처리 상태 코드(0-정상,1-취소,2-변경) + // */ + // private String status; + // + // /** + // * FIXME: 속성명 확정 필요 + // * 보고 진행 상태 코드(0-정상,1-취소,2-변경) + // */ + // private String rptPrgSttsCd; + // + // /** + // * 원사용자보고식별번호 + // */ + // private String orgUsrRptIdNo; + // + // /** + // * 폐기보고상세 목록 + // */ + // private List dsuseRptInfoDtls = new ArrayList<>(); + // } + // + // @Schema(name = "BizDsuseRptInfo", description = "폐기관리정보 DTO") + // @Data + // @NoArgsConstructor + // @AllArgsConstructor + // @SuperBuilder + // @EqualsAndHashCode(callSuper = false) + // public static class BizDsuseRptInfoDtl extends AuditDto { + // /** + // * 사용자 보고 식별 번호 + // */ + // private String usrRptIdNo; + // + // /** + // * 사용자 보고 라인 식별 번호 + // */ + // private String usrRptLnIdNo; + // + // /** + // * 제품 코드 + // */ + // private String prductCd; + // + // /** + // * 제품 명 + // */ + // private String prductNm; + // + // /** + // * 최소 유통 단위 수량 + // */ + // private Integer minDistbQy; + // + // /** + // * 낱개 단위 수량 + // */ + // private Integer pceQy; + // + // /** + // * 제조 번호 + // */ + // private String mnfNo; + // + // /** + // * 제품 유효기한 일자 + // */ + // private String prdValidDe; + // + // /** + // * 제조 일련번호 + // */ + // private String mnfSeq; + // + // /** + // * 이동 유형 코드 + // * 1102: 재고차감, 1170: 재고미차감 + // */ + // private String mvmnTyCd; + // + // /** + // * 폐기 수량 + // */ + // private Integer dsuseQy; + // } +} diff --git a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiDto.java b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiDto.java index f2c66e5..f5895ad 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiDto.java +++ b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiDto.java @@ -6,7 +6,7 @@ import java.util.List; import javax.validation.Valid; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; @@ -48,73 +48,73 @@ public class NimsApiDto { /** * 마약류취급자식별번호 */ - @JsonProperty(value = "BSSH_CD", required = true) + @JsonAlias("BSSH_CD") private String bsshCd; /** * 업체명 */ - @JsonProperty(value = "BSSH_NM", required = true) + @JsonAlias(value = "BSSH_NM") private String bsshNm; /** * 업종명 */ - @JsonProperty(value = "INDUTY_NM", required = true) + @JsonAlias("INDUTY_NM") private String indutyNm; /** * 의료업자구분 */ - @JsonProperty(value = "HDNT_CD", required = true) + @JsonAlias("HDNT_CD") private String hdntCd; /** * 의료업자구분명 */ - @JsonProperty(value = "HDNT_NM", required = true) + @JsonAlias("HDNT_NM") private String hdntNm; /** * 사업자등록번호 */ - @JsonProperty(value = "BIZRNO", required = true) + @JsonAlias("BIZRNO") private String bizrno; /** * 대표자명 */ - @JsonProperty(value = "RPRSNTV_NM", required = true) + @JsonAlias("RPRSNTV_NM") private String rprsntvNm; /** * 담당자명 */ - @JsonProperty(value = "CHRG_NM", required = true) + @JsonAlias("CHRG_NM") private String chrgNm; /** * 요양기관번호 */ - @JsonProperty(value = "HPTL_NO", required = true) + @JsonAlias("HPTL_NO") private String hptlNo; /** * 회원가입여부 가입|미가입|탈퇴 */ - @JsonProperty(value = "JOIN_YN", required = true) + @JsonAlias("JOIN_YN") private String joinYn; /** * 상태 */ - @JsonProperty(value = "BSSH_STTUS_NM", required = true) + @JsonAlias("BSSH_STTUS_NM") private String bsshSttusNm; /** * 허가번호 */ - @JsonProperty(value = "PRMISN_NO", required = true) + @JsonAlias("PRMISN_NO") private String prmisnNo; } @@ -129,74 +129,74 @@ public class NimsApiDto { /** * 품목코드 */ - @JsonProperty(value = "PRDUCT_CD", required = true) + @JsonAlias("PRDUCT_CD") private String prductCd; /** * 제품대표코드 */ - @JsonProperty(value = "PRDLST_MST_CD") + @JsonAlias("PRDLST_MST_CD") private String prdlstMstCd; /** * 제품명 */ - @JsonProperty(value = "PRDUCT_NM", required = true) + @JsonAlias("PRDUCT_NM") private String prductNm; /** * 마약/항정 구분명 */ - @JsonProperty(value = "NRCD_SE_NM", required = true) + @JsonAlias("NRCD_SE_NM") private String nrcdSeNm; /** * 중점/일반 구분 */ - @JsonProperty(value = "PRTM_SE_NM", required = true) + @JsonAlias("PRTM_SE_NM") private String prtmSeNm; /** * 제품최소유통단위수량 * 제품규격정보(고정값 = 1) */ - @JsonProperty(value = "PRD_MIN_DISTB_QY", required = true) + @JsonAlias("PRD_MIN_DISTB_QY") private Integer prdMinDistbQy; /** * 제품최소유통단위 */ - @JsonProperty(value = "STD_PACKNG_STLE_NM", required = true) + @JsonAlias("STD_PACKNG_STLE_NM") private String stdPackngStleNm; /** * 제품총낱개단위수량 */ - @JsonProperty(value = "PRD_TOT_PCE_QY", required = true) + @JsonAlias("PRD_TOT_PCE_QY") private Integer prdTotPceQy; /** * 제품낱개단위 */ - @JsonProperty(value = "PCE_CO_UNIT_NM", required = true) + @JsonAlias("PCE_CO_UNIT_NM") private String pceCoUnitNm; /** * 마약류취급자식별번호 */ - @JsonProperty(value = "BSSH_CD", required = true) + @JsonAlias("BSSH_CD") private String bsshCd; /** * 등록일 */ - @JsonProperty(value = "RGS_DT") + @JsonAlias("RGS_DT") private String rgsDt; /** * 변경일 */ - @JsonProperty(value = "UPD_DT") + @JsonAlias("UPD_DT") private String updDt; } @@ -213,108 +213,107 @@ public class NimsApiDto { /** * 사용자 보고 식별 번호 */ - @JsonProperty(value = "USR_RPT_ID_NO", required = true) + @JsonAlias("USR_RPT_ID_NO") private String usrRptIdNo; /** * 참조 사용자 보고 식별 번호 * 취소|변경시 필수 - 사용자 보고 식별 번호 */ - @JsonProperty(value = "REF_USR_RPT_ID_NO") + @JsonAlias("REF_USR_RPT_ID_NO") private String refUsrRptIdNo; /** * 마약류취급자식별번호 */ - @JsonProperty(value = "BSSH_CD", required = true) + @JsonAlias("BSSH_CD") private String bsshCd; /** * 마약류취급자명업체명 */ - @JsonProperty(value = "BSSH_NM", required = true) + @JsonAlias("BSSH_NM") private String bsshNm; /** * 업종명 */ - @JsonProperty(value = "INDUTY_NM", required = true) + @JsonAlias("INDUTY_NM") private String indutyNm; /** * 보고 유형 코드(0-신규,1-취소,2-변경) */ - @JsonProperty(value = "RPT_TY_CD", required = true) + @JsonAlias("RPT_TY_CD") private String rptTyCd; /** * 수불 상세 보고 수 */ - @JsonProperty(value = "RND_DTL_RPT_CNT", required = true) + @JsonAlias("RND_DTL_RPT_CNT") private Integer rndDtlRptCnt; /** * 취급 일자 */ - @JsonProperty(value = "HDR_DE", required = true) + @JsonAlias("HDR_DE") private String hdrDe; /** * 보고 일자 */ - @JsonProperty(value = "RPT_DE", required = true) + @JsonAlias("RPT_DE") private String rptDe; /** * 폐기 구분 코드 * 1-보건소폐기, 2-공무원임회, 4-도난/분실/재해 발생 사고마약류 */ - @JsonProperty(value = "DSUSE_SE_CD", required = true) + @JsonAlias("DSUSE_SE_CD") private String dsuseSeCd; /** * 폐기 사유 코드 * 01~05, 07~09, 12 */ - @JsonProperty(value = "DSUSE_PRV_CD", required = true) + @JsonAlias("DSUSE_PRV_CD") private String dsusePrvCd; /** * 폐기 방법 코드 * 1 ~ 9 */ - @JsonProperty(value = "DSUSE_MTH_CD", required = true) + @JsonAlias("DSUSE_MTH_CD") private String dsuseMthCd; /** * 폐기 장소 */ - @JsonProperty(value = "DSUSE_LOC", required = true) + @JsonAlias("DSUSE_LOC") private String dsuseLoc; /** * 폐기 일자 */ - @JsonProperty(value = "DSUSE_DE", required = true) + @JsonAlias("DSUSE_DE") private String dsuseDe; /** * 처리 상태 코드(0-정상,1-취소,2-변경) */ - @JsonProperty(value = "STATUS", required = true) + @JsonAlias("STATUS") private String status; /** * FIXME: 속성명 확정 필요 * 보고 진행 상태 코드(0-정상,1-취소,2-변경) */ - @JsonProperty(value = "RPT_PRG_STTS_CD", required = true) + @JsonAlias("RPT_PRG_STTS_CD") private String rptPrgSttsCd; /** * 원사용자보고식별번호 */ - //@JsonProperty(value = "USR_RPT_ID_NO", required = true) private String orgUsrRptIdNo; /** @@ -334,68 +333,68 @@ public class NimsApiDto { /** * 사용자 보고 식별 번호 */ - @JsonProperty(value = "USR_RPT_ID_NO", required = true) + @JsonAlias("USR_RPT_ID_NO") private String usrRptIdNo; /** * 사용자 보고 라인 식별 번호 */ - @JsonProperty(value = "USR_RPT_LN_ID_NO", required = true) + @JsonAlias("USR_RPT_LN_ID_NO") private String usrRptLnIdNo; /** * 제품 코드 */ - @JsonProperty(value = "PRDUCT_CD", required = true) + @JsonAlias("PRDUCT_CD") private String prductCd; /** * 제품 명 */ - @JsonProperty(value = "PRDCT_NM", required = true) + @JsonAlias("PRDCT_NM") private String prductNm; /** * 최소 유통 단위 수량 */ - @JsonProperty(value = "MIN_DISTB_QY", required = true) + @JsonAlias("MIN_DISTB_QY") private Integer minDistbQy; /** * 낱개 단위 수량 */ - @JsonProperty(value = "PCE_QY", required = true) + @JsonAlias("PCE_QY") private Integer pceQy; /** * 제조 번호 */ - @JsonProperty(value = "MNF_NO", required = true) + @JsonAlias("MNF_NO") private String mnfNo; /** * 제품 유효기한 일자 */ - @JsonProperty(value = "PRD_VALID_DE", required = true) + @JsonAlias("PRD_VALID_DE") private String prdValidDe; /** * 제조 일련번호 */ - @JsonProperty(value = "MNF_SEQ") + @JsonAlias("MNF_SEQ") private String mnfSeq; /** * 이동 유형 코드 * 1102: 재고차감, 1170: 재고미차감 */ - @JsonProperty(value = "MVMN_TY_CD", required = true) + @JsonAlias("MVMN_TY_CD") private String mvmnTyCd; /** * 폐기 수량 */ - @JsonProperty(value = "DSUSE_QY", required = true) + @JsonAlias("DSUSE_QY") private Integer dsuseQy; } @@ -411,31 +410,31 @@ public class NimsApiDto { /** * 제품코드 */ - @JsonProperty(value = "PRDUCT_CD", required = true) + @JsonAlias("PRDUCT_CD") private String prductCd; /** * 제품명 */ - @JsonProperty(value = "PRDUCT_NM", required = true) + @JsonAlias("PRDUCT_NM") private String prductNm; /** * 제조번호 */ - @JsonProperty(value = "MNF_NO", required = true) + @JsonAlias("MNF_NO") private String mnfNo; /** * 일련번호 */ - @JsonProperty(value = "MNF_SEQ", required = true) + @JsonAlias("MNF_SEQ") private String mnfSeq; /** * 유효기간 */ - @JsonProperty(value = "PRD_VALID_DE", required = true) + @JsonAlias("PRD_VALID_DE") private String prdValidDe; } @@ -450,37 +449,37 @@ public class NimsApiDto { /** * 기관코드 */ - @JsonProperty(value = "OF_CD", required = true) + @JsonAlias("OF_CD") private String ofCd; /** * 기관명 */ - @JsonProperty(value = "OF_NM", required = true) + @JsonAlias("OF_NM") private String ofNm; /** * 상위 기관명 */ - @JsonProperty(value = "UP_OF_NM", required = true) + @JsonAlias("UP_OF_NM") private String upOfNm; /** * 최상위 기관명 */ - @JsonProperty(value = "TOP_OF_NM", required = true) + @JsonAlias("TOP_OF_NM") private String topOfNm; /** * 기본 주소 */ - @JsonProperty(value = "BASS_ADRES", required = true) + @JsonAlias("BASS_ADRES") private String bassAdres; /** * 상세 주소 */ - @JsonProperty(value = "BASS_DTL_ADRES", required = true) + @JsonAlias("BASS_DTL_ADRES") private String bassDtlAdres; } @@ -495,49 +494,49 @@ public class NimsApiDto { /** * 마약류취급자식별번호 */ - @JsonProperty(value = "BSSH_CD", required = true) + @JsonAlias("BSSH_CD") private String bsshCd; /** * 업체명 */ - @JsonProperty(value = "BSSH_NM", required = true) + @JsonAlias("BSSH_NM") private String bsshNm; /** * 저장소 번호 */ - @JsonProperty(value = "STORGE_NO", required = true) + @JsonAlias("STORGE_NO") private String storgeNo; /** * 저장소명 */ - @JsonProperty(value = "STORGE_NM", required = true) + @JsonAlias("STORGE_NM") private String storgeNm; /** * 저장소 유형 */ - @JsonProperty(value = "STORGE_SE_NM", required = true) + @JsonAlias("STORGE_SE_NM") private String storgeSeNm; /** * 기본 주소 */ - @JsonProperty(value = "BASS_ADRES", required = true) + @JsonAlias("BASS_ADRES") private String bassAdres; /** * 상세 주소 */ - @JsonProperty(value = "BASS_DTL_ADRES", required = true) + @JsonAlias("BASS_DTL_ADRES") private String bassDtlAdres; /** * 사용 유무 */ - @JsonProperty(value = "USE_AT", required = true) + @JsonAlias("USE_AT") private String useAt; } diff --git a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiResult.java b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiResult.java index 69949d6..fce409e 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiResult.java +++ b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiResult.java @@ -1,19 +1,17 @@ package cokr.xit.adds.inf.nims.model; -import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.*; - import java.util.List; import java.util.Objects; import org.apache.commons.lang3.ObjectUtils; +import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import cokr.xit.adds.core.model.ResultCode; import cokr.xit.adds.core.spring.exception.ApiCustomException; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -35,14 +33,14 @@ import lombok.Setter; * * */ -@Schema(name = "NimsApiResult", description = "마약류 관리 시스템 API response") @Getter @NoArgsConstructor @AllArgsConstructor @Builder public class NimsApiResult { - @Schema(description = "response", requiredMode = REQUIRED) - @JsonProperty(value = "response", required = true) + /** + * Nims API call 결과(ROOT) + */ private Response response; @JsonInclude(JsonInclude.Include.NON_NULL) @@ -52,12 +50,14 @@ public class NimsApiResult { @AllArgsConstructor @Builder public static class Response { - @Schema(description = "header", requiredMode = REQUIRED) - @JsonProperty(value = "header", required = true) + /** + * API call 결과 헤더 + */ private Header header; - @Schema(description = "body", requiredMode = REQUIRED) - @JsonProperty(value = "body", required = true) + /** + * API call 결과 바디 + */ private Body body; /** @@ -105,11 +105,13 @@ public class NimsApiResult { * 결과코드 * 0 : 성공, 1:실패, 8:인증완료, 9:인증실패 */ - @Schema(description = "결과 코드: 0-성공, 1-실패, 8-인증완료, 9-인증실패", requiredMode = REQUIRED) - @JsonProperty(value = "RESULT_CODE", required = true) + @JsonAlias({"RESULT_CODE", "resultCd"}) private Integer resultCd; - @Schema(description = "결과메세지", requiredMode = REQUIRED) - @JsonProperty(value = "RESULT_MSG", required = true) + + /** + * 결과메세지 + */ + @JsonAlias({"RESULT_MSG", "resultMsg"}) private String resultMsg; } @@ -120,23 +122,28 @@ public class NimsApiResult { @AllArgsConstructor @Builder public static class Body{ - @Schema(description = "결과 건수", requiredMode = REQUIRED) - @JsonProperty(value = "TOTAL_COUNT", required = true) + /** + * 실행 결과 건수 + */ + @JsonAlias("TOTAL_COUNT") private Integer totalCount; + /** * 마지막 데이타 여부 * Y: 마지막 데이타, N : 마지막 데이타 아님 */ - @Schema(description = "마지막데이타 여부: Y-마지막 데이타, N-아님", requiredMode = REQUIRED) - @JsonProperty(value = "IS_END_YN", required = true) + @JsonAlias(value = {"IS_END_YN", "isEndYn"}) private String isEndYn; - @Schema(description = "전체 데이타 건수", requiredMode = REQUIRED) + /** + * 전체 데이타 건수 + */ @JsonProperty(value = "nRecord", required = true) private Integer nRecord; - @Schema(description = "요청 데이타 목록") - @JsonProperty(value = "list") + /** + * 요청 결과 목록 + */ private List list; } }