From 1346cbfdc28ab90d96206b054640dd052eb959c0 Mon Sep 17 00:00:00 2001 From: Kurt92 Date: Thu, 4 Dec 2025 15:56:55 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=20=EA=B0=9C=EB=B0=9C=EC=8B=9C=20?= =?UTF-8?q?=EC=97=B0=EA=B3=84=ED=85=8C=EC=8A=A4=ED=8A=B8=EB=A5=BC=20?= =?UTF-8?q?=EC=9C=84=ED=95=9C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20api=201.=20?= =?UTF-8?q?=EC=82=AC=EC=A0=84=EB=B6=80=EA=B3=BC=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20api=20=EC=B6=94=EA=B0=80=202.=20=EC=BB=AC=EB=9F=BC?= =?UTF-8?q?=20=EB=84=88=EB=AC=B4=20=EB=A7=8E=EC=95=84=EC=84=9C=20=EB=A7=B5?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EB=9F=AD=EC=B3=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 4 + .../taxelse/controller/TaxelseController.java | 29 +- .../api/test/biz/taxelse/dto/TaxelseDto.java | 162 ++++++++- .../biz/taxelse/service/TaxelseService.java | 61 ++++ src/main/java/org/api/test/domain/Lavy.java | 342 ++++++++++++++++++ .../org/api/test/domain/LavyRepository.java | 6 + .../org/api/test/domain/SunapRepository.java | 6 + .../api/test/domain/mapper/EntityMapper.java | 17 + 8 files changed, 590 insertions(+), 37 deletions(-) create mode 100644 src/main/java/org/api/test/domain/Lavy.java create mode 100644 src/main/java/org/api/test/domain/LavyRepository.java create mode 100644 src/main/java/org/api/test/domain/SunapRepository.java create mode 100644 src/main/java/org/api/test/domain/mapper/EntityMapper.java diff --git a/build.gradle b/build.gradle index 54524b4..8c59909 100644 --- a/build.gradle +++ b/build.gradle @@ -40,6 +40,10 @@ dependencies { // === DB Driver === runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' + + implementation 'org.mapstruct:mapstruct:1.5.5.Final' + annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.5.Final' + // === QueryDSL (필요 시) === implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta' diff --git a/src/main/java/org/api/test/biz/taxelse/controller/TaxelseController.java b/src/main/java/org/api/test/biz/taxelse/controller/TaxelseController.java index 492f599..5c47c1f 100644 --- a/src/main/java/org/api/test/biz/taxelse/controller/TaxelseController.java +++ b/src/main/java/org/api/test/biz/taxelse/controller/TaxelseController.java @@ -5,6 +5,7 @@ import org.api.test.biz.taxelse.dto.TaxelseDto; import org.api.test.biz.taxelse.service.TaxelseService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController @@ -16,21 +17,15 @@ public class TaxelseController { // 사전부과 - @PostMapping("/api/test/lavy") - public ResponseEntity preNoticeInsert() { + @PostMapping("/api/test/preLavy") + public ResponseEntity preNoticeInsert(@RequestBody TaxelseDto.Request.PreLavyBody req) { - TaxelseDto.Response.ResultSunapBody resultBody = TaxelseDto.Response.ResultSunapBody.builder() - .build(); + TaxelseDto.Response res = taxelseService.preNoticeInsert(req); - TaxelseDto.Response response = TaxelseDto.Response.builder() - .state("0000") - .code("성공") - .result("정상 처리되었습니다.") - .body(resultBody) - .build(); - return ResponseEntity.ok(response); + + return ResponseEntity.ok(res); } @@ -43,10 +38,7 @@ public class TaxelseController { .build(); TaxelseDto.Response response = TaxelseDto.Response.builder() - .state("0000") - .code("성공") - .result("정상 처리되었습니다.") - .body(resultBody) + .build(); @@ -55,7 +47,7 @@ public class TaxelseController { // 수납정보 - @PostMapping("api/test/sunap") + @PostMapping("/api/test/sunap") public ResponseEntity taxSunapInfoReturn() { TaxelseDto.Response.ResultSunapBody resultBody = TaxelseDto.Response.ResultSunapBody.builder() @@ -63,10 +55,7 @@ public class TaxelseController { .build(); TaxelseDto.Response response = TaxelseDto.Response.builder() - .state("0000") - .code("성공") - .result("정상 처리되었습니다.") - .body(resultBody) + .build(); diff --git a/src/main/java/org/api/test/biz/taxelse/dto/TaxelseDto.java b/src/main/java/org/api/test/biz/taxelse/dto/TaxelseDto.java index ab04c60..b7882da 100644 --- a/src/main/java/org/api/test/biz/taxelse/dto/TaxelseDto.java +++ b/src/main/java/org/api/test/biz/taxelse/dto/TaxelseDto.java @@ -11,9 +11,9 @@ public class TaxelseDto { @NoArgsConstructor @AllArgsConstructor @Builder - public static class RecvReq { + public static class RecvReq { private Header header; - private Body body; + private T body; } @Getter @@ -38,17 +38,113 @@ public class TaxelseDto { @NoArgsConstructor @AllArgsConstructor @Builder - public static class Body { - private String dmndSeCd; + public static class PreLavyBody { + private String linkTrgtCd; // 연계대상코드 (15) + private String sgbCd; // 자치단체코드 (7) + private String linkMngKey; // 연계관리키 (50) + private String dptCd; // 부서코드 (7) + private String rcptYr; // 접수연도 (4) + private String spacBizCd; // 특별회계사업코드 (4) + private String actSeCd; // 회계구분코드 (2) + private String rprsTxmCd; // 대표세입과목코드 (6) + private String operItemCd; // 운영항목코드 (3) + private String finScrgSeCd; // 과태료과금구분코드 (2) + private String pyrSeCd; // 납부자구분코드 (2) + private String pyrNo; // 납부자번호 (13) + + private String pyrNm; // 납부자명 (200) + private String rprsPyrNo; // 대표납부자번호 (13) + private String rprsPyrNm; // 대표납부자명 (200) + private String pyrTelno; // 납부자전화번호 (30) + private String pyrMblTelno; // 납부자휴대전화번호 (30) + private String pyrEmlAddr; // 납부자이메일주소 (320) + private String pyrSttCd; // 납부자상태코드 (2) + + private String pyrLotnoRoadAddrSeCd; // 납부자도로주소구분코드 (2) + private String pyrZip; // 납부자우편번호 (6) + private String pyrRoadNmCd; // 납부자도로명코드 (12) + private String pyrAddrUndgYn; // 납부자주소지하여부 (1) + private String pyrBmno; // 납부자건물본번 (5) + private String pyrBsno; // 납부자건물부번 (5) + private String pyrDongCd; // 납부자행정동코드 (10) + private String pyrMtnSeCd; // 납부자산구분코드 (2) + private String pyrBldgMngNo; // 납부자건물관리번호 (25) + private String pyrBldgNm; // 납부자건물명 (100) + private String pyrMno; // 납부자번 (4) + private String pyrSno; // 납부자후 (4) + private String pyrSpclDg; // 납부자특수동 (30) + private String pyrSpclHo; // 납부자특수호 (15) + private String pyrTong; // 납부자동 (3) + private String pyrBan; // 납부자반 (3) + private String pyrSpclAddr; // 납부자특수주소 (450) + private String pyrRoadNmAddr; // 납부자도로명주소 (300) + private String pyrRoadNmDaddr; // 납부자도로명상세주소 (300) + private String pyrRoadNmAlAddr; // 납부자도로명전체주소 (500) + + private String glNm; // 물건지명 (750) + private String glLotnoRoadAddrSeCd; // 물건지도로주소구분코드 (2) + private String glZip; // 물건지우편번호 (6) + private String glRoadNmCd; // 물건지도로명코드 (12) + private String glAddrUndgYn; // 물건지주소지하여부 (1) + private String glBmno; // 물건지건물본번 (5) + private String glBsno; // 물건지건물부번 (5) + private String glStdgCd; // 물건지행정동코드 (10) + private String glDongCd; // 물건지법정동코드 (10) + private String glMtnSeCd; // 물건지산구분코드 (2) + private String glMno; // 물건지본번 (4) + private String glSno; // 물건지부번 (4) + private String glSpclDg; // 물건지특수동 (30) + private String glSpclHo; // 물건지특수호 (15) + private String glSpclAddr; // 물건지특수주소 (450) + private String glRoadNmAddr; // 물건지도로운명주소 (300) + private String glRoadNmDaddr; // 물건지도로운명상세주소 (300) + private String glRoadNmAlAddr; // 물건지도로운명전체주소 (750) + private String glLotnoAddr; // 물건지지번기본주소 (200) + private String glLotnoDaddr; // 물건지지번상세주소 (300) + private String glLotnoAlAddr; // 물건지지번전체주소 (750) + + private String ivyTrgtSeCd; // 부과대상구분코드 (2) + private String regYmd; // 등록일자 (8) + private String finScrgAmt; // 과태료과징금액 (15) + private String fcltSeCd; // 시설구분코드 (5) + private String regSeCd; // 등록구분코드 (2) + private String rdtnRsnSeCd; // 감경사유구분코드 (4) + private String vhrno; // 자동차등록번호 (30) + + private String mclncLabBssNm; // 조례법근거명 (450) + + private String mngItemCn1; // 관리항목1 (200) + private String mngItemCn2; // 관리항목2 (200) + private String mngItemCn3; // 관리항목3 (200) + private String mngItemCn4; // 관리항목4 (200) + private String mngItemCn5; // 관리항목5 (200) + private String mngItemCn6; // 관리항목6 (200) + + private String rmCn; // 비고내용 (4000) + + private String rsvItem1; // 예비항목1 (200) + private String rsvItem2; // 예비항목2 (200) + private String rsvItem3; // 예비항목3 (200) + private String rsvItem4; // 예비항목4 (200) + private String rsvItem5; // 예비항목5 (200) + + } + + + @Getter + @Setter + @NoArgsConstructor + @AllArgsConstructor + @Builder + public static class MatchBody { private String sgbCd; - private String dptCd; - private String spacBizCd; - private String fyr; - private String actSeCd; - private String rprsTxmCd; - private String lvyNo; - private String itmSn; + private String linkTrgtCd; + private String linkMngKey; + private String finScrgAcbKey; + } + + } @@ -60,21 +156,53 @@ public class TaxelseDto { @AllArgsConstructor @Builder public static class Response { - private String state; - private String code; - private String result; - private T body; + + private Body body; + private T resVo1; + + + + + + + + @Getter + @Setter + @NoArgsConstructor + @AllArgsConstructor + @Builder + public static class Body { + + private String linkRstCd; + private String linkRstMsg; + + } + @Getter @Setter @NoArgsConstructor @AllArgsConstructor @Builder - public static class ResultMatchBody { + public static class LavyBody { - private String aaa; + private String sgbCd; + private String linkTrgtCd; + private String linkMngKey; + + } + + + + @Getter + @Setter + @NoArgsConstructor + @AllArgsConstructor + @Builder + public static class MatchBody { + private String sgbCd; } diff --git a/src/main/java/org/api/test/biz/taxelse/service/TaxelseService.java b/src/main/java/org/api/test/biz/taxelse/service/TaxelseService.java index 0a47348..e655ef8 100644 --- a/src/main/java/org/api/test/biz/taxelse/service/TaxelseService.java +++ b/src/main/java/org/api/test/biz/taxelse/service/TaxelseService.java @@ -1,12 +1,73 @@ package org.api.test.biz.taxelse.service; import lombok.RequiredArgsConstructor; +import org.api.test.biz.taxelse.dto.TaxelseDto; +import org.api.test.domain.Lavy; +import org.api.test.domain.LavyRepository; +import org.api.test.domain.mapper.EntityMapper; import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class TaxelseService { + private final LavyRepository lavyRepository; + private final EntityMapper entityMapper; + + + // 사전부과 + public TaxelseDto.Response preNoticeInsert(TaxelseDto.Request.PreLavyBody req) { + + + try { + + Lavy lavy = entityMapper.toEntity(req); + lavyRepository.save(lavy); + + return TaxelseDto.Response.builder() + .resVo1( + TaxelseDto.Response.LavyBody.builder() + .sgbCd(req.getSgbCd()) + .linkTrgtCd(req.getLinkTrgtCd()) + .linkMngKey(req.getLinkMngKey()) + .build() + ) + .body( + TaxelseDto.Response.Body.builder() + .linkRstCd("0000") + .linkRstMsg("정상 처리되었습니다.") + .build() + ) + .build(); + + } catch (Exception e) { + return TaxelseDto.Response.builder() + .resVo1( + TaxelseDto.Response.LavyBody.builder() + .sgbCd(req.getSgbCd()) + .linkTrgtCd(req.getLinkTrgtCd()) + .linkMngKey(req.getLinkMngKey()) + .build() + ) + .body( + TaxelseDto.Response.Body.builder() + .linkRstCd("9999") + .linkRstMsg("부과 실패") + .build() + ) + .build(); + } + } + + + // 매치정보 조회 + public void matchInfoReturn() { + + } + + + + // 수납 인서트 public void insertSunap() { diff --git a/src/main/java/org/api/test/domain/Lavy.java b/src/main/java/org/api/test/domain/Lavy.java new file mode 100644 index 0000000..0a85748 --- /dev/null +++ b/src/main/java/org/api/test/domain/Lavy.java @@ -0,0 +1,342 @@ +package org.api.test.domain; + + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.Comment; + +@Entity +@Table(name = "LAVY") +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Comment("세외수입 부과 테이블") +public class Lavy { + @Id + @Column(name = "LINK_MNG_KEY", length = 50, nullable = false) + @Comment("연계관리키") + private String linkMngKey; + + @Column(name = "SGB_CD", length = 7) + @Comment("자치단체코드") + private String sgbCd; + + @Column(name = "LINK_TRGT_CD", length = 15) + @Comment("연계대상코드") + private String linkTrgtCd; + + @Column(name = "DPT_CD", length = 7) + @Comment("부서코드") + private String dptCd; + + @Column(name = "RCPT_YR", length = 4) + @Comment("접수연도") + private String rcptYr; + + @Column(name = "SPAC_BIZ_CD", length = 4) + @Comment("특별회계사업코드") + private String spacBizCd; + + @Column(name = "ACT_SE_CD", length = 2) + @Comment("회계구분코드") + private String actSeCd; + + @Column(name = "RPRS_TXM_CD", length = 6) + @Comment("대표세입과목코드") + private String rprsTxmCd; + + @Column(name = "OPER_ITEM_CD", length = 3) + @Comment("운영항목코드") + private String operItemCd; + + @Column(name = "FIN_SCRG_SE_CD", length = 2) + @Comment("과태료과금구분코드") + private String finScrgSeCd; + + @Column(name = "PYR_SE_CD", length = 2) + @Comment("납부자구분코드") + private String pyrSeCd; + + @Column(name = "PYR_NO", length = 13) + @Comment("납부자번호") + private String pyrNo; + + @Column(name = "PYR_NM", length = 200) + @Comment("납부자명") + private String pyrNm; + + @Column(name = "RPRS_PYR_NO", length = 13) + @Comment("대표납부자번호") + private String rprsPyrNo; + + @Column(name = "RPRS_PYR_NM", length = 200) + @Comment("대표납부자명") + private String rprsPyrNm; + + @Column(name = "PYR_TELNO", length = 30) + @Comment("납부자전화번호") + private String pyrTelno; + + @Column(name = "PYR_MBL_TELNO", length = 30) + @Comment("납부자휴대전화번호") + private String pyrMblTelno; + + @Column(name = "PYR_EML_ADDR", length = 320) + @Comment("납부자이메일주소") + private String pyrEmlAddr; + + @Column(name = "PYR_STT_CD", length = 2) + @Comment("납부자상태코드") + private String pyrSttCd; + + @Column(name = "PYR_LOTNO_ROAD_ADDR_SE_CD", length = 2) + @Comment("납부자도로주소구분코드") + private String pyrLotnoRoadAddrSeCd; + + @Column(name = "PYR_ZIP", length = 6) + @Comment("납부자우편번호") + private String pyrZip; + + @Column(name = "PYR_ROAD_NM_CD", length = 12) + @Comment("납부자도로명코드") + private String pyrRoadNmCd; + + @Column(name = "PYR_ADDR_UNDG_YN", length = 1) + @Comment("납부자주소지하여부") + private String pyrAddrUndgYn; + + @Column(name = "PYR_BMNO", length = 5) + @Comment("납부자건물본번") + private String pyrBmno; + + @Column(name = "PYR_BSNO", length = 5) + @Comment("납부자건물부번") + private String pyrBsno; + + @Column(name = "PYR_DONG_CD", length = 10) + @Comment("납부자행정동코드") + private String pyrDongCd; + + @Column(name = "PYR_MTN_SE_CD", length = 2) + @Comment("납부자산구분코드") + private String pyrMtnSeCd; + + @Column(name = "PYR_BLDG_MNG_NO", length = 25) + @Comment("납부자건물관리번호") + private String pyrBldgMngNo; + + @Column(name = "PYR_BLDG_NM", length = 100) + @Comment("납부자건물명") + private String pyrBldgNm; + + @Column(name = "PYR_MNO", length = 4) + @Comment("납부자번") + private String pyrMno; + + @Column(name = "PYR_SNO", length = 4) + @Comment("납부자후") + private String pyrSno; + + @Column(name = "PYR_SPCL_DG", length = 30) + @Comment("납부자특수동") + private String pyrSpclDg; + + @Column(name = "PYR_SPCL_HO", length = 15) + @Comment("납부자특수호") + private String pyrSpclHo; + + @Column(name = "PYR_TONG", length = 3) + @Comment("납부자동") + private String pyrTong; + + @Column(name = "PYR_BAN", length = 3) + @Comment("납부자반") + private String pyrBan; + + @Column(name = "PYR_SPCL_ADDR", length = 450) + @Comment("납부자특수주소") + private String pyrSpclAddr; + + @Column(name = "PYR_ROAD_NM_ADDR", length = 300) + @Comment("납부자도로명주소") + private String pyrRoadNmAddr; + + @Column(name = "PYR_ROAD_NM_DADDR", length = 300) + @Comment("납부자도로명상세주소") + private String pyrRoadNmDaddr; + + @Column(name = "PYR_ROAD_NM_AL_ADDR", length = 500) + @Comment("납부자도로명전체주소") + private String pyrRoadNmAlAddr; + + @Column(name = "GL_NM", length = 750) + @Comment("물건지명") + private String glNm; + + @Column(name = "GL_LOTNO_ROAD_ADDR_SE_CD", length = 2) + @Comment("물건지도로주소구분코드") + private String glLotnoRoadAddrSeCd; + + @Column(name = "GL_ZIP", length = 6) + @Comment("물건지우편번호") + private String glZip; + + @Column(name = "GL_ROAD_NM_CD", length = 12) + @Comment("물건지도로명코드") + private String glRoadNmCd; + + @Column(name = "GL_ADDR_UNDG_YN", length = 1) + @Comment("물건지주소지하여부") + private String glAddrUndgYn; + + @Column(name = "GL_BMNO", length = 5) + @Comment("물건지건물본번") + private String glBmno; + + @Column(name = "GL_BSNO", length = 5) + @Comment("물건지건물부번") + private String glBsno; + + @Column(name = "GL_STDG_CD", length = 10) + @Comment("물건지행정동코드") + private String glStdgCd; + + @Column(name = "GL_DONG_CD", length = 10) + @Comment("물건지법정동코드") + private String glDongCd; + + @Column(name = "GL_MTN_SE_CD", length = 2) + @Comment("물건지산구분코드") + private String glMtnSeCd; + + @Column(name = "GL_MNO", length = 4) + @Comment("물건지본번") + private String glMno; + + @Column(name = "GL_SNO", length = 4) + @Comment("물건지부번") + private String glSno; + + @Column(name = "GL_SPCL_DG", length = 30) + @Comment("물건지특수동") + private String glSpclDg; + + @Column(name = "GL_SPCL_HO", length = 15) + @Comment("물건지특수호") + private String glSpclHo; + + @Column(name = "GL_SPCL_ADDR", length = 450) + @Comment("물건지특수주소") + private String glSpclAddr; + + @Column(name = "GL_ROAD_NM_ADDR", length = 300) + @Comment("물건지도로운명주소") + private String glRoadNmAddr; + + @Column(name = "GL_ROAD_NM_DADDR", length = 300) + @Comment("물건지도로운명상세주소") + private String glRoadNmDaddr; + + @Column(name = "GL_ROAD_NM_AL_ADDR", length = 750) + @Comment("물건지도로운명전체주소") + private String glRoadNmAlAddr; + + @Column(name = "GL_LOTNO_ADDR", length = 200) + @Comment("물건지지번기본주소") + private String glLotnoAddr; + + @Column(name = "GL_LOTNO_DADDR", length = 300) + @Comment("물건지지번상세주소") + private String glLotnoDaddr; + + @Column(name = "GL_LOTNO_AL_ADDR", length = 750) + @Comment("물건지지번전체주소") + private String glLotnoAlAddr; + + @Column(name = "IVY_TRGT_SE_CD", length = 2) + @Comment("부과대상구분코드") + private String ivyTrgtSeCd; + + @Column(name = "REG_YMD", length = 8) + @Comment("등록일자") + private String regYmd; + + @Column(name = "FIN_SCRG_AMT", length = 15) + @Comment("과태료과징금액") + private String finScrgAmt; + + @Column(name = "FCLT_SE_CD", length = 5) + @Comment("시설구분코드") + private String fcltSeCd; + + @Column(name = "REG_SE_CD", length = 2) + @Comment("등록구분코드") + private String regSeCd; + + @Column(name = "RDTN_RSN_SE_CD", length = 4) + @Comment("감경사유구분코드") + private String rdtnRsnSeCd; + + @Column(name = "VHRNO", length = 30) + @Comment("자동차등록번호") + private String vhrno; + + @Column(name = "MCLNC_LAB_BSS_NM", length = 450) + @Comment("조례법근거명") + private String mclncLabBssNm; + + @Column(name = "MNG_ITEM_CN1", length = 200) + @Comment("관리항목1") + private String mngItemCn1; + + @Column(name = "MNG_ITEM_CN2", length = 200) + @Comment("관리항목2") + private String mngItemCn2; + + @Column(name = "MNG_ITEM_CN3", length = 200) + @Comment("관리항목3") + private String mngItemCn3; + + @Column(name = "MNG_ITEM_CN4", length = 200) + @Comment("관리항목4") + private String mngItemCn4; + + @Column(name = "MNG_ITEM_CN5", length = 200) + @Comment("관리항목5") + private String mngItemCn5; + + @Column(name = "MNG_ITEM_CN6", length = 200) + @Comment("관리항목6") + private String mngItemCn6; + + @Column(name = "RM_CN", length = 4000) + @Comment("비고내용") + private String rmCn; + + @Column(name = "RSV_ITEM1", length = 200) + @Comment("예비항목1") + private String rsvItem1; + + @Column(name = "RSV_ITEM2", length = 200) + @Comment("예비항목2") + private String rsvItem2; + + @Column(name = "RSV_ITEM3", length = 200) + @Comment("예비항목3") + private String rsvItem3; + + @Column(name = "RSV_ITEM4", length = 200) + @Comment("예비항목4") + private String rsvItem4; + + @Column(name = "RSV_ITEM5", length = 200) + @Comment("예비항목5") + private String rsvItem5; +} diff --git a/src/main/java/org/api/test/domain/LavyRepository.java b/src/main/java/org/api/test/domain/LavyRepository.java new file mode 100644 index 0000000..2df7c97 --- /dev/null +++ b/src/main/java/org/api/test/domain/LavyRepository.java @@ -0,0 +1,6 @@ +package org.api.test.domain; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface LavyRepository extends JpaRepository { +} diff --git a/src/main/java/org/api/test/domain/SunapRepository.java b/src/main/java/org/api/test/domain/SunapRepository.java new file mode 100644 index 0000000..fb64ea6 --- /dev/null +++ b/src/main/java/org/api/test/domain/SunapRepository.java @@ -0,0 +1,6 @@ +package org.api.test.domain; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface SunapRepository extends JpaRepository { +} diff --git a/src/main/java/org/api/test/domain/mapper/EntityMapper.java b/src/main/java/org/api/test/domain/mapper/EntityMapper.java new file mode 100644 index 0000000..7db6de4 --- /dev/null +++ b/src/main/java/org/api/test/domain/mapper/EntityMapper.java @@ -0,0 +1,17 @@ +package org.api.test.domain.mapper; + +import org.api.test.biz.taxelse.dto.TaxelseDto; +import org.api.test.domain.Lavy; +import org.mapstruct.Mapper; + +@Mapper( + componentModel = "spring" +// unmappedTargetPolicy = ReportingPolicy.ERROR // 누락 시 컴파일 에러 +) +public interface EntityMapper { + + // ===== LAVY ===== + Lavy toEntity(TaxelseDto.Request.PreLavyBody req); + + +}