로깅 개선 및 EAI 배치 가상 연동 작업 완료
This commit is contained in:
@@ -3,6 +3,9 @@ package com.eactive.ext.kjb.ums;
|
||||
import com.eactive.apim.portal.portaluser.entity.PortalUser;
|
||||
import com.eactive.apim.portal.template.entity.MessageRequest;
|
||||
import com.eactive.apim.portal.template.repository.MessageRequestRepository;
|
||||
import com.eactive.ext.kjb.common.KjbProperty;
|
||||
import com.eactive.ext.kjb.eai.EaiBatchMessage;
|
||||
import com.eactive.ext.kjb.eai.KjbEaiBatchModule;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -22,19 +25,19 @@ import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
public class EmailJob {
|
||||
private final EmailProperty prop;
|
||||
private final KjbProperty prop;
|
||||
private final MessageRequest messageRequest;
|
||||
|
||||
private final Path tempFilePath;
|
||||
private final Path eaiFilePath;
|
||||
private final Path backupFilePath;
|
||||
private final Path failedFilePath;
|
||||
private MessageRequestRepository messageRequestRepository;
|
||||
private final MessageRequestRepository messageRequestRepository;
|
||||
private final LocalDateTime now = LocalDateTime.now();
|
||||
|
||||
|
||||
|
||||
private EmailJob(EmailProperty prop, MessageRequest messageRequest, MessageRequestRepository messageRequestRepository) {
|
||||
private EmailJob(KjbProperty prop, MessageRequest messageRequest, MessageRequestRepository messageRequestRepository) {
|
||||
this.messageRequest = messageRequest;
|
||||
this.prop = prop;
|
||||
|
||||
@@ -50,7 +53,7 @@ public class EmailJob {
|
||||
}
|
||||
|
||||
|
||||
public static EmailJob create(EmailProperty prop, MessageRequest messageRequest, MessageRequestRepository repository) {
|
||||
public static EmailJob create(KjbProperty prop, MessageRequest messageRequest, MessageRequestRepository repository) {
|
||||
if (prop == null) {
|
||||
throw new IllegalArgumentException("Property is null");
|
||||
}
|
||||
@@ -120,13 +123,17 @@ public class EmailJob {
|
||||
|
||||
messageRequestRepository.save(messageRequest);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
log.debug("이메일 파일 생성");
|
||||
doSaveFile();
|
||||
|
||||
log.debug("EAI 배치 호출");
|
||||
eaiBatchCall();
|
||||
|
||||
log.debug("발송 성공 처리");
|
||||
doSuccess();
|
||||
} catch (Exception e) {
|
||||
log.error("이메일 발송 실패", e);
|
||||
doFail();
|
||||
} finally {
|
||||
doDeleteEaiFile();
|
||||
@@ -141,8 +148,16 @@ public class EmailJob {
|
||||
// TODO: EAI 발송 실패 처리
|
||||
}
|
||||
|
||||
private void eaiBatchCall() {
|
||||
// TODO: EAI 배치 호출
|
||||
private void eaiBatchCall() throws IOException {
|
||||
KjbEaiBatchModule eaiBatchModule = new KjbEaiBatchModule(prop);
|
||||
EaiBatchMessage result = eaiBatchModule.call(prop.getEaiBatchInterfaceId(), eaiFilePath.getFileName().toString());
|
||||
|
||||
if (!"1".equals(result.getResultCode())) {
|
||||
log.error("EAI Batch call failed: {}", result);
|
||||
throw new IllegalStateException("EAI Batch call failed: " + result);
|
||||
}
|
||||
|
||||
log.debug("EAI Batch call result: {}", result);
|
||||
}
|
||||
|
||||
private void doSuccess() {
|
||||
|
||||
Reference in New Issue
Block a user