From a4827426952622063c0d5ebe6edce05ab1122e09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=8E=E1=85=A1=E1=86=AB=E1=84=8C?=
 =?UTF-8?q?=E1=85=B5=E1=86=AB?= <water0641@naver.com>
Date: Fri, 10 Feb 2023 15:21:26 +0900
Subject: [PATCH 1/5] =?UTF-8?q?fix=20:=20=EC=8A=B9=EC=9D=B8=20=EB=8C=80?=
 =?UTF-8?q?=EA=B8=B0=EC=A4=91=20=ED=8B=B0=EC=BC=93=20=EB=8C=80=EC=9D=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../api/email/service/OrderMailInfoHelper.java |  2 +-
 .../model/dto/response/OrderBriefElement.java  |  2 +-
 .../issuedTicket/domain/IssuedTickets.java     |  6 +-----
 .../domain/IssuedTicketsStage.java             |  1 +
 .../domains/order/adaptor/OrderAdaptor.java    |  8 ++------
 .../repository/OrderCustomRepository.java      |  5 ++++-
 .../repository/OrderCustomRepositoryImpl.java  | 18 ++++++++++++++++--
 .../order/repository/OrderRepository.java      |  3 ---
 .../condition/FindEventOrdersCondition.java    |  2 +-
 9 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/email/service/OrderMailInfoHelper.java b/DuDoong-Api/src/main/java/band/gosrock/api/email/service/OrderMailInfoHelper.java
