From 616b2a36f3c4026fe774981de1981c8913d93143 Mon Sep 17 00:00:00 2001 From: yunjy-hp Date: Tue, 9 Dec 2025 13:47:00 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=91=EC=A3=BC=EC=9D=80=ED=96=89=20?= =?UTF-8?q?=ED=91=9C=EC=A4=80=EC=A0=84=EB=AC=B8=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- http/non-to-standard-api.http | 15 +- http/standard-api.http | 11 +- .../KJB_StandardMessage_R10_20251208.md | 220 +++++++++++++++++ .../eai/custom/message/GUIDGeneratorKJB.java | 35 ++- .../custom/message/InterfaceMapperKJB.java | 2 +- .../StandardMessageCoordinatorKJB.java | 185 ++++++++++++++ src/main/resources/standard-layout-kjb.csv | 233 ++++++++++++++++++ .../standard-message-config.properties | 8 +- ...dard-message-mapping-config-kjb.properties | 52 ++++ 9 files changed, 735 insertions(+), 26 deletions(-) create mode 100644 kjb-docs/std-deploy/KJB_StandardMessage_R10_20251208.md create mode 100644 src/main/java/com/eactive/eai/custom/message/StandardMessageCoordinatorKJB.java create mode 100644 src/main/resources/standard-layout-kjb.csv create mode 100644 src/main/resources/standard-message-mapping-config-kjb.properties diff --git a/http/non-to-standard-api.http b/http/non-to-standard-api.http index a74020b..66e35de 100644 --- a/http/non-to-standard-api.http +++ b/http/non-to-standard-api.http @@ -1,5 +1,15 @@ ### 비표준 -> 표준 테스트 -POST http://localhost:7080/api/test/case012 +POST http://localhost:10210/api/test/case012 +Content-Type: application/json +Accept: application/json + +{ + "field1": "aaaa", + "field2": "bbbb" +} + +### 비표준 -> 비표준 테스트 +POST http://localhost:10210/api/test/case001 Content-Type: application/json Accept: application/json @@ -7,5 +17,4 @@ Accept: application/json "serviceId": "TST10001", "aaa": "aaaa", "bbb": "bbbb" -} - +} \ No newline at end of file diff --git a/http/standard-api.http b/http/standard-api.http index bb7b2b4..f5c0661 100644 --- a/http/standard-api.http +++ b/http/standard-api.http @@ -1,10 +1,5 @@ ### 기본 테스트 -POST http://localhost:7080/api/test/case001 -Content-Type: application/json -Accept: application/json +POST http://localhost:10210/HTT/TstInHttSysStd +Content-Type: text/plain; charset=ms949 -{ - "serviceId": "TST10001", - "aaa": "aaaa", - "bbb": "bbbb" -} \ No newline at end of file +000010163034ITRT97774O20251203100415P00421003SR1010.15.11.86 ITREAI0201M2192614300070MCI 034LAC01613021 TESTCASE001 A1OBPOOY034ITRT97774O20251203100415P0042100103403330003330333TITR01T97774LAC016130SC002307110953LAC016130SC00.scn KORN00 0000000000NN 20251203N202660016 N N NN NN 00000000000000000000000000000000000000000000000000000000000004N2025120310041542202512031004155520251203100415415N 003 IO00000015{"key":"value"}@@ \ No newline at end of file diff --git a/kjb-docs/std-deploy/KJB_StandardMessage_R10_20251208.md b/kjb-docs/std-deploy/KJB_StandardMessage_R10_20251208.md new file mode 100644 index 0000000..44e73d9 --- /dev/null +++ b/kjb-docs/std-deploy/KJB_StandardMessage_R10_20251208.md @@ -0,0 +1,220 @@ +Header 헤더부 1 3 1 1 0 1 +Sys_Info 시스템식별 2 3 1 1 0 1 +STND_MESG_LEN 표준전문길이 3 2 1 1 8 12 +ENCD_CMPI_DVCD 암호화압축구분코드 3 2 1 1 1 1 0 +GUID GUID 3 2 1 1 36 1 +MESG_DMAN_DVCD 전문요청구분코드 3 2 1 1 1 1 S +MESG_VER_NO 전문버전번호 3 2 1 1 3 1 R10 +Src_System 전송시스템 2 3 1 1 0 1 +FRST_TRNM_IPAD 최초전송IP주소 3 2 1 1 39 1 +FRST_TRNM_SYS_CD 최초전송시스템코드 3 2 1 1 3 1 API +TRNM_SYS_CD 전송시스템코드 3 2 1 1 3 1 +TRNM_NODE_NO 전송노드번호 3 2 1 1 4 1 +MCI_SESN_ID MCI세션ID 3 2 1 1 8 1 +GNRZ_TMOT_TKTM 총괄타임아웃시간 3 2 1 1 3 1 070 +TX_TMOT_TKTM 거래타임아웃시간 3 2 1 1 3 1 060 +KJB_Add KJB추가 2 3 1 1 0 1 +OTSD_DMAN_SYS_CD 대외요청시스템코드 3 2 1 1 3 1 OBP +EAI_NODE_NO EAI노드번호 3 2 1 1 2 1 +FEP_NODE_NO FEP노드번호 3 2 1 1 2 1 +FEP_SESN_ID FEP세션ID 3 2 1 1 6 1 +Spare_Zone 예비영역 2 3 1 1 0 1 +HEDR_SPR_CTNT 헤더예비영역 3 2 1 1 25 1 +Common 공통부 1 3 1 1 0 1 +Service_info 거래서비스정보 2 3 1 1 0 1 +GROUP_CMP_CD 그룹회사코드 3 2 1 1 3 1 034 +SRVC_ID 서비스ID 3 2 1 1 11 1 +PROCS_RSLT_RCMS_SRVC_ID 처리결과수신서비스ID 3 2 1 1 11 1 +IF_ID 인터페이스ID 3 2 1 1 20 1 +TX_SYNZ_DVCD 거래동기화구분코드 3 2 1 1 1 1 +HMAB_DVCD 내외구분코드 3 2 1 1 1 1 2 +OTSD_CHNL_INST_CD 대외채널기관코드 3 2 1 1 3 1 +SYS_OPRT_ENV_DVCD 시스템운영환경구분코드 3 2 1 1 1 1 +TX_TYP_DVCD 거래유형구분코드 3 2 1 1 1 1 O +ORTR_RESTR_YN 원거래복원여부 3 2 1 1 1 1 +ORTR_GUID 원거래GUID 3 2 1 1 36 1 +Channel_Info 채널정보 2 3 1 1 0 1 +BANK_CD 은행코드 3 2 1 1 3 1 +TX_BRCD 거래부점코드 3 2 1 1 4 1 +DSPC_RCV_BRN_DVCD 파출수납부점구분코드 3 2 1 1 2 1 +RLTR_BRCD 실거래부점코드 3 2 1 1 4 1 +TRMN_INSL_BRCD 단말설치부점코드 3 2 1 1 4 1 +CHNL_TYCD 채널유형코드 3 2 1 1 1 1 +CHNL_DTLS_CLCD 채널세부분류코드 3 2 1 1 3 1 +TMNL_KIND_DVCD 단말기종류구분코드 3 2 1 1 2 1 +TRMN_NO 단말번호 3 2 1 1 6 1 +SCN_NO 화면번호 3 2 1 1 13 1 +SCN_FILE_VER 화면파일버전 3 2 1 1 10 2 +SCN_FILE_NM 화면파일명 3 2 1 1 30 1 +LANG_DVCD 언어구분코드 3 2 1 1 3 1 KOR +CHNL_COM_SCTN_EXIS_YN 채널공통부문존재여부 3 2 1 1 1 1 N +Confirm_Info 승인정보 2 3 1 1 0 1 +PRCG_APRV_PROCS_STCD 책임자승인처리상태코드 3 2 1 1 1 1 +PRCG_APRV_TYCD 책임자승인유형코드 3 2 1 1 1 1 +APRV_PRCG_EMPNO 승인책임자직원번호 3 2 1 1 7 1 +NURN_RSBT_EMPNO 차상위책임직원번호 3 2 1 1 7 1 +PRCG_APRV_SEQNO 책임자승인일련번호 3 2 1 1 10 2 +NURN_AGNCY_APRV_YN 차상위대행승인여부 3 2 1 1 1 1 +DSGT_PRCG_CHNG_YN 지정책임자변경여부 3 2 1 1 1 1 +CHNG_DSGT_PRCG_EMPNO 변경지정책임자직원번호 3 2 1 1 7 1 +PRCG_APRV_DMAN_RSN 책임자승인요청사유 3 2 1 1 40 1 +PRCG_APRV_RSN 책임자승인사유 3 2 1 1 40 1 +BizProc_Info 업무처리정보 2 3 1 1 0 1 +BZOP_DT 영업일자 3 2 1 1 8 1 +ANTT_YN 계정처리여부 3 2 1 1 1 1 +MESG_IQRY_DVCD 전문조회구분코드 3 2 1 1 1 1 +ATMC_CLSN_DVCD 자동화기기마감구분코드 3 2 1 1 1 1 +TLRNO 텔러번호 3 2 1 1 7 1 +ASST_TLRNO 보조텔러번호 3 2 1 1 7 1 +PSWD_VALDTN_YN 비밀번호검증여부 3 2 1 1 1 1 +TX_TELR_PSWD 거래텔러비밀번호 3 2 1 1 44 1 +CSIF_IDNT_DVCD 고객정보식별구분코드 3 2 1 1 3 1 +CSIF_ID 고객정보ID 3 2 1 1 30 1 +CSIF_CUST_NM 고객정보고객명 3 2 1 1 30 1 +CSIF_MASK_REVOC_YN 고객정보마스크해제여부 3 2 1 1 1 1 +CUST_PTLET_MASK_YN 고객포틀릿마스크여부 3 2 1 1 1 1 +IDC_IMG_NO 신분증이미지번호 3 2 1 1 32 1 +SMTWKP_TX_YN 스마트워크플레이스거래여부 3 2 1 1 1 1 +SECU_ACCO_REG_YN 보안계좌등록여부 3 2 1 1 1 1 +ABC_TX_DTLS_DVCD ABC거래세부구분코드 3 2 1 1 2 1 +CLNT_TELR_CSHN_RFLC_YN 클라이언트텔러시재반영여부 3 2 1 1 1 1 +SLIP_DIV_YN 전표구분여부 3 2 1 1 1 1 +SLIP_NO 전표번호 3 2 1 1 9 1 +TELR_SLIP_SEQNO 텔러전표일련번호 3 2 1 1 10 2 +TELR_CASH_AMT 텔러현금금액 3 2 1 1 17 2 +TELR_CBPC_AMT 텔러타점권금액 3 2 1 1 17 2 +TELR_TRFAMT 텔러대체금액 3 2 1 1 17 2 +LOGIN_DVCD 로그인구분코드 3 2 1 1 1 1 +TX_DT_EXTNS_YN  거래일자연장여부 3 2 1 1 1 1 N +TX_DT 거래일자 3 2 1 1 8 1 +TX_TIME 거래시각 3 2 1 1 8 1 +SYS_DT 시스템일자 3 2 1 1 8 1 +SYS_TIME 시스템시각 3 2 1 1 8 1 +MESG_DMAN_DT 전문요청일자 3 2 1 1 8 1 +MESG_DMAN_TKTM 전문요청시간 3 2 1 1 9 1 +MESG_CNTY_YN 전문연속여부 3 2 1 1 1 1 +MESG_RSPN_DT 전문응답일자 3 2 1 1 8 1 +MESG_RSPN_TKTM 전문응답시간 3 2 1 1 9 1 +PROCS_RSLT_DVCD 처리결과구분코드 3 2 1 1 2 1 +OUTPUT_MESG_TYCD 출력전문유형코드 3 2 1 1 1 1 +LRQN_OUTPUT_DSCT_TRGT_YN 대량출력중단대상여부 3 2 1 1 1 1 +MESG_CNTY_SEQNO 전문연속일련번호 3 2 1 1 3 1 +Error_Info 에러정보 2 3 1 1 0 1 +ERR_CD 오류코드 3 2 1 1 6 1 +ERR_SYS_CD 오류시스템코드 3 2 1 1 3 1 +KJB_Add KJB추가 2 3 1 1 0 1 +ORTR_SCN_ID 원거래화면ID 3 2 1 1 13 1 +CORP_DPRM_NO 기업부서번호 3 2 1 1 5 1 +CSIF_IQRY_RSCD 고객정보조회사유코드 3 2 1 1 2 1 +Com_Spare_Zone 예비영역 2 3 1 1 0 1 +COM_SPR_CTNT 공통예비내용 3 2 1 1 212 1 +Channel_Common 채널공통부 1 3 0 1 0 1 Common.Channel_Info.CHNL_COM_SCTN_EXIS_YN Y +Data_Header 데이터헤더 2 3 0 1 0 1 +DATA_HEDR_KNCD 데이터헤더종류코드 3 2 1 1 2 1 +DATA_HEDR_LEN 데이터헤더길이 3 2 1 1 8 1 +Data_For_Each 개별데이터부 2 3 0 1 0 1 +PSWD_ERR_DVCD 비밀번호오류구분코드 3 2 1 1 2 1 +ELFN_CUST_TYCD 전자금융고객유형코드 3 2 1 1 2 1 +USER_ID_S14 사용자ID_S14 3 2 1 1 14 1 +MST_ID_S14 마스터ID_S14 3 2 1 1 14 1 +SVR_TX_NO 서버거래번호 3 2 1 1 10 1 +HOST_TX_NO_S10 호스트거래번호_S10 3 2 1 1 10 1 +NEXT_PAGE_EXIS_YN1 다음페이지존재여부1 3 2 1 1 1 1 +SCCR_ISS_CD 보안카드발급코드 3 2 1 1 2 1 +SQ1_SCCR_SSBP_NO_SER 1차보안카드첨자번호순서 3 2 1 1 2 1 +SQ2_SCCR_SSBP_NO_SER 2차보안카드첨자번호순서 3 2 1 1 2 1 +SECU_MEDIA_SEQNO_S4 보안매체일련번호_S4 3 2 1 1 4 1 +SECU_MEDIA_DTL_DVCD_N3 보안매체상세구분코드_N3 3 2 1 1 3 1 +PAGE_NO 페이지번호 3 2 1 1 5 1 +PAGE_SIZE 페이지사이즈 3 2 1 1 5 1 +TTCN_N5 총건수_N5 3 2 1 1 5 1 +IQRY_CCNT_N5 조회건수_N5 3 2 1 1 5 1 +PRIQR_TX_NO 선조회거래번호 3 2 1 1 10 1 +SQ1_CUST_CNFR_INFO_CTNT_S39 1차고객확인정보내용_S39 3 2 1 1 39 1 +SQ2_CUST_CNFR_INFO_CTNT_S39 2차고객확인정보내용_S39 3 2 1 1 39 1 +MAC_S17 MAC주소_S17 3 2 1 1 17 1 +HDD_SEQ_NO_S24 HDD일련번호_S24 3 2 1 1 24 1 +CMCM_CD 통신사코드 3 2 1 1 1 1 +TLNO_S14 전화번호_S14 3 2 1 1 14 1 +OTP_EXPR_GDNC_DVCD_S1 OTP만기안내구분코드_S1 3 2 1 1 1 1 +KFTC_ENCD_MST_KEY_VER_S2 금융결제원암호화마스터키버전_S2 3 2 1 1 2 1 +KFTC_ENCD_RAND1_S32 금융결제원암호화난수1_S32 3 2 1 1 32 1 +KFTC_ENCD_RAND2_S32 금융결제원암호화난수2_S32 3 2 1 1 32 1 +ADDT_ATHN_YN_S1 추가인증여부_S1 3 2 1 1 1 1 +ADDT_ATHN_METH_DVCD_S2 추가인증수단구분코드_S2 3 2 1 1 2 1 +ADDT_ATHN_ATHN_VAL_S40 추가인증인증값_S40 3 2 1 1 40 1 +DUP_TX_YN_S1 중복거래여부_S1 3 2 1 1 1 1 +ABR_IP_BLC_YN_S1 해외IP차단여부_S1 3 2 1 1 1 1 +VIRT_ACCO_DVCD_S1 가상계좌조회구분_S1 3 2 1 1 1 1 +BZWK_DVCD1_S1 업무구분코드1_S1 3 2 1 1 1 1 +BZWK_DVCD2_S1 업무구분코드2_S1 3 2 1 1 1 1 +BZWK_DVCD3_S1 업무구분코드3_S1 3 2 1 1 1 1 +BZWK_DVCD4_S1 업무구분코드4_S1 3 2 1 1 1 1 +BZWK_DVCD5_S1 업무구분코드5_S1 3 2 1 1 1 1 +TX_SER_SEQNO_N3 거래순서일련번호_N3 3 2 1 1 3 1 +SECU_MEDIA_SEQNO_DMAN_VAL_S4 보안매체일련번호요청값_S4 3 2 1 1 4 1 +MEDIA_D1_UZ_POSB_AMT_N12 매체1일사용가능금액_N12 3 2 1 1 12 1 +CPHR_KEY_SECU_CO_CD_S1 암호키보안업체코드_S1 3 2 1 1 1 1 +HDD_VOLU_ID_S35 HDDVOLUMEID_S35 3 2 1 1 35 1 +SPR_FILD_S197 예비필드_S197 3 2 1 1 197 1 +Message 메시지부 1 3 0 1 0 1 Header.Sys_Info.MESG_DMAN_DVCD R +Msg_Header 메시지헤더 2 3 0 1 0 1 +MSG_HEDR_KNCD 메시지헤더종류코드 3 2 1 1 2 1 NM +MSG_HEDR_LEN 메시지헤더길이 3 2 1 1 8 2 +Msg_Body 메시지 2 3 0 1 0 1 +OUTPUT_ATRB_CD 출력속성코드 3 2 1 1 1 1 0 +OUTPUT_MSG_CD 출력메시지코드 3 2 1 1 10 1 +OUTPUT_MSG_CTNT 출력메시지내용 3 2 1 1 200 1 +OUTPUT_MSG_DESC 출력메시지설명 3 2 1 1 300 1 +ERR_MNGM_CTNT 오류조치내용 3 2 1 1 200 1 +ERR_CHGR_NM 오류담당자명 3 2 1 1 10 1 +ERR_CHGR_CNPL_NO 오류담당연락처번호 3 2 1 1 20 1 +OUTPUT_MSG_NCNT 출력메시지개수 3 2 1 1 4 2 0000 +Output_Msg_Grid 출력메시지 3 4 0 1 0 1 Message.Msg_Body.OUTPUT_MSG_NCNT +OUTPUT_MSG_CD 출력메시지코드 4 2 0 1 10 1 +OUTPUT_MSG_CTNT 출력메시지내용 4 2 0 1 200 1 +OUTPUT_MSG_DESC 출력메시지설명 4 2 0 1 300 1 +ERR_MNGM_CTNT 오류조치내용 4 2 0 1 200 1 +ERR_LOCT_CTNT 오류위치내용 4 2 0 1 200 1 +ERR_OCCU_ITEM_NM 오류발생항목명 4 2 0 1 20 1 +Manager_Confirm 책임자승인부 1 3 0 1 0 1 Manager_Confirm.Data_Header.DATA_HEDR_KNCD AD +Data_Header 데이터헤더 2 3 0 1 0 1 +DATA_HEDR_KNCD 데이터헤더종류코드 3 2 1 1 2 1 +DATA_HEDR_LEN 데이터헤더길이 3 2 1 1 8 2 +Data_Header_Etc 데이터헤더부가정보 2 3 0 1 0 1 +OUTPUT_SRVC_ID 출력서비스ID 3 2 1 1 13 1 +OUTPUT_SCN_ID 출력화면ID 3 2 1 1 13 1 +OUTPUT_SCN_DRVTN_MSG_CTNT 출력화면유도메시지내용 3 2 1 1 50 1 +DCG_DVCD 배출구분코드 3 2 1 1 1 1 +Data_For_Each 개별데이터부 2 3 0 1 0 1 +ACNO 계좌번호 3 2 1 1 16 1 +TRMN_CUST_FLNM 단말고객성명 3 2 1 1 20 1 +TX_AMT 거래금액 3 2 1 1 17 2 +APRV_RSCD_CCNT 승인사유코드건수 3 2 1 1 5 2 +APRV_RSCD 승인사유코드 3 2 1 1 5 1 +PRCG_APRV_DESC 책임자승인설명 3 2 1 1 50 1 +PRCG_APRV_TYCD 책임자승인유형코드 3 2 1 1 1 1 +PRCG_APRV_LIST_CCNT 책임자승인목록건수 3 2 1 1 5 2 +TX_DVCD 거래구분코드 3 2 1 1 2 1 +PRCG_EMPNO 책임자직원번호 3 2 1 1 6 1 +KOR_FLNM 한글성명 3 2 1 1 40 1 +BLNG_BRCD 소속부점코드 3 2 1 1 4 1 +BRN_KOR_NM  부점한글명 3 2 1 1 100 1 +LOGIN_IPAD 로그인IP주소 3 2 1 1 30 1 +JOBCLS_CD 직급코드 3 2 1 1 2 1 +LOGIN_STCD 로그인상태코드 3 2 1 1 2 1 +ABSC_YN 부재여부 3 2 1 1 1 1 +AGNCY_APRV_TLRNO 대행승인텔러번호 3 2 1 1 7 1 +BRMNR_YN 지점장여부 3 2 1 1 1 1 +AUDT_UNCN_PRCG_YN 감사통할책임자여부 3 2 1 1 1 1 +Data_Part 데이터부 1 3 1 1 0 1 +Data_Header 데이터헤더 2 3 1 1 0 1 +DATA_HEDR_KNCD 데이터헤더종류코드 3 2 1 1 2 1 IO +DATA_HEDR_LEN 데이터헤더길이 3 2 1 1 8 2 +Data_Header_Etc 데이터헤더부가정보 2 3 0 1 0 1 Data_Part.Data_Header.DATA_HEDR_KNCD OD +OUTPUT_SRVC_ID 출력서비스ID 3 2 1 1 13 1 +OUTPUT_SCN_ID 출력화면ID 3 2 1 1 13 1 +OUTPUT_SCN_DRVTN_MSG_CTNT 출력화면유도메시지내용 3 2 1 1 50 1 +DCG_DVCD 배출구분코드 3 2 1 1 1 1 +BizData 업무데이터 2 9 1 1 0 1 +END_BIT_CTNT 종료비트내용 1 2 1 1 2 11 @@ \ No newline at end of file diff --git a/src/main/java/com/eactive/eai/custom/message/GUIDGeneratorKJB.java b/src/main/java/com/eactive/eai/custom/message/GUIDGeneratorKJB.java index 71f0dc2..8354879 100644 --- a/src/main/java/com/eactive/eai/custom/message/GUIDGeneratorKJB.java +++ b/src/main/java/com/eactive/eai/custom/message/GUIDGeneratorKJB.java @@ -3,6 +3,7 @@ package com.eactive.eai.custom.message; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; +import com.eactive.eai.common.util.DatetimeUtil; import org.apache.commons.lang3.StringUtils; import com.eactive.eai.common.server.Keys; @@ -19,8 +20,6 @@ import com.eactive.eai.common.util.UUID; */ public final class GUIDGeneratorKJB { - private static final DateTimeFormatter SDF_YYYYMMDDHHMMSS = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - /* * 그룹사코드(3) + 호스트명(8) + 서버구분번호(2) + 일자(8) + 전문생성시간(6) + 일련번호(6) + 시스템경로번호(3, '001') */ @@ -34,18 +33,34 @@ public final class GUIDGeneratorKJB { } public synchronized static String getGUID(String groupCmpCd) { - if (StringUtils.isEmpty(groupCmpCd)) groupCmpCd = "034"; //광주은행 그룹회사코드 "034" - - String nowDateTime = SDF_YYYYMMDDHHMMSS.format(ZonedDateTime.now()); - String strSeq = StringUtils.leftPad(String.valueOf(seq), 6, '0') ; - String guid = groupCmpCd + UNIQUE_NUM + nowDateTime + strSeq + "001"; + String guid = groupCmpCd + UNIQUE_NUM; + guid = guid + DatetimeUtil.getCurrentDateTime(); - seq++; - if (seq > 999999) { + if(seq < 10) { + guid = guid + "00000" + seq; + } + else if(seq < 100) { + guid = guid + "0000" + seq; + } + else if(seq < 1000) { + guid = guid + "000" + seq; + } + else if(seq < 10000) { + guid = guid + "00" + seq; + } + else if(seq < 100000) { + guid = guid + "0" + seq; + } + else { + guid = guid + seq; + } + + seq ++; + if(seq > 999999) { seq = 1; } - return guid; + return guid + "001"; } private static String UNIQUE_NUM; diff --git a/src/main/java/com/eactive/eai/custom/message/InterfaceMapperKJB.java b/src/main/java/com/eactive/eai/custom/message/InterfaceMapperKJB.java index a28ec4f..cf252b2 100644 --- a/src/main/java/com/eactive/eai/custom/message/InterfaceMapperKJB.java +++ b/src/main/java/com/eactive/eai/custom/message/InterfaceMapperKJB.java @@ -65,7 +65,7 @@ public class InterfaceMapperKJB extends DefaultInterfaceMapper { @Override public String getOrgGuid(StandardMessage standardMessage) { - String orgGuid = getItemValue(standardMessage, getPath(GUID_ORG)); + String orgGuid = getItemValue(standardMessage, getPath(GUID)); if (orgGuid.length() == 36) { orgGuid = orgGuid.substring(0, 33); } diff --git a/src/main/java/com/eactive/eai/custom/message/StandardMessageCoordinatorKJB.java b/src/main/java/com/eactive/eai/custom/message/StandardMessageCoordinatorKJB.java new file mode 100644 index 0000000..cfe435e --- /dev/null +++ b/src/main/java/com/eactive/eai/custom/message/StandardMessageCoordinatorKJB.java @@ -0,0 +1,185 @@ +package com.eactive.eai.custom.message; + +import com.eactive.eai.adapter.AdapterGroupVO; +import com.eactive.eai.adapter.AdapterManager; +import com.eactive.eai.common.dao.Keys; +import com.eactive.eai.common.server.EAIServerManager; +import com.eactive.eai.common.util.DatetimeUtil; +import com.eactive.eai.common.util.Logger; +import com.eactive.eai.common.util.MessageUtil; +import com.eactive.eai.common.util.StringUtil; +import com.eactive.eai.inbound.processor.ProcessVO; +import com.eactive.eai.inbound.processor.Processor; +import com.eactive.eai.message.StandardItem; +import com.eactive.eai.message.StandardMessage; +import com.eactive.eai.message.manager.StandardMessageManager; +import com.eactive.eai.message.service.DefaultStandardMessageCoordinator; +import com.eactive.eai.message.service.InterfaceMapper; +import com.ext.eai.common.stdmessage.STDMessageKeys; +import org.apache.commons.lang.StringUtils; + +import java.net.UnknownHostException; +import java.util.Properties; + +public class StandardMessageCoordinatorKJB extends DefaultStandardMessageCoordinator { + private static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT); + + public static final String DEFAULT_LENGTH = "00000745"; + private static final String MESSAGE_PART = "Message"; + private static final String MESSAGE_PART_HEADER_PART = "Message.Msg_Header"; + private static final String MESSAGE_PART_MSG_HEDR_KNCD = "Message.Msg_Header.MSG_HEDR_KNCD"; + private static final String MESSAGE_PART_MSG_HEDR_LEN = "Message.Msg_Header.MSG_HEDR_LEN"; + private static final String MESSAGE_PART_BODY_PART = "Message.Msg_Body"; + private static final String MESSAGE_PART_OUTPUT_MSG_CD = "Message.Msg_Body.OUTPUT_MSG_CD"; + private static final String MESSAGE_PART_OUTPUT_MSG_CTNT = "Message.Msg_Body.OUTPUT_MSG_CTNT"; + private static final String COMMON_PART_GROUP_CMD_CD = "Common.Service_info.GROUP_CMP_CD"; + private static final String COMMON_PART_OTSD_CHNL_INST_CD = "Common.Service_info.OTSD_CHNL_INST_CD"; + private static final String DATA_HEADER_DATA_HEDR_LEN = "Data_Part.Data_Header.DATA_HEDR_LEN"; + + @Override + public void coordinateAfterParsing(StandardMessage standardMessage, Object paramObject, Properties prop) { + } + + @Override + public void coordinateBeforeStandardMessageSend(StandardMessage standardMessage, String msgType, String charset) { + makeupDataHeaderLength(standardMessage, charset); + } + + @Override + public void coordinateBeforeResponse(StandardMessage standardMessage, ProcessVO processVO, Properties prop, String charset) { + makeupDataHeaderLength(standardMessage, charset); + } + + @Override + public void coordinateAfterCreateMessageByRule(StandardMessage standardMessage, Object paramObject, Properties prop) { + // guid 설정 + StandardMessageManager standardManager = StandardMessageManager.getInstance(); + InterfaceMapper mapper = standardManager.getMapper(); + + //GUID 설정 + String groupCmdCd = standardMessage.findItemValue(COMMON_PART_GROUP_CMD_CD); + + String guid = GUIDGeneratorKJB.getGUID(groupCmdCd); + + mapper.setGuid(standardMessage, guid); + + StandardItem dataHeaderEtc = standardMessage.findItem("Data_Part.Data_Header_Etc"); + dataHeaderEtc.setHidden(true); + + //기관코드, 텔러번호 설정 + //Adapter에 셋팅된 기관코드를 셋팅한다. + String adapterGroupName = prop.getProperty(Processor.ADAPTER_GROUP_NAME); + AdapterManager adapterManager = AdapterManager.getInstance(); + AdapterGroupVO adptGrpVO = adapterManager.getAdapterGroupVO(adapterGroupName); + + // Adapter의 기관코드를 얻어온다. + //TODO: 기관코드의 경우 현재 EAPIM 시스템에 컬럼은 있으나 설정을 사용하지 않고있으므로 불필요 할 경우 사용하지 않는다, 필요 할 경우 추가한다. + String inAdapterOsidInstiNo = adptGrpVO.getOsidInstiNo(); + if(inAdapterOsidInstiNo != null && inAdapterOsidInstiNo.trim().length() > 0) { + standardMessage.setData(COMMON_PART_OTSD_CHNL_INST_CD, inAdapterOsidInstiNo); + if (logger.isDebug()) { + logger.debug("FIELD SET " + COMMON_PART_OTSD_CHNL_INST_CD + " << "+inAdapterOsidInstiNo); + } + } + + //2012-12-17 나영채 차장 타발요청에만 셋팅해달라고 요청 + //전문요청일자 + standardMessage.setData("Common.BizProc_Info.MESG_DMAN_DT", DatetimeUtil.getCurrentDate()); + //전문요청시간 + standardMessage.setData("Common.BizProc_Info.MESG_DMAN_TKTM", DatetimeUtil.getTime8()); + + + //2012-07-24 임의 로 영업일자에 system시간 설정 + standardMessage.setData("Common.BizProc_Info.BZOP_DT", DatetimeUtil.getCurrentDate()); + + EAIServerManager eaiServerManager = EAIServerManager.getInstance(); + //비표준일경우 시스템 운영환경 구분코드를 셋팅한다. + standardMessage.setData("Common.Service_info.SYS_OPRT_ENV_DVCD", getSysOprtEnvDvcd(eaiServerManager)); + + //헤더부 최초전송IP주소 FRST_TRNM_IPAD + try { + standardMessage.setData("Header.Src_System.FRST_TRNM_IPAD", java.net.InetAddress.getLocalHost().getHostAddress()); + } catch (UnknownHostException e) { + } + } + + @Override + public boolean coordinateSetStandardMessageError(StandardMessage standardMessage, InterfaceMapper mapper, + String errCode, String errMsg) { + + mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E); + mapper.setSendRecvDivision(standardMessage, STDMessageKeys.SEND_RECV_CD_RECV); + + StandardItem messagePart = standardMessage.findItem(MESSAGE_PART); + messagePart.setHidden(false); + messagePart.setSize(1); + + StandardItem messageHeaderPart = standardMessage.findItem(MESSAGE_PART_HEADER_PART); + messageHeaderPart.setSize(1); + StandardItem messageBodyPart = standardMessage.findItem(MESSAGE_PART_BODY_PART); + messageBodyPart.setSize(1); + + errCode = StringUtils.defaultString(errCode); + String siteErrCode = MessageUtil.getTobeCode(errCode); + String siteErrMessage; + switch(errCode) { + case("RECEAIIRP070"): + siteErrMessage = "거래 통제 되었습니다."; + break; + default: + siteErrMessage = MessageUtil.getTobeMessage(errCode); + break; + } + + mapper.setErrorCode(standardMessage, siteErrCode); + + standardMessage.setData(MESSAGE_PART_MSG_HEDR_KNCD, "EM"); + standardMessage.setData(MESSAGE_PART_MSG_HEDR_LEN, DEFAULT_LENGTH); + standardMessage.setData(MESSAGE_PART_OUTPUT_MSG_CD, siteErrCode); + //Message.Msg_Body.OUTPUT_MSG_CTNT + mapper.setErrorMsg(standardMessage, siteErrMessage); + + return false; + } + + + @Override + public void coordinateAfterRecvNonStdSyncResponse(StandardMessage responseMessage) { + StandardItem messagePart = responseMessage.findItem(MESSAGE_PART); + messagePart.setHidden(false); + messagePart.setSize(1); + + StandardItem messageHeaderPart = responseMessage.findItem(MESSAGE_PART_HEADER_PART); + messageHeaderPart.setSize(1); + StandardItem messageBodyPart = responseMessage.findItem(MESSAGE_PART_BODY_PART); + messageBodyPart.setSize(1); + + responseMessage.setData(MESSAGE_PART_MSG_HEDR_KNCD, "NM"); + responseMessage.setData(MESSAGE_PART_MSG_HEDR_LEN, DEFAULT_LENGTH); + responseMessage.setData(MESSAGE_PART_OUTPUT_MSG_CD, "100000 "); + responseMessage.setData(MESSAGE_PART_OUTPUT_MSG_CTNT, "정상처리 되었습니다."); + } + + public String getSysOprtEnvDvcd(EAIServerManager eaiServerManager) { + String result = ""; + if (eaiServerManager.isPEAIServer()){ //운영 + result = STDMessageKeys.SYS_OPRT_ENV_DVCD_ONLINE; + }else if (eaiServerManager.isDEAIServer()){ //개발 + result = STDMessageKeys.SYS_OPRT_ENV_DVCD_DEV; + }else if (eaiServerManager.isSEAIServer()){ //테스트/검증 + result = STDMessageKeys.SYS_OPRT_ENV_DVCD_TESTSTAGE; + } + return result; + } + + private static void makeupDataHeaderLength(StandardMessage standardMessage, String charset) { + String dataBytesLengthStr = null; + try { + dataBytesLengthStr = String.valueOf(standardMessage.getBizDataBytes(charset).length); + String dataHeaderLength = StringUtils.leftPad(dataBytesLengthStr, 8, '0'); + standardMessage.setData(DATA_HEADER_DATA_HEDR_LEN, dataHeaderLength); + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/main/resources/standard-layout-kjb.csv b/src/main/resources/standard-layout-kjb.csv new file mode 100644 index 0000000..acef1d5 --- /dev/null +++ b/src/main/resources/standard-layout-kjb.csv @@ -0,0 +1,233 @@ +#----------------------------------------------------------------------------- +# comment start with # +# level; // 0 : root ~ n +# type; // 0: Message, 1: Field, 2:Group 3, Grid, 4 : Field Array, 9 : BIZ DATA +# size // 0 : variable, > 0 fixed +# fieldType; // 0: ELEMENT, 1: ATTRIBUTE, +# length; +# dataType; // 0: String, 1: Number,10: ZZ String, 11: LL Number +#----------------------------------------------------------------------------- +# name ,level ,type ,size ,fieldType ,length ,dataType ,,refPath, refValue,value +#----------------------------------------------------------------------------- +# name ,level ,type ,size ,fieldType ,length ,dataType ,refPath, refValue, value +Header,1,3,1,1,0,1,,, +Sys_Info,2,3,1,1,0,1,,, +STND_MESG_LEN,3,2,1,1,8,12,,, +ENCD_CMPI_DVCD,3,2,1,1,1,1,,,0 +GUID,3,2,1,1,36,1,,, +MESG_DMAN_DVCD,3,2,1,1,1,1,,,S +MESG_VER_NO,3,2,1,1,3,1,,,R10 +Src_System,2,3,1,1,0,1,,, +FRST_TRNM_IPAD,3,2,1,1,39,1,,, +FRST_TRNM_SYS_CD,3,2,1,1,3,1,,,API +TRNM_SYS_CD,3,2,1,1,3,1,,, +TRNM_NODE_NO,3,2,1,1,4,1,,, +MCI_SESN_ID,3,2,1,1,8,1,,, +GNRZ_TMOT_TKTM,3,2,1,1,3,1,,,070 +TX_TMOT_TKTM,3,2,1,1,3,1,,,060 +KJB_Add,2,3,1,1,0,1,,, +OTSD_DMAN_SYS_CD,3,2,1,1,3,1,,,OBP +EAI_NODE_NO,3,2,1,1,2,1,,, +FEP_NODE_NO,3,2,1,1,2,1,,, +FEP_SESN_ID,3,2,1,1,6,1,,, +Spare_Zone,2,3,1,1,0,1,,, +HEDR_SPR_CTNT,3,2,1,1,25,1,,, +Common,1,3,1,1,0,1,,, +Service_info,2,3,1,1,0,1,,, +GROUP_CMP_CD,3,2,1,1,3,1,,,034 +SRVC_ID,3,2,1,1,11,1,,, +PROCS_RSLT_RCMS_SRVC_ID,3,2,1,1,11,1,,, +IF_ID,3,2,1,1,20,1,,, +TX_SYNZ_DVCD,3,2,1,1,1,1,,, +HMAB_DVCD,3,2,1,1,1,1,,,2 +OTSD_CHNL_INST_CD,3,2,1,1,3,1,,, +SYS_OPRT_ENV_DVCD,3,2,1,1,1,1,,, +TX_TYP_DVCD,3,2,1,1,1,1,,,O +ORTR_RESTR_YN,3,2,1,1,1,1,,, +ORTR_GUID,3,2,1,1,36,1,,, +Channel_Info,2,3,1,1,0,1,,, +BANK_CD,3,2,1,1,3,1,,, +TX_BRCD,3,2,1,1,4,1,,, +DSPC_RCV_BRN_DVCD,3,2,1,1,2,1,,, +RLTR_BRCD,3,2,1,1,4,1,,, +TRMN_INSL_BRCD,3,2,1,1,4,1,,, +CHNL_TYCD,3,2,1,1,1,1,,, +CHNL_DTLS_CLCD,3,2,1,1,3,1,,, +TMNL_KIND_DVCD,3,2,1,1,2,1,,, +TRMN_NO,3,2,1,1,6,1,,, +SCN_NO,3,2,1,1,13,1,,, +SCN_FILE_VER,3,2,1,1,10,2,,, +SCN_FILE_NM,3,2,1,1,30,1,,, +LANG_DVCD,3,2,1,1,3,1,,,KOR +CHNL_COM_SCTN_EXIS_YN,3,2,1,1,1,1,,,N +Confirm_Info,2,3,1,1,0,1,,, +PRCG_APRV_PROCS_STCD,3,2,1,1,1,1,,, +PRCG_APRV_TYCD,3,2,1,1,1,1,,, +APRV_PRCG_EMPNO,3,2,1,1,7,1,,, +NURN_RSBT_EMPNO,3,2,1,1,7,1,,, +PRCG_APRV_SEQNO,3,2,1,1,10,2,,, +NURN_AGNCY_APRV_YN,3,2,1,1,1,1,,, +DSGT_PRCG_CHNG_YN,3,2,1,1,1,1,,, +CHNG_DSGT_PRCG_EMPNO,3,2,1,1,7,1,,, +PRCG_APRV_DMAN_RSN,3,2,1,1,40,1,,, +PRCG_APRV_RSN,3,2,1,1,40,1,,, +BizProc_Info,2,3,1,1,0,1,,, +BZOP_DT,3,2,1,1,8,1,,, +ANTT_YN,3,2,1,1,1,1,,, +MESG_IQRY_DVCD,3,2,1,1,1,1,,, +ATMC_CLSN_DVCD,3,2,1,1,1,1,,, +TLRNO,3,2,1,1,7,1,,, +ASST_TLRNO,3,2,1,1,7,1,,, +PSWD_VALDTN_YN,3,2,1,1,1,1,,, +TX_TELR_PSWD,3,2,1,1,44,1,,, +CSIF_IDNT_DVCD,3,2,1,1,3,1,,, +CSIF_ID,3,2,1,1,30,1,,, +CSIF_CUST_NM,3,2,1,1,30,1,,, +CSIF_MASK_REVOC_YN,3,2,1,1,1,1,,, +CUST_PTLET_MASK_YN,3,2,1,1,1,1,,, +IDC_IMG_NO,3,2,1,1,32,1,,, +SMTWKP_TX_YN,3,2,1,1,1,1,,, +SECU_ACCO_REG_YN,3,2,1,1,1,1,,, +ABC_TX_DTLS_DVCD,3,2,1,1,2,1,,, +CLNT_TELR_CSHN_RFLC_YN,3,2,1,1,1,1,,, +SLIP_DIV_YN,3,2,1,1,1,1,,, +SLIP_NO,3,2,1,1,9,1,,, +TELR_SLIP_SEQNO,3,2,1,1,10,2,,, +TELR_CASH_AMT,3,2,1,1,17,2,,, +TELR_CBPC_AMT,3,2,1,1,17,2,,, +TELR_TRFAMT,3,2,1,1,17,2,,, +LOGIN_DVCD,3,2,1,1,1,1,,, +TX_DT_EXTNS_YN ,3,2,1,1,1,1,,, +TX_DT,3,2,1,1,8,1,,, +TX_TIME,3,2,1,1,8,1,,, +SYS_DT,3,2,1,1,8,1,,, +SYS_TIME,3,2,1,1,8,1,,, +MESG_DMAN_DT,3,2,1,1,8,1,,, +MESG_DMAN_TKTM,3,2,1,1,9,1,,, +MESG_CNTY_YN,3,2,1,1,1,1,,, +MESG_RSPN_DT,3,2,1,1,8,1,,, +MESG_RSPN_TKTM,3,2,1,1,9,1,,, +PROCS_RSLT_DVCD,3,2,1,1,2,1,,, +OUTPUT_MESG_TYCD,3,2,1,1,1,1,,, +LRQN_OUTPUT_DSCT_TRGT_YN,3,2,1,1,1,1,,, +MESG_CNTY_SEQNO,3,2,1,1,3,1,,, +Error_Info,2,3,1,1,0,1,,, +ERR_CD,3,2,1,1,6,1,,, +ERR_SYS_CD,3,2,1,1,3,1,,, +KJB_Add,2,3,1,1,0,1,,, +ORTR_SCN_ID,3,2,1,1,13,1,,, +CORP_DPRM_NO,3,2,1,1,5,1,,, +CSIF_IQRY_RSCD,3,2,1,1,2,1,,, +Com_Spare_Zone,2,3,1,1,0,1,,, +COM_SPR_CTNT,3,2,1,1,212,1,,, +Channel_Common,1,3,0,1,0,1,Std_Header.Common.Channel_Info.CHNL_COM_SCTN_EXIS_YN,Y, +Data_Header,2,3,0,1,0,1,,, +DATA_HEDR_KNCD,3,2,1,1,2,1,,, +DATA_HEDR_LEN,3,2,1,1,8,1,,, +Data_For_Each,2,3,0,1,0,1,,, +PSWD_ERR_DVCD,3,2,1,1,2,1,,, +ELFN_CUST_TYCD,3,2,1,1,2,1,,, +USER_ID_S14,3,2,1,1,14,1,,, +MST_ID_S14,3,2,1,1,14,1,,, +SVR_TX_NO,3,2,1,1,10,1,,, +HOST_TX_NO_S10,3,2,1,1,10,1,,, +NEXT_PAGE_EXIS_YN1,3,2,1,1,1,1,,, +SCCR_ISS_CD,3,2,1,1,2,1,,, +SQ1_SCCR_SSBP_NO_SER,3,2,1,1,2,1,,, +SQ2_SCCR_SSBP_NO_SER,3,2,1,1,2,1,,, +SECU_MEDIA_SEQNO_S4,3,2,1,1,4,1,,, +SECU_MEDIA_DTL_DVCD_N3,3,2,1,1,3,1,,, +PAGE_NO,3,2,1,1,5,1,,, +PAGE_SIZE,3,2,1,1,5,1,,, +TTCN_N5,3,2,1,1,5,1,,, +IQRY_CCNT_N5,3,2,1,1,5,1,,, +PRIQR_TX_NO,3,2,1,1,10,1,,, +SQ1_CUST_CNFR_INFO_CTNT_S39,3,2,1,1,39,1,,, +SQ2_CUST_CNFR_INFO_CTNT_S39,3,2,1,1,39,1,,, +MAC_S17,3,2,1,1,17,1,,, +HDD_SEQ_NO_S24,3,2,1,1,24,1,,, +CMCM_CD,3,2,1,1,1,1,,, +TLNO_S14,3,2,1,1,14,1,,, +OTP_EXPR_GDNC_DVCD_S1,3,2,1,1,1,1,,, +KFTC_ENCD_MST_KEY_VER_S2,3,2,1,1,2,1,,, +KFTC_ENCD_RAND1_S32,3,2,1,1,32,1,,, +KFTC_ENCD_RAND2_S32,3,2,1,1,32,1,,, +ADDT_ATHN_YN_S1,3,2,1,1,1,1,,, +ADDT_ATHN_METH_DVCD_S2,3,2,1,1,2,1,,, +ADDT_ATHN_ATHN_VAL_S40,3,2,1,1,40,1,,, +DUP_TX_YN_S1,3,2,1,1,1,1,,, +ABR_IP_BLC_YN_S1,3,2,1,1,1,1,,, +VIRT_ACCO_DVCD_S1,3,2,1,1,1,1,,, +BZWK_DVCD1_S1,3,2,1,1,1,1,,, +BZWK_DVCD2_S1,3,2,1,1,1,1,,, +BZWK_DVCD3_S1,3,2,1,1,1,1,,, +BZWK_DVCD4_S1,3,2,1,1,1,1,,, +BZWK_DVCD5_S1,3,2,1,1,1,1,,, +TX_SER_SEQNO_N3,3,2,1,1,3,1,,, +SECU_MEDIA_SEQNO_DMAN_VAL_S4,3,2,1,1,4,1,,, +MEDIA_D1_UZ_POSB_AMT_N12,3,2,1,1,12,1,,, +CPHR_KEY_SECU_CO_CD_S1,3,2,1,1,1,1,,, +HDD_VOLU_ID_S35,3,2,1,1,35,1,,, +SPR_FILD_S197,3,2,1,1,197,1,,, +Message,1,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R, +Msg_Header,2,3,0,1,0,1,,, +MSG_HEDR_KNCD,3,2,1,1,2,1,,,NM +MSG_HEDR_LEN,3,2,1,1,8,2,,, +Msg_Body,2,3,0,1,0,1,,, +OUTPUT_ATRB_CD,3,2,1,1,1,1,,,0 +OUTPUT_MSG_CD,3,2,1,1,10,1,,, +OUTPUT_MSG_CTNT,3,2,1,1,200,1,,, +OUTPUT_MSG_DESC,3,2,1,1,300,1,,, +ERR_MNGM_CTNT,3,2,1,1,200,1,,, +ERR_CHGR_NM,3,2,1,1,10,1,,, +ERR_CHGR_CNPL_NO,3,2,1,1,20,1,,, +OUTPUT_MSG_NCNT,3,2,1,1,4,2,,,0000 +Output_Msg_Grid,3,4,0,1,0,1,Message.Msg_Body.OUTPUT_MSG_NCNT,, +OUTPUT_MSG_CD,4,2,0,1,10,1,,, +OUTPUT_MSG_CTNT,4,2,0,1,200,1,,, +OUTPUT_MSG_DESC,4,2,0,1,300,1,,, +ERR_MNGM_CTNT,4,2,0,1,200,1,,, +ERR_LOCT_CTNT,4,2,0,1,200,1,,, +ERR_OCCU_ITEM_NM,4,2,0,1,20,1,,, +Manager_Confirm,1,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R, +Data_Header,2,3,0,1,0,1,,, +DATA_HEDR_KNCD,3,2,1,1,2,1,,, +DATA_HEDR_LEN,3,2,1,1,8,2,,, +Data_Header_Etc,2,3,0,1,0,1,,, +OUTPUT_SRVC_ID,3,2,1,1,13,1,,, +OUTPUT_SCN_ID,3,2,1,1,13,1,,, +OUTPUT_SCN_DRVTN_MSG_CTNT,3,2,1,1,50,1,,, +DCG_DVCD,3,2,1,1,1,1,,, +Data_For_Each,2,3,0,1,0,1,,, +ACNO,3,2,1,1,16,1,,, +TRMN_CUST_FLNM,3,2,1,1,20,1,,, +TX_AMT,3,2,1,1,17,2,,, +APRV_RSCD_CCNT,3,2,1,1,5,2,,, +APRV_RSCD,3,2,1,1,5,1,,, +PRCG_APRV_DESC,3,2,1,1,50,1,,, +PRCG_APRV_TYCD,3,2,1,1,1,1,,, +PRCG_APRV_LIST_CCNT,3,2,1,1,5,2,,, +TX_DVCD,3,2,1,1,2,1,,, +PRCG_EMPNO,3,2,1,1,6,1,,, +KOR_FLNM,3,2,1,1,40,1,,, +BLNG_BRCD,3,2,1,1,4,1,,, +BRN_KOR_NM ,3,2,1,1,100,1,,, +LOGIN_IPAD,3,2,1,1,30,1,,, +JOBCLS_CD,3,2,1,1,2,1,,, +LOGIN_STCD,3,2,1,1,2,1,,, +ABSC_YN,3,2,1,1,1,1,,, +AGNCY_APRV_TLRNO,3,2,1,1,7,1,,, +BRMNR_YN,3,2,1,1,1,1,,, +AUDT_UNCN_PRCG_YN,3,2,1,1,1,1,,, +Data_Part,1,3,0,1,0,1,,, +Data_Header,2,3,0,1,0,1,,, +DATA_HEDR_KNCD,3,2,1,1,2,1,,,IO +DATA_HEDR_LEN,3,2,1,1,8,2,,, +Data_Header_Etc,2,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R, +OUTPUT_SRVC_ID,3,2,1,1,13,1,,, +OUTPUT_SCN_ID,3,2,1,1,13,1,,, +OUTPUT_SCN_DRVTN_MSG_CTNT,3,2,1,1,50,1,,, +DCG_DVCD,3,2,1,1,1,1,,, +Data_For_Each,2,3,0,1,0,1,,, +BizData,3,9,1,1,0,1,,, +END_BIT_CTNT,1,2,1,1,2,11,,,@@ \ No newline at end of file diff --git a/src/main/resources/standard-message-config.properties b/src/main/resources/standard-message-config.properties index 91015d3..9704d20 100644 --- a/src/main/resources/standard-message-config.properties +++ b/src/main/resources/standard-message-config.properties @@ -1,18 +1,18 @@ # layout : StandardMessage layout definition #layout.file.type=CSV layout.file.type=DB -#layout.file.path=standard-layout-sbi.csv +#layout.file.path=standard-layout-kjb.csv #layout.file.path=standard-layout-elk.csv #layout.filter.FLAT=com.eactive.eai.custom.message.FlatMessageFilterSBI layout.filter.FLAT=com.eactive.eai.message.filter.FlatMessageFilter # mapper : StandardMessage's fields getter/setter interface #mapper.class=com.eactive.eai.custom.message.InterfaceMapperSBI -mapper.class=com.eactive.eai.custom.message.InterfaceMapperKBANK +mapper.class=com.eactive.eai.custom.message.InterfaceMapperKJB #mapper.definition=standard-message-mapping-config-sbi.properties #mapper.definition=standard-message-mapping-config-elk.properties -mapper.definition=standard-message-mapping-config.properties +mapper.definition=standard-message-mapping-config-kjb.properties # StandardMessage Coordinator implementation -message.coordinator.class=com.eactive.eai.custom.message.StandardMessageCoordinatorKBANK +message.coordinator.class=com.eactive.eai.custom.message.StandardMessageCoordinatorKJB # RequestProcessor implementation #requestProcessor.class=com.eactive.eai.inbound.processor.RequestProcessor # reader : parsing input data to StandardMessage diff --git a/src/main/resources/standard-message-mapping-config-kjb.properties b/src/main/resources/standard-message-mapping-config-kjb.properties new file mode 100644 index 0000000..89d9200 --- /dev/null +++ b/src/main/resources/standard-message-mapping-config-kjb.properties @@ -0,0 +1,52 @@ +#C2R\uC5D0\uC11C\uB9CC \uC0AC\uC6A9 +REQ_SYS_CODE= +#\uCC44\uB110\uC720\uD615\uCF54\uB4DC +CHANNEL_TYPE_CD= +#\uCC44\uB110\uC138\uBD80\uBD84\uB958\uCF54\uB4DC +CHANNEL_DETAIL_CD= +#\uC804\uC1A1\uC2DC\uAC04-400\uC751\uB2F5\uC2DC\uC5D0 \uC14B\uD305 +SEND_TIME= +#GUID - K +GUID=Header.Sys_Info.GUID +#\uC2DC\uC2A4\uD15C\uD0C0\uC785-MCI/EAI/FEP-\uC0AC\uC6A9 +SYSTEM_TYPE=Header.Src_System.FRST_TRNM_SYS_CD +#\uC218\uC2E0\uC2DC\uAC01 +RECV_TIME=Common.BizProc_Info.MESG_DMAN_TKTM +# \uBBF8\uC0AC\uC6A9 +RETURN_VALUE= +#\uC6D0\uAC70\uB798GUID - K +GUID_ORG= +#GUID\uC758 \uC9C4\uD589\uC77C\uB828\uBC88\uD638 - K +GUID_SEQ= +#\uACC4\uC815\uACC4\uC11C\uBE44\uC2A4ID - K +SERVICE_ID=Common.Service_info.SRVC_ID +#\uACC4\uC815\uACC4\uC751\uB2F5\uC11C\uBE44\uC2A4ID +RETURN_SERVICE_ID= +#\uC778\uD130\uD398\uC774\uC2A4ID - K +INTERFACE_ID=Common.Service_info.IF_ID +#\uC138\uC158ID-MCI/EAI/FEP\uBCC4\uB85C map +SESSION_ID=Header.Src_System.MCI_SESN_ID +#\uC694\uCCAD\uC751\uB2F5\uAD6C\uBD84\uCF54\uB4DC(S|R) +SEND_RECV_DIVISION=Header.Sys_Info.MESG_DMAN_DVCD +#\uB0B4\uC678\uAD6C\uBD84\uCF54\uB4DC(1|2) +IN_EX_DIVISION=Common.Service_info.HMAB_DVCD +#\uC6B4\uC601\uD658\uACBD\uAD6C\uBD84\uCF54\uB4DC +OPERATION_ENV=Common.Service_info.SYS_OPRT_ENV_DVCD +#\uCD5C\uCD08\uC694\uCCADIP +FIRST_REQ_IP=Header.Src_System.FRST_TRNM_IPAD +#\uBCF5\uC6D0\uC5EC\uBD80(0|1) +RECOVER_YN=Common.Service_info.ORTR_RESTR_YN +#\uC778\uC2A4\uD134\uC2A4ID +INST_CODE= +#\uD0C0\uC784\uC544\uC6C3 +TIMEOUT= +#\uC5D0\uB7EC\uCF54\uB4DC +ERROR_CODE=Common.Error_Info.ERR_CD +#\uC5D0\uB7EC\uBA54\uC2DC\uC9C0 +ERROR_MSG=Message.Msg_Body.OUTPUT_MSG_CTNT +#\uC0AC\uC6A9\uC790ID +USER_ID= +#\uC751\uB2F5\uD0C0\uC785-\uC815\uC0C1\uC5EC\uBD80(0=\uC815\uC0C1|1=\uC5D0\uB7EC) +RESPONSE_TYPE=Common.BizProc_Info.PROCS_RSLT_DVCD +#\uAC70\uB798\uB3D9\uAE30\uD654\uAD6C\uBD84\uCF54\uB4DC(S|A) +SYNC_ASYNC_TYPE=Common.Service_info.TX_SYNZ_DVCD