From db8cc0667b0d15de4297935f792928c736e4b6bb Mon Sep 17 00:00:00 2001 From: Azin Date: Sat, 8 Nov 2025 16:20:57 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix/#204:=20enum=20=EA=B0=92=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/divary/domain/logbase/logbook/enums/DiveMethod.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/divary/domain/logbase/logbook/enums/DiveMethod.java b/src/main/java/com/divary/domain/logbase/logbook/enums/DiveMethod.java index 684d4cbc..cac23f33 100644 --- a/src/main/java/com/divary/domain/logbase/logbook/enums/DiveMethod.java +++ b/src/main/java/com/divary/domain/logbase/logbook/enums/DiveMethod.java @@ -1,5 +1,5 @@ package com.divary.domain.logbase.logbook.enums; public enum DiveMethod { - SHORE, BOAT, ETC + SHORE, BOAT, OTHER } From 85f5dd0877bf388210e5c958c3a5182cbdac978c Mon Sep 17 00:00:00 2001 From: sereene Date: Sat, 8 Nov 2025 21:24:22 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EB=A7=88=EC=9D=B4=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EC=B4=9D=20=EB=8B=A4=EC=9D=B4=EB=B9=99=ED=9A=9F?= =?UTF-8?q?=EC=88=98=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/logbase/logbook/service/LogBookService.java | 6 ++++++ .../member/dto/response/MyPageProfileResponseDTO.java | 3 +++ .../divary/domain/member/service/MemberServiceImpl.java | 8 ++++++++ 3 files changed, 17 insertions(+) diff --git a/src/main/java/com/divary/domain/logbase/logbook/service/LogBookService.java b/src/main/java/com/divary/domain/logbase/logbook/service/LogBookService.java index 46aaa698..6ea330f3 100644 --- a/src/main/java/com/divary/domain/logbase/logbook/service/LogBookService.java +++ b/src/main/java/com/divary/domain/logbase/logbook/service/LogBookService.java @@ -277,4 +277,10 @@ public void updateLogDate(Long logBaseInfoId, Long userId, LocalDate date) { } + public int getAccumulationById(Long userId){ + + //현재기준으로 총 로그북 누적횟수 계산 + return logBookRepository.countByLogBaseInfoMemberIdAndSaveStatus(userId, SaveStatus.COMPLETE); + } + } diff --git a/src/main/java/com/divary/domain/member/dto/response/MyPageProfileResponseDTO.java b/src/main/java/com/divary/domain/member/dto/response/MyPageProfileResponseDTO.java index 33efb20f..392ce0df 100644 --- a/src/main/java/com/divary/domain/member/dto/response/MyPageProfileResponseDTO.java +++ b/src/main/java/com/divary/domain/member/dto/response/MyPageProfileResponseDTO.java @@ -22,4 +22,7 @@ public class MyPageProfileResponseDTO { @Schema(description = "레벨", example = "오픈워터 다이버") private Levels level; + @Schema(description = "총 다이빙 횟수") + private Integer accumulations; + } diff --git a/src/main/java/com/divary/domain/member/service/MemberServiceImpl.java b/src/main/java/com/divary/domain/member/service/MemberServiceImpl.java index fea2c622..cbceec47 100644 --- a/src/main/java/com/divary/domain/member/service/MemberServiceImpl.java +++ b/src/main/java/com/divary/domain/member/service/MemberServiceImpl.java @@ -5,6 +5,8 @@ import com.divary.domain.image.dto.request.ImageUploadRequest; import com.divary.domain.image.dto.response.ImageResponse; import com.divary.domain.image.service.ImageService; +import com.divary.domain.logbase.logbook.enums.SaveStatus; +import com.divary.domain.logbase.logbook.service.LogBookService; import com.divary.domain.member.dto.requestDTO.MyPageGroupRequestDTO; import com.divary.domain.member.dto.requestDTO.MyPageLevelRequestDTO; import com.divary.domain.member.dto.response.MyPageImageResponseDTO; @@ -39,6 +41,7 @@ public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository; private final ImageService imageService; private final TokenBlackListService tokenBlackListService; + private final LogBookService logBookService; @Value("${jobs.user-deletion.grace-period-days}") private int gracePeriodDays; @@ -200,6 +203,10 @@ public void updateGroup(Long userId, MyPageGroupRequestDTO requestDTO){ public MyPageProfileResponseDTO getMemberProfile(Long userId){ Member member = memberRepository.findById(userId).orElseThrow(()->new BusinessException(ErrorCode.MEMBER_NOT_FOUND)); + Integer accumulation + = logBookService.getAccumulationById(userId); + //현재기준으로 총 로그북 누적횟수 계산 + String memberIdByEmail = member.getEmail().split("@")[0]; // 프로필에 나오는 아이디: 이메일에서 @ 앞부분만 추출 @@ -207,6 +214,7 @@ public MyPageProfileResponseDTO getMemberProfile(Long userId){ .memberGroup(member.getMemberGroup()) .level(member.getLevel()) .id(memberIdByEmail) + .accumulations(accumulation) .build(); }