전송 이력 화면 진행중

main
semin.baek 5 months ago
parent 4a5a8feabd
commit 5e962963a8

@ -57,7 +57,7 @@ COMMENT ON COLUMN TB_DFX_AGENT_INFO.SETTINGS_DATA IS '에이전스 설정 파일
CREATE TABLE TB_DFX_DROPBOX ( CREATE TABLE TB_DFX_DROPBOX (
AGENT_ID VARCHAR(256) NOT NULL AGENT_ID VARCHAR(256) NOT NULL
, DROPBOX_ID VARCHAR(256) NOT NULL , DROPBOX_ID VARCHAR(256) NOT NULL
, TASK_TYPE VARCHAR(64) NOT NULL , TASK_TYPE_CODE VARCHAR(64) NOT NULL
, DATA_SOURCE_ID VARCHAR(256) , DATA_SOURCE_ID VARCHAR(256)
, SQL_ID VARCHAR(256) , SQL_ID VARCHAR(256)
, DESCRIPTION VARCHAR(2048) , DESCRIPTION VARCHAR(2048)
@ -66,18 +66,47 @@ CREATE TABLE TB_DFX_DROPBOX (
COMMENT ON TABLE TB_DFX_DROPBOX IS 'DROPBOX 설정'; COMMENT ON TABLE TB_DFX_DROPBOX IS 'DROPBOX 설정';
COMMENT ON COLUMN TB_DFX_DROPBOX.AGENT_ID IS '에이전트ID'; COMMENT ON COLUMN TB_DFX_DROPBOX.AGENT_ID IS '에이전트ID';
COMMENT ON COLUMN TB_DFX_DROPBOX.DROPBOX_ID IS 'DROPBOX ID'; COMMENT ON COLUMN TB_DFX_DROPBOX.DROPBOX_ID IS 'DROPBOX ID';
COMMENT ON COLUMN TB_DFX_DROPBOX.TASK_TYPE IS 'CODE DROPBOX_TASK_TYPE'; COMMENT ON COLUMN TB_DFX_DROPBOX.TASK_TYPE_CODE IS 'CODE DROPBOX_TASK_TYPE';
COMMENT ON COLUMN TB_DFX_DROPBOX.DATA_SOURCE_ID IS 'DATA SOURCE ID'; COMMENT ON COLUMN TB_DFX_DROPBOX.DATA_SOURCE_ID IS 'DATA SOURCE ID';
COMMENT ON COLUMN TB_DFX_DROPBOX.SQL_ID IS 'SQL_ID'; COMMENT ON COLUMN TB_DFX_DROPBOX.SQL_ID IS 'SQL_ID';
COMMENT ON COLUMN TB_DFX_DROPBOX.DESCRIPTION IS 'DESCRIPTION'; COMMENT ON COLUMN TB_DFX_DROPBOX.DESCRIPTION IS 'DESCRIPTION';
CREATE TABLE TB_DFX_POSTMAN (
AGENT_ID VARCHAR(256) NOT NULL
, POSTMAN_ID VARCHAR(256) NOT NULL
, POSTMAN_TASK_TYPE_CODE VARCHAR(64) NOT NULL
, POSTMAN_ACTION_TYPE_CODE VARCHAR(64) NOT NULL
, POSTMAN_ACTION_CRON VARCHAR(32)
, DATA_SOURCE_ID VARCHAR(256)
, SQL_ID VARCHAR(256)
, POST_PROCESSING_SQL_ID VARCHAR(256)
, RECIPIENT_AGENT_ID VARCHAR(256)
, RECIPIENT_DROPBOX_ID VARCHAR(256)
, DESCRIPTION VARCHAR(2048)
, CONSTRAINT PK_DFX_POSTMAN PRIMARY KEY (AGENT_ID, POSTMAN_ID)
);
COMMENT ON TABLE TB_DFX_POSTMAN IS 'DROPBOX 설정';
COMMENT ON COLUMN TB_DFX_POSTMAN.AGENT_ID IS '에이전트ID';
COMMENT ON COLUMN TB_DFX_POSTMAN.POSTMAN_ID IS 'POSTMAN ID';
COMMENT ON COLUMN TB_DFX_POSTMAN.POSTMAN_TASK_TYPE_CODE IS 'CODE_GROUP: POSTMAN_TASK_TYPE';
COMMENT ON COLUMN TB_DFX_POSTMAN.POSTMAN_ACTION_TYPE_CODE IS 'CODE_GROUP: POSTMAN_ACTION_TYPE';
COMMENT ON COLUMN TB_DFX_POSTMAN.POSTMAN_ACTION_CRON IS 'POSTMAN ACTION CRON';
COMMENT ON COLUMN TB_DFX_POSTMAN.DATA_SOURCE_ID IS 'POSTMAN DATA_SOURCE_ID';
COMMENT ON COLUMN TB_DFX_POSTMAN.SQL_ID IS '전송데이터 조회 SQL_ID';
COMMENT ON COLUMN TB_DFX_POSTMAN.POST_PROCESSING_SQL_ID IS '후처리 SQL ID';
COMMENT ON COLUMN TB_DFX_POSTMAN.RECIPIENT_AGENT_ID IS '수신자 에이전트ID';
COMMENT ON COLUMN TB_DFX_POSTMAN.RECIPIENT_DROPBOX_ID IS '수신자 DROPBOX ID';
COMMENT ON COLUMN TB_DFX_POSTMAN.DESCRIPTION IS '설명';
CREATE TABLE TB_DFX_AGENT_MESSAGE_HISTORY ( CREATE TABLE TB_DFX_AGENT_MESSAGE_HISTORY (
SENDER_AGENT_ID VARCHAR(256) NOT NULL MESSAGE_UUID VARCHAR(36) NOT NULL
, SENDER_AGENT_ID VARCHAR(256) NOT NULL
, SENDER_POSTMAN_ID VARCHAR(256) NOT NULL
, SENDER_TS TIMESTAMPTZ(3) , SENDER_TS TIMESTAMPTZ(3)
, RECIPIENT_AGENT_ID VARCHAR(256) NOT NULL , RECIPIENT_AGENT_ID VARCHAR(256) NOT NULL
, RECIPIENT_DROPBOX_ID VARCHAR(256) NOT NULL
, RECIPIENT_TS TIMESTAMPTZ(3) , RECIPIENT_TS TIMESTAMPTZ(3)
, MESSAGE_UUID VARCHAR(36) NOT NULL
, MESSAGE_TYPE_CODE VARCHAR(64) , MESSAGE_TYPE_CODE VARCHAR(64)
, CONSOLE_RECEIVE_TS TIMESTAMPTZ(3) , CONSOLE_RECEIVE_TS TIMESTAMPTZ(3)
, PROCESS_STATUS_CODE VARCHAR(64) , PROCESS_STATUS_CODE VARCHAR(64)
@ -89,11 +118,13 @@ CREATE TABLE TB_DFX_AGENT_MESSAGE_HISTORY (
CREATE INDEX IX_DFX_AGENT_MESSAGE_HISTORY_1 ON TB_DFX_AGENT_MESSAGE_HISTORY (RECIPIENT_AGENT_ID); CREATE INDEX IX_DFX_AGENT_MESSAGE_HISTORY_1 ON TB_DFX_AGENT_MESSAGE_HISTORY (RECIPIENT_AGENT_ID);
CREATE INDEX IX_DFX_AGENT_MESSAGE_HISTORY_2 ON TB_DFX_AGENT_MESSAGE_HISTORY (CONSOLE_RECEIVE_TS); CREATE INDEX IX_DFX_AGENT_MESSAGE_HISTORY_2 ON TB_DFX_AGENT_MESSAGE_HISTORY (CONSOLE_RECEIVE_TS);
COMMENT ON TABLE TB_DFX_AGENT_MESSAGE_HISTORY IS '에이전트간 메시지 송신 이력'; COMMENT ON TABLE TB_DFX_AGENT_MESSAGE_HISTORY IS '에이전트간 메시지 송신 이력';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.MESSAGE_UUID IS 'MESSAGE UUID';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.SENDER_AGENT_ID IS '송신 에이전트 ID'; COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.SENDER_AGENT_ID IS '송신 에이전트 ID';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.SENDER_POSTMAN_ID IS '송신 에이전트 POSTMAN ID';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.SENDER_TS IS '송신 시간'; COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.SENDER_TS IS '송신 시간';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.RECIPIENT_AGENT_ID IS '수신 에이전트 ID'; COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.RECIPIENT_AGENT_ID IS '수신 에이전트 ID';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.RECIPIENT_DROPBOX_ID IS '수신 DROPBOX ID';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.RECIPIENT_TS IS '수신 시간'; COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.RECIPIENT_TS IS '수신 시간';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.MESSAGE_UUID IS 'MESSAGE UUID';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.MESSAGE_TYPE_CODE IS '메시지 타입 코드 CODE_GROUP: MESSAGE_TYPE'; COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.MESSAGE_TYPE_CODE IS '메시지 타입 코드 CODE_GROUP: MESSAGE_TYPE';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.CONSOLE_RECEIVE_TS IS '콘솔 수신 시간'; COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.CONSOLE_RECEIVE_TS IS '콘솔 수신 시간';
COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.PROCESS_STATUS_CODE IS '프로세스 상태 코드 CODE_GROUP: PROCESS_STATUS'; COMMENT ON COLUMN TB_DFX_AGENT_MESSAGE_HISTORY.PROCESS_STATUS_CODE IS '프로세스 상태 코드 CODE_GROUP: PROCESS_STATUS';

@ -50,6 +50,44 @@ VALUES (
'PROCESS_STATUS', 'PROCESS_FAIL', '프로세스 실패', '프로세스 실패', 2, NULL, 'Y' 'PROCESS_STATUS', 'PROCESS_FAIL', '프로세스 실패', '프로세스 실패', 2, NULL, 'Y'
); );
INSERT INTO TB_CODE (
CODE_GROUP, CODE_NAME, CODE_VALUE, CODE_DESCRIPTION, ORDER_NO, PARENT_CODE_NAME, USE_YN
)
VALUES (
'POSTMAN_TASK_TYPE', 'DB_READ_THEN_SEND', 'DB 로드 및 전송', 'DB 로드 및 전송', 1, NULL, 'Y'
);
INSERT INTO TB_CODE (
CODE_GROUP, CODE_NAME, CODE_VALUE, CODE_DESCRIPTION, ORDER_NO, PARENT_CODE_NAME, USE_YN
)
VALUES (
'POSTMAN_TASK_TYPE', 'FILE_READ_THEN_SEND', '파일 로드 및 전송', '파일 로드 및 및 전송', 2, NULL, 'Y'
);
INSERT INTO TB_CODE (
CODE_GROUP, CODE_NAME, CODE_VALUE, CODE_DESCRIPTION, ORDER_NO, PARENT_CODE_NAME, USE_YN
)
VALUES (
'POSTMAN_TASK_TYPE', 'RECEIVE_DB_TO_DB_SAVE', 'DB 데이터 수신 및 저장', 'DB 데이터 수신 및 저장', 3, NULL, 'Y'
);
INSERT INTO TB_CODE (
CODE_GROUP, CODE_NAME, CODE_VALUE, CODE_DESCRIPTION, ORDER_NO, PARENT_CODE_NAME, USE_YN
)
VALUES (
'POSTMAN_TASK_TYPE', 'RECEIVE_FILE', '파일 수신 및 저장', '파일 수신 및 저장', 4, NULL, 'Y'
);
INSERT INTO TB_CODE (
CODE_GROUP, CODE_NAME, CODE_VALUE, CODE_DESCRIPTION, ORDER_NO, PARENT_CODE_NAME, USE_YN
)
VALUES (
'POSTMAN_ACTION_TYPE', 'TRIGGER', '신호동작', '신호동작', 1, NULL, 'Y'
);
INSERT INTO TB_CODE (
CODE_GROUP, CODE_NAME, CODE_VALUE, CODE_DESCRIPTION, ORDER_NO, PARENT_CODE_NAME, USE_YN
)
VALUES (
'POSTMAN_ACTION_TYPE', 'SCHEDULED', '주기동작', '주기동작', 2, NULL, 'Y'
);

@ -16,6 +16,7 @@ import java.util.Map;
public class ReceiveMessageDto implements Serializable { public class ReceiveMessageDto implements Serializable {
private String senderHostId; private String senderHostId;
private long senderTimestamp; private long senderTimestamp;
private String senderPostmanId;
private String messageUuid; private String messageUuid;
private AgentConfigDto.MessageType messageType; private AgentConfigDto.MessageType messageType;
private long receivedTimestamp; private long receivedTimestamp;

@ -13,5 +13,9 @@ public interface DfxAgentInfoMapper {
List<DfxDropboxDto> selectDfxDropboxList(); List<DfxDropboxDto> selectDfxDropboxList();
DfxDropboxDto selectDfxDropboxByAgentIdAndDropBoxId(DfxDropboxDto dfxDropboxDto); DfxDropboxDto selectDfxDropboxByAgentIdAndDropBoxId(DfxDropboxDto dfxDropboxDto);
void insertDfxDropbox(DfxDropboxDto dfxDropboxDto); void insertDfxDropbox(DfxDropboxDto dfxDropboxDto);
int deleteDfxDropboxByAgentId(DfxAgentInfoDto dfxAgentInfoDto);
int deleteDfxDropboxByAgentIdAndDropboxId(DfxDropboxDto dfxDropboxDto); int deleteDfxDropboxByAgentIdAndDropboxId(DfxDropboxDto dfxDropboxDto);
void insertDfxPostman(DfxPostmanDto dfxPostmanDto);
int updateDfxPostman(DfxPostmanDto dfxPostmanDto);
int deleteDfxPostmanByAgentId(DfxAgentInfoDto dfxAgentInfoDto);
} }

@ -39,6 +39,36 @@ public class DfxAgentInfoService {
} }
} }
public void saveDetailForRefreshDfxAgentInfoDto(DfxAgentInfoDto dfxAgentInfoDto) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
AgentConfigDto agentConfigDto = objectMapper.readValue(dfxAgentInfoDto.getSettingsData(), new TypeReference<AgentConfigDto>(){});
dfxAgentInfoMapper.deleteDfxDropboxByAgentId(dfxAgentInfoDto);
List<AgentConfigDto.DropBox> dropBoxList = agentConfigDto.getDropBoxConfig().getDropBoxList();
if(dropBoxList != null && dropBoxList.size() > 0) {
for(AgentConfigDto.DropBox dropBox : dropBoxList) {
DfxDropboxDto dfxDropboxDto = DfxDropboxDto.builder().agentId(dfxAgentInfoDto.getAgentId())
.dropboxId(dropBox.getDropBoxId()).dataSourceId(dropBox.getDataSourceId()).sqlId(dropBox.getSqlId())
.taskTypeCode(dropBox.getTaskType().name()).description(dropBox.getDescription())
.build();
dfxAgentInfoMapper.insertDfxDropbox(dfxDropboxDto);
}
}
dfxAgentInfoMapper.deleteDfxPostmanByAgentId(dfxAgentInfoDto);
List<AgentConfigDto.Postman> postmanList = agentConfigDto.getPostmanConfig().getPostmanList();
if(postmanList != null && postmanList.size() > 0) {
for(AgentConfigDto.Postman postman : postmanList) {
DfxPostmanDto dfxPostmanDto = DfxPostmanDto.builder().agentId(dfxAgentInfoDto.getAgentId()).postmanId(postman.getPostmanId())
.postmanTaskTypeCode(postman.getTaskType().name()).postmanActionTypeCode(postman.getAction().getType().name())
.postmanActionCron(postman.getAction().getCron()).dataSourceId(postman.getMessage().getDataSourceId())
.sqlId(postman.getMessage().getSqlId()).postProcessingSqlId(postman.getMessage().getPostProcessingSqlId())
.recipientAgentId(postman.getRecipientHostId()).recipientDropboxId(postman.getRecipientDropBoxId())
.description(postman.getDescription())
.build();
dfxAgentInfoMapper.insertDfxPostman(dfxPostmanDto);
}
}
}
public AgentConfigDto getDfxAgentConfigDto(String agentId) throws JsonProcessingException { public AgentConfigDto getDfxAgentConfigDto(String agentId) throws JsonProcessingException {
DfxAgentInfoDto dfxAgentInfoDto = null; DfxAgentInfoDto dfxAgentInfoDto = null;
dfxAgentInfoDto = dfxAgentInfoMapper.selectDfxAgentInfoByAgentId(DfxAgentInfoDto.builder().agentId(agentId).build()); dfxAgentInfoDto = dfxAgentInfoMapper.selectDfxAgentInfoByAgentId(DfxAgentInfoDto.builder().agentId(agentId).build());

@ -9,15 +9,17 @@ import lombok.*;
@Builder @Builder
@ToString @ToString
public class DfxAgentMessageHistoryDto { public class DfxAgentMessageHistoryDto {
private String messageUuid;
private String senderAgentId; private String senderAgentId;
private String senderHostName; private String senderHostName;
private String senderPostmanId;
private long senderTs; private long senderTs;
private String senderTimeString; private String senderTimeString;
private String recipientAgentId; private String recipientAgentId;
private String recipientHostName; private String recipientHostName;
private String recipientDropboxId;
private long recipientTs; private long recipientTs;
private String recipientTimeString; private String recipientTimeString;
private String messageUuid;
private String messageTypeCode; private String messageTypeCode;
private long consoleReceiveTs; private long consoleReceiveTs;
private String consoleReceiveTimeString; private String consoleReceiveTimeString;

@ -11,7 +11,7 @@ import lombok.*;
public class DfxDropboxDto { public class DfxDropboxDto {
private String agentId; private String agentId;
private String dropboxId; private String dropboxId;
private String taskType; private String taskTypeCode;
private String dataSourceId; private String dataSourceId;
private String sqlId; private String sqlId;
private String description; private String description;

@ -0,0 +1,23 @@
package com.bsmlab.dfx.dfxconsole.app.agent.service;
import lombok.*;
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Getter
@Setter
@ToString
public class DfxPostmanDto {
private String agentId;
private String postmanId;
private String postmanTaskTypeCode;
private String postmanActionTypeCode;
private String postmanActionCron;
private String dataSourceId;
private String sqlId;
private String postProcessingSqlId;
private String recipientAgentId;
private String recipientDropboxId;
private String description;
}

@ -85,11 +85,57 @@
]]> ]]>
</insert> </insert>
<update id="deleteDfxDropboxByAgentIdAndDropboxId" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxDropboxDto"> <delete id="deleteDfxDropboxByAgentIdAndDropboxId" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxDropboxDto">
<![CDATA[ <![CDATA[
DELETE FROM TB_DFX_DROPBOX DELETE FROM TB_DFX_DROPBOX
WHERE 1 = 1 WHERE 1 = 1
AND AGENT_ID = #{agentId} AND DROPBOX_ID = #{dropboxId} AND AGENT_ID = #{agentId} AND DROPBOX_ID = #{dropboxId}
]]> ]]>
</delete>
<delete id="deleteDfxDropboxByAgentId" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentInfoDto">
<![CDATA[
DELETE FROM TB_DFX_DROPBOX
WHERE 1 = 1
AND AGENT_ID = #{agentId}
]]>
</delete>
<insert id="insertDfxPostman" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxPostmanDto">
<![CDATA[
INSERT INTO TB_DFX_POSTMAN (
AGENT_ID, POSTMAN_ID, POSTMAN_TASK_TYPE_CODE, POSTMAN_ACTION_TYPE_CODE, POSTMAN_ACTION_CRON, DATA_SOURCE_ID, SQL_ID, POST_PROCESSING_SQL_ID, RECIPIENT_AGENT_ID, RECIPIENT_DROPBOX_ID, DESCRIPTION
)
VALUES (
#{agentId}, #{postmanId}, #{postmanTaskTypeCode}, #{postmanActionTypeCode}, #{postmanActionCron}, #{dataSourceId}, #{sqlId}, #{postProcessingSqlId}, #{recipientAgentId}, #{recipientDropboxId}, #{description}
)
]]>
</insert>
<update id="updateDfxPostman" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxPostmanDto">
<![CDATA[
UPDATE TB_DFX_POSTMAN
SET POSTMAN_TASK_TYPE_CODE = #{postmanTaksTypeCode}
, POSTMAN_ACTION_TYPE_CODE = #{postmanActionTypeCode}
, POSTMAN_ACTION_CRON = #{postmanActionCron}
, DATA_SOURCE_ID = #{dataSourceId}
, SQL_ID = #{sqlId}
, POST_PROCESSING_SQL_ID = #{postProcessingSqlId}
, RECIPIENT_AGENT_ID = #{recipientAgentId}
, RECIPIENT_DROPBOX_ID = #{recipientDropboxId}
, DESCRIPTION = #{description}
WHERE 1 = 1
AND AGENT_ID = #{agentId}
AND POSTMAN_ID = #{postmanId}
]]>
</update> </update>
<delete id="deleteDfxPostmanByAgentId" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentInfoDto">
<![CDATA[
DELETE FROM TB_DFX_POSTMAN
WHERE 1 = 1
AND AGENT_ID = #{agentId}
]]>
</delete>
</mapper> </mapper>

@ -4,11 +4,11 @@
<select id="selectDfxAgentMessageHistoryList" resultType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentMessageHistoryDto"> <select id="selectDfxAgentMessageHistoryList" resultType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentMessageHistoryDto">
<![CDATA[ <![CDATA[
SELECT A.SENDER_AGENT_ID SELECT A.MESSAGE_UUID, A.SENDER_AGENT_ID, A.SENDER_POSTMAN_ID
, (EXTRACT(EPOCH FROM A.SENDER_TS) * 1000)::BIGINT AS SENDER_TS, TO_CHAR(A.SENDER_TS, 'YYYY-MM-DD HH24:MI:SS') AS SENDER_TIME_STRING , (EXTRACT(EPOCH FROM A.SENDER_TS) * 1000)::BIGINT AS SENDER_TS, TO_CHAR(A.SENDER_TS, 'YYYY-MM-DD HH24:MI:SS') AS SENDER_TIME_STRING
, A.RECIPIENT_AGENT_ID , A.RECIPIENT_AGENT_ID, A.RECIPIENT_DROPBOX_ID
, (EXTRACT(EPOCH FROM A.RECIPIENT_TS) * 1000)::BIGINT AS RECIPIENT_TS, TO_CHAR(A.RECIPIENT_TS, 'YYYY-MM-DD HH24:MI:SS') AS RECIPIENT_TIME_STRING , (EXTRACT(EPOCH FROM A.RECIPIENT_TS) * 1000)::BIGINT AS RECIPIENT_TS, TO_CHAR(A.RECIPIENT_TS, 'YYYY-MM-DD HH24:MI:SS') AS RECIPIENT_TIME_STRING
, A.MESSAGE_UUID, A.MESSAGE_TYPE_CODE , A.MESSAGE_TYPE_CODE
, (EXTRACT(EPOCH FROM A.CONSOLE_RECEIVE_TS) * 1000)::BIGINT AS CONSOLE_RECEIVE_TS, TO_CHAR(A.CONSOLE_RECEIVE_TS, 'YYYY-MM-DD HH24:MI:SS') AS CONSOLE_RECEIVE_TIME_STRING , (EXTRACT(EPOCH FROM A.CONSOLE_RECEIVE_TS) * 1000)::BIGINT AS CONSOLE_RECEIVE_TS, TO_CHAR(A.CONSOLE_RECEIVE_TS, 'YYYY-MM-DD HH24:MI:SS') AS CONSOLE_RECEIVE_TIME_STRING
, A.PROCESS_STATUS_CODE, A.MESSAGE_DATA, A.MESSAGE_DATA_COUNT , A.PROCESS_STATUS_CODE, A.MESSAGE_DATA, A.MESSAGE_DATA_COUNT
, (EXTRACT(EPOCH FROM A.PROCESS_ACK_TS) * 1000)::BIGINT AS PROCESS_ACK_TS, TO_CHAR(A.PROCESS_ACK_TS, 'YYYY-MM-DD HH24:MI:SS') AS PROCESS_ACK_TIME_STRING , (EXTRACT(EPOCH FROM A.PROCESS_ACK_TS) * 1000)::BIGINT AS PROCESS_ACK_TS, TO_CHAR(A.PROCESS_ACK_TS, 'YYYY-MM-DD HH24:MI:SS') AS PROCESS_ACK_TIME_STRING
@ -31,11 +31,11 @@
<select id="selectDfxAgentMessageHistoryBySenderAgentIdAndMessageUuid" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentMessageHistoryDto" resultType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentMessageHistoryDto"> <select id="selectDfxAgentMessageHistoryBySenderAgentIdAndMessageUuid" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentMessageHistoryDto" resultType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentMessageHistoryDto">
<![CDATA[ <![CDATA[
SELECT A.SENDER_AGENT_ID SELECT A.MESSAGE_UUID, A.SENDER_AGENT_ID, A.SENDER_POSTMAN_ID
, (EXTRACT(EPOCH FROM A.SENDER_TS) * 1000)::BIGINT AS SENDER_TS, TO_CHAR(A.SENDER_TS, 'YYYY-MM-DD HH24:MI:SS') AS SENDER_TIME_STRING , (EXTRACT(EPOCH FROM A.SENDER_TS) * 1000)::BIGINT AS SENDER_TS, TO_CHAR(A.SENDER_TS, 'YYYY-MM-DD HH24:MI:SS') AS SENDER_TIME_STRING
, A.RECIPIENT_AGENT_ID , A.RECIPIENT_AGENT_ID, A.RECIPIENT_DROPBOX_ID
, (EXTRACT(EPOCH FROM A.RECIPIENT_TS) * 1000)::BIGINT AS RECIPIENT_TS, TO_CHAR(A.RECIPIENT_TS, 'YYYY-MM-DD HH24:MI:SS') AS RECIPIENT_TIME_STRING , (EXTRACT(EPOCH FROM A.RECIPIENT_TS) * 1000)::BIGINT AS RECIPIENT_TS, TO_CHAR(A.RECIPIENT_TS, 'YYYY-MM-DD HH24:MI:SS') AS RECIPIENT_TIME_STRING
, A.MESSAGE_UUID, A.MESSAGE_TYPE_CODE , A.MESSAGE_TYPE_CODE
, (EXTRACT(EPOCH FROM A.CONSOLE_RECEIVE_TS) * 1000)::BIGINT AS CONSOLE_RECEIVE_TS, TO_CHAR(A.CONSOLE_RECEIVE_TS, 'YYYY-MM-DD HH24:MI:SS') AS CONSOLE_RECEIVE_TIME_STRING , (EXTRACT(EPOCH FROM A.CONSOLE_RECEIVE_TS) * 1000)::BIGINT AS CONSOLE_RECEIVE_TS, TO_CHAR(A.CONSOLE_RECEIVE_TS, 'YYYY-MM-DD HH24:MI:SS') AS CONSOLE_RECEIVE_TIME_STRING
, A.PROCESS_STATUS_CODE, A.MESSAGE_DATA, A.MESSAGE_DATA_COUNT , A.PROCESS_STATUS_CODE, A.MESSAGE_DATA, A.MESSAGE_DATA_COUNT
, (EXTRACT(EPOCH FROM A.PROCESS_ACK_TS) * 1000)::BIGINT AS PROCESS_ACK_TS, TO_CHAR(A.PROCESS_ACK_TS, 'YYYY-MM-DD HH24:MI:SS') AS PROCESS_ACK_TIME_STRING , (EXTRACT(EPOCH FROM A.PROCESS_ACK_TS) * 1000)::BIGINT AS PROCESS_ACK_TS, TO_CHAR(A.PROCESS_ACK_TS, 'YYYY-MM-DD HH24:MI:SS') AS PROCESS_ACK_TIME_STRING
@ -52,21 +52,21 @@
<insert id="insertDfxAgentMessageHistory" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentMessageHistoryDto"> <insert id="insertDfxAgentMessageHistory" parameterType="com.bsmlab.dfx.dfxconsole.app.agent.service.DfxAgentMessageHistoryDto">
<![CDATA[ <![CDATA[
INSERT INTO TB_DFX_AGENT_MESSAGE_HISTORY ( INSERT INTO TB_DFX_AGENT_MESSAGE_HISTORY (
SENDER_AGENT_ID MESSAGE_UUID, SENDER_AGENT_ID, SENDER_POSTMAN_ID
, SENDER_TS , SENDER_TS
, RECIPIENT_AGENT_ID , RECIPIENT_AGENT_ID, RECIPIENT_DROPBOX_ID
, RECIPIENT_TS , RECIPIENT_TS
, MESSAGE_UUID, MESSAGE_TYPE_CODE , MESSAGE_TYPE_CODE
, CONSOLE_RECEIVE_TS , CONSOLE_RECEIVE_TS
, PROCESS_STATUS_CODE, MESSAGE_DATA, MESSAGE_DATA_COUNT , PROCESS_STATUS_CODE, MESSAGE_DATA, MESSAGE_DATA_COUNT
, PROCESS_ACK_TS , PROCESS_ACK_TS
) )
VALUES ( VALUES (
#{senderAgentId} #{messageUuid}, #{senderAgentId}, #{senderPostmanId}
, CASE WHEN #{senderTs} = 0 THEN NULL ELSE #{senderTs, jdbcType=TIMESTAMP_WITH_TIMEZONE, javaType=long} END , CASE WHEN #{senderTs} = 0 THEN NULL ELSE #{senderTs, jdbcType=TIMESTAMP_WITH_TIMEZONE, javaType=long} END
, #{recipientAgentId} , #{recipientAgentId}, #{recipientDropboxId}
, CASE WHEN #{recipientTs} = 0 THEN NULL ELSE #{recipientTs, jdbcType=TIMESTAMP_WITH_TIMEZONE, javaType=long} END , CASE WHEN #{recipientTs} = 0 THEN NULL ELSE #{recipientTs, jdbcType=TIMESTAMP_WITH_TIMEZONE, javaType=long} END
, #{messageUuid}, #{messageTypeCode} , #{messageTypeCode}
, CASE WHEN #{consoleReceiveTs} = 0 THEN NULL ELSE #{consoleReceiveTs, jdbcType=TIMESTAMP_WITH_TIMEZONE, javaType=long} END , CASE WHEN #{consoleReceiveTs} = 0 THEN NULL ELSE #{consoleReceiveTs, jdbcType=TIMESTAMP_WITH_TIMEZONE, javaType=long} END
, #{processStatusCode}, #{messageData}, #{messageDataCount} , #{processStatusCode}, #{messageData}, #{messageDataCount}
, CASE WHEN #{processAckTs} = 0 THEN NULL ELSE #{processAckTs, jdbcType=TIMESTAMP_WITH_TIMEZONE, javaType=long} END , CASE WHEN #{processAckTs} = 0 THEN NULL ELSE #{processAckTs, jdbcType=TIMESTAMP_WITH_TIMEZONE, javaType=long} END

Loading…
Cancel
Save