Commit Graph

108 Commits

Author SHA1 Message Date
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 90464ee33f 성능 튜닝 2026-06-02 18:06:29 +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 01e4e36345 HsmContextSha256KeyDerivationStrategy 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 13:30:37 +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 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 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 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 df1b1f2667 fix: 정상응답 FLAT 왕복 시 MSG 블록 누락 버그 수정 + FLAT 흐름 통합 테스트 추가
[StandardMessageCoordinatorDJB]
coordinateAfterRecvNonStdSyncResponse()에서 dman_rspn_dvcd 미설정 버그 수정.
기본값이 S(요청)이므로, 정상응답 처리 시에도 R(응답)으로 명시적 설정.
→ FlatReader가 MSG 조건(!S) 평가 시 올바르게 블록 포함 판단.

[StandardMessageFlatFlowTest]
비ERP/ERP 요청, 오류응답, 정상응답, 거래로그 시나리오를 포함한
FLAT 직렬화→파싱 왕복 32개 통합 테스트 추가.
elink-online-common submodule 포인터 업데이트 (StandardItem FLAT 버그 픽스 포함).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 10:34:43 +09:00
curry772 cd2ab33a0d fix: 표준헤더 진행번호(SendTime) 처리 수정
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 15:40:59 +09:00
curry772 b39a26350e Merge branch 'feature/jejubank-oauth-bypass' 2026-04-22 14:41:40 +09:00
curry772 bc79b8b166 fix: msg_list → MSG_LIST 대문자 통일 및 rowcnt 값 정수 표기 수정
- standard-layout-djb.csv: msg_list → MSG_LIST 로 변경
- StandardMessageCoordinatorDJB: MSG_LIST 상수 경로 수정,
  msg_list_rowcnt 설정값 "00001" → "1" (NUMBER 타입에 선행 0 불필요)
- StandardLayoutDJBTest: findItem 경로 MSG.msg_list → MSG.MSG_LIST
- StandardMessageSpecTest: JSON 경로 msg_list → MSG_LIST

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 13:39:53 +09:00
curry772 1508d01afb refactor: CSV 기본값 이관 및 EZDATA 조건 평가 동적화
- standard-layout-djb.csv: HEAD ERP 고정값(tx_cmgr_cd=S004, mgmt_brcd/tx_brcd/insl_brcd/blng_brcd=260),
  정상 MSG 필드(outp_msg_cd=NCMM00001, outp_msg_ctnt=정상처리되었습니다.) 기본값 추가,
  msg_list_rowcnt 기본값 00000→0 수정
- StandardMessageCoordinatorDJB: setErpHeadFields() 및 관련 상수 제거,
  coordinateAfterRecvNonStdSyncResponse 명시적 setData 호출 제거 (CSV 기본값으로 대체),
  evaluateBlockCondition() 추가로 EZDATA 활성화 조건을 CSV refPath/refValue에서 동적 평가,
  elfn_spr_fild 설정값을 ezdataItem.getRefValue()로 CSV에서 읽도록 변경
- StandardMessageSpecTest: tx_cmgr_cd가 항상 CSV 기본값으로 설정되므로 비ERP_ERP_HEAD_필드_미설정 테스트 제거
- 작업내역_20260421.md: 리팩터링 내용 반영

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 11:30:17 +09:00
curry772 17d533fe06 feat: 표준전문 스펙 필수 처리 항목 구현 및 테스트 추가
요청 처리:
- ERP 채널(corp_tlwn_virt_brcd=ERP) HEAD 지점코드 자동 설정 (tx_cmgr_cd, mgmt_brcd 등)
- ERP 채널 EZDATA 전자금융공통영역 자동 설정 (elfn_bnkn_dvcd=10, svr_tx_seqno, elfn_mac, IP)

응답 처리:
- coordinateBeforeResponse: guid_prgs_no +1, dman_rspn_dvcd="R" 설정 추가
- coordinateAfterRecvNonStdSyncResponse: 정상 MSG msg_list_rowcnt=0으로 수정, 정상처리 코드/메시지 업데이트

오류 처리:
- coordinateSetStandardMessageError: MSG_LIST에 outp_msg_desc, err_occu_loct 추가

테스트:
- StandardMessageSpecTest: 요청/응답 스펙 전체 62개 항목 검증
- StandardMessageEzdataJsonFlowTest: EZDATA JSON 흐름 22개 검증

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 10:45:08 +09:00
curry772 557a071b1e 표준전문 테스트 추가
- 종료부 제거
- StandardMessageCoodinator 테스트
- StandardMessageManager init 테스트
- JSON 메시지 파싱 테스트
2026-04-20 16:54:38 +09:00
curry772 18b3e781b1 feat: DJBank 차세대 표준전문(R10) 초기 구현
- standard-layout-djb.csv: HEAD(평면구조)/EZDATA/MSG/DATA/전문종료부(@JJ) 레이아웃 정의
- standard-message-mapping-config-djb.properties: 논리키 → 필드경로 매핑 (GUID 40자, guid_prgs_no 별도 필드 등)
- standard-message-config.properties: DJB 클래스로 전환 (CSV 방식)
- GUIDGeneratorDJB: 40자 GUID 생성 (일자+시간+밀리초+시스템코드+노드+세션+Random)
- InterfaceMapperDJB: GUID 40자, guid_prgs_no 독립 필드, 응답코드 S/F 변환
- StandardMessageCoordinatorDJB: 전문 생성/응답/에러 각 단계 후처리
- 단위테스트 45개 전체 통과 (GUIDGenerator/InterfaceMapper/Layout 검증)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 11:46:18 +09:00
curry772 42cbafd67d feature: Content-Type charset 기반 인바운드/아웃바운드 인코딩 처리 2026-04-07 10:15:41 +09:00
curry772 e21f134c11 feature: DJErp OAuth bypass 인바운드 처리 추가
- DJErpApiAdapterController: /dj/** 경로 전용 inbound 라우팅 컨트롤러
- DJErpApiAdapterService: DJErp 전용 어댑터 서비스
- DJErpOAuth2Controller: /dj/oauth/token, /dj/oauth2/token 토큰 발급 (Spring Security 우회)
- DJErpOAuth2AccessTokenRequest/Response: 토큰 요청/응답 VO
- HttpClient5AdapterServiceBypass: HttpClient5 기반 bypass 어댑터 (OAuth 토큰 자동 갱신 포함)
- RestAdapterMethodUrlFallbackRequestAction: URI 경로 세그먼트 축소 fallback 키 탐색 Action
- ApiAdapterController: 전체 주석처리 (비활성화)
- elink-online-common 서브모듈 업데이트

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 00:02:38 +09:00
curry772 10d3ce75c1 URL과 header 값 라우팅 기능 통합 action 개발 2026-03-30 15:54:49 +09:00
cho a3162f62ea system_out 제거 2026-03-03 14:14:54 +09:00
pksup 437fff3506 평균값 계산 로직 보완 2026-02-24 14:13:53 +09:00
cho e4902b70cd Merge branch 'jenkins_with_weblogic' of http://192.168.240.178:18080/eapim/eapim-online.git into jenkins_with_weblogic 2026-02-19 15:53:51 +09:00
cho d1aaff22ac body전문 없는 variablepath 및 예외처리 추가 2026-02-19 15:53:43 +09:00
daekuk 5277c79e8c - 박기섭 이사님 수정내용 반영 2026-02-12 09:15:00 +09:00
cho 349e12f23d error로그 추가 2026-02-10 16:48:33 +09:00
cho db63f0a617 getter 추가 2026-02-09 10:00:43 +09:00