최초 커밋
commit
4611271b5d
Binary file not shown.
|
After Width: | Height: | Size: 7.2 KiB |
@ -0,0 +1,113 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.7.18</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
|
||||
<groupId>cokr.xit.interfaces</groupId>
|
||||
<artifactId>xit-sntris-interface</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>xit-sntris-interface</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
||||
<java.version>17</java.version>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>mvn2s</id>
|
||||
<url>https://repo1.maven.org/maven2/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>egovframe</id>
|
||||
<url>https://maven.egovframe.go.kr/maven/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>maven-public</id>
|
||||
<url>https://nas.xit.co.kr:8888/repository/maven-public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>cokr.xit.boot</groupId>
|
||||
<artifactId>xit-foundation-starter</artifactId>
|
||||
<version>23.04.01-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency> <!-- 서울 세외수입 연계 -->
|
||||
<groupId>cokr.xit.interfaces</groupId>
|
||||
<artifactId>xit-sntris</artifactId>
|
||||
<version>23.04.01-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>xit-sntris-interface</finalName>
|
||||
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${basedir}/src/main/resources</directory>
|
||||
<excludes>
|
||||
<exclude>intf-conf/*.*</exclude>
|
||||
<exclude>spring/*.*</exclude>
|
||||
<exclude>application.yml</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
<groupId>com.github.therapi</groupId>
|
||||
<artifactId>therapi-runtime-javadoc-scribe</artifactId>
|
||||
<version>0.15.0</version>
|
||||
</path>
|
||||
</annotationProcessorPaths>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<outputDirectory>deploy</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project default="sntris">
|
||||
<property name="resources" value="src/main/resources" />
|
||||
<property name="deploy" value="deploy" />
|
||||
|
||||
<target name="sntris">
|
||||
<copy todir="${deploy}/intf-conf">
|
||||
<fileset dir="${resources}/intf-conf" />
|
||||
</copy>
|
||||
<copy todir="${deploy}/spring">
|
||||
<fileset dir="${resources}/spring" />
|
||||
</copy>
|
||||
<copy file="${resources}/application.yml" todir="${deploy}" />
|
||||
|
||||
<delete file="xit-sntris-interface.zip" />
|
||||
<zip destfile="release/xit-sntris-interface.zip" basedir="${deploy}" compress="true" />
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@ -0,0 +1,24 @@
|
||||
package cokr.xit.interfaces.sntris;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ImportResource;
|
||||
|
||||
import cokr.xit.foundation.boot.FoundationApplication;
|
||||
import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.info.Info;
|
||||
|
||||
@ImportResource("classpath:spring/context-*.xml")
|
||||
public class SntrisInterfaceApplication extends FoundationApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(SntrisInterfaceApplication.class, args);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public OpenAPI openAPI() {
|
||||
return new OpenAPI()
|
||||
.info(new Info()
|
||||
.title("서울 세외수입 연계 시스템")
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,53 @@
|
||||
server:
|
||||
port: 18080
|
||||
servlet:
|
||||
context-path: /
|
||||
|
||||
ssl:
|
||||
enabled: false
|
||||
key-store: ssl/.keystore
|
||||
key-store-type: PKCS12
|
||||
key-store-password: 5811807
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: xit-sntris-interface
|
||||
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
sql:
|
||||
init:
|
||||
platform: mariadb 또는 oracle(해당 내용만 지정)
|
||||
|
||||
datasource:
|
||||
hikari:
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
# MariaDB
|
||||
jdbc-url: jdbc:log4jdbc:mariadb://호스트:포트/DB이름?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&useSSL=false&autocommit=false
|
||||
# Oracle
|
||||
# jdbc-url: jdbc:log4jdbc:oracle:thin:@호스트:포트:SID
|
||||
username: 사용자 아이디
|
||||
password: 사용자 비밀번호
|
||||
auto-commit: false
|
||||
|
||||
mvc:
|
||||
static-path-pattern: /resources/**,/files/**
|
||||
web:
|
||||
resources:
|
||||
static-locations: /resources/,file:files/
|
||||
|
||||
messageSource:
|
||||
basenames:
|
||||
- classpath:message/message-common
|
||||
- classpath:org/egovframe/rte/fdl/property/messages/properties
|
||||
|
||||
springdoc:
|
||||
swagger-ui:
|
||||
path: /swagger.html
|
||||
|
||||
propertyService:
|
||||
properties:
|
||||
- tempDir: C:\temp
|
||||
- pageUnit: 10
|
||||
- pageSize: 10
|
||||
- permitAccess: /intf/**/*
|
||||
@ -0,0 +1,21 @@
|
||||
{
|
||||
"host": "http://98.33.4.167:8082",
|
||||
/* 운영: http://98.33.4.164
|
||||
개발: http://98.33.4.167:8082
|
||||
*/
|
||||
|
||||
"apis": [
|
||||
{ /* 부과 */
|
||||
"name": "imposition",
|
||||
"uri": "/BugaWebService/BugaWebService"
|
||||
},
|
||||
{ /* 사전통보 - 과태료 대장 등록 */
|
||||
"name": "prenotice",
|
||||
"uri": "/SntrPreNoticeWebService/SntrPreNoticeWebService"
|
||||
},
|
||||
{ /* 사전통보 - 과태료 대장 조회 */
|
||||
"name": "fileoffer",
|
||||
"uri": "/SntrFileOfferWebService/SntrFileOfferWebService"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
|
||||
|
||||
log4jdbc.dump.sql.maxlinelength=0
|
||||
log4jdbc.drivers=org.mariadb.jdbc.Driver
|
||||
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 60초마다 설정 파일의 변경을 확인 하여 변경시 갱신 -->
|
||||
<configuration scan="true" scanPeriod="60 seconds">
|
||||
<springProperty scope="context" name="applicationName" source="spring.application.name"/>
|
||||
<property name="LOG_PATH" value="logs"/>
|
||||
<property name="LOG_FILE_NAME" value="${applicationName}"/>
|
||||
<property name="ERR_LOG_FILE_NAME" value="${LOG_FILE_NAME}-error"/>
|
||||
<property name="LOG_PATTERN" value="%d{HH:mm:ss.SSS} %-5level [%logger{0}:%line] - %msg%n"/>
|
||||
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
|
||||
<maxHistory>30</maxHistory><!-- 로그파일 보관주기(일)-->
|
||||
<!--<MinIndex>1</MinIndex>
|
||||
<MaxIndex>10</MaxIndex>-->
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<appender name="Error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>error</level>
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
|
||||
<file>${LOG_PATH}/${ERR_LOG_FILE_NAME}.log</file>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${ERR_LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<!-- 파일당 최고 용량 kb, mb, gb -->
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거-->
|
||||
<maxHistory>60</maxHistory>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<root level="DEBUG" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="Error"/>
|
||||
</root>
|
||||
|
||||
<logger name="org.apache.commons" level="OFF" additivity="false"/>
|
||||
<logger name="org.mariadb" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.connection" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.sqlonly" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.resultset" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.resultsettable" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.audit" level="OFF" additivity="false"/>
|
||||
<logger name="com.zaxxer" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.sqltiming" level="DEBUG" />
|
||||
<logger name="org.quartz" level="Error" additivity="false"/>
|
||||
|
||||
<!-- 특정패키지 로깅레벨 설정 -->
|
||||
<logger name="cokr.xit" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="Error"/>
|
||||
</logger>
|
||||
</configuration>
|
||||
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cokr.xit.foundation.test.TestMapper">
|
||||
|
||||
<insert id="insert" parameterType="map">${sql}</insert>
|
||||
|
||||
<update id="update" parameterType="map">${sql}</update>
|
||||
|
||||
<delete id="delete" parameterType="map">${sql}</delete>
|
||||
|
||||
<update id="commit">COMMIT</update>
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="utility">
|
||||
|
||||
<!-- For Maria DB -->
|
||||
<sql id="paging-prefix"><if test="fetchSize != null and fetchSize > 0">
|
||||
SELECT QROWS.* FROM (
|
||||
SELECT ROW_NUMBER() OVER(<include refid="utility.sortBy" />) ROW_NUM
|
||||
, COUNT(*) OVER() TOT_CNT, QBODY.*
|
||||
FROM (</if></sql>
|
||||
|
||||
<sql id="paging-suffix"><if test="fetchSize != null and fetchSize > 0"> ) QBODY
|
||||
) QROWS
|
||||
WHERE ROW_NUM BETWEEN ((#{pageNum} - 1) * #{fetchSize}) + 1 AND (#{pageNum} * #{fetchSize})</if></sql>
|
||||
|
||||
<select id="foundRows" resultType="dataobject">/* 전체 결과수 가져오기(utility.foundRows) */
|
||||
SELECT FOUND_ROWS() TOT_CNT</select>
|
||||
|
||||
<sql id="sortBy"><if test="orderBy != null and orderBy != ''">ORDER BY ${orderBy}</if></sql>
|
||||
|
||||
<sql id="orderBy"><if test="fetchSize == null or fetchSize < 1"><include refid="utility.sortBy" /></if></sql>
|
||||
|
||||
<sql id="now"><if test="_databaseId == 'mariadb'">DATE_FORMAT(CURRENT_TIMESTAMP, '%Y%m%d%H%i%s')</if>
|
||||
<if test="_databaseId == 'oracle'">TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS')</if></sql>
|
||||
|
||||
<sql id="selectNow">SELECT<include refid="utility.now" />NOW FROM DUAL</sql>
|
||||
|
||||
<sql id="today"><if test="_databaseId == 'mariadb'">DATE_FORMAT(CURRENT_DATE, '%Y%m%d')</if>
|
||||
<if test="_databaseId == 'oracle'">TO_CHAR(CURRENT_DATE, 'YYYYMMDD')</if></sql>
|
||||
|
||||
<sql id="selectToday">SELECT<include refid="utility.today" />TODAY FROM DUAL</sql>
|
||||
|
||||
<sql id="thisDay">NVL(#{thisDay},<include refid="utility.today" />)</sql>
|
||||
|
||||
<sql id="selectThisDay">SELECT<include refid="utility.thisDay" />THIS_DAY FROM DUAL</sql>
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
<configuration>
|
||||
|
||||
<settings>
|
||||
<setting name="mapUnderscoreToCamelCase" value="false"/>
|
||||
<setting name="cacheEnabled" value="false" />
|
||||
<setting name="jdbcTypeForNull" value="NULL" />
|
||||
<setting name="callSettersOnNulls" value="true"/>
|
||||
</settings>
|
||||
|
||||
<typeAliases>
|
||||
<typeAlias alias="egovMap" type="org.egovframe.rte.psl.dataaccess.util.EgovMap"/>
|
||||
<typeAlias alias="dataobject" type="cokr.xit.foundation.data.DataObject"/>
|
||||
</typeAliases>
|
||||
|
||||
<typeHandlers>
|
||||
<typeHandler handler="cokr.xit.foundation.data.RowValueHandler" javaType="java.lang.Object"/>
|
||||
</typeHandlers>
|
||||
|
||||
</configuration>
|
||||
Loading…
Reference in New Issue