From e9b968d8bae4380be789ac19943045cebbe66898 Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Mon, 11 Sep 2023 17:51:29 +0900 Subject: [PATCH] =?UTF-8?q?Instant=20Converting=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BasFlightController.java | 1 + .../biz/config/StringToInstantBinding.java | 35 +++++++++++++------ .../com/palnet/biz/config/WebMvcConfig.java | 2 ++ .../pty/PtyCrtfyhpBasQueryRepository.java | 4 +-- 4 files changed, 29 insertions(+), 13 deletions(-) diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/flight/controller/BasFlightController.java b/pav-server/src/main/java/com/palnet/biz/api/bas/flight/controller/BasFlightController.java index a4b5c709..be2a5e3c 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/flight/controller/BasFlightController.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/flight/controller/BasFlightController.java @@ -102,6 +102,7 @@ public class BasFlightController { public ResponseEntity findPlanList(BasFlightPlanListRq rq) { ComnPagingRs result = null; // System.out.println(rq); + log.error(">>> rq : {}", rq); try { result = basFlightService.listPlan(rq); diff --git a/pav-server/src/main/java/com/palnet/biz/config/StringToInstantBinding.java b/pav-server/src/main/java/com/palnet/biz/config/StringToInstantBinding.java index 1152954c..52b63240 100644 --- a/pav-server/src/main/java/com/palnet/biz/config/StringToInstantBinding.java +++ b/pav-server/src/main/java/com/palnet/biz/config/StringToInstantBinding.java @@ -1,32 +1,45 @@ package com.palnet.biz.config; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Configuration; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; -@Component @Slf4j public class StringToInstantBinding implements Converter { @Override public Instant convert(String date) { + log.error("StringToInstantBinding - convert()"); + log.error("date -> {}", date); + + if(date.length() == 10){ + date += "T00:00:00Z"; + try { + return Instant.parse(date); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime localDateTime = LocalDateTime.parse(date, formatter); + + return localDateTime.atZone(ZoneId.of("UTC")).toInstant(); + } catch (Exception e){ + e.printStackTrace(); + } - if(date.length() == 10) date += "T00:00:00Z"; - - log.warn("date -> {}", date); - - try { - - return Instant.parse(date); - } catch (Exception e) { - e.printStackTrace(); } - return null; } + } diff --git a/pav-server/src/main/java/com/palnet/biz/config/WebMvcConfig.java b/pav-server/src/main/java/com/palnet/biz/config/WebMvcConfig.java index 69325f0e..3363f2e0 100644 --- a/pav-server/src/main/java/com/palnet/biz/config/WebMvcConfig.java +++ b/pav-server/src/main/java/com/palnet/biz/config/WebMvcConfig.java @@ -106,6 +106,8 @@ public class WebMvcConfig implements WebMvcConfigurer{ registrar.setDateTimeFormatter(DateTimeFormatter.ofPattern(dateTimeFormat)); registrar.registerFormatters(registry); + registry.addConverter(new StringToInstantBinding()); + /* ISO 타입. registrar.setUseIsoFormat(true); registrar.registerFormatters(registry); diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCrtfyhpBasQueryRepository.java b/pav-server/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCrtfyhpBasQueryRepository.java index aa3f4c70..f2a1093a 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCrtfyhpBasQueryRepository.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCrtfyhpBasQueryRepository.java @@ -32,8 +32,8 @@ public class PtyCrtfyhpBasQueryRepository { builder.and(qEntity.crtfyhpYn.eq("N")); // builder.and(qEntity.createDt.between(LocalDateTime.now().minusMinutes(5), LocalDateTime.now())); - builder.and(qEntity.createDt.goe(prevTime)); - builder.and(qEntity.createDt.loe(now)); + builder.and(qEntity.createDt.goe(prevTime.toInstant())); + builder.and(qEntity.createDt.loe(now.toInstant())); List entity =