From 6819329a954666ba01be117cd687055015e62a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Fri, 7 Nov 2025 07:38:04 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20model=20=ED=8C=A8=ED=82=A4=EC=A7=80?= =?UTF-8?q?=20=ED=86=B5=ED=95=A9=20(api/model=20->=20api/internal/model)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 패키지 구조 단순화 ## 변경사항 - api/model -> api/internal/model로 이동 - BasicRequest/Response, LedgerRequest/Response는 internal 전용 ## 최종 구조 ``` api/ ├── vo/ # 공통 응답 VO (external/internal 공유) ├── config/ # 공통 설정 ├── VehicleInfoService ├── internal/ │ ├── model/ # 모든 internal 모델 │ │ ├── basic/ (BasicRequest, BasicResponse, VmisCarBassMatterInqireVO) │ │ ├── ledger/ (LedgerRequest, LedgerResponse, VmisCarLedgerFrmbkVO 등) │ │ └── common/ (Envelope) │ ├── client/ │ ├── service/ │ └── ... └── external/ └── service/ ``` ## 장점 ✅ 패키지 구조 단순화 ✅ internal 전용 모델은 internal 안에 ✅ 공통 VO만 api/vo에 빌드 성공 ✅ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../kr/project/api/internal/client/GovernmentApi.java | 10 +++++----- .../api/internal/client/GovernmentApiClient.java | 10 +++++----- .../controller/VehicleInterfaceController.java | 10 +++++----- .../internal/mapper/VmisCarBassMatterInqireMapper.java | 2 +- .../api/internal/mapper/VmisCarLedgerFrmbkMapper.java | 4 ++-- .../model/basic/VmisCarBassMatterInqireVO.java | 4 ++-- .../model/basic}/basic/BasicRequest.java | 2 +- .../model/basic}/basic/BasicResponse.java | 2 +- .../model/common}/common/Envelope.java | 2 +- .../internal/model/ledger/VmisCarLedgerFrmbkDtlVO.java | 2 +- .../internal/model/ledger/VmisCarLedgerFrmbkVO.java | 6 +++--- .../model/ledger}/ledger/LedgerRequest.java | 2 +- .../model/ledger}/ledger/LedgerResponse.java | 2 +- .../service/InternalVehicleInfoServiceImpl.java | 10 +++++----- .../service/VmisCarBassMatterInqireLogService.java | 2 +- .../service/VmisCarBassMatterInqireService.java | 8 ++++---- .../internal/service/VmisCarLedgerFrmbkLogService.java | 4 ++-- .../internal/service/VmisCarLedgerFrmbkService.java | 10 +++++----- .../api/internal/service/VmisRequestEnricher.java | 6 +++--- .../api/internal/util/VehicleResponseMapper.java | 4 ++-- 20 files changed, 51 insertions(+), 51 deletions(-) rename src/main/java/go/kr/project/api/{model => internal/model/basic}/basic/BasicRequest.java (98%) rename src/main/java/go/kr/project/api/{model => internal/model/basic}/basic/BasicResponse.java (99%) rename src/main/java/go/kr/project/api/{model => internal/model/common}/common/Envelope.java (92%) rename src/main/java/go/kr/project/api/{model => internal/model/ledger}/ledger/LedgerRequest.java (97%) rename src/main/java/go/kr/project/api/{model => internal/model/ledger}/ledger/LedgerResponse.java (99%) diff --git a/src/main/java/go/kr/project/api/internal/client/GovernmentApi.java b/src/main/java/go/kr/project/api/internal/client/GovernmentApi.java index 6d46bc9..1dedfa5 100644 --- a/src/main/java/go/kr/project/api/internal/client/GovernmentApi.java +++ b/src/main/java/go/kr/project/api/internal/client/GovernmentApi.java @@ -1,10 +1,10 @@ package go.kr.project.api.internal.client; -import go.kr.project.api.model.basic.BasicRequest; -import go.kr.project.api.model.basic.BasicResponse; -import go.kr.project.api.model.common.Envelope; -import go.kr.project.api.model.ledger.LedgerRequest; -import go.kr.project.api.model.ledger.LedgerResponse; +import go.kr.project.api.internal.model.basic.BasicRequest; +import go.kr.project.api.internal.model.basic.BasicResponse; +import go.kr.project.api.internal.model.common.Envelope; +import go.kr.project.api.internal.model.ledger.LedgerRequest; +import go.kr.project.api.internal.model.ledger.LedgerResponse; import org.springframework.http.ResponseEntity; /** diff --git a/src/main/java/go/kr/project/api/internal/client/GovernmentApiClient.java b/src/main/java/go/kr/project/api/internal/client/GovernmentApiClient.java index 5a2fad4..a39a136 100644 --- a/src/main/java/go/kr/project/api/internal/client/GovernmentApiClient.java +++ b/src/main/java/go/kr/project/api/internal/client/GovernmentApiClient.java @@ -4,11 +4,11 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import go.kr.project.api.config.properties.VmisProperties; import go.kr.project.api.internal.gpki.GpkiService; -import go.kr.project.api.model.basic.BasicRequest; -import go.kr.project.api.model.basic.BasicResponse; -import go.kr.project.api.model.common.Envelope; -import go.kr.project.api.model.ledger.LedgerRequest; -import go.kr.project.api.model.ledger.LedgerResponse; +import go.kr.project.api.internal.model.basic.BasicRequest; +import go.kr.project.api.internal.model.basic.BasicResponse; +import go.kr.project.api.internal.model.common.Envelope; +import go.kr.project.api.internal.model.ledger.LedgerRequest; +import go.kr.project.api.internal.model.ledger.LedgerResponse; import go.kr.project.api.internal.util.TxIdUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Qualifier; diff --git a/src/main/java/go/kr/project/api/internal/controller/VehicleInterfaceController.java b/src/main/java/go/kr/project/api/internal/controller/VehicleInterfaceController.java index 61cc93b..382162c 100644 --- a/src/main/java/go/kr/project/api/internal/controller/VehicleInterfaceController.java +++ b/src/main/java/go/kr/project/api/internal/controller/VehicleInterfaceController.java @@ -1,10 +1,10 @@ package go.kr.project.api.internal.controller; -import go.kr.project.api.model.basic.BasicRequest; -import go.kr.project.api.model.basic.BasicResponse; -import go.kr.project.api.model.common.Envelope; -import go.kr.project.api.model.ledger.LedgerRequest; -import go.kr.project.api.model.ledger.LedgerResponse; +import go.kr.project.api.internal.model.basic.BasicRequest; +import go.kr.project.api.internal.model.basic.BasicResponse; +import go.kr.project.api.internal.model.common.Envelope; +import go.kr.project.api.internal.model.ledger.LedgerRequest; +import go.kr.project.api.internal.model.ledger.LedgerResponse; import go.kr.project.api.internal.service.VmisCarBassMatterInqireService; import go.kr.project.api.internal.service.VmisCarLedgerFrmbkService; import io.swagger.v3.oas.annotations.Operation; diff --git a/src/main/java/go/kr/project/api/internal/mapper/VmisCarBassMatterInqireMapper.java b/src/main/java/go/kr/project/api/internal/mapper/VmisCarBassMatterInqireMapper.java index c8a08a6..6cfdb99 100644 --- a/src/main/java/go/kr/project/api/internal/mapper/VmisCarBassMatterInqireMapper.java +++ b/src/main/java/go/kr/project/api/internal/mapper/VmisCarBassMatterInqireMapper.java @@ -1,6 +1,6 @@ package go.kr.project.api.internal.mapper; -import go.kr.project.api.model.basic.VmisCarBassMatterInqireVO; +import go.kr.project.api.internal.model.basic.VmisCarBassMatterInqireVO; import org.apache.ibatis.annotations.Mapper; /** diff --git a/src/main/java/go/kr/project/api/internal/mapper/VmisCarLedgerFrmbkMapper.java b/src/main/java/go/kr/project/api/internal/mapper/VmisCarLedgerFrmbkMapper.java index 20cfe5a..dd4caeb 100644 --- a/src/main/java/go/kr/project/api/internal/mapper/VmisCarLedgerFrmbkMapper.java +++ b/src/main/java/go/kr/project/api/internal/mapper/VmisCarLedgerFrmbkMapper.java @@ -1,7 +1,7 @@ package go.kr.project.api.internal.mapper; -import go.kr.project.api.model.ledger.VmisCarLedgerFrmbkDtlVO; -import go.kr.project.api.model.ledger.VmisCarLedgerFrmbkVO; +import go.kr.project.api.internal.model.ledger.VmisCarLedgerFrmbkDtlVO; +import go.kr.project.api.internal.model.ledger.VmisCarLedgerFrmbkVO; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/src/main/java/go/kr/project/api/internal/model/basic/VmisCarBassMatterInqireVO.java b/src/main/java/go/kr/project/api/internal/model/basic/VmisCarBassMatterInqireVO.java index d671df8..debe840 100644 --- a/src/main/java/go/kr/project/api/internal/model/basic/VmisCarBassMatterInqireVO.java +++ b/src/main/java/go/kr/project/api/internal/model/basic/VmisCarBassMatterInqireVO.java @@ -1,7 +1,7 @@ -package go.kr.project.api.model.basic; +package go.kr.project.api.internal.model.basic; import go.kr.project.api.config.ApiConstant; -import go.kr.project.api.model.common.Envelope; +import go.kr.project.api.internal.model.common.Envelope; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/src/main/java/go/kr/project/api/model/basic/BasicRequest.java b/src/main/java/go/kr/project/api/internal/model/basic/basic/BasicRequest.java similarity index 98% rename from src/main/java/go/kr/project/api/model/basic/BasicRequest.java rename to src/main/java/go/kr/project/api/internal/model/basic/basic/BasicRequest.java index 527fbd6..4d26e03 100644 --- a/src/main/java/go/kr/project/api/model/basic/BasicRequest.java +++ b/src/main/java/go/kr/project/api/internal/model/basic/basic/BasicRequest.java @@ -1,4 +1,4 @@ -package go.kr.project.api.model.basic; +package go.kr.project.api.internal.model.basic; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/go/kr/project/api/model/basic/BasicResponse.java b/src/main/java/go/kr/project/api/internal/model/basic/basic/BasicResponse.java similarity index 99% rename from src/main/java/go/kr/project/api/model/basic/BasicResponse.java rename to src/main/java/go/kr/project/api/internal/model/basic/basic/BasicResponse.java index 9dfb366..2855ba7 100644 --- a/src/main/java/go/kr/project/api/model/basic/BasicResponse.java +++ b/src/main/java/go/kr/project/api/internal/model/basic/basic/BasicResponse.java @@ -1,4 +1,4 @@ -package go.kr.project.api.model.basic; +package go.kr.project.api.internal.model.basic; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/src/main/java/go/kr/project/api/model/common/Envelope.java b/src/main/java/go/kr/project/api/internal/model/common/common/Envelope.java similarity index 92% rename from src/main/java/go/kr/project/api/model/common/Envelope.java rename to src/main/java/go/kr/project/api/internal/model/common/common/Envelope.java index 4328ee7..dd043c9 100644 --- a/src/main/java/go/kr/project/api/model/common/Envelope.java +++ b/src/main/java/go/kr/project/api/internal/model/common/common/Envelope.java @@ -1,4 +1,4 @@ -package go.kr.project.api.model.common; +package go.kr.project.api.internal.model.common; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/go/kr/project/api/internal/model/ledger/VmisCarLedgerFrmbkDtlVO.java b/src/main/java/go/kr/project/api/internal/model/ledger/VmisCarLedgerFrmbkDtlVO.java index 46dec28..4ae499b 100644 --- a/src/main/java/go/kr/project/api/internal/model/ledger/VmisCarLedgerFrmbkDtlVO.java +++ b/src/main/java/go/kr/project/api/internal/model/ledger/VmisCarLedgerFrmbkDtlVO.java @@ -1,4 +1,4 @@ -package go.kr.project.api.model.ledger; +package go.kr.project.api.internal.model.ledger; import go.kr.project.api.config.ApiConstant; import lombok.AllArgsConstructor; diff --git a/src/main/java/go/kr/project/api/internal/model/ledger/VmisCarLedgerFrmbkVO.java b/src/main/java/go/kr/project/api/internal/model/ledger/VmisCarLedgerFrmbkVO.java index 688a1b9..d51fd4b 100644 --- a/src/main/java/go/kr/project/api/internal/model/ledger/VmisCarLedgerFrmbkVO.java +++ b/src/main/java/go/kr/project/api/internal/model/ledger/VmisCarLedgerFrmbkVO.java @@ -1,4 +1,4 @@ -package go.kr.project.api.model.ledger; +package go.kr.project.api.internal.model.ledger; import go.kr.project.api.config.ApiConstant; import lombok.AllArgsConstructor; @@ -18,7 +18,7 @@ import lombok.NoArgsConstructor; public class VmisCarLedgerFrmbkVO { // ==== Static factory/mapping methods (moved from Service) ==== - public static VmisCarLedgerFrmbkVO fromRequest(go.kr.project.api.model.ledger.LedgerRequest request) { + public static VmisCarLedgerFrmbkVO fromRequest(go.kr.project.api.internal.model.ledger.LedgerRequest request) { return VmisCarLedgerFrmbkVO.builder() .infoSysId(request.getInfoSysId()) .infoSysIp(request.getInfoSysIp()) @@ -32,7 +32,7 @@ public class VmisCarLedgerFrmbkVO { .build(); } - public static VmisCarLedgerFrmbkVO fromResponseMaster(String id, go.kr.project.api.model.ledger.LedgerResponse res) { + public static VmisCarLedgerFrmbkVO fromResponseMaster(String id, go.kr.project.api.internal.model.ledger.LedgerResponse res) { return VmisCarLedgerFrmbkVO.builder() .carLedgerFrmbkId(id) // 등록원부 ID .cntcResultCode(res.getCntcResultCode()) // 연계 결과 코드 diff --git a/src/main/java/go/kr/project/api/model/ledger/LedgerRequest.java b/src/main/java/go/kr/project/api/internal/model/ledger/ledger/LedgerRequest.java similarity index 97% rename from src/main/java/go/kr/project/api/model/ledger/LedgerRequest.java rename to src/main/java/go/kr/project/api/internal/model/ledger/ledger/LedgerRequest.java index 265e3ab..aee7d99 100644 --- a/src/main/java/go/kr/project/api/model/ledger/LedgerRequest.java +++ b/src/main/java/go/kr/project/api/internal/model/ledger/ledger/LedgerRequest.java @@ -1,4 +1,4 @@ -package go.kr.project.api.model.ledger; +package go.kr.project.api.internal.model.ledger; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/go/kr/project/api/model/ledger/LedgerResponse.java b/src/main/java/go/kr/project/api/internal/model/ledger/ledger/LedgerResponse.java similarity index 99% rename from src/main/java/go/kr/project/api/model/ledger/LedgerResponse.java rename to src/main/java/go/kr/project/api/internal/model/ledger/ledger/LedgerResponse.java index 6f3f3c2..8dbf360 100644 --- a/src/main/java/go/kr/project/api/model/ledger/LedgerResponse.java +++ b/src/main/java/go/kr/project/api/internal/model/ledger/ledger/LedgerResponse.java @@ -1,4 +1,4 @@ -package go.kr.project.api.model.ledger; +package go.kr.project.api.internal.model.ledger; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/src/main/java/go/kr/project/api/internal/service/InternalVehicleInfoServiceImpl.java b/src/main/java/go/kr/project/api/internal/service/InternalVehicleInfoServiceImpl.java index c387a60..31e4b90 100644 --- a/src/main/java/go/kr/project/api/internal/service/InternalVehicleInfoServiceImpl.java +++ b/src/main/java/go/kr/project/api/internal/service/InternalVehicleInfoServiceImpl.java @@ -4,11 +4,11 @@ import go.kr.project.api.VehicleInfoService; import go.kr.project.api.vo.VehicleApiResponseVO; import go.kr.project.api.vo.VehicleBasicInfoVO; import go.kr.project.api.vo.VehicleLedgerVO; -import go.kr.project.api.model.basic.BasicRequest; -import go.kr.project.api.model.basic.BasicResponse; -import go.kr.project.api.model.common.Envelope; -import go.kr.project.api.model.ledger.LedgerRequest; -import go.kr.project.api.model.ledger.LedgerResponse; +import go.kr.project.api.internal.model.basic.BasicRequest; +import go.kr.project.api.internal.model.basic.BasicResponse; +import go.kr.project.api.internal.model.common.Envelope; +import go.kr.project.api.internal.model.ledger.LedgerRequest; +import go.kr.project.api.internal.model.ledger.LedgerResponse; import go.kr.project.api.internal.util.VehicleResponseMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/go/kr/project/api/internal/service/VmisCarBassMatterInqireLogService.java b/src/main/java/go/kr/project/api/internal/service/VmisCarBassMatterInqireLogService.java index 34925b6..7e499f8 100644 --- a/src/main/java/go/kr/project/api/internal/service/VmisCarBassMatterInqireLogService.java +++ b/src/main/java/go/kr/project/api/internal/service/VmisCarBassMatterInqireLogService.java @@ -1,7 +1,7 @@ package go.kr.project.api.internal.service; import go.kr.project.api.internal.mapper.VmisCarBassMatterInqireMapper; -import go.kr.project.api.model.basic.VmisCarBassMatterInqireVO; +import go.kr.project.api.internal.model.basic.VmisCarBassMatterInqireVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/src/main/java/go/kr/project/api/internal/service/VmisCarBassMatterInqireService.java b/src/main/java/go/kr/project/api/internal/service/VmisCarBassMatterInqireService.java index 0ba1f45..3356a95 100644 --- a/src/main/java/go/kr/project/api/internal/service/VmisCarBassMatterInqireService.java +++ b/src/main/java/go/kr/project/api/internal/service/VmisCarBassMatterInqireService.java @@ -3,10 +3,10 @@ package go.kr.project.api.internal.service; import go.kr.project.api.internal.client.GovernmentApi; import go.kr.project.api.config.ApiConstant; import go.kr.project.api.internal.util.ExceptionDetailUtil; -import go.kr.project.api.model.basic.BasicRequest; -import go.kr.project.api.model.basic.BasicResponse; -import go.kr.project.api.model.basic.VmisCarBassMatterInqireVO; -import go.kr.project.api.model.common.Envelope; +import go.kr.project.api.internal.model.basic.BasicRequest; +import go.kr.project.api.internal.model.basic.BasicResponse; +import go.kr.project.api.internal.model.basic.VmisCarBassMatterInqireVO; +import go.kr.project.api.internal.model.common.Envelope; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; diff --git a/src/main/java/go/kr/project/api/internal/service/VmisCarLedgerFrmbkLogService.java b/src/main/java/go/kr/project/api/internal/service/VmisCarLedgerFrmbkLogService.java index 25ee0ee..f2caf05 100644 --- a/src/main/java/go/kr/project/api/internal/service/VmisCarLedgerFrmbkLogService.java +++ b/src/main/java/go/kr/project/api/internal/service/VmisCarLedgerFrmbkLogService.java @@ -1,8 +1,8 @@ package go.kr.project.api.internal.service; import go.kr.project.api.internal.mapper.VmisCarLedgerFrmbkMapper; -import go.kr.project.api.model.ledger.VmisCarLedgerFrmbkDtlVO; -import go.kr.project.api.model.ledger.VmisCarLedgerFrmbkVO; +import go.kr.project.api.internal.model.ledger.VmisCarLedgerFrmbkDtlVO; +import go.kr.project.api.internal.model.ledger.VmisCarLedgerFrmbkVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/src/main/java/go/kr/project/api/internal/service/VmisCarLedgerFrmbkService.java b/src/main/java/go/kr/project/api/internal/service/VmisCarLedgerFrmbkService.java index 8a09fcb..7d13a1b 100644 --- a/src/main/java/go/kr/project/api/internal/service/VmisCarLedgerFrmbkService.java +++ b/src/main/java/go/kr/project/api/internal/service/VmisCarLedgerFrmbkService.java @@ -2,11 +2,11 @@ package go.kr.project.api.internal.service; import go.kr.project.api.internal.client.GovernmentApi; import go.kr.project.api.config.ApiConstant; -import go.kr.project.api.model.common.Envelope; -import go.kr.project.api.model.ledger.VmisCarLedgerFrmbkDtlVO; -import go.kr.project.api.model.ledger.VmisCarLedgerFrmbkVO; -import go.kr.project.api.model.ledger.LedgerRequest; -import go.kr.project.api.model.ledger.LedgerResponse; +import go.kr.project.api.internal.model.common.Envelope; +import go.kr.project.api.internal.model.ledger.VmisCarLedgerFrmbkDtlVO; +import go.kr.project.api.internal.model.ledger.VmisCarLedgerFrmbkVO; +import go.kr.project.api.internal.model.ledger.LedgerRequest; +import go.kr.project.api.internal.model.ledger.LedgerResponse; import go.kr.project.api.internal.util.ExceptionDetailUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/go/kr/project/api/internal/service/VmisRequestEnricher.java b/src/main/java/go/kr/project/api/internal/service/VmisRequestEnricher.java index 052e756..ad118eb 100644 --- a/src/main/java/go/kr/project/api/internal/service/VmisRequestEnricher.java +++ b/src/main/java/go/kr/project/api/internal/service/VmisRequestEnricher.java @@ -1,9 +1,9 @@ package go.kr.project.api.internal.service; import go.kr.project.api.config.properties.VmisProperties; -import go.kr.project.api.model.basic.BasicRequest; -import go.kr.project.api.model.common.Envelope; -import go.kr.project.api.model.ledger.LedgerRequest; +import go.kr.project.api.internal.model.basic.BasicRequest; +import go.kr.project.api.internal.model.common.Envelope; +import go.kr.project.api.internal.model.ledger.LedgerRequest; import org.springframework.stereotype.Component; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/go/kr/project/api/internal/util/VehicleResponseMapper.java b/src/main/java/go/kr/project/api/internal/util/VehicleResponseMapper.java index 877653d..722d84d 100644 --- a/src/main/java/go/kr/project/api/internal/util/VehicleResponseMapper.java +++ b/src/main/java/go/kr/project/api/internal/util/VehicleResponseMapper.java @@ -2,8 +2,8 @@ package go.kr.project.api.internal.util; import go.kr.project.api.vo.VehicleBasicInfoVO; import go.kr.project.api.vo.VehicleLedgerVO; -import go.kr.project.api.model.basic.BasicResponse; -import go.kr.project.api.model.ledger.LedgerResponse; +import go.kr.project.api.internal.model.basic.BasicResponse; +import go.kr.project.api.internal.model.ledger.LedgerResponse; import java.util.ArrayList; import java.util.Collections;