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>
This commit is contained in:
curry772
2026-04-20 11:46:18 +09:00
parent 51724ab0f5
commit 18b3e781b1
9 changed files with 1252 additions and 4 deletions
@@ -0,0 +1,30 @@
# DJBank(제주은행) 표준전문 필드 매핑 설정
# InterfaceMapper 논리키 = 표준전문 필드 경로
# HEAD 영역 (평면 구조)
GUID=HEAD.guid
GUID_SEQ=HEAD.guid_prgs_no
GUID_ORG=HEAD.ortr_guid
SERVICE_ID=HEAD.tx_id
INTERFACE_ID=HEAD.if_id
SEND_RECV_DIVISION=HEAD.dman_rspn_dvcd
IN_EX_DIVISION=HEAD.hmab_dvcd
OPERATION_ENV=HEAD.sys_env_dvcd
FIRST_REQ_IP=HEAD.frst_trnm_ipad
RECOVER_YN=HEAD.ortr_restr_yn
SESSION_ID=HEAD.mci_sesn_id
SYNC_ASYNC_TYPE=HEAD.synz_dvcd
CHANNEL_TYPE_CD=HEAD.chnl_tycd
CHANNEL_DETAIL_CD=HEAD.chnl_dtls_clcd
SEND_TIME=HEAD.frst_mesg_dman_time
RECV_TIME=HEAD.mesg_rspn_time
SYSTEM_TYPE=HEAD.trnm_sys_dvcd
TIMEOUT=HEAD.gnrz_tmot_tktm
INST_CODE=HEAD.eai_node_dvcd
USER_ID=HEAD.tlrno
REQ_SYS_CODE=HEAD.chnl_tycd
# MSG 영역 (응답 시 활성화)
ERROR_CODE=MSG.MAIN_MSG.outp_msg_cd
ERROR_MSG=MSG.MAIN_MSG.outp_msg_ctnt
RESPONSE_TYPE=HEAD.procs_rslt_dvcd
RETURN_VALUE=
RETURN_SERVICE_ID=