Skip to content

Commit

Permalink
refactor : order response date format (#385)
Browse files Browse the repository at this point in the history
* refactor : 주문 관련 날짜 응답 포맷

* refactor : 티켓 조회 페이지네이션 사용
  • Loading branch information
ImNM authored Feb 20, 2023
1 parent d2c26fe commit c3ae328
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package band.gosrock.api.issuedTicket.controller;


import band.gosrock.api.issuedTicket.dto.response.RetrieveIssuedTicketListResponse;
import band.gosrock.api.common.page.PageResponse;
import band.gosrock.api.issuedTicket.dto.response.RetrieveIssuedTicketDTO;
import band.gosrock.api.issuedTicket.service.EntranceIssuedTicketUseCase;
import band.gosrock.api.issuedTicket.service.ReadIssuedTicketsUseCase;
import band.gosrock.domain.common.vo.IssuedTicketInfoVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
Expand All @@ -29,12 +32,12 @@ public class AdminIssuedTicketController {

@Operation(summary = "[어드민 기능] 발급 티켓 리스트 가져오기 API 입니다.")
@GetMapping
public RetrieveIssuedTicketListResponse getIssuedTickets(
public PageResponse<RetrieveIssuedTicketDTO> getIssuedTickets(
@PathVariable Long eventId,
@RequestParam Long page,
@ParameterObject Pageable pageable,
@RequestParam(required = false) String userName,
@RequestParam(required = false) String phoneNumber) {
return readIssuedTicketsUseCase.execute(page, eventId, userName, phoneNumber);
return readIssuedTicketsUseCase.execute(pageable, eventId, userName, phoneNumber);
}

@Operation(summary = "[어드민 기능] 발급 티켓 입장 처리 API 입니다.")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
package band.gosrock.api.issuedTicket.mapper;


import band.gosrock.api.common.page.PageResponse;
import band.gosrock.api.issuedTicket.dto.response.RetrieveIssuedTicketDTO;
import band.gosrock.api.issuedTicket.dto.response.RetrieveIssuedTicketDetailResponse;
import band.gosrock.api.issuedTicket.dto.response.RetrieveIssuedTicketListResponse;
import band.gosrock.common.annotation.Mapper;
import band.gosrock.domain.domains.event.adaptor.EventAdaptor;
import band.gosrock.domain.domains.event.domain.Event;
import band.gosrock.domain.domains.issuedTicket.adaptor.IssuedTicketAdaptor;
import band.gosrock.domain.domains.issuedTicket.domain.IssuedTicket;
import band.gosrock.domain.domains.issuedTicket.dto.condition.IssuedTicketCondition;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.transaction.annotation.Transactional;

@Mapper
Expand All @@ -21,10 +24,10 @@ public class IssuedTicketMapper {
private final EventAdaptor eventAdaptor;

@Transactional(readOnly = true)
public RetrieveIssuedTicketListResponse toIssuedTicketPageResponse(
Long page, IssuedTicketCondition condition) {
return RetrieveIssuedTicketListResponse.of(
issuedTicketAdaptor.searchIssuedTicket(page, condition));
public PageResponse<RetrieveIssuedTicketDTO> toIssuedTicketPageResponse(
Pageable page, IssuedTicketCondition condition) {
Page<IssuedTicket> issuedTickets = issuedTicketAdaptor.searchIssuedTicket(page, condition);
return PageResponse.of(issuedTickets.map(RetrieveIssuedTicketDTO::of));
}

@Transactional(readOnly = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@
import static band.gosrock.api.common.aop.hostRole.HostQualification.MANAGER;

import band.gosrock.api.common.aop.hostRole.HostRolesAllowed;
import band.gosrock.api.issuedTicket.dto.response.RetrieveIssuedTicketListResponse;
import band.gosrock.api.common.page.PageResponse;
import band.gosrock.api.issuedTicket.dto.response.RetrieveIssuedTicketDTO;
import band.gosrock.api.issuedTicket.mapper.IssuedTicketMapper;
import band.gosrock.common.annotation.UseCase;
import band.gosrock.domain.domains.event.service.EventService;
import band.gosrock.domain.domains.issuedTicket.dto.condition.IssuedTicketCondition;
import band.gosrock.domain.domains.issuedTicket.service.IssuedTicketDomainService;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;

@UseCase
@RequiredArgsConstructor
Expand All @@ -25,9 +27,9 @@ public class ReadIssuedTicketsUseCase {
* 로직이 너무 복잡해짐 => 일단 연관관계 매핑 걸어두고 나중에 QueryDsl 설정 들어오면 바꿔야 할 듯 => QueryDsl 추가 완료
*/
@HostRolesAllowed(role = MANAGER, findHostFrom = EVENT_ID)
public RetrieveIssuedTicketListResponse execute(
Long page, Long eventId, String userName, String phoneNumber) {
public PageResponse<RetrieveIssuedTicketDTO> execute(
Pageable pageable, Long eventId, String userName, String phoneNumber) {
return issuedTicketMapper.toIssuedTicketPageResponse(
page, new IssuedTicketCondition(eventId, userName, phoneNumber));
pageable, new IssuedTicketCondition(eventId, userName, phoneNumber));
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package band.gosrock.api.order.model.dto.response;


import band.gosrock.common.annotation.DateFormat;
import band.gosrock.domain.common.vo.Money;
import band.gosrock.domain.common.vo.RefundInfoVo;
import band.gosrock.domain.common.vo.UserInfoVo;
Expand Down Expand Up @@ -35,12 +36,15 @@ public class OrderAdminTableElement {
private final String orderName;

@Schema(description = "주문 생성 시간")
@DateFormat
private final LocalDateTime createdAt;

@Schema(description = "철회 완료 시간")
@DateFormat
private final LocalDateTime withDrawAt;

@Schema(description = "승인 된 시간")
@DateFormat
private final LocalDateTime approveAt;

@Schema(description = "아이템 총 갯수")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package band.gosrock.api.order.model.dto.response;


import band.gosrock.common.annotation.DateFormat;
import band.gosrock.domain.common.vo.Money;
import band.gosrock.domain.common.vo.OptionAnswerVo;
import band.gosrock.domain.domains.order.domain.Order;
Expand All @@ -24,6 +25,7 @@ public class OrderLineTicketResponse {
private final String ticketNos;

@Schema(description = "구매 일시")
@DateFormat
private final LocalDateTime paymentAt;

@Schema(description = "유저이름")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package band.gosrock.domain.common.vo;


import band.gosrock.common.annotation.DateFormat;
import java.time.LocalDateTime;
import lombok.Builder;
import lombok.EqualsAndHashCode;
Expand All @@ -11,7 +12,7 @@
@EqualsAndHashCode
public class RefundInfoVo {

private final LocalDateTime endAt;
@DateFormat private final LocalDateTime endAt;
private final Boolean availAble;

@Builder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
import java.util.Objects;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Pageable;

@Adaptor
@RequiredArgsConstructor
Expand Down Expand Up @@ -50,10 +49,8 @@ public Boolean existsByEventId(Long eventId) {
return issuedTicketRepository.existsByEventId(eventId);
}

public Page<IssuedTicket> searchIssuedTicket(Long page, IssuedTicketCondition condition) {
PageRequest pageRequest =
PageRequest.of(Math.toIntExact(page), 10, Sort.by("id").descending());
return issuedTicketRepository.searchToPage(condition, pageRequest);
public Page<IssuedTicket> searchIssuedTicket(Pageable page, IssuedTicketCondition condition) {
return issuedTicketRepository.searchToPage(condition, page);
}

public void cancel(IssuedTicket issuedTicket) {
Expand Down

0 comments on commit c3ae328

Please sign in to comment.