Merge branch 'jenkins_with_weblogic' of ssh://192.168.240.178:18081/eapim/elink-online-common into jenkins_with_weblogic

This commit is contained in:
Rinjae
2025-12-05 13:36:17 +09:00
15 changed files with 362 additions and 93 deletions
@@ -60,6 +60,10 @@ import com.ext.eai.common.stdmessage.STDMessageKeys;
// safeDB
import com.eactive.ext.kjb.safedb.KjbSafedbWrapper;
import com.eactive.ext.kjb.safedb.Utils;
// until here
// safeDB
import com.eactive.ext.kjb.safedb.KjbSafedbWrapper;
import com.eactive.ext.kjb.safedb.Utils;
// until here
@@ -2,11 +2,15 @@ package com.eactive.eai.common.logger;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
public class HttpAdapterExtraHeaderVo {
private String name;
private String value;
public HttpAdapterExtraHeaderVo() {
}
}
@@ -8,6 +8,7 @@ import java.util.List;
public class HttpAdapterExtraLogVo {
private String guid;
private int serviceProcessNumber;
private String prcsDate;
private String adapterGroupName;
private String adapterName;
private String url;
@@ -3,7 +3,7 @@ package com.eactive.eai.common.logger.async;
import com.eactive.eai.common.property.PropManager;
import com.eactive.eai.common.server.EAIServerManager;
import com.eactive.eai.common.util.LogKeys;
import com.eactive.eai.data.entity.onl.logger.HttpAdapterExtraHeader;
//import com.eactive.eai.data.entity.onl.logger.HttpAdapterExtraHeader;
import com.eactive.eai.data.entity.onl.logger.HttpAdapterExtraLog;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
@@ -66,7 +66,7 @@ public class HttpAdapterExtraLogH2Factory {
// 엔티티 클래스 추가
configuration.addAnnotatedClass(HttpAdapterExtraLog.class);
configuration.addAnnotatedClass(HttpAdapterExtraHeader.class);
// configuration.addAnnotatedClass(HttpAdapterExtraHeader.class);
return configuration.buildSessionFactory();
} catch (Throwable ex) {
@@ -1,22 +1,22 @@
package com.eactive.eai.common.logger.mapper;
import com.eactive.eai.common.logger.HttpAdapterExtraHeaderVo;
import com.eactive.eai.data.entity.onl.logger.HttpAdapterExtraHeader;
import com.eactive.eai.data.mapper.BaseMapperConfig;
import com.eactive.eai.data.mapper.GenericMapper;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
@Mapper(config = BaseMapperConfig.class)
public interface HttpAdapterExtraHeaderMapper extends GenericMapper<HttpAdapterExtraHeaderVo, HttpAdapterExtraHeader> {
@Override
@Mapping(source = "id.name", target = "name")
HttpAdapterExtraHeaderVo toVo(HttpAdapterExtraHeader entity);
@Override
@InheritInverseConfiguration
HttpAdapterExtraHeader toEntity(HttpAdapterExtraHeaderVo vo);
}
//package com.eactive.eai.common.logger.mapper;
//
//import com.eactive.eai.common.logger.HttpAdapterExtraHeaderVo;
//import com.eactive.eai.data.entity.onl.logger.HttpAdapterExtraHeader;
//import com.eactive.eai.data.mapper.BaseMapperConfig;
//import com.eactive.eai.data.mapper.GenericMapper;
//
//import org.mapstruct.InheritInverseConfiguration;
//import org.mapstruct.Mapper;
//import org.mapstruct.Mapping;
//
//@Mapper(config = BaseMapperConfig.class)
//public interface HttpAdapterExtraHeaderMapper extends GenericMapper<HttpAdapterExtraHeaderVo, HttpAdapterExtraHeader> {
//
// @Override
// @Mapping(source = "id.name", target = "name")
// HttpAdapterExtraHeaderVo toVo(HttpAdapterExtraHeader entity);
//
// @Override
// @InheritInverseConfiguration
// HttpAdapterExtraHeader toEntity(HttpAdapterExtraHeaderVo vo);
//}
@@ -1,42 +1,80 @@
package com.eactive.eai.common.logger.mapper;
import com.eactive.eai.common.logger.HttpAdapterExtraHeaderVo;
import com.eactive.eai.common.logger.HttpAdapterExtraLogVo;
import com.eactive.eai.data.entity.onl.logger.HttpAdapterExtraHeaderId;
import com.eactive.eai.data.entity.onl.logger.HttpAdapterExtraLog;
import com.eactive.eai.data.mapper.BaseMapperConfig;
import com.eactive.eai.data.mapper.GenericMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.mapstruct.*;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.Optional;
import java.time.format.DateTimeFormatter;
import java.util.Collections;
import java.util.List;
@Mapper(config = BaseMapperConfig.class, uses = HttpAdapterExtraHeaderMapper.class)
public interface HttpAdapterExtraLogMapper extends GenericMapper<HttpAdapterExtraLogVo, HttpAdapterExtraLog> {
@Slf4j
@Mapper(config = BaseMapperConfig.class)
public abstract class HttpAdapterExtraLogMapper implements GenericMapper<HttpAdapterExtraLogVo, HttpAdapterExtraLog> {
private final static ObjectMapper objectMapper = new ObjectMapper();
private static final DateTimeFormatter SDF_YYYYMMDD = DateTimeFormatter.ofPattern( "yyyyMMdd");
@Override
@Mapping(source = "id.guid", target = "guid")
@Mapping(source = "id.serviceProcessNumber", target = "serviceProcessNumber")
HttpAdapterExtraLogVo toVo(HttpAdapterExtraLog entity);
abstract public HttpAdapterExtraLogVo toVo(HttpAdapterExtraLog entity);
@Override
@InheritInverseConfiguration
HttpAdapterExtraLog toEntity(HttpAdapterExtraLogVo vo);
abstract public HttpAdapterExtraLog toEntity(HttpAdapterExtraLogVo vo);
@AfterMapping
default void setHeaderIdAndWeekday(@MappingTarget HttpAdapterExtraLog entity, HttpAdapterExtraLogVo vo) {
DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek(); // 현재 요일
int dayOfWeekNumber = dayOfWeek.getValue() % 7 + 1; // 1 (일요일)부터 7 (토요일)까지
entity.getId().setWeekday(dayOfWeekNumber);
Optional.ofNullable(entity.getHeaderList())
.ifPresent(headers -> headers.forEach(header -> {
if (header.getId() == null) {
header.setId(new HttpAdapterExtraHeaderId());
}
header.getId().setWeekday(dayOfWeekNumber);
header.getId().setGuid(vo.getGuid());
header.getId().setServiceProcessNumber(vo.getServiceProcessNumber());
}));
public void voToEntity(@MappingTarget HttpAdapterExtraLog entity, HttpAdapterExtraLogVo vo) {
// 1. Set weekday for partition table
// DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek(); // 현재 요일
// int dayOfWeekNumber = dayOfWeek.getValue() % 7 + 1; // 1 (일요일)부터 7 (토요일)까지
// entity.getId().setWeekday(dayOfWeekNumber);
// String prcs_date = SDF_YYYYMMDD.format(ZonedDateTime.now());
String prcs_date = LocalDate.now().format(SDF_YYYYMMDD);
entity.getId().setPrcsDate(prcs_date);
// 2. Set Content
try {
String headerContent = objectMapper.writeValueAsString(vo.getHeaderList());
entity.setHeaderContent(headerContent);
} catch (JsonProcessingException e) {
log.warn("Http Header Json Parse 실패", e);
entity.setHeaderContent("[{ \"error\": \"parse error\"}]");
}
}
/**
* Entity → VO 변환 후 추가 처리
*/
@AfterMapping
protected void entityToVo(@MappingTarget HttpAdapterExtraLogVo vo, HttpAdapterExtraLog entity) {
String headerContent = entity.getHeaderContent();
if (headerContent == null || headerContent.isEmpty()) {
vo.setHeaderList(Collections.emptyList());
return;
}
try {
List<HttpAdapterExtraHeaderVo> headerList = objectMapper.readValue(
headerContent,
new TypeReference<List<HttpAdapterExtraHeaderVo>>() {}
);
vo.setHeaderList(headerList);
} catch (JsonProcessingException e) {
log.warn("Http Header 역직렬화 실패", e);
vo.setHeaderList(Collections.emptyList());
}
}
}
@@ -224,4 +224,12 @@ public class STDMessageDAO extends BaseDAO {
throw new DAOException(ExceptionUtil.getErrorCode(e, "RECEAICKE111"));
}
}
// jwhong 추가
public StandardMessageInfo getSTDMsgByPath(String apiFullPath) throws DAOException {
Optional<StandardMessageInfo> optional = standardMessageInfoLoader.findByApiFullPath(apiFullPath);
return optional.orElseThrow(() -> new DAOException("해당 full path의 TSEAIHS04 에 데이터가 없습니다."));
}
}
@@ -101,7 +101,7 @@ public class HttpAdapterExtraLogUtil {
public static List<HttpAdapterExtraHeaderVo> convertHeaderToListOfHttpAdapterExtraHeaderVo(Header[] headers) {
Set<String> seenNames = new HashSet<>();
return Arrays.stream(headers)
.filter(header -> seenNames.add(header.getName())) // 중복된 이름을 스킵
// .filter(header -> seenNames.add(header.getName())) // 중복된 이름을 스킵
.map(header -> new HttpAdapterExtraHeaderVo(header.getName(), header.getValue()))
.collect(Collectors.toList());
}
@@ -1,5 +1,5 @@
package com.eactive.eai.common.util;
import java.util.Iterator;
import java.util.Properties;
@@ -69,6 +69,7 @@ public class JMSSender {
throw new Exception("qconFactory not found -" + connectionFactory);
queue = locator.getQueue(destination);
logger.info("resolved quene name is:" + "["+ queue + "]");
qsender = qsession.createSender(queue);
ObjectMessage msg = qsession.createObjectMessage();