From 3f017d40b0e3f5e2cb6e74b15f89828caee0c5c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=A4=80?= Date: Fri, 3 Feb 2023 17:21:49 +0900 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20=EB=AC=B4=ED=95=9C=EC=8A=A4?= =?UTF-8?q?=ED=81=AC=EB=A1=A4=20offset=EB=B0=A9=EC=8B=9D=20=EB=B0=8F=20Sli?= =?UTF-8?q?ceResponse=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comment/controller/CommentController.java | 11 ++++-- .../api/comment/mapper/CommentMapper.java | 11 +++++- .../service/RetrieveCommentUseCase.java | 7 +++- .../comment/adaptor/CommentAdaptor.java | 3 +- .../dto/condition/CommentCondition.java | 4 +- .../repository/CommentCustomRepository.java | 2 +- .../CommentCustomRepositoryImpl.java | 39 ++++++++++--------- 7 files changed, 47 insertions(+), 30 deletions(-) diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/comment/controller/CommentController.java b/DuDoong-Api/src/main/java/band/gosrock/api/comment/controller/CommentController.java index 126188b7..377c4310 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/comment/controller/CommentController.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/comment/controller/CommentController.java @@ -4,6 +4,7 @@ import band.gosrock.api.comment.model.request.CreateCommentRequest; import band.gosrock.api.comment.model.response.CreateCommentResponse; import band.gosrock.api.comment.model.response.RetrieveCommentCountResponse; +import band.gosrock.api.comment.model.response.RetrieveCommentDTO; import band.gosrock.api.comment.model.response.RetrieveCommentListResponse; import band.gosrock.api.comment.model.response.RetrieveRandomCommentResponse; import band.gosrock.api.comment.service.CreateCommentUseCase; @@ -11,11 +12,15 @@ import band.gosrock.api.comment.service.RetrieveCommentCountUseCase; import band.gosrock.api.comment.service.RetrieveCommentUseCase; import band.gosrock.api.comment.service.RetrieveRandomCommentUseCase; +import band.gosrock.api.common.slice.SliceResponse; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; import javax.validation.Valid; import lombok.RequiredArgsConstructor; +import org.springdoc.api.annotations.ParameterObject; +import org.springframework.data.domain.Pageable; +import org.springframework.data.web.PageableDefault; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -52,9 +57,9 @@ public CreateCommentResponse postComment( @Operation(summary = "응원글을 조회합니다.") @GetMapping - public RetrieveCommentListResponse getComments( - @PathVariable Long eventId, @RequestParam(required = false) Long lastId) { - return retrieveCommentUseCase.execute(eventId, lastId); + public SliceResponse getComments( + @PathVariable Long eventId, @ParameterObject @PageableDefault(size = 10) Pageable pageable) { + return retrieveCommentUseCase.execute(eventId, pageable); } @Operation(summary = "[어드민 기능] 응원글을 삭제합니다.") diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/comment/mapper/CommentMapper.java b/DuDoong-Api/src/main/java/band/gosrock/api/comment/mapper/CommentMapper.java index b36d7204..8c8de635 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/comment/mapper/CommentMapper.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/comment/mapper/CommentMapper.java @@ -4,8 +4,10 @@ import band.gosrock.api.comment.model.request.CreateCommentRequest; import band.gosrock.api.comment.model.response.CreateCommentResponse; import band.gosrock.api.comment.model.response.RetrieveCommentCountResponse; +import band.gosrock.api.comment.model.response.RetrieveCommentDTO; import band.gosrock.api.comment.model.response.RetrieveCommentListResponse; import band.gosrock.api.comment.model.response.RetrieveRandomCommentResponse; +import band.gosrock.api.common.slice.SliceResponse; import band.gosrock.common.annotation.Mapper; import band.gosrock.domain.domains.comment.adaptor.CommentAdaptor; import band.gosrock.domain.domains.comment.domain.Comment; @@ -32,10 +34,11 @@ public CreateCommentResponse toCreateCommentResponse(Comment comment, User user) } @Transactional(readOnly = true) - public RetrieveCommentListResponse toRetrieveCommentListResponse( + public SliceResponse toRetrieveCommentListResponse( CommentCondition commentCondition, Long currentUserId) { Slice comments = commentAdaptor.searchComment(commentCondition); - return RetrieveCommentListResponse.of(comments, currentUserId); + return SliceResponse.of( + comments.map(comment -> toRetrieveCommentDTO(comment, currentUserId))); } @Transactional(readOnly = true) @@ -50,4 +53,8 @@ public RetrieveCommentCountResponse toRetrieveCommentCountResponse(Long commentC public RetrieveRandomCommentResponse toRetrieveRandomCommentResponse(Comment comment) { return RetrieveRandomCommentResponse.of(comment); } + + private RetrieveCommentDTO toRetrieveCommentDTO(Comment comment, Long currentUserId) { + return RetrieveCommentDTO.of(comment, currentUserId); + } } diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/RetrieveCommentUseCase.java b/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/RetrieveCommentUseCase.java index 69aae5c9..48c0e87d 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/RetrieveCommentUseCase.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/RetrieveCommentUseCase.java @@ -2,13 +2,16 @@ import band.gosrock.api.comment.mapper.CommentMapper; +import band.gosrock.api.comment.model.response.RetrieveCommentDTO; import band.gosrock.api.comment.model.response.RetrieveCommentListResponse; import band.gosrock.api.common.UserUtils; +import band.gosrock.api.common.slice.SliceResponse; import band.gosrock.common.annotation.UseCase; import band.gosrock.domain.domains.comment.dto.condition.CommentCondition; import band.gosrock.domain.domains.event.adaptor.EventAdaptor; import band.gosrock.domain.domains.event.domain.Event; import lombok.RequiredArgsConstructor; +import org.springframework.data.domain.Pageable; @UseCase @RequiredArgsConstructor @@ -20,10 +23,10 @@ public class RetrieveCommentUseCase { private final UserUtils userUtils; - public RetrieveCommentListResponse execute(Long eventId, Long lastId) { + public SliceResponse execute(Long eventId, Pageable pageable) { Event event = eventAdaptor.findById(eventId); Long currentUserId = userUtils.getCurrentUserId(); - CommentCondition commentCondition = new CommentCondition(event.getId(), lastId); + CommentCondition commentCondition = new CommentCondition(event.getId(), pageable); return commentMapper.toRetrieveCommentListResponse(commentCondition, currentUserId); } } diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/adaptor/CommentAdaptor.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/adaptor/CommentAdaptor.java index e39f613a..2b62b81f 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/adaptor/CommentAdaptor.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/adaptor/CommentAdaptor.java @@ -22,8 +22,7 @@ public Comment save(Comment comment) { } public Slice searchComment(CommentCondition commentCondition) { - PageRequest pageRequest = PageRequest.of(0, 20, Sort.by("createdAt").ascending()); - return commentRepository.searchToPage(commentCondition, pageRequest); + return commentRepository.searchToPage(commentCondition); } public Comment queryComment(Long commentId) { diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/dto/condition/CommentCondition.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/dto/condition/CommentCondition.java index 98e2b63c..c68803e5 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/dto/condition/CommentCondition.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/dto/condition/CommentCondition.java @@ -1,8 +1,10 @@ package band.gosrock.domain.domains.comment.dto.condition; + import lombok.AllArgsConstructor; import lombok.Getter; +import org.springframework.data.domain.Pageable; @Getter @AllArgsConstructor @@ -10,5 +12,5 @@ public class CommentCondition { private Long eventId; - private Long lastId; + private Pageable pageable; } diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepository.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepository.java index 2f5bdda7..5f3050ab 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepository.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepository.java @@ -8,7 +8,7 @@ public interface CommentCustomRepository { - Slice searchToPage(CommentCondition commentCondition, Pageable pageable); + Slice searchToPage(CommentCondition commentCondition); Long countComment(Long eventId); diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepositoryImpl.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepositoryImpl.java index 22ffb2a8..ef0a95da 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepositoryImpl.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepositoryImpl.java @@ -3,6 +3,7 @@ import static band.gosrock.domain.domains.comment.domain.QComment.comment; import static band.gosrock.domain.domains.user.domain.QUser.user; +import band.gosrock.domain.common.util.SliceUtil; import band.gosrock.domain.domains.comment.domain.Comment; import band.gosrock.domain.domains.comment.domain.CommentStatus; import band.gosrock.domain.domains.comment.dto.condition.CommentCondition; @@ -26,7 +27,7 @@ public class CommentCustomRepositoryImpl implements CommentCustomRepository { private final JPAQueryFactory queryFactory; @Override - public Slice searchToPage(CommentCondition commentCondition, Pageable pageable) { + public Slice searchToPage(CommentCondition commentCondition) { List comments = queryFactory .selectFrom(comment) @@ -34,34 +35,34 @@ public Slice searchToPage(CommentCondition commentCondition, Pageable p .fetchJoin() .where( eventIdEq(commentCondition.getEventId()), - lastIdLessThan(commentCondition.getLastId()), comment.commentStatus.eq(CommentStatus.ACTIVE)) .orderBy(comment.id.desc()) - .limit(pageable.getPageSize() + 1) + .offset(commentCondition.getPageable().getOffset()) + .limit(commentCondition.getPageable().getPageSize() + 1) .fetch(); - return checkLastPage(pageable, comments); + return SliceUtil.valueOf(comments, commentCondition.getPageable()); } private BooleanExpression eventIdEq(Long eventId) { return eventId == null ? null : comment.eventId.eq(eventId); } - private BooleanExpression lastIdLessThan(Long lastId) { - return lastId == null ? null : comment.id.lt(lastId); - } - - private Slice checkLastPage(Pageable pageable, List comments) { - - boolean hasNext = false; - - if (comments.size() > pageable.getPageSize()) { - hasNext = true; - comments.remove(pageable.getPageSize()); - } - - return new SliceImpl<>(comments, pageable, hasNext); - } +// private BooleanExpression lastIdLessThan(Long lastId) { +// return lastId == null ? null : comment.id.lt(lastId); +// } +// +// private Slice checkLastPage(Pageable pageable, List comments) { +// +// boolean hasNext = false; +// +// if (comments.size() > pageable.getPageSize()) { +// hasNext = true; +// comments.remove(pageable.getPageSize()); +// } +// +// return new SliceImpl<>(comments, pageable, hasNext); +// } @Override public Long countComment(Long eventId) { From 4d2277febb3e75c31cbf6fcd612c823c7b8bdf45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=A4=80?= Date: Fri, 3 Feb 2023 17:30:24 +0900 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20=ED=98=B8=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EA=B2=80=EC=A6=9D=20AOP=EB=A1=9C=20=EB=A6=AC=ED=8C=A9=ED=86=A0?= =?UTF-8?q?=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comment/controller/CommentController.java | 5 ++- .../api/comment/mapper/CommentMapper.java | 3 +- .../comment/service/DeleteCommentUseCase.java | 7 ++-- .../service/RetrieveCommentUseCase.java | 1 - .../service/EntranceIssuedTicketUseCase.java | 8 +++-- .../service/ReadIssuedTicketsUseCase.java | 8 ++--- .../comment/adaptor/CommentAdaptor.java | 2 -- .../dto/condition/CommentCondition.java | 1 - .../repository/CommentCustomRepository.java | 1 - .../CommentCustomRepositoryImpl.java | 34 +++++++++---------- .../service/IssuedTicketDomainService.java | 4 +-- 11 files changed, 33 insertions(+), 41 deletions(-) diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/comment/controller/CommentController.java b/DuDoong-Api/src/main/java/band/gosrock/api/comment/controller/CommentController.java index 377c4310..49be246e 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/comment/controller/CommentController.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/comment/controller/CommentController.java @@ -5,7 +5,6 @@ import band.gosrock.api.comment.model.response.CreateCommentResponse; import band.gosrock.api.comment.model.response.RetrieveCommentCountResponse; import band.gosrock.api.comment.model.response.RetrieveCommentDTO; -import band.gosrock.api.comment.model.response.RetrieveCommentListResponse; import band.gosrock.api.comment.model.response.RetrieveRandomCommentResponse; import band.gosrock.api.comment.service.CreateCommentUseCase; import band.gosrock.api.comment.service.DeleteCommentUseCase; @@ -27,7 +26,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @SecurityRequirement(name = "access-token") @@ -58,7 +56,8 @@ public CreateCommentResponse postComment( @Operation(summary = "응원글을 조회합니다.") @GetMapping public SliceResponse getComments( - @PathVariable Long eventId, @ParameterObject @PageableDefault(size = 10) Pageable pageable) { + @PathVariable Long eventId, + @ParameterObject @PageableDefault(size = 10) Pageable pageable) { return retrieveCommentUseCase.execute(eventId, pageable); } diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/comment/mapper/CommentMapper.java b/DuDoong-Api/src/main/java/band/gosrock/api/comment/mapper/CommentMapper.java index 8c8de635..1f683319 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/comment/mapper/CommentMapper.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/comment/mapper/CommentMapper.java @@ -5,7 +5,6 @@ import band.gosrock.api.comment.model.response.CreateCommentResponse; import band.gosrock.api.comment.model.response.RetrieveCommentCountResponse; import band.gosrock.api.comment.model.response.RetrieveCommentDTO; -import band.gosrock.api.comment.model.response.RetrieveCommentListResponse; import band.gosrock.api.comment.model.response.RetrieveRandomCommentResponse; import band.gosrock.api.common.slice.SliceResponse; import band.gosrock.common.annotation.Mapper; @@ -38,7 +37,7 @@ public SliceResponse toRetrieveCommentListResponse( CommentCondition commentCondition, Long currentUserId) { Slice comments = commentAdaptor.searchComment(commentCondition); return SliceResponse.of( - comments.map(comment -> toRetrieveCommentDTO(comment, currentUserId))); + comments.map(comment -> toRetrieveCommentDTO(comment, currentUserId))); } @Transactional(readOnly = true) diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/DeleteCommentUseCase.java b/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/DeleteCommentUseCase.java index 30ff95c0..345b62ae 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/DeleteCommentUseCase.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/DeleteCommentUseCase.java @@ -1,8 +1,11 @@ package band.gosrock.api.comment.service; +import static band.gosrock.api.common.aop.hostRole.FindHostFrom.EVENT_ID; +import static band.gosrock.api.common.aop.hostRole.HostQualification.MANAGER; import band.gosrock.api.comment.mapper.CommentMapper; import band.gosrock.api.common.UserUtils; +import band.gosrock.api.common.aop.hostRole.HostRolesAllowed; import band.gosrock.common.annotation.UseCase; import band.gosrock.domain.domains.comment.domain.Comment; import band.gosrock.domain.domains.comment.service.CommentDomainService; @@ -23,10 +26,8 @@ public class DeleteCommentUseCase { private final CommentDomainService commentDomainService; @Transactional + @HostRolesAllowed(role = MANAGER, findHostFrom = EVENT_ID) public void execute(Long eventId, Long commentId) { - Long currentUserId = userUtils.getCurrentUserId(); - // 권한 검사 - eventService.checkEventHost(currentUserId, eventId); Comment comment = commentMapper.retrieveComment(commentId); commentDomainService.deleteComment(comment, eventId); } diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/RetrieveCommentUseCase.java b/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/RetrieveCommentUseCase.java index 48c0e87d..5fb6d8cd 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/RetrieveCommentUseCase.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/comment/service/RetrieveCommentUseCase.java @@ -3,7 +3,6 @@ import band.gosrock.api.comment.mapper.CommentMapper; import band.gosrock.api.comment.model.response.RetrieveCommentDTO; -import band.gosrock.api.comment.model.response.RetrieveCommentListResponse; import band.gosrock.api.common.UserUtils; import band.gosrock.api.common.slice.SliceResponse; import band.gosrock.common.annotation.UseCase; diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/service/EntranceIssuedTicketUseCase.java b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/service/EntranceIssuedTicketUseCase.java index b7bcd882..ed056260 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/service/EntranceIssuedTicketUseCase.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/service/EntranceIssuedTicketUseCase.java @@ -1,7 +1,10 @@ package band.gosrock.api.issuedTicket.service; +import static band.gosrock.api.common.aop.hostRole.FindHostFrom.EVENT_ID; +import static band.gosrock.api.common.aop.hostRole.HostQualification.MANAGER; import band.gosrock.api.common.UserUtils; +import band.gosrock.api.common.aop.hostRole.HostRolesAllowed; import band.gosrock.api.issuedTicket.mapper.IssuedTicketMapper; import band.gosrock.common.annotation.UseCase; import band.gosrock.domain.common.vo.IssuedTicketInfoVo; @@ -18,9 +21,8 @@ public class EntranceIssuedTicketUseCase { private final UserUtils userUtils; + @HostRolesAllowed(role = MANAGER, findHostFrom = EVENT_ID) public IssuedTicketInfoVo execute(Long eventId, Long issuedTicketId) { - Long currentUserId = userUtils.getCurrentUserId(); - return issuedTicketDomainService.processingEntranceIssuedTicket( - eventId, currentUserId, issuedTicketId); + return issuedTicketDomainService.processingEntranceIssuedTicket(eventId, issuedTicketId); } } diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/service/ReadIssuedTicketsUseCase.java b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/service/ReadIssuedTicketsUseCase.java index cd52a592..40b32035 100644 --- a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/service/ReadIssuedTicketsUseCase.java +++ b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/service/ReadIssuedTicketsUseCase.java @@ -1,7 +1,9 @@ package band.gosrock.api.issuedTicket.service; +import static band.gosrock.api.common.aop.hostRole.FindHostFrom.EVENT_ID; +import static band.gosrock.api.common.aop.hostRole.HostQualification.MANAGER; -import band.gosrock.api.config.security.SecurityUtils; +import band.gosrock.api.common.aop.hostRole.HostRolesAllowed; import band.gosrock.api.issuedTicket.dto.response.RetrieveIssuedTicketListResponse; import band.gosrock.api.issuedTicket.mapper.IssuedTicketMapper; import band.gosrock.common.annotation.UseCase; @@ -22,11 +24,9 @@ public class ReadIssuedTicketsUseCase { * 발급된 티켓 리스트 가져오기 API 일단 유즈케이스에 트랜잭션 걸어서 처리 IssuedTicket에 걸린 event와 user를 연관관계 매핑 없이 조회하려할 때 * 로직이 너무 복잡해짐 => 일단 연관관계 매핑 걸어두고 나중에 QueryDsl 설정 들어오면 바꿔야 할 듯 => QueryDsl 추가 완료 */ + @HostRolesAllowed(role = MANAGER, findHostFrom = EVENT_ID) public RetrieveIssuedTicketListResponse execute( Long page, Long eventId, String userName, String phoneNumber) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - // 조회 유저 권한 인증 - eventService.checkEventHost(currentUserId, eventId); return issuedTicketMapper.toIssuedTicketPageResponse( page, new IssuedTicketCondition(eventId, userName, phoneNumber)); } diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/adaptor/CommentAdaptor.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/adaptor/CommentAdaptor.java index 2b62b81f..f0e0ab09 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/adaptor/CommentAdaptor.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/adaptor/CommentAdaptor.java @@ -7,9 +7,7 @@ import band.gosrock.domain.domains.comment.exception.CommentNotFoundException; import band.gosrock.domain.domains.comment.repository.CommentRepository; import lombok.RequiredArgsConstructor; -import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Slice; -import org.springframework.data.domain.Sort; @Adaptor @RequiredArgsConstructor diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/dto/condition/CommentCondition.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/dto/condition/CommentCondition.java index c68803e5..ddaa7dcc 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/dto/condition/CommentCondition.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/dto/condition/CommentCondition.java @@ -1,7 +1,6 @@ package band.gosrock.domain.domains.comment.dto.condition; - import lombok.AllArgsConstructor; import lombok.Getter; import org.springframework.data.domain.Pageable; diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepository.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepository.java index 5f3050ab..0549217c 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepository.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepository.java @@ -3,7 +3,6 @@ import band.gosrock.domain.domains.comment.domain.Comment; import band.gosrock.domain.domains.comment.dto.condition.CommentCondition; -import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Slice; public interface CommentCustomRepository { diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepositoryImpl.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepositoryImpl.java index ef0a95da..14959669 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepositoryImpl.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/comment/repository/CommentCustomRepositoryImpl.java @@ -16,9 +16,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Slice; -import org.springframework.data.domain.SliceImpl; import org.springframework.data.support.PageableExecutionUtils; @RequiredArgsConstructor @@ -37,7 +35,7 @@ public Slice searchToPage(CommentCondition commentCondition) { eventIdEq(commentCondition.getEventId()), comment.commentStatus.eq(CommentStatus.ACTIVE)) .orderBy(comment.id.desc()) - .offset(commentCondition.getPageable().getOffset()) + .offset(commentCondition.getPageable().getOffset()) .limit(commentCondition.getPageable().getPageSize() + 1) .fetch(); @@ -48,21 +46,21 @@ private BooleanExpression eventIdEq(Long eventId) { return eventId == null ? null : comment.eventId.eq(eventId); } -// private BooleanExpression lastIdLessThan(Long lastId) { -// return lastId == null ? null : comment.id.lt(lastId); -// } -// -// private Slice checkLastPage(Pageable pageable, List comments) { -// -// boolean hasNext = false; -// -// if (comments.size() > pageable.getPageSize()) { -// hasNext = true; -// comments.remove(pageable.getPageSize()); -// } -// -// return new SliceImpl<>(comments, pageable, hasNext); -// } + // private BooleanExpression lastIdLessThan(Long lastId) { + // return lastId == null ? null : comment.id.lt(lastId); + // } + // + // private Slice checkLastPage(Pageable pageable, List comments) { + // + // boolean hasNext = false; + // + // if (comments.size() > pageable.getPageSize()) { + // hasNext = true; + // comments.remove(pageable.getPageSize()); + // } + // + // return new SliceImpl<>(comments, pageable, hasNext); + // } @Override public Long countComment(Long eventId) { diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/service/IssuedTicketDomainService.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/service/IssuedTicketDomainService.java index 672d1cf1..0a555f0b 100644 --- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/service/IssuedTicketDomainService.java +++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/service/IssuedTicketDomainService.java @@ -40,11 +40,9 @@ public void withdrawIssuedTicket(Long itemId, List issuedTickets) } @Transactional - public IssuedTicketInfoVo processingEntranceIssuedTicket( - Long eventId, Long currentUserId, Long issuedTicketId) { + public IssuedTicketInfoVo processingEntranceIssuedTicket(Long eventId, Long issuedTicketId) { IssuedTicket issuedTicket = issuedTicketAdaptor.queryIssuedTicket(issuedTicketId); issuedTicketValidator.validIssuedTicketEventIdEqualEvent(issuedTicket, eventId); - issuedTicketValidator.validCanModifyIssuedTicketUser(issuedTicket, currentUserId); issuedTicket.entrance(); return issuedTicket.toIssuedTicketInfoVo(); }