Compare commits

..

24 Commits
main ... dev

Author SHA1 Message Date
minkyu1128 e67d07d05f Merge branch 'main' into dev 2 years ago
minkyu1128 9d682f4eb2 Merge branch 'main' into dev
# Conflicts:
#	REF/deploy/ntri/README.md
2 years ago
minkyu1128 6e03c074fb Merge branch 'main' into dev
# Conflicts:
#	REF/deploy/ntri/README.md
2 years ago
minkyu1128 54cd8b0761 refactor: 연계대상코드 설정 추가에 의한 코드수정 2 years ago
minkyu1128 b2dbca348a doc: 테스트 jsp 파일 추가 2 years ago
minkyu1128 5313812031 doc: 배포파일 버전관리 위해 zip -> 디렉토리로 커밋 2 years ago
minkyu1128 7e747c674f chor: 배포문서 및 배포오류(RecoverableException) 수정
배포오류 ojdbc8.jar -> ojdbc6.jar 으로 변경
2 years ago
minkyu1128 15f952b32c feat: 표준연계지침 버전변경에 관한 수정(v1.2.1 -> v1.?.?)
1. reqVo 타입변경(Map -> List<Map>)
2. respVo 성공/실패 코드 정의( 000: 성공, 002: 내부오류 )
3. Error 테이블 추가 ( 처리오류 건에 대한 저장 )
2 years ago
minkyu1128 d779b92f4d chore: README.md 수정
NTRI_JAVA_HOME 설정 내용 추가
2 years ago
minkyu1128 6adbf9a2d9 chore: README.md 수정 2 years ago
minkyu1128 cc2659cf1e feat: 연계문서v1.2.1 메시지레이아웃 적용 2 years ago
minkyu1128 5699b59418 chore: SSL 적용방식, DBMS별 배포를 위한 ntri.zip스크립트 및 yml 수정 2 years ago
minkyu1128 8f2c84eed0 doc: 연계문서 업로드 2 years ago
minkyu1128 1d32a9bafc fix: DB charset 오류 수정 2 years ago
minkyu1128 19ee44507c doc: ntri.zip 의 startup.bat 파일 수정
VM_OPTION의 쌍따옴표 제거
2 years ago
minkyu1128 810372b7c7 doc: ntri.zip 배포가이드(README.md) 파일 추가 2 years ago
minkyu1128 1b99e09007 doc: 연계문서 추가 2 years ago
minkyu1128 a7f88a39be chore: ntri 배포파일 사이즈 축소 2 years ago
minkyu1128 0d82253dd5 feat: 수신경유 API 추가
수신된 인터페이스ID 확인 후
처리 URL 로 foward
2 years ago
minkyu1128 205224538e chore: 개발DB 정보 수정 2 years ago
minkyu1128 3060bd0f75 chore: 개발DB 정보 수정 2 years ago
minkyu1128 e4546f4f28 feat: SSL 적용 2 years ago
minkyu1128 5d38762648 feat: AOP 추가 및 API 4종 테스트 완료 2 years ago
minkyu1128 c3928ba182 feat: 세외수입 개별시스템 연계 API 4종 2 years ago

