-- =========================================================================== -- 74-netio.sql : 외부 연동·전문처리 (Wave L) -- 외부 카드망(밴사/VAN) ISO 8583 왕복 로그 + 클리어링 파일 교환 레지스트리 + -- store-and-forward 큐 확장. 소켓·바이너리 전문처리 계층. -- =========================================================================== -- 외부 전문 왕복 로그 (요청 0200 → 응답 0210, 왕복시간·응답코드) CREATE SEQUENCE IF NOT EXISTS mg_netlog_seq START 600000; CREATE TABLE IF NOT EXISTS mg_netlog ( net_id BIGINT PRIMARY KEY, purchase_id BIGINT, channel TEXT NOT NULL DEFAULT 'CH01', peer TEXT NOT NULL DEFAULT 'BC-NET', -- 상대망(BC-NET/VISANET/...) req_mti TEXT NOT NULL, rsp_mti TEXT, stan TEXT, rrn TEXT, -- 참조번호(DE37) resp_code TEXT, -- DE39: 00=승인 05=거절 91=타임아웃 approval_no TEXT, -- DE38 amount BIGINT NOT NULL DEFAULT 0, rtt_ms INTEGER NOT NULL DEFAULT 0, -- 왕복시간(ms) req_wire TEXT, -- 요청 전문(hex) rsp_wire TEXT, -- 응답 전문(hex) status TEXT NOT NULL DEFAULT 'OK', -- OK/TIMEOUT/ERROR created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS ix_netlog_pid ON mg_netlog(purchase_id); CREATE INDEX IF NOT EXISTS ix_netlog_rc ON mg_netlog(resp_code); -- 클리어링 파일 교환 레지스트리 (아웃바운드 프레젠트먼트 / 인바운드 정산파일) CREATE SEQUENCE IF NOT EXISTS cl_file_seq START 640000; CREATE TABLE IF NOT EXISTS cl_clearing_file ( file_id BIGINT PRIMARY KEY, direction TEXT NOT NULL, -- OUT(프레젠트먼트)/IN(정산) filename TEXT NOT NULL, scheme TEXT NOT NULL DEFAULT 'BC', biz_date DATE NOT NULL, rec_count BIGINT NOT NULL DEFAULT 0, total_amount BIGINT NOT NULL DEFAULT 0, checksum TEXT, status TEXT NOT NULL DEFAULT 'GENERATED',-- GENERATED/SENT/ACKED/INGESTED created_at TIMESTAMPTZ NOT NULL DEFAULT now() );