Merge branch 'jenkins_with_weblogic' into master

This commit is contained in:
curry772
2026-03-11 10:34:29 +09:00
16 changed files with 338 additions and 113 deletions
-6
View File
@@ -145,12 +145,6 @@ eclipse {
genTestSrcDir = file(generatedTestJavaDir) genTestSrcDir = file(generatedTestJavaDir)
} }
} }
wtp {
facet {
//you can add some extra wtp facets or update existing ones; mandatory keys: 'name', 'version':
facet name: 'jpt.jpa', version: '2.2'
}
}
project { project {
natures = ['org.eclipse.buildship.core.gradleprojectnature', natures = ['org.eclipse.buildship.core.gradleprojectnature',
'org.eclipse.jdt.core.javanature', 'org.eclipse.jdt.core.javanature',
@@ -1,11 +1,13 @@
package com.eactive.eai.apim.apigroup.loader; package com.eactive.eai.apim.apigroup.loader;
import com.eactive.eai.data.entity.onl.apim.apigroup.ApiGroupApi;
import com.eactive.eai.data.jpa.AbstractDataLoader;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.eactive.eai.data.entity.onl.apim.apigroup.ApiGroupApi;
import com.eactive.eai.data.entity.onl.apim.apigroup.ApiGroupApiId;
import com.eactive.eai.data.jpa.AbstractDataLoader;
@Service @Service
@Transactional @Transactional
public class ApiGroupApiLoader extends AbstractDataLoader<ApiGroupApi, String, ApiGroupApiLoaderRepository> { public class ApiGroupApiLoader extends AbstractDataLoader<ApiGroupApi, ApiGroupApiId, ApiGroupApiLoaderRepository> {
} }
@@ -1,10 +1,12 @@
package com.eactive.eai.apim.apigroup.loader; package com.eactive.eai.apim.apigroup.loader;
import com.eactive.eai.data.entity.onl.apim.apigroup.ApiGroupApi;
import com.eactive.eai.data.DataLoaderRepository;
import com.eactive.eai.data.jpa.BaseRepository;
import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.querydsl.QuerydslPredicateExecutor;
public interface ApiGroupApiLoaderRepository extends BaseRepository<ApiGroupApi, String>, import com.eactive.eai.data.DataLoaderRepository;
import com.eactive.eai.data.entity.onl.apim.apigroup.ApiGroupApi;
import com.eactive.eai.data.entity.onl.apim.apigroup.ApiGroupApiId;
import com.eactive.eai.data.jpa.BaseRepository;
public interface ApiGroupApiLoaderRepository extends BaseRepository<ApiGroupApi, ApiGroupApiId>,
QuerydslPredicateExecutor<ApiGroupApi>, DataLoaderRepository<ApiGroupApi> { QuerydslPredicateExecutor<ApiGroupApi>, DataLoaderRepository<ApiGroupApi> {
} }
@@ -0,0 +1,39 @@
package com.eactive.eai.common.inflow.loader;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.eactive.eai.data.entity.onl.inflow.InflowControlGroup;
import com.eactive.eai.data.entity.onl.inflow.QInflowControlGroup;
import com.eactive.eai.data.jpa.AbstractDataLoader;
import com.querydsl.core.types.dsl.BooleanExpression;
@Service
@Transactional
public class InflowControlGroupLoader extends AbstractDataLoader<InflowControlGroup, String, InflowControlGroupLoaderRepository> {
/**
* 조건으로 그룹 조회
*/
public Iterable<InflowControlGroup> findByConditions(String groupId) {
QInflowControlGroup q = QInflowControlGroup.inflowControlGroup;
BooleanExpression expression = q.groupId.isNotNull();
if (StringUtils.isNotBlank(groupId)) {
expression = expression.and(q.groupId.eq(groupId));
}
return repository.findAll(expression, Sort.by("groupId"));
}
/**
* 활성화된 그룹만 조회
*/
public Iterable<InflowControlGroup> findActiveGroups() {
QInflowControlGroup q = QInflowControlGroup.inflowControlGroup;
BooleanExpression expression = q.useYn.eq("1");
return repository.findAll(expression, Sort.by("groupId"));
}
}
@@ -0,0 +1,12 @@
package com.eactive.eai.common.inflow.loader;
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
import com.eactive.eai.data.DataLoaderRepository;
import com.eactive.eai.data.entity.onl.inflow.InflowControlGroup;
import com.eactive.eai.data.jpa.BaseRepository;
interface InflowControlGroupLoaderRepository extends DataLoaderRepository<InflowControlGroup>,
BaseRepository<InflowControlGroup, String>, QuerydslPredicateExecutor<InflowControlGroup> {
}
@@ -0,0 +1,52 @@
package com.eactive.eai.common.inflow.loader;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.eactive.eai.data.entity.onl.inflow.InflowControlGroupMapping;
import com.eactive.eai.data.entity.onl.inflow.QInflowControlGroupMapping;
import com.eactive.eai.data.jpa.AbstractDataLoader;
import com.querydsl.core.types.dsl.BooleanExpression;
@Service
@Transactional
public class InflowControlGroupMappingLoader extends AbstractDataLoader<InflowControlGroupMapping, String, InflowControlGroupMappingLoaderRepository> {
/**
* 그룹 ID로 매핑 조회
*/
public Iterable<InflowControlGroupMapping> findByGroupId(String groupId) {
QInflowControlGroupMapping q = QInflowControlGroupMapping.inflowControlGroupMapping;
BooleanExpression expression = q.groupId.eq(groupId);
return repository.findAll(expression, Sort.by("interfaceId"));
}
/**
* 인터페이스 ID로 매핑 조회
*/
public Iterable<InflowControlGroupMapping> findByInterfaceId(String interfaceId) {
QInflowControlGroupMapping q = QInflowControlGroupMapping.inflowControlGroupMapping;
BooleanExpression expression = q.interfaceId.eq(interfaceId);
return repository.findAll(expression);
}
/**
* 활성화된 매핑만 조회
*/
public Iterable<InflowControlGroupMapping> findActiveMappings() {
QInflowControlGroupMapping q = QInflowControlGroupMapping.inflowControlGroupMapping;
BooleanExpression expression = q.useYn.eq("1");
return repository.findAll(expression, Sort.by("groupId", "interfaceId"));
}
/**
* 그룹 ID와 활성화 상태로 매핑 조회
*/
public Iterable<InflowControlGroupMapping> findActiveByGroupId(String groupId) {
QInflowControlGroupMapping q = QInflowControlGroupMapping.inflowControlGroupMapping;
BooleanExpression expression = q.groupId.eq(groupId).and(q.useYn.eq("1"));
return repository.findAll(expression, Sort.by("interfaceId"));
}
}
@@ -0,0 +1,12 @@
package com.eactive.eai.common.inflow.loader;
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
import com.eactive.eai.data.DataLoaderRepository;
import com.eactive.eai.data.entity.onl.inflow.InflowControlGroupMapping;
import com.eactive.eai.data.jpa.BaseRepository;
interface InflowControlGroupMappingLoaderRepository extends DataLoaderRepository<InflowControlGroupMapping>,
BaseRepository<InflowControlGroupMapping, String>, QuerydslPredicateExecutor<InflowControlGroupMapping> {
}
@@ -6,9 +6,17 @@ import org.springframework.transaction.annotation.Transactional;
import com.eactive.eai.data.entity.onl.stdmessage.StandardMessageInfo; import com.eactive.eai.data.entity.onl.stdmessage.StandardMessageInfo;
import com.eactive.eai.data.jpa.AbstractDataLoader; import com.eactive.eai.data.jpa.AbstractDataLoader;
import java.util.Optional;
@Service @Service
@Transactional @Transactional
public class StandardMessageInfoLoader public class StandardMessageInfoLoader
extends AbstractDataLoader<StandardMessageInfo, String, StandardMessageInfoLoaderRepository> { extends AbstractDataLoader<StandardMessageInfo, String, StandardMessageInfoLoaderRepository> {
// jwhong 추가
//Optional<StandardMessageInfo> findByApiFullPath(String apiFullPath);
public Optional<StandardMessageInfo> findByApiFullPath(String apiFullPath) {
return repository.findByApifullpath(apiFullPath);
}
} }
@@ -4,6 +4,10 @@ import com.eactive.eai.data.DataLoaderRepository;
import com.eactive.eai.data.entity.onl.stdmessage.StandardMessageInfo; import com.eactive.eai.data.entity.onl.stdmessage.StandardMessageInfo;
import com.eactive.eai.data.jpa.BaseRepository; import com.eactive.eai.data.jpa.BaseRepository;
import java.util.Optional;
interface StandardMessageInfoLoaderRepository interface StandardMessageInfoLoaderRepository
extends DataLoaderRepository<StandardMessageInfo>, BaseRepository<StandardMessageInfo, String> { extends DataLoaderRepository<StandardMessageInfo>, BaseRepository<StandardMessageInfo, String> {
// jwhong 추가
Optional<StandardMessageInfo> findByApifullpath(String apiFullPath);
} }
@@ -0,0 +1,58 @@
package com.eactive.eai.data.entity.onl.inflow;
import java.io.Serializable;
import java.time.LocalDateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.GenericGenerator;
import lombok.Data;
@Data
@Entity
@Table(name = "inflow_control_group")
@org.hibernate.annotations.Table(appliesTo = "inflow_control_group", comment = "유량제어 그룹")
public class InflowControlGroup implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "group_id", updatable = false, nullable = false, length = 36)
@Comment("그룹 ID")
private String groupId;
@Column(name = "group_name", length = 100)
@Comment("그룹명")
private String groupName;
@Column(name = "threshold")
@Comment("임계치")
private Integer threshold;
@Column(name = "threshold_per_second")
@Comment("초당 임계치")
private Integer thresholdPerSecond;
@Column(name = "threshold_time_unit", length = 12)
@Comment("임계치 TimeUnit")
private String thresholdTimeUnit;
@Column(name = "use_yn", length = 1)
@Comment("사용여부")
private String useYn;
@Column(name = "modified_by", length = 50)
@Comment("수정자")
private String modifiedBy;
@Column(name = "modified_at")
@Comment("수정일시")
private LocalDateTime modifiedAt;
}
@@ -0,0 +1,42 @@
package com.eactive.eai.data.entity.onl.inflow;
import java.io.Serializable;
import java.time.LocalDateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Comment;
import lombok.Data;
@Data
@Entity
@Table(name = "inflow_control_group_mapping")
@org.hibernate.annotations.Table(appliesTo = "inflow_control_group_mapping", comment = "유량제어 그룹 매핑")
public class InflowControlGroupMapping implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "interface_id", nullable = false, length = 100)
@Comment("인터페이스 ID")
private String interfaceId;
@Column(name = "group_id", nullable = false, length = 50)
@Comment("그룹 ID")
private String groupId;
@Column(name = "use_yn", length = 1)
@Comment("사용여부")
private String useYn;
@Column(name = "modified_by", length = 50)
@Comment("수정자")
private String modifiedBy;
@Column(name = "modified_at")
@Comment("수정일시")
private LocalDateTime modifiedAt;
}
@@ -1,46 +1,46 @@
package com.eactive.eai.data.entity.onl.logger; //package com.eactive.eai.data.entity.onl.logger;
//
import javax.persistence.Column; //import javax.persistence.Column;
import javax.persistence.ConstraintMode; //import javax.persistence.ConstraintMode;
import javax.persistence.EmbeddedId; //import javax.persistence.EmbeddedId;
import javax.persistence.Entity; //import javax.persistence.Entity;
import javax.persistence.ForeignKey; //import javax.persistence.ForeignKey;
import javax.persistence.Index; //import javax.persistence.Index;
import javax.persistence.JoinColumn; //import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns; //import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne; //import javax.persistence.ManyToOne;
import javax.persistence.Table; //import javax.persistence.Table;
//
import org.hibernate.annotations.Comment; //import org.hibernate.annotations.Comment;
//
import com.eactive.eai.data.entity.AbstractEntity; //import com.eactive.eai.data.entity.AbstractEntity;
//
import lombok.Data; //import lombok.Data;
import lombok.EqualsAndHashCode; //import lombok.EqualsAndHashCode;
import lombok.ToString; //import lombok.ToString;
//
@Data //@Data
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true) //@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true)
//
@Entity //@Entity
@Table(name = "http_adapter_extra_header", indexes = { //@Table(name = "http_adapter_extra_header", indexes = {
@Index(name = "idx_guid_service_number", columnList = "weekday, guid, service_process_number") }) // @Index(name = "idx_guid_service_number", columnList = "weekday, guid, service_process_number") })
public class HttpAdapterExtraHeader extends AbstractEntity<HttpAdapterExtraHeaderId> { //public class HttpAdapterExtraHeader extends AbstractEntity<HttpAdapterExtraHeaderId> {
//
private static final long serialVersionUID = 1L; // private static final long serialVersionUID = 1L;
//
@EmbeddedId // @EmbeddedId
private HttpAdapterExtraHeaderId id; // private HttpAdapterExtraHeaderId id;
//
@Column(name = "value", nullable = false, length = 500) // @Column(name = "value", nullable = false, length = 500)
@Comment("헤더 값") // @Comment("헤더 값")
private String value; // private String value;
//
@ManyToOne // @ManyToOne
@JoinColumns({ // @JoinColumns({
@JoinColumn(name = "weekday", referencedColumnName = "weekday", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)), // @JoinColumn(name = "weekday", referencedColumnName = "weekday", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)),
@JoinColumn(name = "guid", referencedColumnName = "guid", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)), // @JoinColumn(name = "guid", referencedColumnName = "guid", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)),
@JoinColumn(name = "service_process_number", referencedColumnName = "service_process_number", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) }) // @JoinColumn(name = "service_process_number", referencedColumnName = "service_process_number", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) })
@ToString.Exclude // @ToString.Exclude
private HttpAdapterExtraLog log; // private HttpAdapterExtraLog log;
} //}
@@ -1,32 +1,32 @@
package com.eactive.eai.data.entity.onl.logger; //package com.eactive.eai.data.entity.onl.logger;
//
import java.io.Serializable; //import java.io.Serializable;
//
import javax.persistence.Column; //import javax.persistence.Column;
import javax.persistence.Embeddable; //import javax.persistence.Embeddable;
//
import org.hibernate.annotations.Comment; //import org.hibernate.annotations.Comment;
//
import lombok.Data; //import lombok.Data;
//
@Data //@Data
@Embeddable //@Embeddable
public class HttpAdapterExtraHeaderId implements Serializable { //public class HttpAdapterExtraHeaderId implements Serializable {
private static final long serialVersionUID = 1L; // private static final long serialVersionUID = 1L;
//
@Column(name = "weekday") // @Column(name = "weekday")
@Comment("파티션을 위한 요일 코드(1:일요일, 2:월요일...)") // @Comment("파티션을 위한 요일 코드(1:일요일, 2:월요일...)")
private Integer weekday; // private Integer weekday;
//
@Column(name = "guid", nullable = false, length = 500) // @Column(name = "guid", nullable = false, length = 500)
@Comment("트랜잭션 별 Unique ID") // @Comment("트랜잭션 별 Unique ID")
private String guid; // private String guid;
//
@Column(name = "service_process_number", nullable = false) // @Column(name = "service_process_number", nullable = false)
@Comment("서비스 처리 번호 (100/200/300/400...)") // @Comment("서비스 처리 번호 (100/200/300/400...)")
private int serviceProcessNumber; // private int serviceProcessNumber;
//
@Column(name = "name", nullable = false, length = 500) // @Column(name = "name", nullable = false, length = 500)
@Comment("헤더 이름") // @Comment("헤더 이름")
private String name; // private String name;
} //}
@@ -1,23 +1,17 @@
package com.eactive.eai.data.entity.onl.logger; package com.eactive.eai.data.entity.onl.logger;
import java.util.List; import com.eactive.eai.data.entity.AbstractEntity;
import lombok.Data;
import javax.persistence.CascadeType; import lombok.EqualsAndHashCode;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.Comment; import org.hibernate.annotations.Comment;
import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.DynamicUpdate;
import com.eactive.eai.data.entity.AbstractEntity; import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import lombok.Data; import javax.persistence.Entity;
import lombok.EqualsAndHashCode; import javax.persistence.Lob;
import lombok.ToString; import javax.persistence.Table;
@Data @Data
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true) @EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true)
@@ -26,7 +20,10 @@ import lombok.ToString;
@DynamicInsert @DynamicInsert
@DynamicUpdate @DynamicUpdate
@Table(name = "http_adapter_extra_log") @Table(name = "http_adapter_extra_log")
@org.hibernate.annotations.Table(appliesTo = "http_adapter_extra_log", comment = "http 헤더 로그")
public class HttpAdapterExtraLog extends AbstractEntity<HttpAdapterExtraLogId> { public class HttpAdapterExtraLog extends AbstractEntity<HttpAdapterExtraLogId> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@EmbeddedId @EmbeddedId
@@ -52,10 +49,8 @@ public class HttpAdapterExtraLog extends AbstractEntity<HttpAdapterExtraLogId> {
@Comment("HTTP 응답 상태 코드(200,404,500...)") @Comment("HTTP 응답 상태 코드(200,404,500...)")
private Integer httpStatus; private Integer httpStatus;
@OneToMany(mappedBy = "log", cascade = CascadeType.ALL, orphanRemoval = true) @Lob
@ToString.Exclude @Column(name = "header_content") //,columnDefinition = "TEXT") // oracle 적용시 주석 처리
List<HttpAdapterExtraHeader> headerList; private String headerContent;
} }
@@ -18,9 +18,9 @@ import lombok.NoArgsConstructor;
public class HttpAdapterExtraLogId implements Serializable { public class HttpAdapterExtraLogId implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Column(name = "weekday") @Column(name = "prcs_date")
@Comment("파티션을 위한 요일 코드(1:일요일, 2:월요일...)") @Comment("파티션을 위한 처리일자")
private Integer weekday; private String prcsDate;
@Column(name = "guid", nullable = false, length = 500) @Column(name = "guid", nullable = false, length = 500)
@Comment("트랜잭션 별 Unique ID") @Comment("트랜잭션 별 Unique ID")
@@ -59,6 +59,11 @@ public class StandardMessageInfo extends AbstractEntity<String> implements Seria
@Column(length = 1) @Column(length = 1)
@Comment("수정상태구분코드") @Comment("수정상태구분코드")
private String modfimgtstusdstcd; private String modfimgtstusdstcd;
// jwhong 추가
@Column(length = 100,unique = true)
@Comment("인터페이스URL Full Path")
private String apifullpath;
@Column(length = 17) @Column(length = 17)
@Comment("최종수정시간") @Comment("최종수정시간")