DBMS별 DDL 추가, 리포트 서비스 로직 수정, Mysql Connector 추가

This commit is contained in:
jangdongsin 2024-10-22 08:58:35 +09:00
parent 057bc010c0
commit 3817c05987
9 changed files with 452 additions and 31 deletions

View File

@ -46,6 +46,8 @@ dependencies {
implementation 'org.jdom:jdom2:2.0.6.1'
// https://mvnrepository.com/artifact/org.apache.commons/commons-configuration2
implementation 'org.apache.commons:commons-configuration2:2.10.1'
// https://mvnrepository.com/artifact/mysql/mysql-connector-java
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33'
// https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client
implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '3.1.4'
// https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc11

View File

@ -147,47 +147,50 @@ public class ReportClientService extends Service {
}
} catch (Exception e) {
saveSystemLog("ERROR [" + e.getMessage() + "]");
saveSystemLog("ERROR DETAIL");
saveSystemLog(e);
throw new RuntimeException(e);
}
}
private void messageService() {
try {
while (isRun()) {
headBuffer.clear();
int recvCount = socketChannel.read(headBuffer);
// saveSystemLog("recvCount : " + recvCount);
if (recvCount == -1) {
throw new RuntimeException("REPORT ERROR : Connection closed");
} else if (recvCount > 0) {
// Packet.printBuffer(headBuffer);
String command = Header.getCommand(headBuffer);
if (command == null) {
continue;
}
saveLog("command : " + command);
switch (Integer.parseInt(command)) {
case 5 :
reportBodyBuffer.clear();
socketChannel.read(reportBodyBuffer);
reportService(headBuffer, reportBodyBuffer);
break;
case 7 :
linkBodyBuffer.clear();
socketChannel.read(linkBodyBuffer);
linkCheckService(headBuffer, linkBodyBuffer);
break;
default: throw new RuntimeException("REPORT ERROR");
}
} else {
Thread.sleep(10L);
headBuffer.clear();
int recvCount = socketChannel.read(headBuffer);
if (recvCount == -1) {
throw new RuntimeException("REPORT ERROR : Connection closed");
} else if (recvCount > 0) {
String command = Header.getCommand(headBuffer);
if (command == null) {
return;
}
switch (Integer.parseInt(command)) {
case 5 :
reportBodyBuffer.clear();
socketChannel.read(reportBodyBuffer);
reportService(headBuffer, reportBodyBuffer);
break;
case 7 :
linkBodyBuffer.clear();
socketChannel.read(linkBodyBuffer);
linkCheckService(headBuffer, linkBodyBuffer);
break;
default: throw new RuntimeException("REPORT ERROR");
}
} else {
Thread.sleep(10L);
}
} catch (IOException e) {
e.printStackTrace();
saveSystemLog("ERROR [" + e.getMessage() + "]");
saveSystemLog("ERROR DETAIL");
saveSystemLog(e);
throw new RuntimeException(e);
} catch (InterruptedException e) {
saveSystemLog("ERROR [" + e.getMessage() + "]");
saveSystemLog("ERROR DETAIL");
saveSystemLog(e);
throw new RuntimeException(e);
}
}
@ -206,7 +209,9 @@ public class ReportClientService extends Service {
lastPacketSendTime = System.currentTimeMillis();
}
} catch (Exception e) {
e.printStackTrace();
saveSystemLog("ERROR [" + e.getMessage() + "]");
saveSystemLog("ERROR DETAIL");
saveSystemLog(e);
throw new RuntimeException(e);
}
}
@ -217,6 +222,9 @@ public class ReportClientService extends Service {
socketChannel.write(LinkCheck.makeLinkCheckAckBuffer());
lastPacketSendTime = System.currentTimeMillis();
} catch (Exception e) {
saveSystemLog("ERROR [" + e.getMessage() + "]");
saveSystemLog("ERROR DETAIL");
saveSystemLog(e);
throw new RuntimeException(e);
}
}

View File