@ -1,46 +1,17 @@
# 시작하기 # xit-ntri
### 세외수입개별시스템(Non-Tax Revenue Individual System) 이란? 세외수입 개별시스템 연계 API
세외수입시스템이 차세대로 넘어가는 과정에서 서비스 방식이 변경되었으며
변경된 <U>*차세대 서비스를 이용하기 위한 이용기관의 시스템*</U>이다.
### 버전관리
| 버전 |작성일|작성자|내용|
|-----|---|---|---|
|v1.0|2023.01.03|박민규|최초작성|
### 지원서비스
NTRI 시스템에서 지원하는 서비스는 아래와 같다.
+ **D03 부과결과정보(실시간)**
+ 통신방향: 세외수입시스템 -> 개별시스템(ntri)
+ **D04 부과취소정보(실시간)**
+ 통신방향: 세외수입시스템 -> 개별시스템(ntri)
+ **D05 수납정보(실시간)**
+ 통신방향: 세외수입시스템 -> 개별시스템(ntri)
+ **D06 감액정보(실시간)**
+ 통신방향: 세외수입시스템 -> 개별시스템(ntri)
## 어플리케이션 jar 빌드하기
### 빌드 방법 ### 빌드 방법
jar 파일로 빌드 하기
* 커맨드 이용 * 커맨드 이용
```shell ```shell
gradle clean build -Pprofile=prod gradle clean build -Pprofile=prod
또는 ```
gradlew clean build -Pprofile=prod * IntelliJ 이용
``` ![img.png](img.png)
* IDE 이용 - IntelliJ
![img.png](img.png)
### 빌드 파일 경로 ### 빌드 파일 경로
```text ```text
~/build/libs ~/build/libs
``` ```
## 부록
### 디렉토리 정보
|Directory|Path| Description |
|---|---|-----------------------------------------|
|연계가이드|[~/REF/doc](./REF/doc)| 연계전문(연계 표준지침) 등 연계 관련 문서 디렉토리 |
|배포파일|[~/REF/deploy/ntri](./REF/deploy/ntri)| 운영환경 배포에 필요한 파일 디렉토리 |
|배포환경체크|[~/REF/deploy/check](./REF/deploy/check)| 운영환경에서의 DB접속 테스트 및 기타 정보 확인을 위한 파일 디렉토리 |

