curry772
cc315f2ad0
에러응답 처리 수정
2026-06-17 13:53:46 +09:00
curry772
7b9862e34b
DJB 요건에 맞춤
...
- EZDATA_SVR_TX_SEQNO 생성 로직 변경
- 환경구분 변경이 운영환경인 경우, P로 설정되도록 수정
2026-06-17 09:25:05 +09:00
curry772
ec9c6d8553
KJB 필터 및 Util 정리
2026-06-15 15:02:47 +09:00
curry772
a01ee024c0
djbank에 커스텀 될 AdapterErrorMsgHandler 추가
2026-06-15 14:47:01 +09:00
curry772
7346c3070d
eaiSvcCd 추출 로직 변경
...
- StandarMessage에 이미 eaiSvcCd가 설정되어 있으면 그것을 이용(비표준)
- 표준전문에서 조합하도록 수정(표준)
2026-06-12 09:07:40 +09:00
curry772
9a597a52ac
afterFoundEaiMessage 함수에 프러퍼티 이용 헤더매핑 로직 추가
...
- DJB_IN_HTTHEAD_STDHEAD_MAPPING 프러퍼티 그룹 이용
2026-06-12 09:05:50 +09:00
curry772
5653a183eb
GUID 생성 시 시스템코드 OPA 사용으로 변경
2026-06-12 09:01:27 +09:00
curry772
0e3a612bc0
TemplateAdapterErrorMsgHandler 를 이용하여 오류메시지 생성할 수 있도록 변경
2026-06-09 13:49:32 +09:00
curry772
68c29b962e
feat: StandardMessageCoordinatorDJB에 callProp refValue 값 주입 기능 추가
...
- coordinateAfterCreateMessageByRule에서 StandardItem의 refValue가
\${callProp.키} 패턴이면 Properties에서 값을 꺼내 setValue로 설정한다.
- \${callProp.키:기본값} 구문으로 기본값 지정 가능
- 점(.) 구분으로 Properties/Map 중첩 구조 탐색 지원
- GROUP 타입 재귀 순회, GRID/FARRAY는 건너뜀
2026-06-05 17:20:09 +09:00
curry772
dafe80f8bc
fix: SiftingAppender 파일 락 해결 및 거래 로그 on/off 제어 추가
...
- DJErpApiAdapterController: MDC 제어를 TxSiftContext.begin/end로 교체
- TxSiftContext.end()를 별도 finally로 분리하여 항상 실행 보장
- elink-online-core: Logger SiftingAppender 개선 (submodule)
- elink-online-common: TxSiftContext 추가 (submodule)
2026-06-05 14:06:40 +09:00
curry772
90464ee33f
성능 튜닝
2026-06-02 18:06:29 +09:00
curry772
60e6b30c9b
api id, eai svc cd 추출 부분 ApiKeyExtractFilter로 이동
2026-06-02 18:06:19 +09:00
curry772
7d89d6d43e
XML 메시지 지원
2026-06-02 08:30:51 +09:00
curry772
7109c56623
DJBank에 필요없는 클래스 정리
...
- 타 사이트 설정파일 및 표준전문 클래스
2026-06-01 09:57:06 +09:00
curry772
eff7b31490
암복호화 함수 이름 변경 및 단위테스트 추가
...
- 클래스이름 오타 수정
- Parser 단위 테스트 추가
2026-06-01 08:58:08 +09:00
curry772
e2950a339f
API 수신 RequestMapping 추가
2026-05-28 13:31:35 +09:00
curry772
01e4e36345
HsmContextSha256KeyDerivationStrategy 추가
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 13:30:37 +09:00
curry772
698b3ca7b6
JWT 서명 알고리즘 RS256 → PS256 교체 — AuthorizationServerConfig
...
PssJwtAccessTokenConverter 적용
- jwtAccessTokenConverter()에서 PssJwtAccessTokenConverter 사용으로 변경
- 기존 JwtAccessTokenConverter + setKeyPair() → new
PssJwtAccessTokenConverter(privateKey, publicKey)
- PEM 도출·setVerifierKey() 호출은 생성자 내부로 이전
- elink-online-common 서브모듈 업데이트 (RsaPssSigner, RsaPssVerifier,
PssJwtAccessTokenConverter 추가)
2026-05-28 13:28:41 +09:00
curry772
c74d1777df
Dynamic IV 도출 지원 — DerivedKey iv 필드 추가, HsmKeyAndIvDerivationStrategy 구현
2026-05-27 13:48:23 +09:00
curry772
c95307901e
DJBErp -> DJB 클래스 이름 첨자 변경
2026-05-27 10:49:22 +09:00
curry772
82998b475c
DJBRequestProcessor Override 메소드 시그니쳐 변경
2026-05-27 10:32:08 +09:00
curry772
7336267b32
Reload/RemoveInflowClientControlCommand 패키지 이동
2026-05-27 10:30:54 +09:00
curry772
4f54ee5259
클라이언트 유량제어 eapim-online 이동
2026-05-26 16:33:15 +09:00
curry772
912a282b54
body 전체 암복호화 대상 필터 (설계서 작성 코딩)
2026-05-26 15:16:54 +09:00
curry772
e8c379f3c7
대상 없는 암복호화 필터 제거
2026-05-26 13:43:10 +09:00
curry772
6ab138b63a
전체 body 암호화를 사용하지 않는 기관의 필터 제거
...
- 카카오페이, 네이버페이
2026-05-26 13:41:29 +09:00
curry772
c2ad7be7e4
전체암호화를 상용하지 않는 기관의 필터 제거
...
- 카카오페이, 네이버페이
2026-05-26 13:40:52 +09:00
curry772
aea4134437
Erp 응답용 외부 암호화 없음
2026-05-26 13:28:32 +09:00
curry772
bf91d02be7
암복호화 function 개발
...
- 암호화모듈서비스(CryptoModuleService)를 호출하여 암복호화 수행하는 function
2026-05-26 10:15:22 +09:00
curry772
9fcce55966
coordinateAfterParsing 수정
2026-05-26 09:54:53 +09:00
curry772
1f285c3bfd
DJBank 암복호화필터 설계
...
- 기관별 InCryptoFilter를 상속한 필터 설계
- 기관별 OutCryptoFilter를 상송한 필터 설계
- 대상 기관 : 카카오뱅크, 카카오페이, 네이버Fn, 토스뱅크, 제주은행, DJErp
2026-05-26 09:51:53 +09:00
curry772
202538c50c
거래파일로그(SIFT_LOGGER) 출력기능 개발
...
- UUID별로 거래파일로그 생성
2026-05-19 11:19:39 +09:00
curry772
c34a2c019b
분별 통계 메트릭 로직 변경
...
- totoalCnt는 400시점으로 변경
- 시간 메트릭 생성 동작 기본값 false로 기본 처리하지 않도록 변경
2026-05-18 10:46:43 +09:00
curry772
656cd39d30
refactor: CryptoFilter → InCryptoFilter 참조 교체 및 서브모듈 업데이트
...
- DJBErpCryptoFilter: CryptoFilter → InCryptoFilter 상속 변경
- EncFieldCryptoFilter: BaseCryptoFilter → InCryptoFilter 사용으로 변경
- DJErpApiAdapterService: CryptoFilter.PROP_MODULE_NAME → AbstractCryptoFilter.PROP_MODULE_NAME
- elink-online-common 서브모듈 feature/cryptofilter 브랜치 반영
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 11:26:50 +09:00
curry772
7be74095c5
refactor: HttpAdapterFilterFactoryKjb 제거 - elink-online-common 서브모듈 업데이트
...
- DJErpApiAdapterController 임포트를 HttpAdapterFilterFactory로 교체
- elink-online-common 서브모듈 포인터 업데이트 (c4a250d)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 16:18:22 +09:00
curry772
28b233aeff
refactor: HttpClient5 어댑터 필터 패키지를 elink-online-common으로 이동
...
- custom/kjb/adapter/http/client/filter/ 패키지 삭제 (elink-online-common으로 이동)
- custom/kjb/adapter/http/client/impl/HttpClient5AdapterServiceRestAddFilter.java 삭제
- elink-online-common 서브모듈 업데이트
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 15:58:32 +09:00
curry772
158987b367
feat: EncFieldCryptoFilter 추가 및 DJErp 어댑터 암호화 모듈 연동
...
- EncFieldCryptoFilter 추가: /encryptedData 경로 고정 CryptoFilter 구현체
(CryptoAdapterFilter 대체, custom 패키지로 분리)
- DJErpApiAdapterService: CRYPTO_MODULE_NAME 프로퍼티 transactionProp에 전달
- elink-online-common 서브모듈 업데이트
(CryptoFilter UPPER_UNDERSCORE 키, HSM 통합 테스트 포함)
- elink-online-transformer 서브모듈 업데이트
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 13:30:09 +09:00
curry772
547232bb26
feat: HSM 키 파생 전략 elink-online-common으로 이동 및 서브모듈 업데이트
...
- HsmContextSha256KeyDerivationStrategy: custom 패키지에서 elink-online-common으로 이동
- elink-online-common: feature/crypto-module 브랜치 (HSM 전략 클래스 + master 머지)
- elink-online-core-jpa: CryptoModuleConfig JPA Entity 및 Loader 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-12 16:34:20 +09:00
curry772
c2ad6d2423
Merge branch 'feature/inflow-control-improvement' into master
2026-05-08 10:51:48 +09:00
curry772
d46fa8bd1a
refactor: 클라이언트 버킷 상태 모니터링 custom.inflow 패키지로 분리
...
- InflowTargetBucketService/Controller에서 클라이언트 관련 메서드/엔드포인트 제거
- ClientInflowTargetBucketService/Controller를 custom.inflow 패키지에 신규 생성
(ClientInflowTargetMetricService/Controller 패턴과 일치)
- 관련 단위 테스트 추가 및 기존 테스트에서 클라이언트 케이스 제거
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-08 10:22:15 +09:00
curry772
31171d0187
feat: 클라이언트 유량제어/RequestProcessor custom 패키지로 분리
...
- DJBRequestProcessor: inbound.processor → custom.inbound.processor 이동
- ClientInflowTargetMetricService/Controller: custom.inflow 패키지 신규 생성
클라이언트 메트릭 API(/manage/inflow/client/**)를 InflowTargetMetric*에서 분리
- InflowTargetMetricService/Controller: 클라이언트 관련 메서드/엔드포인트 제거
- InflowTargetBucketService: getClientDualManager() 분리 반영
- standard-message-config.properties: requestProcessor.class 경로 업데이트
- 단위 테스트: ClientInflowTargetMetric{Service,Controller}Test 추가,
기존 테스트에서 클라이언트 케이스 분리
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-07 18:02:51 +09:00
curry772
dd02c5902e
feat: DJB ERP 연동 암복호화 필터 추가 및 단위테스트 작성
...
- DJBErpCryptoFilter: CryptoFilter 상속, httpHeaderGroup 헤더 JSON에서
x-emp-nm(groupSeq|empNo) 파싱 → groupSeq를 runtimeContext로 전달
- DJBErpCryptoFilterTest: 17개 단위테스트 (buildRuntimeContext/doPreFilter/doPostFilter)
- elink-online-common 서브모듈 업데이트 (CryptoFilter 기반 클래스 포함)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-07 15:04:01 +09:00
curry772
c225104711
feat: 암호화모듈 프레임워크 적용 및 사이트 특화 전략 추가
...
- 서브모듈 포인터 업데이트 (elink-online-common, elink-online-core-jpa)
- HsmContextSha256KeyDerivationStrategy: SHA-256(masterKey || contextValue) 키 도출 전략
elink-online-common에서 eapim-online custom 패키지로 분리 (사이트 의존성)
FQCN: com.eactive.eai.custom.security.keyderiv.strategy.HsmContextSha256KeyDerivationStrategy
- HsmContextSha256KeyDerivationStrategyTest 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 16:50:17 +09:00
curry772
efcc7fe208
Merge branch 'feature/inflow-control-improvement'
...
- AbstractInflowControlManager 상속 구조 리팩토링
- DualInflowControlManager DAO 이중 호출 제거 및 타겟 메트릭 추가
- 어댑터/인터페이스/클라이언트 유량제어 메트릭 API 추가
- 관련 단위테스트 수정 및 추가
2026-04-30 10:17:15 +09:00
curry772
8bcbee7e52
feat: 어댑터/인터페이스/클라이언트 유량제어 메트릭 API 추가
...
InflowTargetMetricController / InflowTargetMetricService / TargetMetricDTO 추가.
어댑터·인터페이스·클라이언트별 허용/초당거절/임계거절 카운터 조회 및 초기화 API 제공.
단위테스트: InflowTargetMetricServiceTest(26건), InflowTargetMetricControllerTest(16건).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-30 10:16:10 +09:00
curry772
04aa0df977
refactor: InflowGroupBucketService / InflowTargetBucketService AbstractInflowControlManager 타입 적용
...
서브모듈 리팩토링(AbstractInflowControlManager 분리)에 맞춰
InflowControlManager.getInstance() 호출을 InflowControlUtil.getInflowControlManager()로 변경.
반환 타입을 AbstractInflowControlManager로 통일.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-30 10:15:55 +09:00
curry772
2eeee58d35
test: 버킷 상태 모니터링 Service/Controller 단위 테스트 추가
...
getDualManager()를 protected로 변경하여 서브클래스 오버라이드 방식으로 mock 주입
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-29 15:15:18 +09:00
curry772
5f24bacd48
feat: 어댑터/인터페이스/클라이언트 버킷 상태 모니터링 API 추가
...
- InflowTargetBucketController: 버킷 상태 조회 REST API
GET /manage/inflow/adapter/bucket-status
GET /manage/inflow/adapter/{adapterId}/bucket-status
GET /manage/inflow/interface/bucket-status
GET /manage/inflow/interface/{interfaceId}/bucket-status
GET /manage/inflow/client/bucket-status
GET /manage/inflow/client/{clientId}/bucket-status
- InflowTargetBucketService: DualInflowControlManager 에서 버킷 상태 조회
- TargetBucketStatusDTO: 어댑터/인터페이스/클라이언트 공통 버킷 상태 DTO
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-29 14:59:26 +09:00
curry772
745df6d073
Merge branch 'feature/inflow-control-improvement' into master
2026-04-27 17:25:10 +09:00
curry772
4a41398f03
Merge branch 'feature/jejubank-oauth-bypass' into master
2026-04-27 16:42:03 +09:00