@ -0,0 +1,55 @@
CREATE TABLE MUNJAON_MSG
(
MSG_ID BIGINT NOT NULL AUTO_INCREMENT,
MSG_TYPE CHAR(1) DEFAULT '3' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATETIME,
SENT_DATE DATETIME,
REPORT_DATE DATETIME,
PRIMARY KEY PK_MUNJAON_MSG(MSG_ID)
);
CREATE INDEX IDX_MUNJAON_MSG_1 ON MUNJAON_MSG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_2 ON MUNJAON_MSG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_3 ON MUNJAON_MSG(SEND_STATUS);
CREATE TABLE MUNJAON_MSG_LOG
(
MSG_ID INTEGER UNSIGNED,
MSG_TYPE CHAR(1) DEFAULT '1' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATETIME NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATETIME,
SENT_DATE DATETIME,
REPORT_DATE DATETIME
);
CREATE INDEX IDX_MUNJAON_MSG_LOG_1 ON MUNJAON_MSG_LOG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_2 ON MUNJAON_MSG_LOG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_LOG_3 ON MUNJAON_MSG_LOG(SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_4 ON MUNJAON_MSG_LOG(MSG_ID);

View File

@ -0,0 +1,55 @@
CREATE TABLE MUNJAON_MSG
(
MSG_ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
MSG_TYPE CHAR(1) DEFAULT '3' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATETIME,
SENT_DATE DATETIME,
REPORT_DATE DATETIME,
PRIMARY KEY PK_MUNJAON_MSG(MSG_ID)
);
CREATE INDEX IDX_MUNJAON_MSG_1 ON MUNJAON_MSG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_2 ON MUNJAON_MSG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_3 ON MUNJAON_MSG(SEND_STATUS);
CREATE TABLE MUNJAON_MSG_LOG
(
MSG_ID INTEGER UNSIGNED,
MSG_TYPE CHAR(1) DEFAULT '1' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATETIME NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATETIME,
SENT_DATE DATETIME,
REPORT_DATE DATETIME
);
CREATE INDEX IDX_MUNJAON_MSG_LOG_1 ON MUNJAON_MSG_LOG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_2 ON MUNJAON_MSG_LOG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_LOG_3 ON MUNJAON_MSG_LOG(SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_4 ON MUNJAON_MSG_LOG(MSG_ID);

View File

@ -0,0 +1,55 @@
CREATE TABLE MUNJAON_MSG
(
MSG_ID BIGINT IDENTITY (1, 1) NOT NULL,
MSG_TYPE CHAR(1) DEFAULT '3' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATETIME DEFAULT GETDATE() NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATETIME,
SENT_DATE DATETIME,
REPORT_DATE DATETIME,
CONSTRAINT PK_MUNJAON_MSG PRIMARY KEY (MSG_ID)
);
CREATE INDEX IDX_MUNJAON_MSG_1 ON MUNJAON_MSG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_2 ON MUNJAON_MSG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_3 ON MUNJAON_MSG(SEND_STATUS);
CREATE TABLE MUNJAON_MSG_LOG
(
MSG_ID BIGINT ,
MSG_TYPE CHAR(1) DEFAULT '1' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATETIME NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATETIME,
SENT_DATE DATETIME,
REPORT_DATE DATETIME
);
CREATE INDEX IDX_MUNJAON_MSG_LOG_1 ON MUNJAON_MSG_LOG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_2 ON MUNJAON_MSG_LOG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_LOG_3 ON MUNJAON_MSG_LOG(SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_4 ON MUNJAON_MSG_LOG(MSG_ID);

View File

@ -0,0 +1,55 @@
CREATE TABLE MUNJAON_MSG
(
MSG_ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
MSG_TYPE CHAR(1) DEFAULT '3' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATETIME,
SENT_DATE DATETIME,
REPORT_DATE DATETIME,
PRIMARY KEY PK_MUNJAON_MSG(MSG_ID)
);
CREATE INDEX IDX_MUNJAON_MSG_1 ON MUNJAON_MSG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_2 ON MUNJAON_MSG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_3 ON MUNJAON_MSG(SEND_STATUS);
CREATE TABLE MUNJAON_MSG_LOG
(
MSG_ID INTEGER UNSIGNED,
MSG_TYPE CHAR(1) DEFAULT '1' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATETIME NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATETIME,
SENT_DATE DATETIME,
REPORT_DATE DATETIME
);
CREATE INDEX IDX_MUNJAON_MSG_LOG_1 ON MUNJAON_MSG_LOG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_2 ON MUNJAON_MSG_LOG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_LOG_3 ON MUNJAON_MSG_LOG(SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_4 ON MUNJAON_MSG_LOG(MSG_ID);

View File

@ -0,0 +1,64 @@
CREATE TABLE MUNJAON_MSG
(
MSG_ID NUMBER NOT NULL,
MSG_TYPE CHAR(1) DEFAULT '3' NOT NULL,
SEND_STATUS VARCHAR2(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATE DEFAULT SYSDATE NOT NULL,
RECV_PHONE VARCHAR2(15) NOT NULL,
SEND_PHONE VARCHAR2(15) NOT NULL,
SUBJECT VARCHAR2(60),
MESSAGE VARCHAR2(2000) NOT NULL,
TELECOM VARCHAR2(7),
AGENT_CODE VARCHAR2(5),
FILENAME01 VARCHAR2(100),
FILENAME02 VARCHAR2(100),
FILENAME03 VARCHAR2(100),
KAKAO_SENDER_KEY VARCHAR2(40),
KAKAO_TEMPLATE_CODE VARCHAR2(64),
KAKAO_JSON_FILE VARCHAR2(100),
DELIVER_DATE DATE,
SENT_DATE DATE,
REPORT_DATE DATE,
CONSTRAINT PK_MUNJAON_MSG PRIMARY KEY (MSG_ID)
);
CREATE INDEX IDX_MUNJAON_MSG_1 ON MUNJAON_MSG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_2 ON MUNJAON_MSG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_3 ON MUNJAON_MSG(SEND_STATUS);
CREATE TABLE MUNJAON_MSG_LOG
(
MSG_ID NUMBER ,
MSG_TYPE CHAR(1) DEFAULT '1' NOT NULL,
SEND_STATUS VARCHAR2(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATE NOT NULL,
RECV_PHONE VARCHAR2(15) NOT NULL,
SEND_PHONE VARCHAR2(15) NOT NULL,
SUBJECT VARCHAR2(60),
MESSAGE VARCHAR2(2000) NOT NULL,
TELECOM VARCHAR2(7),
AGENT_CODE VARCHAR2(5),
FILENAME01 VARCHAR2(100),
FILENAME02 VARCHAR2(100),
FILENAME03 VARCHAR2(100),
KAKAO_SENDER_KEY VARCHAR2(40),
KAKAO_TEMPLATE_CODE VARCHAR2(64),
KAKAO_JSON_FILE VARCHAR2(100),
DELIVER_DATE DATE,
SENT_DATE DATE,
REPORT_DATE DATE
);
CREATE INDEX IDX_MUNJAON_MSG_LOG_1 ON MUNJAON_MSG_LOG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_2 ON MUNJAON_MSG_LOG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_LOG_3 ON MUNJAON_MSG_LOG(SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_4 ON MUNJAON_MSG_LOG(MSG_ID);
CREATE SEQUENCE MUNJAON_MSG_SEQUENCE
START WITH 1
MAXVALUE 99999999
MINVALUE 1
CYCLE
NOCACHE
NOORDER
;

View File

@ -0,0 +1,63 @@
CREATE TABLE MUNJAON_MSG
(
MSG_ID BIGINT NOT NULL,
MSG_TYPE CHAR(1) DEFAULT '3' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE TIMESTAMP DEFAULT NOW() NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE TIMESTAMP,
SENT_DATE TIMESTAMP,
REPORT_DATE TIMESTAMP,
CONSTRAINT PK_MUNJAON_MSG PRIMARY KEY (MSG_ID)
);
CREATE INDEX IDX_MUNJAON_MSG_1 ON MUNJAON_MSG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_2 ON MUNJAON_MSG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_3 ON MUNJAON_MSG(SEND_STATUS);
CREATE TABLE MUNJAON_MSG_LOG
(
MSG_ID BIGINT ,
MSG_TYPE CHAR(1) DEFAULT '1' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE TIMESTAMP NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE TIMESTAMP,
SENT_DATE TIMESTAMP,
REPORT_DATE TIMESTAMP
);
CREATE INDEX IDX_MUNJAON_MSG_LOG_1 ON MUNJAON_MSG_LOG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_2 ON MUNJAON_MSG_LOG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_LOG_3 ON MUNJAON_MSG_LOG(SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_4 ON MUNJAON_MSG_LOG(MSG_ID);
CREATE SEQUENCE MUNJAON_MSG_SEQUENCE
START WITH 1
MAXVALUE 99999999
MINVALUE 1
CYCLE
;

View File

@ -0,0 +1,64 @@
CREATE TABLE MUNJAON_MSG
(
MSG_ID NUMBER NOT NULL,
MSG_TYPE CHAR(1) DEFAULT '3' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATE DEFAULT SYSDATE NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR(100),
DELIVER_DATE DATE,
SENT_DATE DATE,
REPORT_DATE DATE,
CONSTRAINT PK_MUNJAON_MSG PRIMARY KEY (MSG_ID)
);
CREATE INDEX IDX_MUNJAON_MSG_1 ON MUNJAON_MSG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_2 ON MUNJAON_MSG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_3 ON MUNJAON_MSG(SEND_STATUS);
CREATE TABLE MUNJAON_MSG_LOG
(
MSG_ID NUMBER ,
MSG_TYPE CHAR(1) DEFAULT '1' NOT NULL,
SEND_STATUS VARCHAR(10) DEFAULT '0' NOT NULL,
REQUEST_DATE DATE NOT NULL,
RECV_PHONE VARCHAR(15) NOT NULL,
SEND_PHONE VARCHAR(15) NOT NULL,
SUBJECT VARCHAR(60),
MESSAGE VARCHAR(2000) NOT NULL,
TELECOM VARCHAR(7),
AGENT_CODE VARCHAR(5),
FILENAME01 VARCHAR(100),
FILENAME02 VARCHAR(100),
FILENAME03 VARCHAR(100),
KAKAO_SENDER_KEY VARCHAR(40),
KAKAO_TEMPLATE_CODE VARCHAR(64),
KAKAO_JSON_FILE VARCHAR2(100),
DELIVER_DATE DATE,
SENT_DATE DATE,
REPORT_DATE DATE
);
CREATE INDEX IDX_MUNJAON_MSG_LOG_1 ON MUNJAON_MSG_LOG(REQUEST_DATE, SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_2 ON MUNJAON_MSG_LOG(RECV_PHONE);
CREATE INDEX IDX_MUNJAON_MSG_LOG_3 ON MUNJAON_MSG_LOG(SEND_STATUS);
CREATE INDEX IDX_MUNJAON_MSG_LOG_4 ON MUNJAON_MSG_LOG(MSG_ID);
CREATE SEQUENCE MUNJAON_MSG_SEQUENCE
START WITH 1
MAXVALUE 99999999
MINVALUE 1
CYCLE
NOCACHE
NOORDER
;