index c87d6421..955614a7 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/email/service/OrderMailInfoHelper.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/email/service/OrderMailInfoHelper.java
@@ -25,7 +25,7 @@ public class OrderMailInfoHelper {
     private final HostAdaptor hostAdaptor;
 
     public OrderMailDto execute(String orderUuid) {
-        Order order = orderAdaptor.find(orderUuid);
+        Order order = orderAdaptor.findByOrderUuid(orderUuid);
         User user = userAdaptor.queryUser(order.getUserId());
         Event event = eventAdaptor.findById(order.getEventId());
         Host host = hostAdaptor.findById(event.getHostId());
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/model/dto/response/OrderBriefElement.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/model/dto/response/OrderBriefElement.java
index 551676da..48e84e26 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/model/dto/response/OrderBriefElement.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/model/dto/response/OrderBriefElement.java
@@ -47,7 +47,7 @@ public static OrderBriefElement of(Order order, Event event, IssuedTickets issue
                 .orderNo(order.getOrderNo())
                 .orderStatus(order.getOrderStatus())
                 .eventProfile(event.toEventProfileVo())
-                .itemName(issuedTickets.getItemName())
+                .itemName(order.getOrderName())
                 .totalQuantity(issuedTickets.getTotalQuantity())
                 .build();
     }
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTickets.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTickets.java
index eb33be8b..dd4bc92d 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTickets.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTickets.java
@@ -21,11 +21,6 @@ public List<String> getNos() {
         return this.issuedTickets.stream().map(IssuedTicket::getIssuedTicketNo).toList();
     }
 
-    public String getItemName() {
-        IssuedTicket issuedTicket = issuedTickets.stream().findFirst().orElseThrow();
-        return issuedTicket.getItemInfo().getTicketName();
-    }
-
     public int getTotalQuantity() {
         return issuedTickets.size();
     }
@@ -40,6 +35,7 @@ public String getTicketNoName() {
     }
 
     public IssuedTicketsStage getIssuedTicketsStage() {
+        if(getTotalQuantity()==0)return IssuedTicketsStage.APPROVE_WAITING;
         List<IssuedTicketStatus> issuedTicketStatuses = getIssuedTicketStatuses();
         if (isCanceled(issuedTicketStatuses)) {
             return IssuedTicketsStage.CANCELED;
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTicketsStage.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTicketsStage.java
index 662d31f8..2fad0cee 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTicketsStage.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTicketsStage.java
@@ -8,6 +8,7 @@
 @Getter
 @AllArgsConstructor
 public enum IssuedTicketsStage {
+    APPROVE_WAITING("APPROVE_WAITING", "승인대기"),
     // 입장완료
     AFTER_ENTRANCE("AFTER_ENTRANCE", "입장완료"),
     // 관람예정
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/adaptor/OrderAdaptor.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/adaptor/OrderAdaptor.java
index 9720782e..f2a5792f 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/adaptor/OrderAdaptor.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/adaptor/OrderAdaptor.java
@@ -30,15 +30,11 @@ public Order findById(Long orderId) {
     }
 
     public Order findByOrderUuid(String uuid) {
-        return orderRepository.findByUuid(uuid).orElseThrow(() -> OrderNotFoundException.EXCEPTION);
-    }
-
-    public Order find(String uuid) {
-        return orderRepository.find(uuid).orElseThrow(() -> OrderNotFoundException.EXCEPTION);
+        return orderRepository.findByOrderUuid(uuid).orElseThrow(() -> OrderNotFoundException.EXCEPTION);
     }
 
     public Optional<Order> findRecentOrderByUserId(Long userId) {
-        return orderRepository.findFirstByUserIdOrderByIdDesc(userId);
+        return orderRepository.findRecentOrder(userId);
     }
 
     public Slice<Order> findMyOrders(FindMyPageOrderCondition condition, Pageable pageable) {
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepository.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepository.java
index 33f2420e..fe15b3d6 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepository.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepository.java
@@ -11,9 +11,12 @@
 
 public interface OrderCustomRepository {
 
-    Optional<Order> find(String orderUuid);
+    Optional<Order> findByOrderUuid(String orderUuid);
 
     Slice<Order> findMyOrders(FindMyPageOrderCondition condition, Pageable pageable);
 
     Page<Order> findEventOrders(FindEventOrdersCondition condition, Pageable pageable);
+
+    Optional<Order> findRecentOrder(Long userId);
+
 }
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepositoryImpl.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepositoryImpl.java
index 4b8386d2..66bbfc2e 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepositoryImpl.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepositoryImpl.java
@@ -7,6 +7,7 @@
 
 import band.gosrock.domain.common.util.SliceUtil;
 import band.gosrock.domain.domains.order.domain.Order;
+import band.gosrock.domain.domains.order.domain.OrderStatus;
 import band.gosrock.domain.domains.order.repository.condition.FindEventOrdersCondition;
 import band.gosrock.domain.domains.order.repository.condition.FindMyPageOrderCondition;
 import com.querydsl.core.types.dsl.BooleanExpression;
@@ -29,7 +30,7 @@ public class OrderCustomRepositoryImpl implements OrderCustomRepository {
     private final JPAQueryFactory queryFactory;
 
     @Override
-    public Optional<Order> find(String orderUuid) {
+    public Optional<Order> findByOrderUuid(String orderUuid) {
         Order find =
                 queryFactory
                         .selectFrom(order)
@@ -50,7 +51,8 @@ public Slice<Order> findMyOrders(FindMyPageOrderCondition condition, Pageable pa
                         .on(order.eventId.eq(event.id))
                         .where(
                                 eqUserId(condition.getUserId()),
-                                openingState(condition.getShowing()))
+                                openingState(condition.getShowing()),
+                            order.orderStatus.notIn(OrderStatus.FAILED,OrderStatus.PENDING_PAYMENT,OrderStatus.READY,OrderStatus.OUTDATED))
                         .orderBy(order.id.desc())
                         .offset(pageable.getOffset())
                         .limit(pageable.getPageSize() + 1)
@@ -89,6 +91,18 @@ public Page<Order> findEventOrders(FindEventOrdersCondition condition, Pageable
         return PageableExecutionUtils.getPage(orders, pageable, countQuery::fetchOne);
     }
 
+    @Override
+    public Optional<Order> findRecentOrder(Long userId) {
+        Order findOrder = queryFactory
+            .selectFrom(order)
+            .where(
+                eqUserId(userId),
+                order.orderStatus.in(OrderStatus.APPROVED, OrderStatus.CONFIRM))
+            .orderBy(order.id.desc())
+            .fetchFirst();
+        return Optional.ofNullable(findOrder);
+    }
+
     private BooleanExpression eqUserId(Long userId) {
         return userId == null ? null : order.userId.eq(userId);
     }
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderRepository.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderRepository.java
index 7e984c2e..742dc313 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderRepository.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderRepository.java
@@ -7,7 +7,4 @@
 
 public interface OrderRepository extends CrudRepository<Order, Long>, OrderCustomRepository {
 
-    Optional<Order> findByUuid(String uuid);
-
-    Optional<Order> findFirstByUserIdOrderByIdDesc(Long userId);
 }
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/condition/FindEventOrdersCondition.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/condition/FindEventOrdersCondition.java
index 456a56ea..31563a77 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/condition/FindEventOrdersCondition.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/condition/FindEventOrdersCondition.java
@@ -22,7 +22,7 @@ public FindEventOrdersCondition(
             AdminTableSearchType searchType,
             AdminTableOrderFilterType filterType) {
         this.eventId = eventId;
-        this.searchString = searchString;
+        this.searchString = searchString != null ? searchString : "";
         this.searchType = searchType;
         this.filterType = filterType;
     }

From 314d60dbb7cf2e003df3c44dd8e5702c255097d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=8E=E1=85=A1=E1=86=AB=E1=84=8C?=
 =?UTF-8?q?=E1=85=B5=E1=86=AB?= <water0641@naver.com>
Date: Fri, 10 Feb 2023 15:25:33 +0900
Subject: [PATCH 2/5] =?UTF-8?q?feat=20:=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20?=
 =?UTF-8?q?=EC=A3=BC=EB=AC=B8=EA=B4=80=EB=A6=AC=20=EB=A6=AC=EC=8A=A4?=
 =?UTF-8?q?=ED=8A=B8=EC=97=90=EC=84=9C=20=EC=A3=BC=EB=AC=B8=EC=A0=95?=
 =?UTF-8?q?=EB=B3=B4=20=EC=83=81=EC=84=B8=20=EC=A1=B0=ED=9A=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../order/controller/OrderAdminController.java  |  6 ++++++
 .../api/order/service/ReadOrderUseCase.java     | 17 ++++++++++++-----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
index 85419179..01a454f0 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
@@ -48,4 +48,10 @@ public OrderResponse confirmOrder(
             @PathVariable Long eventId, @PathVariable("order_uuid") String orderUuid) {
         return approveOrderUseCase.execute(eventId, orderUuid);
     }
+
+    @Operation(summary = "주문관리 리스트 페이지에서 주문 상세정보 조회할때")
+    @GetMapping("/{order_uuid}")
+    public OrderResponse getEventOrderDetail( @PathVariable Long eventId,@PathVariable("order_uuid") String orderUuid) {
+        return readOrderUseCase.getEventOrderDetail(eventId,orderUuid);
+    }
 }
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ReadOrderUseCase.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ReadOrderUseCase.java
index d0616f07..7400fdf9 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ReadOrderUseCase.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ReadOrderUseCase.java
@@ -1,7 +1,13 @@
 package band.gosrock.api.order.service;
 
 
+import static band.gosrock.api.common.aop.hostRole.FindHostFrom.EVENT_ID;
+import static band.gosrock.api.common.aop.hostRole.HostQualification.GUEST;
+
 import band.gosrock.api.common.UserUtils;
+import band.gosrock.api.common.aop.hostRole.FindHostFrom;
+import band.gosrock.api.common.aop.hostRole.HostQualification;
+import band.gosrock.api.common.aop.hostRole.HostRolesAllowed;
 import band.gosrock.api.common.page.PageResponse;
 import band.gosrock.api.common.slice.SliceResponse;
 import band.gosrock.api.order.model.dto.request.AdminOrderTableQueryRequest;
@@ -63,19 +69,20 @@ public SliceResponse<OrderBriefElement> getMyOrders(Boolean showing, Pageable pa
         return SliceResponse.of(orderBriefElements);
     }
 
+    @HostRolesAllowed(role = GUEST, findHostFrom = EVENT_ID)
     public PageResponse<OrderAdminTableElement> getEventOrders(
             Long eventId,
             AdminOrderTableQueryRequest adminOrderTableQueryRequest,
             Pageable pageable) {
 
-        Event event = eventAdaptor.findById(eventId);
-        Host host = hostAdaptor.findById(event.getHostId());
-        Long userId = userUtils.getCurrentUserId();
-        host.validateHostUser(userId);
-
         Page<Order> orders =
                 orderAdaptor.findEventOrders(
                         adminOrderTableQueryRequest.toCondition(eventId), pageable);
         return PageResponse.of(orderMapper.toOrderAdminTableElement(orders));
     }
+    @HostRolesAllowed(role = GUEST, findHostFrom = EVENT_ID)
+    public OrderResponse getEventOrderDetail(Long eventId, String orderUuid) {
+        Order order = orderAdaptor.findByOrderUuid(orderUuid);
+        return orderMapper.toOrderResponse(order);
+    }
 }

From c53b571571f3711cc5289c232538920232000fec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=8E=E1=85=A1=E1=86=AB=E1=84=8C?=
 =?UTF-8?q?=E1=85=B5=E1=86=AB?= <water0641@naver.com>
Date: Fri, 10 Feb 2023 15:46:31 +0900
Subject: [PATCH 3/5] =?UTF-8?q?style=20:=20=EC=8A=A4=EC=9B=A8=EA=B1=B0=20?=
 =?UTF-8?q?=EB=AC=B8=EC=84=9C=20=EC=A0=95=EB=A0=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../api/auth/controller/AuthController.java   | 18 +++++------
 .../api/cart/controller/CartController.java   | 31 +------------------
 .../comment/controller/CommentController.java |  2 +-
 .../coupon/controller/CouponController.java   |  2 +-
 .../api/event/controller/EventController.java |  2 +-
 .../example/controller/ExampleController.java |  2 +-
 .../api/host/controller/HostController.java   |  2 +-
 .../api/image/controller/ImageController.java |  2 +-
 .../AdminIssuedTicketController.java          |  2 +-
 .../controller/IssuedTicketController.java    |  2 +-
 .../controller/OrderAdminController.java      |  7 +++--
 .../api/order/controller/OrderController.java |  2 +-
 .../api/order/service/ReadOrderUseCase.java   |  6 +---
 .../controller/AdminStatisticController.java  |  2 +-
 .../controller/TicketItemController.java      |  2 +-
 .../controller/TicketOptionController.java    |  2 +-
 .../api/user/controller/UserController.java   |  2 +-
 .../src/main/resources/application.yml        |  2 ++
 .../issuedTicket/domain/IssuedTickets.java    |  2 +-
 .../domains/order/adaptor/OrderAdaptor.java   |  4 ++-
 .../repository/OrderCustomRepository.java     |  1 -
 .../repository/OrderCustomRepositoryImpl.java | 24 +++++++++-----
 .../order/repository/OrderRepository.java     |  5 +--
 23 files changed, 51 insertions(+), 75 deletions(-)

diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/auth/controller/AuthController.java b/DuDoong-Api/src/main/java/band/gosrock/api/auth/controller/AuthController.java
index 62e8ff2f..dd13dd22 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/auth/controller/AuthController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/auth/controller/AuthController.java
@@ -38,7 +38,7 @@
 @RequestMapping("/v1/auth")
 @RequiredArgsConstructor
 @Slf4j
-@Tag(name = "인증 관련 컨트롤러")
+@Tag(name = "1-1. 인증 관련 컨트롤러")
 public class AuthController {
 
     private final RegisterUseCase registerUseCase;
@@ -54,14 +54,14 @@ public class AuthController {
     private final CookieGenerateHelper cookieGenerateHelper;
 
     @Operation(summary = "kakao oauth 링크발급 (백엔드용 )", description = "kakao 링크를 받아볼수 있습니다.")
-    @Tag(name = "카카오 oauth")
+    @Tag(name = "1-2. 카카오 oauth")
     @GetMapping("/oauth/kakao/link/test")
     public OauthLoginLinkResponse getKakaoOauthLinkTest() {
         return registerUseCase.getKaKaoOauthLinkTest();
     }
 
     @Operation(summary = "kakao oauth 링크발급 (클라이언트용)", description = "kakao 링크를 받아볼수 있습니다.")
-    @Tag(name = "카카오 oauth")
+    @Tag(name = "1-2. 카카오 oauth")
     @GetMapping("/oauth/kakao/link")
     public OauthLoginLinkResponse getKakaoOauthLink(
             @RequestHeader(value = "referer", required = false) String referer,
@@ -84,7 +84,7 @@ public OauthLoginLinkResponse getKakaoOauthLink(
     }
 
     @Operation(summary = "카카오 code 요청받는 곳입니다. referer,host는 건들이지 말아주세요!안보내셔도됩니다.")
-    @Tag(name = "카카오 oauth")
+    @Tag(name = "1-2. 카카오 oauth")
     @GetMapping("/oauth/kakao")
     @ApiErrorCodeExample(KakaoKauthErrorCode.class)
     public OauthTokenResponse getCredentialFromKaKao(
@@ -108,7 +108,7 @@ public OauthTokenResponse getCredentialFromKaKao(
     }
 
     @Operation(summary = "개발용 회원가입입니다 클라이언트가 몰라도 됩니다.", deprecated = true)
-    @Tag(name = "카카오 oauth")
+    @Tag(name = "1-2. 카카오 oauth")
     @DevelopOnlyApi
     @GetMapping("/oauth/kakao/develop")
     public ResponseEntity<TokenAndUserResponse> developUserSign(@RequestParam("code") String code) {
@@ -119,7 +119,7 @@ public ResponseEntity<TokenAndUserResponse> developUserSign(@RequestParam("code"
     }
 
     @Operation(summary = "회원가입이 가능한지 id token 으로 확인합니다.")
-    @Tag(name = "카카오 oauth")
+    @Tag(name = "1-2. 카카오 oauth")
     @GetMapping("/oauth/kakao/register/valid")
     public AvailableRegisterResponse kakaoAuthCheckRegisterValid(
             @RequestParam("id_token") String token) {
@@ -127,7 +127,7 @@ public AvailableRegisterResponse kakaoAuthCheckRegisterValid(
     }
 
     @Operation(summary = "id_token 으로 회원가입을 합니다.")
-    @Tag(name = "카카오 oauth")
+    @Tag(name = "1-2. 카카오 oauth")
     @PostMapping("/oauth/kakao/register")
     public ResponseEntity<TokenAndUserResponse> kakaoAuthCheckRegisterValid(
             @RequestParam("id_token") String token,
@@ -141,7 +141,7 @@ public ResponseEntity<TokenAndUserResponse> kakaoAuthCheckRegisterValid(
 
     @NotNull
     @Operation(summary = "id_token 으로 로그인을 합니다.")
-    @Tag(name = "카카오 oauth")
+    @Tag(name = "1-2. 카카오 oauth")
     @PostMapping("/oauth/kakao/login")
     public ResponseEntity<TokenAndUserResponse> kakaoOauthUserLogin(
             @RequestParam("id_token") String token) {
@@ -152,7 +152,7 @@ public ResponseEntity<TokenAndUserResponse> kakaoOauthUserLogin(
     }
 
     @Operation(summary = "accessToken 으로 oauth user 정보를 가져옵니다.")
-    @Tag(name = "카카오 oauth")
+    @Tag(name = "1-2. 카카오 oauth")
     @PostMapping("/oauth/kakao/info")
     public OauthUserInfoResponse kakaoOauthUserInfo(
             @RequestParam("access_token") String accessToken) {
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/cart/controller/CartController.java b/DuDoong-Api/src/main/java/band/gosrock/api/cart/controller/CartController.java
index a36d31a5..0ed4e00c 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/cart/controller/CartController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/cart/controller/CartController.java
@@ -19,7 +19,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "장바구니 관련 컨트롤러")
+@Tag(name = "5. 장바구니 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1/carts")
 @RequiredArgsConstructor
@@ -28,11 +28,6 @@ public class CartController {
     private final CreateCartUseCase createCartUseCase;
     private final ReadCartUseCase readCartUseCase;
 
-    //    @Operation(summary = "상품 아이디에 답변을 해야하는 옵션이 있는지 확인합니다.(추후 아이템 도메인으로 이전?)")
-    //    @GetMapping("/check/answer")
-    //    public void createCartLines() {
-    //        createOrderLineUseCase.execute(ticketItemId);
-    //    }
     @Operation(summary = "상품을 장바구니에 담습니다. 상품에 답변해야하는 응답이 있다면, 응답도 보내주시면 됩니다.")
     @ApiErrorExceptionsExample(CreateCartExceptionDocs.class)
     @PostMapping
@@ -40,30 +35,6 @@ public CartResponse createCartLines(@RequestBody @Valid AddCartRequest addCartRe
         return createCartUseCase.execute(addCartRequest);
     }
 
-    //    @Operation(summary = "내 장바구니에 담긴 상품들의 목록을 불러옵니다.")
-    //    @GetMapping
-    //    public void createCartLines() {
-    //        createOrderLineUseCase.execute(ticketItemId);
-    //    }
-
-    //    @Operation(summary = "장바구니에 담은 상품의 정보를 가져옵니다. 옵션이있으면 옵션마다 다른 라인을 가집니다.")
-    //    @GetMapping("/lines/{line_id}")
-    //    public void getCartLineInfo(@PathVariable("line_id") Long ticketItemId) {
-    //        createOrderLineUseCase.execute(ticketItemId);
-    //    }
-
-    //    @Operation(summary = "장바구니에 담은 상품의 옵션을")
-    //    @GetMapping("/{cart_id}/lines/{line_id}/option")
-    //    public void getItemOptions(@PathVariable("cart_id") Long cartId,@PathVariable("line_id")
-    // Long ticketItemId) {
-    //        createOrderLineUseCase.execute(ticketItemId);
-    //    }
-
-    //    @Operation(summary = "티켓상품의 갯수와 사용자가 입력한 옵션을 가진 orderLine 을 만듭니다.")
-    //    @PostMapping("/option")
-    //    public void createOrderLine(@PathVariable("line_id") Long ticketItemId) {
-    //        createOrderLineUseCase.execute(ticketItemId);
-    //    }
     @Operation(summary = "사용자가 최근에 만들었던 장바구니를 불러옵니다. 없으면 data null (구현 안해도 됨)")
     @GetMapping("/recent")
     public CartResponse getRecentMyCart() {
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 18ad93b6..b45bab23 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
@@ -33,7 +33,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "응원톡 컨트롤러")
+@Tag(name = "9. 응원톡 컨트롤러")
 @RestController
 @RequestMapping("/v1/events/{eventId}/comments")
 @Validated
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/coupon/controller/CouponController.java b/DuDoong-Api/src/main/java/band/gosrock/api/coupon/controller/CouponController.java
index f8d857fc..31e7dc07 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/coupon/controller/CouponController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/coupon/controller/CouponController.java
@@ -14,7 +14,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "쿠폰 관련 컨트롤러")
+@Tag(name = "a0. 쿠폰 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1/coupons")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/event/controller/EventController.java b/DuDoong-Api/src/main/java/band/gosrock/api/event/controller/EventController.java
index 679f7f18..b8eac37d 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/event/controller/EventController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/event/controller/EventController.java
@@ -23,7 +23,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "이벤트(공연) 관련 컨트롤러")
+@Tag(name = "3. 이벤트(공연) 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1/events")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/example/controller/ExampleController.java b/DuDoong-Api/src/main/java/band/gosrock/api/example/controller/ExampleController.java
index 785e158f..94b4f8e8 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/example/controller/ExampleController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/example/controller/ExampleController.java
@@ -35,7 +35,7 @@
 @RequestMapping("/v1/examples")
 @RequiredArgsConstructor
 @SecurityRequirement(name = "access-token")
-@Tag(name = "예시 컨트롤러, 실사용 용도가 아닙니다. 에러코드들의 목록을 가지고 있는 api 도 있습니다.")
+@Tag(name = "xx. 예시 컨트롤러 에러코드들의 목록을 가지고 있는 api 도 있습니다.")
 public class ExampleController {
 
     private final ExampleApiService exampleApiService;
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/host/controller/HostController.java b/DuDoong-Api/src/main/java/band/gosrock/api/host/controller/HostController.java
index 3ded8530..306d9653 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/host/controller/HostController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/host/controller/HostController.java
@@ -23,7 +23,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "호스트 관련 컨트롤러")
+@Tag(name = "4. 호스트 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1/hosts")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/image/controller/ImageController.java b/DuDoong-Api/src/main/java/band/gosrock/api/image/controller/ImageController.java
index 9f425fd1..fd2ef5e4 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/image/controller/ImageController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/image/controller/ImageController.java
@@ -15,7 +15,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "이미지 관련 컨트롤러")
+@Tag(name = "a1. 이미지 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/AdminIssuedTicketController.java b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/AdminIssuedTicketController.java
index 508c2c2f..dc56c44f 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/AdminIssuedTicketController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/AdminIssuedTicketController.java
@@ -17,7 +17,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "발급 티켓 관련 어드민 컨트롤러")
+@Tag(name = "8-1. 발급 티켓 관련 어드민 컨트롤러")
 @RestController
 @RequestMapping("/v1/events/{eventId}/issuedTickets")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/IssuedTicketController.java b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/IssuedTicketController.java
index a45dd328..13a838a2 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/IssuedTicketController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/IssuedTicketController.java
@@ -13,7 +13,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "발급 티켓 관련 컨트롤러")
+@Tag(name = "8-2. 발급 티켓 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1/issuedTickets")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
index 01a454f0..67d887ca 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
@@ -23,7 +23,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "주문 관련 컨트롤러")
+@Tag(name = "6-2. 주문 관련 호스트 관리자 ")
 @RestController
 @RequestMapping("/v1/events/{eventId}/orders")
 @RequiredArgsConstructor
@@ -51,7 +51,8 @@ public OrderResponse confirmOrder(
 
     @Operation(summary = "주문관리 리스트 페이지에서 주문 상세정보 조회할때")
     @GetMapping("/{order_uuid}")
-    public OrderResponse getEventOrderDetail( @PathVariable Long eventId,@PathVariable("order_uuid") String orderUuid) {
-        return readOrderUseCase.getEventOrderDetail(eventId,orderUuid);
+    public OrderResponse getEventOrderDetail(
+            @PathVariable Long eventId, @PathVariable("order_uuid") String orderUuid) {
+        return readOrderUseCase.getEventOrderDetail(eventId, orderUuid);
     }
 }
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderController.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderController.java
index 42066658..c1a33e73 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderController.java
@@ -39,7 +39,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "주문 관련 컨트롤러")
+@Tag(name = "6-1. 주문 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1/orders")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ReadOrderUseCase.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ReadOrderUseCase.java
index 7400fdf9..d2cf1301 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ReadOrderUseCase.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ReadOrderUseCase.java
@@ -1,12 +1,9 @@
 package band.gosrock.api.order.service;
 
-
 import static band.gosrock.api.common.aop.hostRole.FindHostFrom.EVENT_ID;
 import static band.gosrock.api.common.aop.hostRole.HostQualification.GUEST;
 
 import band.gosrock.api.common.UserUtils;
-import band.gosrock.api.common.aop.hostRole.FindHostFrom;
-import band.gosrock.api.common.aop.hostRole.HostQualification;
 import band.gosrock.api.common.aop.hostRole.HostRolesAllowed;
 import band.gosrock.api.common.page.PageResponse;
 import band.gosrock.api.common.slice.SliceResponse;
@@ -17,9 +14,7 @@
 import band.gosrock.api.order.model.mapper.OrderMapper;
 import band.gosrock.common.annotation.UseCase;
 import band.gosrock.domain.domains.event.adaptor.EventAdaptor;
-import band.gosrock.domain.domains.event.domain.Event;
 import band.gosrock.domain.domains.host.adaptor.HostAdaptor;
-import band.gosrock.domain.domains.host.domain.Host;
 import band.gosrock.domain.domains.order.adaptor.OrderAdaptor;
 import band.gosrock.domain.domains.order.domain.Order;
 import band.gosrock.domain.domains.order.domain.validator.OrderValidator;
@@ -80,6 +75,7 @@ public PageResponse<OrderAdminTableElement> getEventOrders(
                         adminOrderTableQueryRequest.toCondition(eventId), pageable);
         return PageResponse.of(orderMapper.toOrderAdminTableElement(orders));
     }
+
     @HostRolesAllowed(role = GUEST, findHostFrom = EVENT_ID)
     public OrderResponse getEventOrderDetail(Long eventId, String orderUuid) {
         Order order = orderAdaptor.findByOrderUuid(orderUuid);
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/statistic/controller/AdminStatisticController.java b/DuDoong-Api/src/main/java/band/gosrock/api/statistic/controller/AdminStatisticController.java
index 37be80ca..5440f001 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/statistic/controller/AdminStatisticController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/statistic/controller/AdminStatisticController.java
@@ -13,7 +13,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "어드민 통계관련")
+@Tag(name = "a2. 어드민 통계관련")
 @RestController
 @RequestMapping("/v1/events/{eventId}/statistics")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketItemController.java b/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketItemController.java
index 400c26ab..7fb839f0 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketItemController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketItemController.java
@@ -17,7 +17,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "티켓 상품 관련 컨트롤러")
+@Tag(name = "7-1. 티켓 상품 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1/events/{eventId}/ticketItems")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketOptionController.java b/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketOptionController.java
index 0b240eec..1d7c08fc 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketOptionController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketOptionController.java
@@ -15,7 +15,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "티켓상품 옵션 관련 컨트롤러")
+@Tag(name = "7-2. 티켓상품 옵션 관련 컨트롤러")
 @RestController
 @RequestMapping("/v1/events/{eventId}/ticketOptions")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/user/controller/UserController.java b/DuDoong-Api/src/main/java/band/gosrock/api/user/controller/UserController.java
index 42738cfb..32162234 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/user/controller/UserController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/user/controller/UserController.java
@@ -17,7 +17,7 @@
 @SecurityRequirement(name = "access-token")
 @RequiredArgsConstructor
 @Slf4j
-@Tag(name = "유저 관련 컨트롤러")
+@Tag(name = "2. 유저 관련 컨트롤러")
 public class UserController {
 
     private final ReadUserUseCase readUserUseCase;
diff --git a/DuDoong-Api/src/main/resources/application.yml b/DuDoong-Api/src/main/resources/application.yml
index 8f9b0e45..f545cd21 100644
--- a/DuDoong-Api/src/main/resources/application.yml
+++ b/DuDoong-Api/src/main/resources/application.yml
@@ -12,6 +12,8 @@ spring:
 springdoc:
   default-produces-media-type: application/json
   default-consumes-media-type: application/json
+  swagger-ui:
+    tags-sorter: alpha
 
 server:
   servlet:
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTickets.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTickets.java
index dd4bc92d..f34add66 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTickets.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/issuedTicket/domain/IssuedTickets.java
@@ -35,7 +35,7 @@ public String getTicketNoName() {
     }
 
     public IssuedTicketsStage getIssuedTicketsStage() {
-        if(getTotalQuantity()==0)return IssuedTicketsStage.APPROVE_WAITING;
+        if (getTotalQuantity() == 0) return IssuedTicketsStage.APPROVE_WAITING;
         List<IssuedTicketStatus> issuedTicketStatuses = getIssuedTicketStatuses();
         if (isCanceled(issuedTicketStatuses)) {
             return IssuedTicketsStage.CANCELED;
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/adaptor/OrderAdaptor.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/adaptor/OrderAdaptor.java
index f2a5792f..0448934a 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/adaptor/OrderAdaptor.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/adaptor/OrderAdaptor.java
@@ -30,7 +30,9 @@ public Order findById(Long orderId) {
     }
 
     public Order findByOrderUuid(String uuid) {
-        return orderRepository.findByOrderUuid(uuid).orElseThrow(() -> OrderNotFoundException.EXCEPTION);
+        return orderRepository
+                .findByOrderUuid(uuid)
+                .orElseThrow(() -> OrderNotFoundException.EXCEPTION);
     }
 
     public Optional<Order> findRecentOrderByUserId(Long userId) {
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepository.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepository.java
index fe15b3d6..6eae0578 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepository.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepository.java
@@ -18,5 +18,4 @@ public interface OrderCustomRepository {
     Page<Order> findEventOrders(FindEventOrdersCondition condition, Pageable pageable);
 
     Optional<Order> findRecentOrder(Long userId);
-
 }
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepositoryImpl.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepositoryImpl.java
index 66bbfc2e..7f31bc64 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepositoryImpl.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderCustomRepositoryImpl.java
@@ -52,7 +52,11 @@ public Slice<Order> findMyOrders(FindMyPageOrderCondition condition, Pageable pa
                         .where(
                                 eqUserId(condition.getUserId()),
                                 openingState(condition.getShowing()),
-                            order.orderStatus.notIn(OrderStatus.FAILED,OrderStatus.PENDING_PAYMENT,OrderStatus.READY,OrderStatus.OUTDATED))
+                                order.orderStatus.notIn(
+                                        OrderStatus.FAILED,
+                                        OrderStatus.PENDING_PAYMENT,
+                                        OrderStatus.READY,
+                                        OrderStatus.OUTDATED))
                         .orderBy(order.id.desc())
                         .offset(pageable.getOffset())
                         .limit(pageable.getPageSize() + 1)
@@ -93,13 +97,17 @@ public Page<Order> findEventOrders(FindEventOrdersCondition condition, Pageable
 
     @Override
     public Optional<Order> findRecentOrder(Long userId) {
-        Order findOrder = queryFactory
-            .selectFrom(order)
-            .where(
-                eqUserId(userId),
-                order.orderStatus.in(OrderStatus.APPROVED, OrderStatus.CONFIRM))
-            .orderBy(order.id.desc())
-            .fetchFirst();
+        Order findOrder =
+                queryFactory
+                        .selectFrom(order)
+                        .where(
+                                eqUserId(userId),
+                                order.orderStatus.in(
+                                        OrderStatus.PENDING_APPROVE,
+                                        OrderStatus.APPROVED,
+                                        OrderStatus.CONFIRM))
+                        .orderBy(order.id.desc())
+                        .fetchFirst();
         return Optional.ofNullable(findOrder);
     }
 
diff --git a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderRepository.java b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderRepository.java
index 742dc313..52c9b8ec 100644
--- a/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderRepository.java
+++ b/DuDoong-Domain/src/main/java/band/gosrock/domain/domains/order/repository/OrderRepository.java
@@ -2,9 +2,6 @@
 
 
 import band.gosrock.domain.domains.order.domain.Order;
-import java.util.Optional;
 import org.springframework.data.repository.CrudRepository;
 
-public interface OrderRepository extends CrudRepository<Order, Long>, OrderCustomRepository {
-
-}
+public interface OrderRepository extends CrudRepository<Order, Long>, OrderCustomRepository {}

From 984eb51880490ce7770326826fbdb5d20607879a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=8E=E1=85=A1=E1=86=AB=E1=84=8C?=
 =?UTF-8?q?=E1=85=B5=E1=86=AB?= <water0641@naver.com>
Date: Fri, 10 Feb 2023 15:58:37 +0900
Subject: [PATCH 4/5] =?UTF-8?q?style=20:=20=EC=8A=A4=EC=9B=A8=EA=B1=B0=20?=
 =?UTF-8?q?=ED=83=9C=EA=B7=B8=20=EA=B0=84=EA=B2=B0=ED=95=98=EA=B2=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../api/auth/controller/AuthController.java    | 18 +++++++++---------
 .../api/cart/controller/CartController.java    |  2 +-
 .../comment/controller/CommentController.java  |  2 +-
 .../coupon/controller/CouponController.java    |  2 +-
 .../api/event/controller/EventController.java  |  2 +-
 .../example/controller/ExampleController.java  |  2 +-
 .../api/host/controller/HostController.java    |  2 +-
 .../api/image/controller/ImageController.java  |  2 +-
 .../AdminIssuedTicketController.java           |  2 +-
 .../controller/IssuedTicketController.java     |  2 +-
 .../order/controller/OrderAdminController.java |  2 +-
 .../api/order/controller/OrderController.java  |  2 +-
 .../controller/AdminStatisticController.java   |  2 +-
 .../controller/TicketItemController.java       |  2 +-
 .../controller/TicketOptionController.java     |  2 +-
 .../api/user/controller/UserController.java    |  2 +-
 16 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/auth/controller/AuthController.java b/DuDoong-Api/src/main/java/band/gosrock/api/auth/controller/AuthController.java
index dd13dd22..0c493d4f 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/auth/controller/AuthController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/auth/controller/AuthController.java
@@ -38,7 +38,7 @@
 @RequestMapping("/v1/auth")
 @RequiredArgsConstructor
 @Slf4j
-@Tag(name = "1-1. 인증 관련 컨트롤러")
+@Tag(name = "1-1. [인증]")
 public class AuthController {
 
     private final RegisterUseCase registerUseCase;
@@ -54,14 +54,14 @@ public class AuthController {
     private final CookieGenerateHelper cookieGenerateHelper;
 
     @Operation(summary = "kakao oauth 링크발급 (백엔드용 )", description = "kakao 링크를 받아볼수 있습니다.")
-    @Tag(name = "1-2. 카카오 oauth")
+    @Tag(name = "1-2. [카카오]")
     @GetMapping("/oauth/kakao/link/test")
     public OauthLoginLinkResponse getKakaoOauthLinkTest() {
         return registerUseCase.getKaKaoOauthLinkTest();
     }
 
     @Operation(summary = "kakao oauth 링크발급 (클라이언트용)", description = "kakao 링크를 받아볼수 있습니다.")
-    @Tag(name = "1-2. 카카오 oauth")
+    @Tag(name = "1-2. [카카오]")
     @GetMapping("/oauth/kakao/link")
     public OauthLoginLinkResponse getKakaoOauthLink(
             @RequestHeader(value = "referer", required = false) String referer,
@@ -84,7 +84,7 @@ public OauthLoginLinkResponse getKakaoOauthLink(
     }
 
     @Operation(summary = "카카오 code 요청받는 곳입니다. referer,host는 건들이지 말아주세요!안보내셔도됩니다.")
-    @Tag(name = "1-2. 카카오 oauth")
+    @Tag(name = "1-2. [카카오]")
     @GetMapping("/oauth/kakao")
     @ApiErrorCodeExample(KakaoKauthErrorCode.class)
     public OauthTokenResponse getCredentialFromKaKao(
@@ -108,7 +108,7 @@ public OauthTokenResponse getCredentialFromKaKao(
     }
 
     @Operation(summary = "개발용 회원가입입니다 클라이언트가 몰라도 됩니다.", deprecated = true)
-    @Tag(name = "1-2. 카카오 oauth")
+    @Tag(name = "1-2. [카카오]")
     @DevelopOnlyApi
     @GetMapping("/oauth/kakao/develop")
     public ResponseEntity<TokenAndUserResponse> developUserSign(@RequestParam("code") String code) {
@@ -119,7 +119,7 @@ public ResponseEntity<TokenAndUserResponse> developUserSign(@RequestParam("code"
     }
 
     @Operation(summary = "회원가입이 가능한지 id token 으로 확인합니다.")
-    @Tag(name = "1-2. 카카오 oauth")
+    @Tag(name = "1-2. [카카오]")
     @GetMapping("/oauth/kakao/register/valid")
     public AvailableRegisterResponse kakaoAuthCheckRegisterValid(
             @RequestParam("id_token") String token) {
@@ -127,7 +127,7 @@ public AvailableRegisterResponse kakaoAuthCheckRegisterValid(
     }
 
     @Operation(summary = "id_token 으로 회원가입을 합니다.")
-    @Tag(name = "1-2. 카카오 oauth")
+    @Tag(name = "1-2. [카카오]")
     @PostMapping("/oauth/kakao/register")
     public ResponseEntity<TokenAndUserResponse> kakaoAuthCheckRegisterValid(
             @RequestParam("id_token") String token,
@@ -141,7 +141,7 @@ public ResponseEntity<TokenAndUserResponse> kakaoAuthCheckRegisterValid(
 
     @NotNull
     @Operation(summary = "id_token 으로 로그인을 합니다.")
-    @Tag(name = "1-2. 카카오 oauth")
+    @Tag(name = "1-2. [카카오]")
     @PostMapping("/oauth/kakao/login")
     public ResponseEntity<TokenAndUserResponse> kakaoOauthUserLogin(
             @RequestParam("id_token") String token) {
@@ -152,7 +152,7 @@ public ResponseEntity<TokenAndUserResponse> kakaoOauthUserLogin(
     }
 
     @Operation(summary = "accessToken 으로 oauth user 정보를 가져옵니다.")
-    @Tag(name = "1-2. 카카오 oauth")
+    @Tag(name = "1-2. [카카오]")
     @PostMapping("/oauth/kakao/info")
     public OauthUserInfoResponse kakaoOauthUserInfo(
             @RequestParam("access_token") String accessToken) {
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/cart/controller/CartController.java b/DuDoong-Api/src/main/java/band/gosrock/api/cart/controller/CartController.java
index 0ed4e00c..d32d7078 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/cart/controller/CartController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/cart/controller/CartController.java
@@ -19,7 +19,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "5. 장바구니 관련 컨트롤러")
+@Tag(name = "5. [장바구니]")
 @RestController
 @RequestMapping("/v1/carts")
 @RequiredArgsConstructor
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 b45bab23..ec80c91d 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
@@ -33,7 +33,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "9. 응원톡 컨트롤러")
+@Tag(name = "9. [응원톡]")
 @RestController
 @RequestMapping("/v1/events/{eventId}/comments")
 @Validated
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/coupon/controller/CouponController.java b/DuDoong-Api/src/main/java/band/gosrock/api/coupon/controller/CouponController.java
index 31e7dc07..106c4cfd 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/coupon/controller/CouponController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/coupon/controller/CouponController.java
@@ -14,7 +14,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "a0. 쿠폰 관련 컨트롤러")
+@Tag(name = "a0. [쿠폰]")
 @RestController
 @RequestMapping("/v1/coupons")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/event/controller/EventController.java b/DuDoong-Api/src/main/java/band/gosrock/api/event/controller/EventController.java
index b8eac37d..9641edc3 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/event/controller/EventController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/event/controller/EventController.java
@@ -23,7 +23,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "3. 이벤트(공연) 관련 컨트롤러")
+@Tag(name = "3. [이벤트(공연)]")
 @RestController
 @RequestMapping("/v1/events")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/example/controller/ExampleController.java b/DuDoong-Api/src/main/java/band/gosrock/api/example/controller/ExampleController.java
index 94b4f8e8..5015b1ac 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/example/controller/ExampleController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/example/controller/ExampleController.java
@@ -35,7 +35,7 @@
 @RequestMapping("/v1/examples")
 @RequiredArgsConstructor
 @SecurityRequirement(name = "access-token")
-@Tag(name = "xx. 예시 컨트롤러 에러코드들의 목록을 가지고 있는 api 도 있습니다.")
+@Tag(name = "xx. [예시] 에러코드 문서화")
 public class ExampleController {
 
     private final ExampleApiService exampleApiService;
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/host/controller/HostController.java b/DuDoong-Api/src/main/java/band/gosrock/api/host/controller/HostController.java
index 306d9653..dcaa9aa5 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/host/controller/HostController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/host/controller/HostController.java
@@ -23,7 +23,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "4. 호스트 관련 컨트롤러")
+@Tag(name = "4. [호스트]")
 @RestController
 @RequestMapping("/v1/hosts")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/image/controller/ImageController.java b/DuDoong-Api/src/main/java/band/gosrock/api/image/controller/ImageController.java
index fd2ef5e4..e685e796 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/image/controller/ImageController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/image/controller/ImageController.java
@@ -15,7 +15,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "a1. 이미지 관련 컨트롤러")
+@Tag(name = "a1. [이미지]")
 @RestController
 @RequestMapping("/v1")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/AdminIssuedTicketController.java b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/AdminIssuedTicketController.java
index dc56c44f..3131c9fc 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/AdminIssuedTicketController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/AdminIssuedTicketController.java
@@ -17,7 +17,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "8-1. 발급 티켓 관련 어드민 컨트롤러")
+@Tag(name = "8-1. [이벤트관리] 발급 티켓 관리 ")
 @RestController
 @RequestMapping("/v1/events/{eventId}/issuedTickets")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/IssuedTicketController.java b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/IssuedTicketController.java
index 13a838a2..3a29afd0 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/IssuedTicketController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/issuedTicket/controller/IssuedTicketController.java
@@ -13,7 +13,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "8-2. 발급 티켓 관련 컨트롤러")
+@Tag(name = "8-2. [발급티켓]")
 @RestController
 @RequestMapping("/v1/issuedTickets")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
index 67d887ca..232db197 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderAdminController.java
@@ -23,7 +23,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "6-2. 주문 관련 호스트 관리자 ")
+@Tag(name = "6-2. [이벤트관리] 주문관리 ")
 @RestController
 @RequestMapping("/v1/events/{eventId}/orders")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderController.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderController.java
index c1a33e73..df71b787 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/controller/OrderController.java
@@ -39,7 +39,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "6-1. 주문 관련 컨트롤러")
+@Tag(name = "6-1. [주문]")
 @RestController
 @RequestMapping("/v1/orders")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/statistic/controller/AdminStatisticController.java b/DuDoong-Api/src/main/java/band/gosrock/api/statistic/controller/AdminStatisticController.java
index 5440f001..947b5cf3 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/statistic/controller/AdminStatisticController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/statistic/controller/AdminStatisticController.java
@@ -13,7 +13,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "a2. 어드민 통계관련")
+@Tag(name = "a2. [이벤트관리] 통계관련")
 @RestController
 @RequestMapping("/v1/events/{eventId}/statistics")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketItemController.java b/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketItemController.java
index 7fb839f0..3c51d335 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketItemController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketItemController.java
@@ -17,7 +17,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "7-1. 티켓 상품 관련 컨트롤러")
+@Tag(name = "7-1. [티켓상품]")
 @RestController
 @RequestMapping("/v1/events/{eventId}/ticketItems")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketOptionController.java b/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketOptionController.java
index 1d7c08fc..57b938d8 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketOptionController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/ticketItem/controller/TicketOptionController.java
@@ -15,7 +15,7 @@
 import org.springframework.web.bind.annotation.*;
 
 @SecurityRequirement(name = "access-token")
-@Tag(name = "7-2. 티켓상품 옵션 관련 컨트롤러")
+@Tag(name = "7-2. [티켓상품옵션]")
 @RestController
 @RequestMapping("/v1/events/{eventId}/ticketOptions")
 @RequiredArgsConstructor
diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/user/controller/UserController.java b/DuDoong-Api/src/main/java/band/gosrock/api/user/controller/UserController.java
index 32162234..8760f79b 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/user/controller/UserController.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/user/controller/UserController.java
@@ -17,7 +17,7 @@
 @SecurityRequirement(name = "access-token")
 @RequiredArgsConstructor
 @Slf4j
-@Tag(name = "2. 유저 관련 컨트롤러")
+@Tag(name = "2. [유저]")
 public class UserController {
 
     private final ReadUserUseCase readUserUseCase;

From f7b0c73a303093702334fe846225641c3b168992 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=8E=E1=85=A1=E1=86=AB=E1=84=8C?=
 =?UTF-8?q?=E1=85=B5=E1=86=AB?= <water0641@naver.com>
Date: Fri, 10 Feb 2023 16:18:43 +0900
Subject: [PATCH 5/5] =?UTF-8?q?refactor=20:=20=EC=9D=B4=EB=B2=A4=ED=8A=B8?=
 =?UTF-8?q?=20=EC=8A=B9=EC=9D=B8=EC=A3=BC=EB=AC=B8=20=EA=B6=8C=ED=95=9C=20?=
 =?UTF-8?q?hostRoleAllowed=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../api/order/service/ApproveOrderUseCase.java  | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ApproveOrderUseCase.java b/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ApproveOrderUseCase.java
index 9d73bba8..f3077105 100644
--- a/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ApproveOrderUseCase.java
+++ b/DuDoong-Api/src/main/java/band/gosrock/api/order/service/ApproveOrderUseCase.java
@@ -1,14 +1,12 @@
 package band.gosrock.api.order.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.order.model.dto.response.OrderResponse;
 import band.gosrock.api.order.model.mapper.OrderMapper;
 import band.gosrock.common.annotation.UseCase;
-import band.gosrock.domain.domains.event.adaptor.EventAdaptor;
-import band.gosrock.domain.domains.event.domain.Event;
-import band.gosrock.domain.domains.host.adaptor.HostAdaptor;
-import band.gosrock.domain.domains.host.domain.Host;
 import band.gosrock.domain.domains.order.service.OrderApproveService;
 import lombok.RequiredArgsConstructor;
 
@@ -19,16 +17,9 @@ public class ApproveOrderUseCase {
     private final OrderApproveService orderApproveService;
 
     private final OrderMapper orderMapper;
-    private final HostAdaptor hostAdaptor;
-    private final EventAdaptor eventAdaptor;
-    private final UserUtils userUtils;
 
+    @HostRolesAllowed(role = MANAGER, findHostFrom = EVENT_ID)
     public OrderResponse execute(Long eventId, String orderUuid) {
-        Event event = eventAdaptor.findById(eventId);
-        Host host = hostAdaptor.findById(event.getHostId());
-        Long userId = userUtils.getCurrentUserId();
-        host.validateHostUser(userId);
-
         String confirmOrderUuid = orderApproveService.execute(orderUuid);
         return orderMapper.toOrderResponse(confirmOrderUuid);
     }