Skip to content

Commit

Permalink
Merge pull request #105 from UMC5th-bias/develop
Browse files Browse the repository at this point in the history
[FIX] complete rally JPA 에러 수정
  • Loading branch information
ppparkta committed Feb 18, 2024
2 parents 140dfab + 5e0c8de commit be9e089
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@

@Repository
public interface CompleteRallyRepository extends JpaRepository<CompleteRally, Long> {
CompleteRally findByMemberAndRally(Member member, Rally rally);
List<CompleteRally> findByMemberAndRally(Member member, Rally rally);
List<CompleteRally> findByMember(Member member);
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,18 +72,17 @@ public CommonResponseDto.RallyResponseDto certifyToPilgrimage(Long pilgrimageId,
PilgrimageDto.PilgrimageCertifyRequestDto form) {
Pilgrimage pilgrimage = pilgrimageRepository.findById(pilgrimageId).orElseThrow(
() -> new RestApiException(ErrorCode.PILGRIMAGE_NOT_FOUND));
log.info("pilgrimage coordinate="+pilgrimage.getLatitude().toString()+pilgrimage.getLongitude().toString());

List<VisitedPilgrimage> visitedPilgrimages = visitedPilgrimageRepository
.findByPilgrimageAndMemberOrderByCreatedAtDesc(pilgrimage, member);

ZoneId serverZoneId = ZoneId.of("Asia/Seoul");
ZonedDateTime nowInServerTimeZone = ZonedDateTime.now(serverZoneId);

log.info("now="+nowInServerTimeZone);
if (!visitedPilgrimages.isEmpty()) {
log.info("pilgrimage="+visitedPilgrimages.get(0).getPilgrimage().getCreatedAt().atZone(serverZoneId));
}
// log.info("now="+nowInServerTimeZone);
// if (!visitedPilgrimages.isEmpty()) {
// log.info("pilgrimage="+visitedPilgrimages.get(0).getPilgrimage().getCreatedAt().atZone(serverZoneId));
// }

if (visitedPilgrimages.isEmpty()
|| (!visitedPilgrimages.isEmpty()
Expand All @@ -96,7 +95,8 @@ public CommonResponseDto.RallyResponseDto certifyToPilgrimage(Long pilgrimageId,
successVisitedAndPointProcess(member, pilgrimage);

Long completeCount = visitedPilgrimageRepository.findByDistinctCount(member.getId(), pilgrimage.getRally().getId());
// 랠리를 완료했는지 확인
log.info("completeCount="+completeCount);
// // 랠리를 완료했는지 확인
if (checkCompleteRally(member, pilgrimage, completeCount))
return CommonConverter.toRallyResponseDto(true, true,"<"+pilgrimage.getRally().getItem().getName()+"> 칭호를 얻었습니다!");
} else
Expand All @@ -106,9 +106,10 @@ public CommonResponseDto.RallyResponseDto certifyToPilgrimage(Long pilgrimageId,

private boolean checkCompleteRally(Member member, Pilgrimage pilgrimage, Long completeCount) {
if (completeCount == pilgrimage.getRally().getPilgrimageNumber()) {
CompleteRally completeRally = completeRallyRepository.findByMemberAndRally(member, pilgrimage.getRally());
List<CompleteRally> completeRally = completeRallyRepository.findByMemberAndRally(member, pilgrimage.getRally());
log.info("size="+completeRally.size());
// 이전에 이미 랠리를 완료한 상태인지 확인
if (completeRally == null || !completeRally.getVersion().getVersion().equals(RallyVersion.v1)) {
if (completeRally.isEmpty()) {
// 최초 완료에 한해 칭호 획득
if (completeRally == null)
acquiredItemRepository.save(AcquiredItem.builder().item(pilgrimage.getRally().getItem()).member(member).build());
Expand All @@ -132,8 +133,10 @@ private boolean checkCoordinate(PilgrimageDto.PilgrimageCertifyRequestDto form,

private void successVisitedAndPointProcess(Member member, Pilgrimage pilgrimage) {
VisitedPilgrimage newVisited = VisitedPilgrimage.builder().pilgrimage(pilgrimage).member(member).build();
log.info("visited="+newVisited.getId());
visitedPilgrimageRepository.save(newVisited);
pointHistoryRepository.save(PointHistoryConverter.toPointHistory(member, 15L, PointType.ACQUIRE));
member.updatePoint(15L);
log.info("clear");
}
}

0 comments on commit be9e089

Please sign in to comment.