@ -0,0 +1,272 @@
<!DOCTYPE html []>
<html>
<head>
<meta charset="UTF-8" />
<meta name="author" content="MarkdownViewer++" />
<title>README.md</title>
<style type="text/css">
/* Avoid page breaks inside the most common attributes, especially for exports (i.e. PDF) */
td, h1, h2, h3, h4, h5, p, ul, ol, li {
page-break-inside: avoid;
}
</style>
</head>
<body>
<h1 id="section">시작하기</h1>
<hr />
<p>세외수입개별시스템(Non-Tax Revenue Individual System) 은 <br />
과태료 부과에 대한 실시간 API 4종(부과결과/부과취소/수납정보/감액정보)을 지원 하며, <br />
API 4종의 데이터는 세외수입시스템측에서 제공 한다.</p>
<ul>
<li>출발지: 세외수입시스템</li>
<li>목적지: 개별시스템(ntri)</li>
</ul>
<h3 id="section-1">버전관리</h3>
<table>
<thead>
<tr>
<th>버전</th>
<th>작성일</th>
<th>작성자</th>
<th>내용</th>
</tr>
</thead>
<tbody>
<tr>
<td>v0.1</td>
<td>2022.12.20</td>
<td>박민규</td>
<td>최초작성</td>
</tr>
<tr>
<td>v0.2</td>
<td>2022.12.21</td>
<td>박민규</td>
<td>"2. SSL 인증서 발급" 내용 수정( 발급방식 변경: 스크립트 -&gt; 실행파일(.bat) )</td>
</tr>
<tr>
<td>v0.2</td>
<td>2022.12.21</td>
<td>박민규</td>
<td>%NTRI_APP_HOME%/bin/setenv.bat 파일의 <mark>"DB/SSL설정" 수정</mark><mark>VM옵션" 환경변수 추가</mark></td>
</tr>
<tr>
<td>v0.3</td>
<td>2022.12.22</td>
<td>박민규</td>
<td>연계표준지침(v1.2.1) 전문구조 변경에 의한 "API 테스트" 데이터 수정(%NTRI_APP_HOME%/bin/test/*.json)</td>
</tr>
<tr>
<td>v0.3.1</td>
<td>2022.12.23</td>
<td>박민규</td>
<td>"1. 배포하기"에 NTRI_JAVA_HOME 설정에 대한 내용 추가 및 실행 환경 JDBC 내용추가</td>
</tr>
<tr>
<td>v0.3.2</td>
<td>2022.12.27</td>
<td>박민규</td>
<td>"부록-실행 환경"의 JDBC 수정(ojdbc8.jar -&gt; ojdbc6.jar). 사유: 일부 서버에서 Java.sql.SQLRecoverableException 발생</td>
</tr>
<tr>
<td>v0.3.3</td>
<td>2022.12.27</td>
<td>박민규</td>
<td>문서내용 수정. "부록-실행 환경" <code>삭제</code>. "부록-구현 스펙" <code>추가</code></td>
</tr>
<tr>
<td>v0.4</td>
<td>2022.12.27</td>
<td>박민규</td>
<td>연계표준지침(v1.2.1 -&gt; v1.?.?) 전문구조 변경에 의한 "API 테스트" 데이터 수정(%NTRI_APP_HOME%/bin/test/*.json). reqVo 필드타입 수정(단건 -&gt; 다건)</td>
</tr>
<tr>
<td>v0.4.1</td>
<td>2022.12.29</td>
<td>박민규</td>
<td>curl프로그램 변경 및 프로그램 위치 변경(%NTRI_APP_HOME% -&gt; %NTRI_APP_HOME%/bin/test). "부록-디렉토리 구성"에서 내용 삭제</td>
</tr>
<tr>
<td>v0.5</td>
<td>2023.01.02</td>
<td>박민규</td>
<td>연계대상코드(linkTrgtCd) 설정 추가. (어플리케이션 수정 및 setenv.bat 환경변수 NTRI_APP_LINKTRGTCD 추가)</td>
</tr>
</tbody>
</table>
<h2 id="section-2">1. 배포하기</h2>
<ol>
<li>
<p>
<strong>원하는 경로에 ntri.zip 압축파일을 unzip</strong> 한다.</p>
<ul>
<li>[원하는 경로]/ntri -&gt; <strong><mark>%NTRI_APP_HOME%</mark></strong></li>
</ul>
</li>
<li>
<p>
<em>%NTRI_APP_HOME%/bin/setenv.bat</em> 파일을 열어 <strong>배포환경에 맞게 환경변수를 수정</strong> 한다.</p>
<ul>
<li>NTRI_JAVA_HOME 및 SSL/DB 설정 등..<br /><strong>[ NTRI_JAVA_HOME 설정 참고 ]</strong><ul><li>PC에 JDK가 설치(install)된 경우
<ul><li>JDK버전이 11 이상이면 -&gt; %JAVA_HOME% 작성</li><li>JDK버전이 11 미만이면 -&gt; <a href="https://docs.aws.amazon.com/ko_kr/corretto/latest/corretto-11-ug/downloads-list.html">JDK11(Amazon Corretto) 다운로드(.zip)</a> 및 Unzip 한 path 작성</li></ul></li><li>PC에 JDK가 미설치(no install)된 경우(unzip 또는 install 中 택1)
<ul><li><a href="https://docs.aws.amazon.com/ko_kr/corretto/latest/corretto-11-ug/downloads-list.html">JDK11(Amazon Corretto) 다운로드(.zip)</a> 및 Unzip 한 path 작성</li><li><a href="https://docs.aws.amazon.com/ko_kr/corretto/latest/corretto-11-ug/downloads-list.html">JDK11(Amazon Corretto) 다운로드(.msi)</a> 및 Install 후 %JAVA_HOME% 작성</li></ul></li></ul></li>
</ul>
<p>
<mark>※JDK 설치 확인 방법:</mark> cmd 창에서 <code>java -version</code> 입력<br /><mark>※JAVA_HOME 설정 확인 방법:</mark> 시스템 -&gt; 정보 -&gt; 고급 시스템 설정 -&gt; 환경 변수(N)... -&gt; 시스템 변수(S)</p>
</li>
<li>
<p>
<em>%NTRI_APP_HOME%/bin/service-regist.bat</em> 파일을 <strong>"관리자권한" 으로 실행</strong></p>
</li>
<li>
<p>
<em>%NTRI_APP_HOME%/webapp</em> 디렉토리에 <strong>"ntri-0.0.1-SNAPSHOT.jar" 파일 복사</strong></p>
</li>
<li>
<p>
<em>%NTRI_APP_HOME%/bin/service-start.bat</em> 파일을 실행하여 "서비스 시작"</p>
<ul>
<li>서비스 실행 오류가 발생할 경우 <em>%NTRI_APP_HOME%/logs/stderr.log</em> 내용 확인</li>
</ul>
</li>
<li>
<p>
<em>%NTRI_APP_HOME%/bin/service-logprint.bat</em> 파일을 실행하여 "서비스 실시간 로그" 확인</p>
</li>
</ol>
<h2 id="ssl">2. SSL 인증서 발급</h2>
<ol>
<li>
<a href="https://sourceforge.net/projects/openssl">OpenSSL 다운로드</a>
<ul>
<li>openssl-1.0.2j-fips-x86_64/openssl-1.0.2j-fips-x86_64.zip</li>
</ul>
</li>
<li>다운로드한 압축파일을 unzip 후 <strong>OpenSSL 디렉토리를 C드라이브(C:/) 밑으로 복사</strong></li>
<li>
<em>%NTRI_APP_HOME%/ssl/bin</em> 디렉토리의 <strong>"generate-ssl-cert-new.bat" 파일 실행</strong><br /><strong>[ 파일 설명 ]</strong><ul><li>신규 발급: <em>generate-ssl-cert-new.bat</em><ul><li>인증서파일 <code>모두</code> 발급(key, csr, crt)</li></ul></li><li>재발급: <em>generate-ssl-cert-refresh.bat</em><ul><li>인증서파일 <code>일부</code>만 발급(csr, crt)</li></ul></li></ul></li>
<li>
<em>%NTRI_APP_HOME%/ssl/cert</em> 디렉토리에 <strong>인증서파일(key,csr,crt) 이 생성</strong>되었는지 <strong>확인</strong></li>
</ol>
<h2 id="api">3. API 테스트</h2>
<ol>
<li>
<strong>"~/bin/test"</strong> 디렉토리로 이동</li>
<li>테스트 배치파일(.bat) 실행하여 API 호출
<ul><li>일괄: <em>curl-all.bat</em></li><li>부과취소: <em>curl-LevyCancel.bat</em></li><li>부과결과: <em>curl-LevyResult.bat</em></li><li>수납정보: <em>curl-RcivInfo.bat</em></li><li>감액정보: <em>curl-RdcamtInfo.bat</em></li></ul></li>
</ol>
<h1 id="section-3">부록</h1>
<hr />
<h3 id="section-4">디렉토리 구성</h3>
<table>
<thead>
<tr>
<th>Directory</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>%NTRI_APP_HOME%/webapp</td>
<td>어플리케이션 jar 파일이 위치한 디렉토리</td>
</tr>
<tr>
<td>%NTRI_APP_HOME%/bin</td>
<td>서버기동과 관련한 배치파일(.bat)이 위치한 디렉토리</td>
</tr>
<tr>
<td>%NTRI_APP_HOME%/bin/test</td>
<td>API 테스트 배치파일(.bat)이 위치한 디렉토리</td>
</tr>
<tr>
<td>%NTRI_APP_HOME%/bin/logs</td>
<td>어플리케이션 로그파일(.log)이 저장되는 디렉토리(startup.bat 직접 호출 시)</td>
</tr>
<tr>
<td>%NTRI_APP_HOME%/logs</td>
<td>어플리케이션 로그파일(.log)이 저장되는 디렉토리(윈도우 서비스 사용 시)</td>
</tr>
<tr>
<td>%NTRI_APP_HOME%/ssl/bin</td>
<td>SSL 인증서 신규/재발급을 위한 배치파일(.bat)이 위치한 디렉토리</td>
</tr>
<tr>
<td>%NTRI_APP_HOME%/ssl/cert</td>
<td>발급된 SSL 인증서가 저장되는 디렉토리</td>
</tr>
<tr>
<td>%NTRI_APP_HOME%/ssl/cert/backup</td>
<td>SSL 인증서 신규/재발급 시마다 발급된 인증서가 백업되는 디렉토리</td>
</tr>
</tbody>
</table>
<h3 id="section-5">파일 설명</h3>
<table>
<thead>
<tr>
<th>File Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>setenv.bat</td>
<td>
<code>환경변수</code> 설정</td>
</tr>
<tr>
<td>service-regist.bat</td>
<td>서비스 <code>등록</code></td>
</tr>
<tr>
<td>service-edit.bat</td>
<td>등록한 서비스정보 <code>수정</code></td>
</tr>
<tr>
<td>service-delete.bat</td>
<td>등록한 서비스 <code>삭제</code></td>
</tr>
<tr>
<td>service-start.bat</td>
<td>등록한 서비스 <code>실행</code></td>
</tr>
<tr>
<td>service-stop.bat</td>
<td>등록한 서비스 <code>중지</code></td>
</tr>
<tr>
<td>service-status.bat</td>
<td>등록한 서비스 실행 <code>상태</code> 확인</td>
</tr>
<tr>
<td>service-logprint.bat</td>
<td>등록한 서비스 <code>실시간 로그</code> 출력</td>
</tr>
<tr>
<td>startup.bat</td>
<td>서버 <code>기동</code></td>
</tr>
<tr>
<td>shutdown.bat</td>
<td>서버 <code>종료</code></td>
</tr>
<tr>
<td>logprint.bat</td>
<td>
<code>실시간 로그</code> 출력</td>
</tr>
</tbody>
</table>
<h3 id="section-6">구현 스펙</h3>
<ul>
<li>Back-End
<ul><li>SpringBoot 2.7.5</li><li>Tomcat 9.0.68</li><li>JDK11</li><li>gradle</li><li>JPA</li></ul></li>
<li>DB
<ul><li>Oracle 11g</li><li>mariaDB 10.6.5</li><li>mysql</li></ul></li>
<li>JDBC Libray
<ul><li>ojdbc6.jar</li><li>mariadb-java-client-2.7.5.jar</li><li>mysql-connector-java-8.0.30.jar</li></ul></li>
</ul>
</body>
</html>

@ -3,8 +3,8 @@
call ../setenv.bat call ../setenv.bat
echo 부과취소수신 API 호출 echo 부과취소수신 API 호출
echo curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv/levy/cancel -k -d @levyCancel.json echo curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv/levy/cancel -k -d @levyCancel.json
%NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" http://localhost:%NTRI_APP_PORT%/recv/levy/cancel -k -d @levyCancel.json %NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" http://localhost:18080/recv/levy/cancel -k -d @levyCancel.json
echo. echo.
echo. echo.

@ -3,8 +3,8 @@
call ../setenv.bat call ../setenv.bat
echo 부과결과수신 API 호출 echo 부과결과수신 API 호출
echo curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv/levy/result -k -d @levyResult.json echo curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv/levy/result -k -d @levyResult.json
%NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv/levy/result -k -d @levyResult.json %NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv/levy/result -k -d @levyResult.json
echo. echo.
echo. echo.

@ -3,8 +3,8 @@
call ../setenv.bat call ../setenv.bat
echo 수납정보수신 API 호출 echo 수납정보수신 API 호출
echo curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv/rciv/info -k -d @rcivInfo.json echo curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv/rciv/info -k -d @rcivInfo.json
%NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv/rciv/info -k -d @rcivInfo.json %NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv/rciv/info -k -d @rcivInfo.json
echo. echo.
echo. echo.

@ -3,8 +3,8 @@
call ../setenv.bat call ../setenv.bat
echo 감액정보수신 API 호출 echo 감액정보수신 API 호출
echo curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv/rdcamt/info -k -d @rdcamtInfo.json echo curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv/rdcamt/info -k -d @rdcamtInfo.json
%NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv/rdcamt/info -k -d @rdcamtInfo.json %NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv/rdcamt/info -k -d @rdcamtInfo.json
echo. echo.
echo. echo.

@ -5,20 +5,20 @@ call ../setenv.bat
call call
echo 부과결과 API 호출 echo 부과결과 API 호출
echo curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv -k -d @levyResult.json echo curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv -k -d @levyResult.json
%NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv -k -d @levyResult.json %NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv -k -d @levyResult.json
echo. echo.
echo 부과취소 API 호출 echo 부과취소 API 호출
echo curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv -k -d @levyCancel.json echo curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv -k -d @levyCancel.json
%NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv -k -d @levyCancel.json %NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv -k -d @levyCancel.json
echo. echo.
echo 수납결과 API 호출 echo 수납결과 API 호출
echo curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv -k -d @rcivInfo.json echo curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv -k -d @rcivInfo.json
%NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv -k -d @rcivInfo.json %NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv -k -d @rcivInfo.json
echo. echo.
echo 감액정보 API 호출 echo 감액정보 API 호출
echo curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv -k -d @rdcamtInfo.json echo curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv -k -d @rdcamtInfo.json
%NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:%NTRI_APP_PORT%/recv -k -d @rdcamtInfo.json %NTRI_CURL_PATH%/curl -X POST -H "Content-Type: application/json" https://localhost:18080/recv -k -d @rdcamtInfo.json
echo. echo.
echo. echo.

Loading…
Cancel
Save