From 6b052f2703fcd17c0b41f50c8145b791ccaa59b8 Mon Sep 17 00:00:00 2001 From: seungsje Date: Mon, 9 Sep 2024 14:03:04 +0900 Subject: [PATCH] =?UTF-8?q?[Bug]=20=ED=8B=B0=EC=BC=93=20=EC=B9=B4=EC=9A=B4?= =?UTF-8?q?=ED=8A=B8=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AgendaProfileController.java | 2 +- .../api/user/ticket/controller/TicketController.java | 4 ++-- .../ticket/controller/response/TicketCountResDto.java | 4 ++-- .../agenda/api/user/ticket/service/TicketService.java | 11 ++++++----- .../main/java/gg/repo/agenda/TicketRepository.java | 2 ++ 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gg-agenda-api/src/main/java/gg/agenda/api/user/agendaprofile/controller/AgendaProfileController.java b/gg-agenda-api/src/main/java/gg/agenda/api/user/agendaprofile/controller/AgendaProfileController.java index 09f8ff60b..0e3c67745 100644 --- a/gg-agenda-api/src/main/java/gg/agenda/api/user/agendaprofile/controller/AgendaProfileController.java +++ b/gg-agenda-api/src/main/java/gg/agenda/api/user/agendaprofile/controller/AgendaProfileController.java @@ -77,7 +77,7 @@ public ResponseEntity myAgendaProfileInfoDetails public ResponseEntity myAgendaProfileDetails( @Login @Parameter(hidden = true) UserDto user, HttpServletResponse response) { AgendaProfile profile = agendaProfileFindService.findAgendaProfileByIntraId(user.getIntraId()); - int ticketCount = ticketService.findTicketList(profile).size(); + int ticketCount = ticketService.findUsedTrueApproveTrueTicketList(profile).size(); IntraProfile intraProfile = intraProfileUtils.getIntraProfile(response); MyAgendaProfileDetailsResDto agendaProfileDetails = MyAgendaProfileDetailsResDto.toDto( profile, ticketCount, intraProfile); diff --git a/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/controller/TicketController.java b/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/controller/TicketController.java index 0a5b8f680..1c6b503aa 100644 --- a/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/controller/TicketController.java +++ b/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/controller/TicketController.java @@ -66,13 +66,13 @@ public ResponseEntity ticketSetupAdd(@Parameter(hidden = true) @Login User @GetMapping public ResponseEntity ticketCountFind(@Parameter(hidden = true) @Login UserDto user) { AgendaProfile profile = agendaProfileFindService.findAgendaProfileByIntraId(user.getIntraId()); - List tickets = ticketService.findTicketList(profile); + List tickets = ticketService.findUsedFalseTicketList(profile); long approvedCount = tickets.stream() .filter(Ticket::getIsApproved) .count(); boolean setupTicket = tickets.size() > approvedCount; - return ResponseEntity.ok(new TicketCountResDto(tickets.size(), setupTicket)); + return ResponseEntity.ok(new TicketCountResDto(approvedCount, setupTicket)); } /** diff --git a/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/controller/response/TicketCountResDto.java b/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/controller/response/TicketCountResDto.java index 60d153d73..bbf872f53 100644 --- a/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/controller/response/TicketCountResDto.java +++ b/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/controller/response/TicketCountResDto.java @@ -6,10 +6,10 @@ @Getter @NoArgsConstructor(access = lombok.AccessLevel.PROTECTED) public class TicketCountResDto { - private int ticketCount; + private long ticketCount; private boolean setupTicket; - public TicketCountResDto(int ticketCount, boolean setupTicket) { + public TicketCountResDto(long ticketCount, boolean setupTicket) { this.ticketCount = ticketCount; this.setupTicket = setupTicket; } diff --git a/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/service/TicketService.java b/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/service/TicketService.java index 11cd7fde7..e69cf6613 100644 --- a/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/service/TicketService.java +++ b/gg-agenda-api/src/main/java/gg/agenda/api/user/ticket/service/TicketService.java @@ -17,14 +17,12 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.HttpClientErrorException; -import gg.agenda.api.user.agendaprofile.service.AgendaProfileFindService; import gg.auth.FortyTwoAuthUtil; import gg.auth.UserDto; import gg.data.agenda.AgendaProfile; import gg.data.agenda.AgendaTeamProfile; import gg.data.agenda.Ticket; import gg.repo.agenda.AgendaProfileRepository; -import gg.repo.agenda.AgendaRepository; import gg.repo.agenda.TicketRepository; import gg.utils.DateTimeUtil; import gg.utils.exception.custom.DuplicationException; @@ -38,8 +36,6 @@ public class TicketService { private final ApiUtil apiUtil; private final FortyTwoAuthUtil fortyTwoAuthUtil; private final TicketRepository ticketRepository; - private final AgendaRepository agendaRepository; - private final AgendaProfileFindService agendaProfileFindService; private final AgendaProfileRepository agendaProfileRepository; @Value("https://api.intra.42.fr/v2/users/{id}/correction_point_historics?sort=-id") @@ -74,10 +70,15 @@ public void addTicketSetup(UserDto user) { * @return 티켓 수 */ @Transactional(readOnly = true) - public List findTicketList(AgendaProfile profile) { + public List findUsedTrueApproveTrueTicketList(AgendaProfile profile) { return ticketRepository.findByAgendaProfileAndIsUsedFalseAndIsApprovedTrue(profile); } + @Transactional(readOnly = true) + public List findUsedFalseTicketList(AgendaProfile profile) { + return ticketRepository.findByAgendaProfileAndIsUsedFalse(profile); + } + /** * 티켓 승인/거절 * @param profile 사용자 정보 diff --git a/gg-repo/src/main/java/gg/repo/agenda/TicketRepository.java b/gg-repo/src/main/java/gg/repo/agenda/TicketRepository.java index 3c9c9b957..9037062ed 100644 --- a/gg-repo/src/main/java/gg/repo/agenda/TicketRepository.java +++ b/gg-repo/src/main/java/gg/repo/agenda/TicketRepository.java @@ -21,4 +21,6 @@ Optional findFirstByAgendaProfileAndIsApprovedTrueAndIsUsedFalseOrderByC Page findByAgendaProfileId(Long agendaProfileId, Pageable pageable); List findByAgendaProfileAndIsUsedFalseAndIsApprovedTrue(AgendaProfile agendaProfile); + + List findByAgendaProfileAndIsUsedFalse(AgendaProfile agendaProfile); }