diff --git a/src/main/java/com/worker/domain/entity/EpostSenderDetail.java b/src/main/java/com/worker/domain/entity/EpostSenderDetail.java new file mode 100644 index 0000000..17da364 --- /dev/null +++ b/src/main/java/com/worker/domain/entity/EpostSenderDetail.java @@ -0,0 +1,205 @@ +package com.worker.domain.entity; + +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@Table(name = "epost_sender_detail") +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +@IdClass(EpostSenderDetailId.class) +public class EpostSenderDetail { + + @Id + @Column(name = "CON_KEY", nullable = false, length = 30) + private String conKey; + + @Id + @Column(name = "RGST_NMBR", nullable = false, length = 13) + private String rgstNmbr; + + @Column(name = "RECEV_SEQ", length = 20) + private String recevSeq; + + @Column(name = "RECEV_CODE", length = 10) + private String recevCode; + + @Column(name = "RECEV_BAR1D", length = 18) + private String recevBar1d; + + @Column(name = "RECEV_BAR2D", length = 170) + private String recevBar2d; + + @Column(name = "RECEV_BILL_NUMBER", length = 21) + private String recevBillNumber; + + @Column(name = "RECEV_DOC_CD1", length = 60) + private String recevDocCd1; + + @Column(name = "RECEV_DOC_CD2", length = 30) + private String recevDocCd2; + + @Column(name = "RECEV_DOC_CD3", length = 6) + private String recevDocCd3; + + @Column(name = "RECEV_DOC_CD4", length = 60) + private String recevDocCd4; + + @Column(name = "RECEV_DOC_CD5", length = 15) + private String recevDocCd5; + + @Column(name = "RECEV_SUBJ1", length = 6) + private String recevSubj1; + + @Column(name = "RECEV_SUBJ2", length = 6) + private String recevSubj2; + + @Column(name = "RECEV_SUBJ3", length = 14) + private String recevSubj3; + + @Column(name = "RECEV_VIOLATE_DT", length = 30) + private String recevViolateDt; + + @Column(name = "RECEV_VIOLATE_DONG", length = 39) + private String recevViolateDong; + + @Column(name = "RECEV_VIOLATE_PLACE", length = 80) + private String recevViolatePlace; + + @Column(name = "RECEV_LAWS", length = 70) + private String recevLaws; + + @Column(name = "RECEV_PAY_NUMBER1", length = 17) + private String recevPayNumber1; + + @Column(name = "RECEV_PAY_NUMBER2", length = 15) + private String recevPayNumber2; + + @Column(name = "RECEV_OCR0", length = 32) + private String recevOcr0; + + @Column(name = "RECEV_OCR1", length = 54) + private String recevOcr1; + + @Column(name = "RECEV_OCR2", length = 54) + private String recevOcr2; + + @Column(name = "RECEV_ONLINE_PAY_NUMBER", length = 30) + private String recevOnlinePayNumber; + + @Column(name = "RECEV_VACCOUNT_NUMBER", length = 50) + private String recevVaccountNumber; + + @Column(name = "RECEV_VACCOUNT_NUMBER2", length = 50) + private String recevVaccountNumber2; + + @Column(name = "RECEV_VACCOUNT_NUMBER3", length = 50) + private String recevVaccountNumber3; + + @Column(name = "RECEV_VACCOUNT_NUMBER4", length = 50) + private String recevVaccountNumber4; + + @Column(name = "RECEV_VACCOUNT_NUMBER5", length = 50) + private String recevVaccountNumber5; + + @Column(name = "RECEV_VACCOUNT_NUMBER6", length = 50) + private String recevVaccountNumber6; + + @Column(name = "RECEV_VACCOUNT_NUMBER7", length = 50) + private String recevVaccountNumber7; + + @Column(name = "RECEV_VACCOUNT_NUMBER8", length = 50) + private String recevVaccountNumber8; + + @Column(name = "RECEV_VACCOUNT_NUMBER9", length = 50) + private String recevVaccountNumber9; + + @Column(name = "RECEV_VACCOUNT_NUMBER10", length = 50) + private String recevVaccountNumber10; + + @Column(name = "RECEV_VACCOUNT_NUMBER11", length = 50) + private String recevVaccountNumber11; + + @Column(name = "RECEV_FINE_PRICE", length = 10) + private String recevFinePrice; + + @Column(name = "RECEV_PAY_PRICE", length = 10) + private String recevPayPrice; + + @Column(name = "RECEV_PAY_DT", length = 15) + private String recevPayDt; + + @Column(name = "RECEV_PAY_IN_DATE", length = 20) + private String recevPayInDate; + + @Column(name = "RECEV_PAY_IN_PRICE", length = 20) + private String recevPayInPrice; + + @Column(name = "RECEV_PAY_IN_ADD_PRICE", length = 20) + private String recevPayInAddPrice; + + @Column(name = "RECEV_PAY_IN_DEFAULT_PRICE", length = 20) + private String recevPayInDefaultPrice; + + @Column(name = "RECEV_PAY_OUT_DATE", length = 20) + private String recevPayOutDate; + + @Column(name = "RECEV_PAY_OUT_PRICE", length = 20) + private String recevPayOutPrice; + + @Column(name = "RECEV_PAY_OUT_ADD_PRICE", length = 20) + private String recevPayOutAddPrice; + + @Column(name = "RECEV_PAY_OUT_DEFAULT_PRICE", length = 20) + private String recevPayOutDefaultPrice; + + @Column(name = "RECEV_CAR_NUMBER", length = 50) + private String recevCarNumber; + + @Column(name = "RECEV_CAR_OWNER_ZIPCODE", length = 6) + private String recevCarOwnerZipcode; + + @Column(name = "RECEV_CAR_OWNER_ADDR", length = 100) + private String recevCarOwnerAddr; + + @Column(name = "RECEV_CAR_OWNER_DETAILADDR", length = 160) + private String recevCarOwnerDetailaddr; + + @Column(name = "RECEV_CAR_OWNER_NM", length = 60) + private String recevCarOwnerNm; + + @Column(name = "RECEV_CAR_OWNER_SSN", length = 6) + private String recevCarOwnerSsn; + + @Column(name = "RECEV_EVIDENCE_NUMBER", length = 24) + private String recevEvidenceNumber; + + @Column(name = "RECEV_PHOTO_CNT") + private Integer recevPhotoCnt; // int(2) + + @Column(name = "RECEV_PHOTO_FILE1", length = 80) + private String recevPhotoFile1; + + @Column(name = "RECEV_PHOTO_FILE2", length = 80) + private String recevPhotoFile2; + + @Column(name = "RECEV_PHOTO_FILE3", length = 80) + private String recevPhotoFile3; + + @Column(name = "RECEV_PHOTO_FILE4", length = 80) + private String recevPhotoFile4; + + @Column(name = "DELIV_RESULT_CODE") + private Integer delivResultCode; // int(10) + + @Column(name = "MAKE_RESULT_CD", length = 2) + private String makeResultCd; + + @Column(name = "POST_SEND_STATE", length = 2) + private String postSendState; +} diff --git a/src/main/java/com/worker/domain/entity/EpostSenderDetailId.java b/src/main/java/com/worker/domain/entity/EpostSenderDetailId.java new file mode 100644 index 0000000..e6d7d32 --- /dev/null +++ b/src/main/java/com/worker/domain/entity/EpostSenderDetailId.java @@ -0,0 +1,17 @@ +package com.worker.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Getter +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +public class EpostSenderDetailId implements Serializable { + private String conKey; + private String rgstNmbr; +} diff --git a/src/main/java/com/worker/domain/entity/EpostSenderReg.java b/src/main/java/com/worker/domain/entity/EpostSenderReg.java new file mode 100644 index 0000000..592a0a8 --- /dev/null +++ b/src/main/java/com/worker/domain/entity/EpostSenderReg.java @@ -0,0 +1,149 @@ +package com.worker.domain.entity; + +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@Table( + name = "epost_sender_reg", + indexes = { + @Index(name = "EPOST_SENDER_REG_IDX1", columnList = "REG_YMD, POST_PROC_STT"), + @Index(name = "EPOST_SENDER_REG_IDX2", columnList = "REG_YMD, RELORSECT_CD, POST_PROC_STT") + } +) +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class EpostSenderReg { + + @Id + @Column(name = "CON_KEY", nullable = false, length = 30) + private String conKey; + + @Column(name = "RCEPT_ID", length = 5) // char(5) + private String rceptId; + + @Column(name = "DATA_CD", length = 2) + private String dataCd; + + @Column(name = "DIV_KB", length = 3) + private String divKb; + + @Column(name = "DFPAYYN", length = 3) + private String dfpayyn; + + @Column(name = "RCPT_KB", length = 3) + private String rcptKb; + + @Column(name = "SEAL_CD", length = 3) + private String sealCd; + + @Column(name = "WORD_KB", length = 3) + private String wordKb; + + @Column(name = "MAIL_CNT") + private Integer mailCnt; // int(5) + + @Column(name = "RECEV_CNT") + private Integer recevCnt; // int(7) + + @Column(name = "ENV_CD", length = 3) + private String envCd; + + @Column(name = "COLOR_YN", length = 1) + private String colorYn; + + @Column(name = "MM_YN", length = 1) + private String mmYn; + + @Column(name = "FLEX_CD", length = 1) + private String flexCd; + + @Column(name = "DM_CNT") + private Integer dmCnt; // int(2) + + @Column(name = "SB_FG", length = 1) + private String sbFg; + + @Column(name = "APVL_NB", length = 10) + private String apvlNb; + + @Column(name = "SEND_DATE", length = 8) + private String sendDate; + + @Column(name = "SEND_TIME", length = 6) + private String sendTime; + + @Column(name = "RELORSECT_CD", length = 15) + private String relOrSectCd; + + @Column(name = "RECEV_SENDER_ORG_CODE", length = 15) + private String recevSenderOrgCode; + + @Column(name = "RECEV_SENDER_NM", length = 40) + private String recevSenderNm; + + @Column(name = "RECEV_SENDER_ZIPCODE", length = 6) + private String recevSenderZipcode; + + @Column(name = "RECEV_SENDER_ADDR", length = 60) + private String recevSenderAddr; + + @Column(name = "RECEV_SENDER_DETAIL_ADDR", length = 100) + private String recevSenderDetailAddr; + + @Column(name = "RECEV_SENDER_DEPART_TEL", length = 60) + private String recevSenderDepartTel; + + @Column(name = "RECEV_SENDER_DEPART_NM", length = 30) + private String recevSenderDepartNm; + + @Column(name = "RECEV_DIV_CD", length = 1) + private String recevDivCd; + + @Column(name = "RECEV_PRINT_DT", length = 21) + private String recevPrintDt; + + @Column(name = "RECEV_PRINT_YEAR", length = 4) + private String recevPrintYear; + + @Column(name = "RECEV_PRINT_MONTH", length = 2) + private String recevPrintMonth; + + @Column(name = "RECEV_PRINT_DAY", length = 2) + private String recevPrintDay; + + @Column(name = "RECEV_SENDER_FAX", length = 20) + private String recevSenderFax; + + @Column(name = "RECEV_SERDER_STAFF", length = 30) // 원문 컬럼명 그대로 + private String recevSerderStaff; + + @Column(name = "RECEV_SENDER_EMAIL", length = 60) + private String recevSenderEmail; + + @Column(name = "JOB_CD", length = 4) + private String jobCd; + + @Column(name = "POST_PROC_STT", length = 2) + private String postProcStt; + + @Column(name = "DELETE_AT", length = 1) + private String deleteAt; + + @Column(name = "REG_YMD", length = 8) + private String regYmd; + + @Column(name = "RCEPT_YMD", length = 8) + private String rceptYmd; + + @Column(name = "REG_SYS_SE", length = 10) + private String regSysSe; + + @Column(name = "TG_CODE", length = 10) + private String tgCode; +} \ No newline at end of file diff --git a/src/main/java/com/worker/framework/JPAConf/CpDbConf.java b/src/main/java/com/worker/framework/JPAConf/CpDbConf.java index b51b38e..d3102ea 100644 --- a/src/main/java/com/worker/framework/JPAConf/CpDbConf.java +++ b/src/main/java/com/worker/framework/JPAConf/CpDbConf.java @@ -1,6 +1,7 @@ package com.worker.framework.JPAConf; import com.querydsl.jpa.impl.JPAQueryFactory; +import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; @@ -18,7 +19,7 @@ import javax.sql.DataSource; @Configuration @EnableJpaRepositories( - basePackages = "com.worker.domain.repo.cp", // Clean Parking용 레포지토리 경로 + basePackages = "com.worker.domain.repo.cp", entityManagerFactoryRef = "cpEntityManagerFactory", transactionManagerRef = "cpTransactionManager" ) @@ -31,13 +32,13 @@ public class CpDbConf { return new DataSourceProperties(); } - @Bean + @Bean(name = "cpDataSource") @Primary public DataSource cpDataSource() { return cpDataSourceProperties().initializeDataSourceBuilder().build(); } - @Bean + @Bean(name = "cpEntityManagerFactory") @Primary public LocalContainerEntityManagerFactoryBean cpEntityManagerFactory(EntityManagerFactoryBuilder builder) { return builder @@ -47,16 +48,22 @@ public class CpDbConf { .build(); } - @Bean + @Bean(name = "cpEntityManager") + @Primary + public EntityManager cpEntityManager(@Qualifier("cpEntityManagerFactory") EntityManagerFactory emf) { + return org.springframework.orm.jpa.SharedEntityManagerCreator.createSharedEntityManager(emf); + } + + @Bean(name = "cpTransactionManager") @Primary public PlatformTransactionManager cpTransactionManager( - @Qualifier("cpEntityManagerFactory") EntityManagerFactory cpEntityManagerFactory) { - return new JpaTransactionManager(cpEntityManagerFactory); + @Qualifier("cpEntityManagerFactory") EntityManagerFactory emf) { + return new JpaTransactionManager(emf); } - @Bean + @Bean(name = "cpQueryFactory") @Primary - public JPAQueryFactory cpQueryFactory(@Qualifier("cpEntityManagerFactory") EntityManagerFactory emf) { - return new JPAQueryFactory(emf.createEntityManager()); + public JPAQueryFactory cpQueryFactory(@Qualifier("cpEntityManager") EntityManager em) { + return new JPAQueryFactory(em); } -} \ No newline at end of file +} diff --git a/src/main/java/com/worker/framework/JPAConf/EpDbConf.java b/src/main/java/com/worker/framework/JPAConf/EpDbConf.java index 46d6785..6a1fb91 100644 --- a/src/main/java/com/worker/framework/JPAConf/EpDbConf.java +++ b/src/main/java/com/worker/framework/JPAConf/EpDbConf.java @@ -1,6 +1,7 @@ package com.worker.framework.JPAConf; import com.querydsl.jpa.impl.JPAQueryFactory; +import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; @@ -17,7 +18,7 @@ import javax.sql.DataSource; @Configuration @EnableJpaRepositories( - basePackages = "com.worker.domain.repo.ep", // Electric Parking용 레포지토리 경로 + basePackages = "com.worker.domain.repo.ep", entityManagerFactoryRef = "epEntityManagerFactory", transactionManagerRef = "epTransactionManager" ) @@ -29,12 +30,12 @@ public class EpDbConf { return new DataSourceProperties(); } - @Bean + @Bean(name = "epDataSource") public DataSource epDataSource() { return epDataSourceProperties().initializeDataSourceBuilder().build(); } - @Bean + @Bean(name = "epEntityManagerFactory") public LocalContainerEntityManagerFactoryBean epEntityManagerFactory(EntityManagerFactoryBuilder builder) { return builder .dataSource(epDataSource()) @@ -43,14 +44,19 @@ public class EpDbConf { .build(); } - @Bean - public PlatformTransactionManager epTransactionManager( - @Qualifier("epEntityManagerFactory") EntityManagerFactory epEntityManagerFactory) { - return new JpaTransactionManager(epEntityManagerFactory); + @Bean(name = "epEntityManager") + public EntityManager epEntityManager(@Qualifier("epEntityManagerFactory") EntityManagerFactory emf) { + return org.springframework.orm.jpa.SharedEntityManagerCreator.createSharedEntityManager(emf); } - @Bean - public JPAQueryFactory epQueryFactory(@Qualifier("epEntityManagerFactory") EntityManagerFactory emf) { - return new JPAQueryFactory(emf.createEntityManager()); + + @Bean(name = "epTransactionManager") + public PlatformTransactionManager epTransactionManager( + @Qualifier("epEntityManagerFactory") EntityManagerFactory emf) { + return new JpaTransactionManager(emf); } + @Bean(name = "epQueryFactory") + public JPAQueryFactory epQueryFactory(@Qualifier("epEntityManager") EntityManager em) { + return new JPAQueryFactory(em); + } } diff --git a/src/main/java/com/worker/scheduler/epost/dto/EPostDto.java b/src/main/java/com/worker/scheduler/epost/dto/EPostDto.java index e787b16..e251c81 100644 --- a/src/main/java/com/worker/scheduler/epost/dto/EPostDto.java +++ b/src/main/java/com/worker/scheduler/epost/dto/EPostDto.java @@ -47,6 +47,25 @@ public class EPostDto { private List result; } + @Getter + @Setter + @NoArgsConstructor + @AllArgsConstructor + @Builder + public static class SearchDelivTarget { + private Long gpCode; + private String gpSggcode; + private String gpSendDate; + private String gpSendTime; + private String gpReturnCd; + private String gpRecvName; + private String gpRecvRelt; + private String gpState; + private Long gpTtcode; + private String postProcSt; + + } + @Getter @Setter @NoArgsConstructor @@ -84,18 +103,18 @@ public class EPostDto { @AllArgsConstructor @Builder public static class Deliv { - private String conKey; - private String regiNo; - private String delivYm; - private String delivHhmi; - private String delivRsltCd; - - private String sendDate; - private String sendTime; - private String resultCd; - private String aDate; - - + private String conOrg; // 외부기관구분코드YICT + private String conKey; // 콘키 + private String regiNo; // 등기번호 + private String delivymd; // 배달일 + private String delivhhmi; // 배달시간 + private String delivrsltcd; // 배달결과코드 + private String nondelivreasncd; // 미배달사유코드 + private String nondelivreasncdnm; // 미배달사유명 + private String subrecprsnnm; // 수령인명 + private String relrecprsncd; // 수령인관계코드 + private String relrecprsncdnm; // 수령인관계명 + private String endMark; } diff --git a/src/main/java/com/worker/scheduler/epost/repository/EPostQueryDslRepository.java b/src/main/java/com/worker/scheduler/epost/repository/EPostQueryDslRepository.java index 1f32d31..3860336 100644 --- a/src/main/java/com/worker/scheduler/epost/repository/EPostQueryDslRepository.java +++ b/src/main/java/com/worker/scheduler/epost/repository/EPostQueryDslRepository.java @@ -5,12 +5,17 @@ import com.querydsl.jpa.impl.JPAQueryFactory; import com.worker.scheduler.epost.dto.EPostDto; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import java.util.List; +import static com.worker.domain.entity.QCpGojiPrt.cpGojiPrt; import static com.worker.domain.entity.QEpostDelivResult.epostDelivResult; import static com.worker.domain.entity.QEpostRceptResult.epostRceptResult; +import static com.worker.domain.entity.QEpostSenderDetail.epostSenderDetail; +import static com.worker.domain.entity.QEpostSenderReg.epostSenderReg; @Slf4j @@ -18,9 +23,32 @@ import static com.worker.domain.entity.QEpostRceptResult.epostRceptResult; @RequiredArgsConstructor public class EPostQueryDslRepository { - private final JPAQueryFactory queryFactory; + private final @Qualifier("cpQueryFactory") JPAQueryFactory cpQueryFactory; + private final @Qualifier("epQueryFactory") JPAQueryFactory epQueryFactory; + + private final @Qualifier("cpDataSource") javax.sql.DataSource cpDs; + private final @Qualifier("epDataSource") javax.sql.DataSource epDs; + + public void logWhichDb() throws Exception { + try (var c = cpDs.getConnection()) { + log.info("CP URL = {}", c.getMetaData().getURL()); + log.info("CP Catalog={}, Schema={}", c.getCatalog(), c.getSchema()); + } + try (var c = epDs.getConnection()) { + log.info("EP URL = {}", c.getMetaData().getURL()); + log.info("EP Catalog={}, Schema={}", c.getCatalog(), c.getSchema()); + } + } + + @Transactional(readOnly = true, transactionManager = "epTransactionManager") + public List findDelivResult(List dtos) { - public List findDelivResult(List dtos) { + + try { + logWhichDb(); + } catch (Exception e) { + throw new RuntimeException(e); + } List conKeys = dtos.stream() .map(EPostDto.Deliv::getConKey) @@ -30,23 +58,36 @@ public class EPostQueryDslRepository { .map(EPostDto.Deliv::getRegiNo) .toList(); - return queryFactory + return epQueryFactory .select( Projections.fields( - EPostDto.Deliv.class, - epostDelivResult.conKey - - + EPostDto.SearchDelivTarget.class, + cpGojiPrt.gpCode, + cpGojiPrt.gpSggcode, + cpGojiPrt.gpSendDate, + cpGojiPrt.gpSendTime, + cpGojiPrt.gpReturnCd, + cpGojiPrt.gpRecvName, + cpGojiPrt.gpRecvRelt, + cpGojiPrt.gpState, + cpGojiPrt.gpTtcode, + epostSenderReg.postProcStt ) ) - .from(epostDelivResult) + .from(cpGojiPrt) + .innerJoin(epostSenderDetail).on( + cpGojiPrt.gpConKey.eq(epostSenderDetail.conKey), + cpGojiPrt.gpRegistNo.eq(epostSenderDetail.rgstNmbr) + ) + .innerJoin(epostSenderReg).on(cpGojiPrt.gpConKey.eq(epostSenderReg.conKey)) .where( - epostDelivResult.conKey.in(conKeys), - epostDelivResult.regino.in(reginos) + cpGojiPrt.gpConKey.in(conKeys), + cpGojiPrt.gpRegistNo.in(reginos) ) .fetch(); } + public List findMakeResult(List dtos) { return null; } @@ -57,9 +98,9 @@ public class EPostQueryDslRepository { } public void updateDelivResult(EPostDto.Deliv dto) { - queryFactory + epQueryFactory .update(epostDelivResult) - .set(epostDelivResult.delivRsltCd, dto.getResultCd()) + .set(epostDelivResult.delivRsltCd, dto.getDelivrsltcd()) .where( epostDelivResult.conKey.eq(dto.getConKey()) ) diff --git a/src/main/java/com/worker/scheduler/epost/service/EPostService.java b/src/main/java/com/worker/scheduler/epost/service/EPostService.java index 310c116..476408b 100644 --- a/src/main/java/com/worker/scheduler/epost/service/EPostService.java +++ b/src/main/java/com/worker/scheduler/epost/service/EPostService.java @@ -105,7 +105,7 @@ public class EPostService { // 다 같은 폴더로 불규칙하게 들어오니까 일단 파싱 리절트안에 전부 해당키로 나눠서 담아놨음. // parseResult가 리스트니까 하나씩 돌면서 키값에 맞는 매서드 호출 - List delivs = new ArrayList<>(); + List delivs = new ArrayList<>(); List prts = new ArrayList<>(); List recvs = new ArrayList<>(); @@ -124,7 +124,7 @@ public class EPostService { log.info(prts.toString()); log.info(recvs.toString()); - if (delivs != null && !delivs.isEmpty()) insertDelivResults(delivs); +// if (delivs != null && !delivs.isEmpty()) insertDelivResults(delivs); if (prts != null && !prts.isEmpty()) insertPrtResults(prts); if (recvs != null && !recvs.isEmpty()) insertRecvResults(recvs); @@ -139,14 +139,14 @@ public class EPostService { .map(item -> EpostDelivResult.builder() .conKey(item.getConKey()) .regino(item.getRegiNo()) - .delivYmd(item.getDelivYm()) - .delivHhmi(item.getDelivHhmi()) - .delivRsltCd(item.getDelivRsltCd()) - .nonDelivReasnCd(null) // 값 없으면 null 권장 - .nonDelivReasnCdNm(null) - .subRecPrsnNm(null) - .relRecPrsnCd(null) - .relRecPrsnCdNm(null) + .delivYmd(item.getDelivymd()) + .delivHhmi(item.getDelivhhmi()) + .delivRsltCd(item.getDelivrsltcd()) + .nonDelivReasnCd(item.getDelivrsltcd()) + .nonDelivReasnCdNm(item.getNondelivreasncdnm()) + .subRecPrsnNm(item.getSubrecprsnnm()) + .relRecPrsnCd(item.getRelrecprsncd()) + .relRecPrsnCdNm(item.getRelrecprsncdnm()) .build()) .toList(); cpEpostDelivResultRepository.saveAll(entities); diff --git a/src/main/java/com/worker/util/fileReader/text/impl/EpostTextFileParser.java b/src/main/java/com/worker/util/fileReader/text/impl/EpostTextFileParser.java index 9c76f19..913fb26 100644 --- a/src/main/java/com/worker/util/fileReader/text/impl/EpostTextFileParser.java +++ b/src/main/java/com/worker/util/fileReader/text/impl/EpostTextFileParser.java @@ -107,15 +107,18 @@ public class EpostTextFileParser implements FileParserInterface