diff --git a/src/main/java/com/favoriteplace/app/service/PilgrimageCommandService.java b/src/main/java/com/favoriteplace/app/service/PilgrimageCommandService.java index 84dfb79..4662de5 100644 --- a/src/main/java/com/favoriteplace/app/service/PilgrimageCommandService.java +++ b/src/main/java/com/favoriteplace/app/service/PilgrimageCommandService.java @@ -18,7 +18,10 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.Instant; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.List; import java.util.Optional; @@ -72,9 +75,17 @@ public CommonResponseDto.RallyResponseDto certifyToPilgrimage(Long pilgrimageId, List visitedPilgrimages = visitedPilgrimageRepository .findByPilgrimageAndMemberOrderByCreatedAtDesc(pilgrimage, member); + for(VisitedPilgrimage vp:visitedPilgrimages){ + log.info("인증객체:"+vp.getId()+vp.getMember().getNickname()+vp.getPilgrimage().getRallyName()); + } + // 24시간 이내 방문이력 확인 + Instant now = Instant.now(); +// ZonedDateTime zonedDateTime = now.atZone(ZoneId.of("UTC")); +// log.info(zonedDateTime.toString()); + if (visitedPilgrimages.isEmpty() - || (!visitedPilgrimages.isEmpty() && visitedPilgrimages.get(0).getPilgrimage().getCreatedAt().plusHours(24L).isBefore(LocalDateTime.now()))) { + || (!visitedPilgrimages.isEmpty() && visitedPilgrimages.get(0).getPilgrimage().getCreatedAt().atZone(ZoneId.of("UTC")).plusHours(24L).isBefore(ZonedDateTime.now(ZoneId.of("UTC"))))) { // 현재 좌표가 성지순례 장소 좌표 기준 +-0.00135 이내인지 확인 if (checkCoordinate(form, pilgrimage)){ throw new RestApiException(ErrorCode.PILGRIMAGE_CAN_NOT_CERTIFIED); diff --git a/src/main/java/com/favoriteplace/app/service/PilgrimageQueryService.java b/src/main/java/com/favoriteplace/app/service/PilgrimageQueryService.java index 7afaa98..9163484 100644 --- a/src/main/java/com/favoriteplace/app/service/PilgrimageQueryService.java +++ b/src/main/java/com/favoriteplace/app/service/PilgrimageQueryService.java @@ -141,7 +141,7 @@ public PilgrimageDto.PilgrimageDetailDto getPilgrimageDetail(Long pilgrimageId, result.setIsCertified(false); } // 이 성지순례에 인증 기록이 있다면 isWritable -> true - if (visitedLog.size() >= 1) { + if (visitedLog.size() == 1) { result.setIsWritable(true); } // 이 성지순례에 인증 기록이 두 개 이상이라면 isisMultiWritable -> true