From 0d8fbfe4f661d298d800783f4278c5d819d60ce2 Mon Sep 17 00:00:00 2001 From: Hyunkyu Lee <88573971+wken5577@users.noreply.github.com> Date: Mon, 4 Mar 2024 20:57:29 +0900 Subject: [PATCH 01/10] =?UTF-8?q?[FEAT]=20#672=20auth=20module=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC=20(#675)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- build.gradle | 11 +++++++++ gg-auth/build.gradle | 22 +++++++++++++++++ .../src/main/java/gg/auth}/UserDto.java | 2 +- .../java/gg/auth}/argumentresolver/Login.java | 2 +- .../LoginMemberArgumentResolver.java | 8 +++---- .../java/gg/auth/config/AuthWebConfig.java | 24 +++++++++++++++++++ .../gg/auth}/properties/AppProperties.java | 2 +- .../gg/auth}/utils/AuthTokenProvider.java | 4 ++-- .../main/java/gg/auth}/utils/HeaderUtil.java | 2 +- .../main/java/gg/PingpongApiApplication.java | 2 +- .../comment/controller/CommentController.java | 4 ++-- .../user/room/controller/RoomController.java | 4 ++-- .../api/user/room/service/RoomService.java | 2 +- .../admin/noti/service/NotiAdminService.java | 2 +- .../controller/CoinPolicyAdminController.java | 4 ++-- .../store/controller/ItemAdminController.java | 4 ++-- .../store/service/CoinPolicyAdminService.java | 2 +- .../admin/store/service/ItemAdminService.java | 2 +- .../pingpong/api/global/config/WebConfig.java | 13 ---------- .../OAuthAuthenticationSuccessHandler.java | 4 ++-- .../jwt/utils/TokenAuthenticationFilter.java | 3 ++- .../user/game/controller/GameController.java | 4 ++-- .../manage/controller/FeedbackController.java | 4 ++-- .../user/manage/service/PenaltyService.java | 2 +- .../match/controller/MatchController.java | 4 ++-- .../user/match/service/GameUpdateService.java | 2 +- .../user/match/service/MatchFindService.java | 2 +- .../api/user/match/service/MatchService.java | 2 +- .../user/noti/controller/NotiController.java | 4 ++-- .../pingpong/api/user/noti/dto/NotiDto.java | 4 ++-- .../api/user/noti/service/NotiService.java | 2 +- .../api/user/noti/service/SnsNotiService.java | 2 +- .../user/noti/service/sns/NotiMailSender.java | 2 +- .../noti/service/sns/SlackbotService.java | 2 +- .../user/rank/controller/RankController.java | 4 ++-- .../rank/controller/RankV2Controller.java | 4 ++-- .../api/user/rank/service/RankService.java | 2 +- .../user/store/controller/ItemController.java | 4 ++-- .../store/controller/MegaphoneController.java | 4 ++-- .../api/user/store/service/ItemService.java | 2 +- .../user/store/service/MegaphoneService.java | 2 +- .../controller/TournamentController.java | 4 ++-- .../tournament/service/TournamentService.java | 2 +- .../user/user/controller/UserController.java | 4 ++-- .../service/UserAuthenticationService.java | 2 +- .../api/user/user/service/UserService.java | 2 +- .../AnnouncementAdminControllerFailTest.java | 2 +- .../AnnouncementAdminControllerTest.java | 2 +- .../controller/CoinAdminControllerTest.java | 2 +- .../CoinPolicyAdminControllerFailTest.java | 2 +- .../CoinPolicyAdminControllerTest.java | 2 +- .../FeedbackAdminControllerTest.java | 2 +- .../controller/GameAdminControllerTest.java | 2 +- .../controller/ItemAdminControllerTest.java | 2 +- .../service/ItemAdminServiceUnitTest.java | 2 +- .../MegaphoneAdminControllerTest.java | 2 +- .../controller/NotiAdminControllerTest.java | 2 +- .../service/NotiAdminServiceUnitTest.java | 2 +- .../PenaltyAdminControllerTest.java | 18 +++++++------- .../ReceiptAdminControllerTest.java | 2 +- .../controller/SeasonAdminControllerTest.java | 2 +- .../SlotAdminControllerFailTest.java | 2 +- .../controller/SlotAdminControllerTest.java | 2 +- .../TournamentAdminControllerTest.java | 2 +- .../TournamentAdminUserControllerTest.java | 2 +- .../controller/UserAdminControllerTest.java | 2 +- .../AnnouncementControllerTest.java | 2 +- .../coin/service/CoinHistoryServiceTest.java | 2 +- .../service/UserCoinChangeServiceTest.java | 2 +- .../controller/FeedbackControllerTest.java | 2 +- .../FeedbackControllerUnitTest.java | 2 +- .../api/user/game/GameControllerTest.java | 2 +- .../api/user/game/service/GameDBTest.java | 8 +++---- .../game/service/GameFindServiceTest.java | 2 +- .../user/game/service/GameServiceTest.java | 2 +- .../controller/ItemGiftControllerTest.java | 4 ++-- .../ItemPurchaseControllerTest.java | 4 ++-- .../ItemStoreListControllerTest.java | 2 +- .../item/service/ItemServiceUnitTest.java | 2 +- .../match/service/MatchBothServiceTest.java | 2 +- .../service/MatchFindServiceUnitTest.java | 2 +- .../user/match/service/MatchServiceTest.java | 4 ++-- .../controller/MegaphoneControllerTest.java | 2 +- .../service/MegaphoneServiceUnitTest.java | 2 +- .../noti/controller/NotiControllerTest.java | 4 ++-- .../user/noti/service/NotiServiceTest.java | 4 ++-- .../noti/service/NotiServiceUnitTest.java | 2 +- .../noti/service/SnsNotiServiceUnitTest.java | 2 +- .../service/sns/NotiMailSenderUnitTest.java | 2 +- .../rank/controller/RankControllerTest.java | 2 +- .../rank/controller/RankV2ControllerTest.java | 4 ++-- .../user/rank/service/RankServiceTest.java | 2 +- .../api/user/season/SeasonTestController.java | 2 +- .../api/user/season/SeasonTriggerTest.java | 2 +- .../TournamentControllerMvcTest.java | 4 +++- .../TournamentFindControllerTest.java | 2 +- .../TournamentGameControllerTest.java | 2 +- .../service/TournamentServiceUnitTest.java | 2 +- .../user/controller/UserControllerTest.java | 2 +- .../UserAuthenticationServiceUnitTest.java | 2 +- gg-utils/build.gradle | 2 ++ .../java/gg/utils/TestDataUtils.java | 2 +- settings.gradle | 1 + 104 files changed, 198 insertions(+), 148 deletions(-) create mode 100644 gg-auth/build.gradle rename {gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/dto => gg-auth/src/main/java/gg/auth}/UserDto.java (97%) rename {gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils => gg-auth/src/main/java/gg/auth}/argumentresolver/Login.java (82%) rename {gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils => gg-auth/src/main/java/gg/auth}/argumentresolver/LoginMemberArgumentResolver.java (87%) create mode 100644 gg-auth/src/main/java/gg/auth/config/AuthWebConfig.java rename {gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/config => gg-auth/src/main/java/gg/auth}/properties/AppProperties.java (94%) rename {gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/jwt => gg-auth/src/main/java/gg/auth}/utils/AuthTokenProvider.java (94%) rename {gg-pingpong-api/src/main/java/gg/pingpong/api/global => gg-auth/src/main/java/gg/auth}/utils/HeaderUtil.java (93%) diff --git a/.gitignore b/.gitignore index 443c346ca..19e247c89 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ build/ !gradle/wrapper/gradle-wrapper.jar !**/src/main/**/build/ !**/src/test/**/build/ -gg-pingpong-api/src/main/resources/application.yml +**/application.yml .DS_Store python /logs diff --git a/build.gradle b/build.gradle index ca9bb4336..2f5aefec4 100644 --- a/build.gradle +++ b/build.gradle @@ -243,6 +243,17 @@ project(':gg-pingpong-api') { implementation project(':gg-repo') implementation project(':gg-admin-repo') implementation project(':gg-utils') + implementation project(':gg-auth') + } +} + +project(':gg-auth') { + bootJar { enabled = false } + jar { enabled = true } + dependencies { + implementation project(':gg-data') + implementation project(':gg-repo') + implementation project(':gg-utils') } } diff --git a/gg-auth/build.gradle b/gg-auth/build.gradle new file mode 100644 index 000000000..1a7f1307b --- /dev/null +++ b/gg-auth/build.gradle @@ -0,0 +1,22 @@ +plugins { + id 'java' +} + +group 'gg.auth' +version '42gg' + +repositories { + mavenCentral() +} + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-web' + + implementation 'io.jsonwebtoken:jjwt-api:0.11.2' + implementation 'io.jsonwebtoken:jjwt-impl:0.11.2' + implementation 'io.jsonwebtoken:jjwt-jackson:0.11.2' + + annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" + + testImplementation testFixtures(project(':gg-utils')) +} diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/dto/UserDto.java b/gg-auth/src/main/java/gg/auth/UserDto.java similarity index 97% rename from gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/dto/UserDto.java rename to gg-auth/src/main/java/gg/auth/UserDto.java index 1d95daf26..37f3cef29 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/dto/UserDto.java +++ b/gg-auth/src/main/java/gg/auth/UserDto.java @@ -1,4 +1,4 @@ -package gg.pingpong.api.user.user.dto; +package gg.auth; import gg.data.user.User; import gg.data.user.type.RacketType; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/argumentresolver/Login.java b/gg-auth/src/main/java/gg/auth/argumentresolver/Login.java similarity index 82% rename from gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/argumentresolver/Login.java rename to gg-auth/src/main/java/gg/auth/argumentresolver/Login.java index a2721766f..3cc11774e 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/argumentresolver/Login.java +++ b/gg-auth/src/main/java/gg/auth/argumentresolver/Login.java @@ -1,4 +1,4 @@ -package gg.pingpong.api.global.utils.argumentresolver; +package gg.auth.argumentresolver; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/argumentresolver/LoginMemberArgumentResolver.java b/gg-auth/src/main/java/gg/auth/argumentresolver/LoginMemberArgumentResolver.java similarity index 87% rename from gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/argumentresolver/LoginMemberArgumentResolver.java rename to gg-auth/src/main/java/gg/auth/argumentresolver/LoginMemberArgumentResolver.java index 69a63945f..ffa51883c 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/argumentresolver/LoginMemberArgumentResolver.java +++ b/gg-auth/src/main/java/gg/auth/argumentresolver/LoginMemberArgumentResolver.java @@ -1,4 +1,4 @@ -package gg.pingpong.api.global.utils.argumentresolver; +package gg.auth.argumentresolver; import javax.servlet.http.HttpServletRequest; @@ -8,10 +8,10 @@ import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.ModelAndViewContainer; +import gg.auth.UserDto; +import gg.auth.utils.AuthTokenProvider; +import gg.auth.utils.HeaderUtil; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; -import gg.pingpong.api.global.utils.HeaderUtil; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.user.UserRepository; import lombok.RequiredArgsConstructor; diff --git a/gg-auth/src/main/java/gg/auth/config/AuthWebConfig.java b/gg-auth/src/main/java/gg/auth/config/AuthWebConfig.java new file mode 100644 index 000000000..8ececc24a --- /dev/null +++ b/gg-auth/src/main/java/gg/auth/config/AuthWebConfig.java @@ -0,0 +1,24 @@ +package gg.auth.config; + +import java.util.List; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.method.support.HandlerMethodArgumentResolver; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import gg.auth.argumentresolver.LoginMemberArgumentResolver; +import gg.auth.utils.AuthTokenProvider; +import gg.repo.user.UserRepository; +import lombok.RequiredArgsConstructor; + +@Configuration +@RequiredArgsConstructor +public class AuthWebConfig implements WebMvcConfigurer { + private final UserRepository userRepository; + private final AuthTokenProvider tokenProvider; + + @Override + public void addArgumentResolvers(List resolvers) { + resolvers.add(new LoginMemberArgumentResolver(userRepository, tokenProvider)); + } +} diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/config/properties/AppProperties.java b/gg-auth/src/main/java/gg/auth/properties/AppProperties.java similarity index 94% rename from gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/config/properties/AppProperties.java rename to gg-auth/src/main/java/gg/auth/properties/AppProperties.java index 7d3a828ae..43713387a 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/config/properties/AppProperties.java +++ b/gg-auth/src/main/java/gg/auth/properties/AppProperties.java @@ -1,4 +1,4 @@ -package gg.pingpong.api.global.security.config.properties; +package gg.auth.properties; import java.util.ArrayList; import java.util.List; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/jwt/utils/AuthTokenProvider.java b/gg-auth/src/main/java/gg/auth/utils/AuthTokenProvider.java similarity index 94% rename from gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/jwt/utils/AuthTokenProvider.java rename to gg-auth/src/main/java/gg/auth/utils/AuthTokenProvider.java index afbfe1192..c3eb7d6e3 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/jwt/utils/AuthTokenProvider.java +++ b/gg-auth/src/main/java/gg/auth/utils/AuthTokenProvider.java @@ -1,11 +1,11 @@ -package gg.pingpong.api.global.security.jwt.utils; +package gg.auth.utils; import java.security.Key; import java.util.Date; import org.springframework.stereotype.Component; -import gg.pingpong.api.global.security.config.properties.AppProperties; +import gg.auth.properties.AppProperties; import io.jsonwebtoken.Claims; import io.jsonwebtoken.ExpiredJwtException; import io.jsonwebtoken.Jwts; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/HeaderUtil.java b/gg-auth/src/main/java/gg/auth/utils/HeaderUtil.java similarity index 93% rename from gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/HeaderUtil.java rename to gg-auth/src/main/java/gg/auth/utils/HeaderUtil.java index 7bc680609..38fa93f62 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/utils/HeaderUtil.java +++ b/gg-auth/src/main/java/gg/auth/utils/HeaderUtil.java @@ -1,4 +1,4 @@ -package gg.pingpong.api.global.utils; +package gg.auth.utils; import javax.servlet.http.HttpServletRequest; diff --git a/gg-pingpong-api/src/main/java/gg/PingpongApiApplication.java b/gg-pingpong-api/src/main/java/gg/PingpongApiApplication.java index f7e33ed08..d2cc3673a 100644 --- a/gg-pingpong-api/src/main/java/gg/PingpongApiApplication.java +++ b/gg-pingpong-api/src/main/java/gg/PingpongApiApplication.java @@ -4,7 +4,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication(scanBasePackages = {"gg.admin.repo", "gg.data", "gg.repo", - "gg.pingpong.api", "gg.utils", "gg.party.api"}) + "gg.pingpong.api", "gg.utils", "gg.party.api", "gg.auth"}) public class PingpongApiApplication { public static void main(String[] args) { diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java index 266f6a7b2..2e46a820d 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java @@ -8,10 +8,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.party.api.user.comment.controller.request.CommentCreateReqDto; import gg.party.api.user.comment.service.CommentService; -import gg.pingpong.api.global.utils.argumentresolver.Login; -import gg.pingpong.api.user.user.dto.UserDto; import lombok.RequiredArgsConstructor; @RestController diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java index 79dea2d72..cbb6c506f 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java @@ -9,12 +9,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.party.api.user.room.controller.request.RoomCreateReqDto; import gg.party.api.user.room.controller.response.RoomDetailResDto; import gg.party.api.user.room.controller.response.RoomListResDto; import gg.party.api.user.room.service.RoomService; -import gg.pingpong.api.global.utils.argumentresolver.Login; -import gg.pingpong.api.user.user.dto.UserDto; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java index 39e1e4b9a..d1f432183 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java @@ -13,6 +13,7 @@ import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import gg.auth.UserDto; import gg.data.party.Category; import gg.data.party.Room; import gg.data.party.UserRoom; @@ -24,7 +25,6 @@ import gg.party.api.user.room.controller.response.RoomListResDto; import gg.party.api.user.room.controller.response.RoomResDto; import gg.party.api.user.room.controller.response.UserRoomResDto; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.party.CategoryRepository; import gg.repo.party.CommentRepository; import gg.repo.party.RoomRepository; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/noti/service/NotiAdminService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/noti/service/NotiAdminService.java index 1982e1bc1..1764f7a8c 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/noti/service/NotiAdminService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/noti/service/NotiAdminService.java @@ -7,6 +7,7 @@ import gg.admin.repo.noti.NotiAdminRepository; import gg.admin.repo.user.UserAdminRepository; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.data.noti.type.NotiType; import gg.data.user.User; @@ -14,7 +15,6 @@ import gg.pingpong.api.admin.noti.controller.response.NotiListAdminResponseDto; import gg.pingpong.api.admin.noti.dto.NotiAdminDto; import gg.pingpong.api.user.noti.service.SnsNotiService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.exception.user.UserNotFoundException; import lombok.AllArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/controller/CoinPolicyAdminController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/controller/CoinPolicyAdminController.java index 5a6b8f406..a39c643aa 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/controller/CoinPolicyAdminController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/controller/CoinPolicyAdminController.java @@ -15,12 +15,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.admin.store.controller.response.CoinPolicyAdminListResponseDto; import gg.pingpong.api.admin.store.dto.CoinPolicyAdminAddDto; import gg.pingpong.api.admin.store.service.CoinPolicyAdminService; import gg.pingpong.api.global.dto.PageRequestDto; -import gg.pingpong.api.global.utils.argumentresolver.Login; -import gg.pingpong.api.user.user.dto.UserDto; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/controller/ItemAdminController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/controller/ItemAdminController.java index 8fa6a208e..21b1e8963 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/controller/ItemAdminController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/controller/ItemAdminController.java @@ -20,12 +20,12 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.admin.store.controller.request.ItemUpdateRequestDto; import gg.pingpong.api.admin.store.controller.response.ItemListResponseDto; import gg.pingpong.api.admin.store.service.ItemAdminService; import gg.pingpong.api.global.dto.PageRequestDto; -import gg.pingpong.api.global.utils.argumentresolver.Login; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.exception.item.ItemImageLargeException; import gg.utils.exception.item.ItemImageTypeException; import io.swagger.v3.oas.annotations.Parameter; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/service/CoinPolicyAdminService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/service/CoinPolicyAdminService.java index b0644ae52..d1fae17d5 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/service/CoinPolicyAdminService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/service/CoinPolicyAdminService.java @@ -7,12 +7,12 @@ import gg.admin.repo.store.CoinPolicyAdminRepository; import gg.admin.repo.user.UserAdminRepository; +import gg.auth.UserDto; import gg.data.store.CoinPolicy; import gg.data.user.User; import gg.pingpong.api.admin.store.controller.response.CoinPolicyAdminListResponseDto; import gg.pingpong.api.admin.store.controller.response.CoinPolicyAdminResponseDto; import gg.pingpong.api.admin.store.dto.CoinPolicyAdminAddDto; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.exception.user.UserNotFoundException; import lombok.AllArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/service/ItemAdminService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/service/ItemAdminService.java index 363aded6b..d86a916f7 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/service/ItemAdminService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/admin/store/service/ItemAdminService.java @@ -9,12 +9,12 @@ import org.springframework.web.multipart.MultipartFile; import gg.admin.repo.store.ItemAdminRepository; +import gg.auth.UserDto; import gg.data.store.Item; import gg.pingpong.api.admin.store.controller.request.ItemUpdateRequestDto; import gg.pingpong.api.admin.store.controller.response.ItemHistoryResponseDto; import gg.pingpong.api.admin.store.controller.response.ItemListResponseDto; import gg.pingpong.api.global.utils.aws.AsyncNewItemImageUploader; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.exception.item.ItemNotAvailableException; import gg.utils.exception.item.ItemNotFoundException; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/config/WebConfig.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/global/config/WebConfig.java index 9b8e1c539..1dbce5b5f 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/config/WebConfig.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/global/config/WebConfig.java @@ -1,30 +1,17 @@ package gg.pingpong.api.global.config; -import java.util.List; - import org.springframework.context.annotation.Configuration; -import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; -import gg.pingpong.api.global.utils.argumentresolver.LoginMemberArgumentResolver; import gg.pingpong.api.global.utils.querytracker.LoggingInterceptor; -import gg.repo.user.UserRepository; import lombok.RequiredArgsConstructor; @Configuration @RequiredArgsConstructor public class WebConfig implements WebMvcConfigurer { - private final UserRepository userRepository; - private final AuthTokenProvider tokenProvider; private final LoggingInterceptor loggingInterceptor; - @Override - public void addArgumentResolvers(List resolvers) { - resolvers.add(new LoginMemberArgumentResolver(userRepository, tokenProvider)); - } - @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loggingInterceptor); diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/handler/OAuthAuthenticationSuccessHandler.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/handler/OAuthAuthenticationSuccessHandler.java index 85fd9754a..5edce39f5 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/handler/OAuthAuthenticationSuccessHandler.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/handler/OAuthAuthenticationSuccessHandler.java @@ -12,13 +12,13 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.util.UriComponentsBuilder; +import gg.auth.properties.AppProperties; +import gg.auth.utils.AuthTokenProvider; import gg.data.user.User; import gg.data.user.type.RoleType; import gg.pingpong.api.global.security.UserPrincipal; -import gg.pingpong.api.global.security.config.properties.AppProperties; import gg.pingpong.api.global.security.cookie.CookieUtil; import gg.pingpong.api.global.security.jwt.repository.JwtRedisRepository; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.global.security.jwt.utils.TokenHeaders; import gg.pingpong.api.global.utils.ApplicationYmlRead; import gg.repo.user.UserRepository; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/jwt/utils/TokenAuthenticationFilter.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/jwt/utils/TokenAuthenticationFilter.java index f9beda9b5..151819b4f 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/jwt/utils/TokenAuthenticationFilter.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/jwt/utils/TokenAuthenticationFilter.java @@ -18,8 +18,9 @@ import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; +import gg.auth.utils.AuthTokenProvider; +import gg.auth.utils.HeaderUtil; import gg.pingpong.api.global.security.service.CustomUserDetailsService; -import gg.pingpong.api.global.utils.HeaderUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/game/controller/GameController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/game/controller/GameController.java index b8138959c..2eed60354 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/game/controller/GameController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/game/controller/GameController.java @@ -16,8 +16,9 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.data.game.type.Mode; -import gg.pingpong.api.global.utils.argumentresolver.Login; import gg.pingpong.api.user.game.controller.request.GameListReqDto; import gg.pingpong.api.user.game.controller.request.NormalGameListReqDto; import gg.pingpong.api.user.game.controller.request.NormalResultReqDto; @@ -30,7 +31,6 @@ import gg.pingpong.api.user.game.service.GameFindService; import gg.pingpong.api.user.game.service.GameService; import gg.pingpong.api.user.rank.redis.RankRedisService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.exception.ErrorCode; import gg.utils.exception.custom.BusinessException; import gg.utils.exception.custom.InvalidParameterException; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/manage/controller/FeedbackController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/manage/controller/FeedbackController.java index d66bafeaf..d13fff195 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/manage/controller/FeedbackController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/manage/controller/FeedbackController.java @@ -9,10 +9,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import gg.pingpong.api.global.utils.argumentresolver.Login; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.user.manage.controller.request.FeedbackRequestDto; import gg.pingpong.api.user.manage.service.FeedbackService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.user.UserRepository; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/manage/service/PenaltyService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/manage/service/PenaltyService.java index 107eb584d..ced4fa96e 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/manage/service/PenaltyService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/manage/service/PenaltyService.java @@ -5,12 +5,12 @@ import org.springframework.stereotype.Service; +import gg.auth.UserDto; import gg.data.manage.Penalty; import gg.data.manage.redis.RedisPenaltyUser; import gg.data.manage.type.PenaltyType; import gg.data.user.User; import gg.pingpong.api.user.manage.redis.PenaltyUserRedisRepository; -import gg.pingpong.api.user.user.dto.UserDto; import gg.pingpong.api.user.user.service.UserFindService; import gg.repo.manage.PenaltyRepository; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/controller/MatchController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/controller/MatchController.java index f515312ba..e6a4fc1c6 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/controller/MatchController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/controller/MatchController.java @@ -15,14 +15,14 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.data.match.type.Option; -import gg.pingpong.api.global.utils.argumentresolver.Login; import gg.pingpong.api.user.match.controller.request.MatchRequestDto; import gg.pingpong.api.user.match.controller.response.MatchStatusResponseListDto; import gg.pingpong.api.user.match.controller.response.SlotStatusResponseListDto; import gg.pingpong.api.user.match.service.MatchFindService; import gg.pingpong.api.user.match.service.MatchService; -import gg.pingpong.api.user.user.dto.UserDto; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/GameUpdateService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/GameUpdateService.java index 90753d0ab..82a2ca8ec 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/GameUpdateService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/GameUpdateService.java @@ -5,6 +5,7 @@ import org.springframework.stereotype.Service; +import gg.auth.UserDto; import gg.data.game.Game; import gg.data.game.Team; import gg.data.game.TeamUser; @@ -14,7 +15,6 @@ import gg.pingpong.api.user.match.dto.GameAddDto; import gg.pingpong.api.user.noti.service.NotiService; import gg.pingpong.api.user.noti.service.SnsNotiService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.GameRepository; import gg.repo.game.TeamRepository; import gg.repo.game.TeamUserRepository; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/MatchFindService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/MatchFindService.java index 0b928053b..d490b063b 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/MatchFindService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/MatchFindService.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import gg.auth.UserDto; import gg.data.game.Game; import gg.data.game.type.StatusType; import gg.data.manage.SlotManagement; @@ -26,7 +27,6 @@ import gg.pingpong.api.user.match.dto.MatchStatusDto; import gg.pingpong.api.user.match.utils.SlotGenerator; import gg.pingpong.api.user.season.service.SeasonFindService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.GameRepository; import gg.repo.manage.SlotManagementRepository; import gg.repo.match.RedisMatchTimeRepository; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/MatchService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/MatchService.java index 42993ffcb..6d2ffaf07 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/MatchService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/match/service/MatchService.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import gg.auth.UserDto; import gg.data.game.Game; import gg.data.game.type.Mode; import gg.data.game.type.StatusType; @@ -24,7 +25,6 @@ import gg.pingpong.api.user.match.dto.GameAddDto; import gg.pingpong.api.user.match.utils.MatchCalculator; import gg.pingpong.api.user.season.service.SeasonFindService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.GameRepository; import gg.repo.manage.SlotManagementRepository; import gg.repo.match.RedisMatchTimeRepository; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/controller/NotiController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/controller/NotiController.java index f964c11c6..04b07ab36 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/controller/NotiController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/controller/NotiController.java @@ -9,11 +9,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import gg.pingpong.api.global.utils.argumentresolver.Login; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.user.noti.controller.response.NotiListResponseDto; import gg.pingpong.api.user.noti.controller.response.NotiResponseDto; import gg.pingpong.api.user.noti.service.NotiService; -import gg.pingpong.api.user.user.dto.UserDto; import lombok.AllArgsConstructor; @RestController diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/dto/NotiDto.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/dto/NotiDto.java index 9d38ca674..b77855a21 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/dto/NotiDto.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/dto/NotiDto.java @@ -3,9 +3,9 @@ import java.time.LocalDateTime; import java.util.Objects; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.data.noti.type.NotiType; -import gg.pingpong.api.user.user.dto.UserDto; import lombok.Builder; import lombok.Getter; @@ -56,7 +56,7 @@ public boolean equals(Object obj) { if (!(obj instanceof NotiDto)) { return false; } - NotiDto other = (NotiDto)obj; + NotiDto other = (NotiDto) obj; return Objects.equals(id, other.id) && Objects.equals(user, other.user) && Objects.equals(type, other.type) diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/NotiService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/NotiService.java index 94dce8928..c7d6148ed 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/NotiService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/NotiService.java @@ -8,12 +8,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.data.noti.type.NotiType; import gg.data.user.User; import gg.pingpong.api.user.noti.controller.response.NotiResponseDto; import gg.pingpong.api.user.noti.dto.NotiDto; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.noti.NotiRepository; import gg.repo.user.UserRepository; import gg.utils.exception.ErrorCode; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/SnsNotiService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/SnsNotiService.java index 656a9958f..3287ee3e1 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/SnsNotiService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/SnsNotiService.java @@ -3,12 +3,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.data.user.type.SnsType; import gg.pingpong.api.user.noti.dto.UserNotiDto; import gg.pingpong.api.user.noti.service.sns.NotiMailSender; import gg.pingpong.api.user.noti.service.sns.SlackbotService; -import gg.pingpong.api.user.user.dto.UserDto; import lombok.extern.slf4j.Slf4j; @Service diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/sns/NotiMailSender.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/sns/NotiMailSender.java index 970a1cff6..3cbc55c50 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/sns/NotiMailSender.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/sns/NotiMailSender.java @@ -7,11 +7,11 @@ import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Component; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.pingpong.api.global.utils.AsyncMailSender; import gg.pingpong.api.user.noti.dto.UserNotiDto; import gg.pingpong.api.user.noti.service.NotiService; -import gg.pingpong.api.user.user.dto.UserDto; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/sns/SlackbotService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/sns/SlackbotService.java index f645b9d4b..6fa74476c 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/sns/SlackbotService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/noti/service/sns/SlackbotService.java @@ -14,11 +14,11 @@ import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.pingpong.api.global.utils.external.ApiUtil; import gg.pingpong.api.user.noti.dto.UserNotiDto; import gg.pingpong.api.user.noti.service.NotiService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.exception.noti.SlackSendException; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/controller/RankController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/controller/RankController.java index 825c3b5e4..726658e33 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/controller/RankController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/controller/RankController.java @@ -8,12 +8,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.global.dto.PageRequestDto; -import gg.pingpong.api.global.utils.argumentresolver.Login; import gg.pingpong.api.user.rank.controller.response.ExpRankPageResponseDto; import gg.pingpong.api.user.rank.controller.response.RankPageResponseDto; import gg.pingpong.api.user.rank.service.RankService; -import gg.pingpong.api.user.user.dto.UserDto; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/controller/RankV2Controller.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/controller/RankV2Controller.java index c625edb4c..488817a87 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/controller/RankV2Controller.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/controller/RankV2Controller.java @@ -10,12 +10,12 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.global.dto.PageRequestDto; -import gg.pingpong.api.global.utils.argumentresolver.Login; import gg.pingpong.api.user.rank.controller.response.ExpRankPageResponseDto; import gg.pingpong.api.user.rank.controller.response.RankPageResponseDto; import gg.pingpong.api.user.rank.service.RankService; -import gg.pingpong.api.user.user.dto.UserDto; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/service/RankService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/service/RankService.java index affb950d5..25da63494 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/service/RankService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/rank/service/RankService.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import gg.auth.UserDto; import gg.data.rank.redis.RankRedis; import gg.data.season.Season; import gg.data.user.User; @@ -19,7 +20,6 @@ import gg.pingpong.api.user.rank.dto.ExpRankDto; import gg.pingpong.api.user.rank.dto.RankDto; import gg.pingpong.api.user.season.service.SeasonFindService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.rank.RankRepository; import gg.repo.rank.redis.RankRedisRepository; import gg.repo.user.ExpRankV2Dto; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/controller/ItemController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/controller/ItemController.java index 194b4cbaa..31fbdfd20 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/controller/ItemController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/controller/ItemController.java @@ -15,13 +15,13 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.global.dto.PageRequestDto; -import gg.pingpong.api.global.utils.argumentresolver.Login; import gg.pingpong.api.user.store.controller.request.ItemGiftRequestDto; import gg.pingpong.api.user.store.controller.response.ItemStoreListResponseDto; import gg.pingpong.api.user.store.controller.response.UserItemListResponseDto; import gg.pingpong.api.user.store.service.ItemService; -import gg.pingpong.api.user.user.dto.UserDto; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/controller/MegaphoneController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/controller/MegaphoneController.java index b7ac85a83..682006d6a 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/controller/MegaphoneController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/controller/MegaphoneController.java @@ -15,12 +15,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import gg.pingpong.api.global.utils.argumentresolver.Login; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.user.store.controller.request.MegaphoneUseRequestDto; import gg.pingpong.api.user.store.controller.response.MegaphoneDetailResponseDto; import gg.pingpong.api.user.store.controller.response.MegaphoneTodayListResponseDto; import gg.pingpong.api.user.store.service.MegaphoneService; -import gg.pingpong.api.user.user.dto.UserDto; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/service/ItemService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/service/ItemService.java index 6df2287e1..edd733c25 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/service/ItemService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/service/ItemService.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import gg.auth.UserDto; import gg.data.store.Item; import gg.data.store.Receipt; import gg.data.store.type.ItemStatus; @@ -20,7 +21,6 @@ import gg.pingpong.api.user.store.controller.response.ItemStoreResponseDto; import gg.pingpong.api.user.store.controller.response.UserItemListResponseDto; import gg.pingpong.api.user.store.controller.response.UserItemResponseDto; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.store.ItemRepository; import gg.repo.store.ReceiptRepository; import gg.repo.store.UserItemRepository; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/service/MegaphoneService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/service/MegaphoneService.java index b478ed9dd..0c9450f11 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/service/MegaphoneService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/store/service/MegaphoneService.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import gg.auth.UserDto; import gg.data.store.Megaphone; import gg.data.store.Receipt; import gg.data.store.redis.MegaphoneRedis; @@ -20,7 +21,6 @@ import gg.pingpong.api.user.store.controller.response.MegaphoneDetailResponseDto; import gg.pingpong.api.user.store.controller.response.MegaphoneTodayListResponseDto; import gg.pingpong.api.user.store.redis.MegaphoneRedisRepository; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.store.MegaphoneRepository; import gg.repo.store.ReceiptRepository; import gg.repo.user.UserRepository; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/tournament/controller/TournamentController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/tournament/controller/TournamentController.java index c2294aa7c..8026836e2 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/tournament/controller/TournamentController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/tournament/controller/TournamentController.java @@ -17,14 +17,14 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import gg.pingpong.api.global.utils.argumentresolver.Login; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.pingpong.api.user.tournament.controller.request.TournamentFilterRequestDto; import gg.pingpong.api.user.tournament.controller.response.TournamentGameListResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentListResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentUserRegistrationResponseDto; import gg.pingpong.api.user.tournament.service.TournamentService; -import gg.pingpong.api.user.user.dto.UserDto; import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/tournament/service/TournamentService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/tournament/service/TournamentService.java index 854e3b995..ca924417b 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/tournament/service/TournamentService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/tournament/service/TournamentService.java @@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import gg.auth.UserDto; import gg.data.noti.type.NotiType; import gg.data.tournament.Tournament; import gg.data.tournament.TournamentGame; @@ -32,7 +33,6 @@ import gg.pingpong.api.user.tournament.controller.response.TournamentListResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentUserRegistrationResponseDto; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.GameRepository; import gg.repo.game.out.GameTeamUser; import gg.repo.tournarment.TournamentGameRepository; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/controller/UserController.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/controller/UserController.java index 3afc31df1..0cbb1a6fd 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/controller/UserController.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/controller/UserController.java @@ -26,13 +26,14 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; import gg.data.game.type.Mode; import gg.data.user.type.OauthType; import gg.data.user.type.RoleType; import gg.pingpong.api.global.dto.PageRequestDto; import gg.pingpong.api.global.security.cookie.CookieUtil; import gg.pingpong.api.global.security.jwt.utils.TokenHeaders; -import gg.pingpong.api.global.utils.argumentresolver.Login; import gg.pingpong.api.user.user.controller.request.UserModifyRequestDto; import gg.pingpong.api.user.user.controller.request.UserProfileImageRequestDto; import gg.pingpong.api.user.user.controller.response.UserAttendanceResponseDto; @@ -47,7 +48,6 @@ import gg.pingpong.api.user.user.controller.response.UserSearchResponseDto; import gg.pingpong.api.user.user.dto.UserAccessTokenDto; import gg.pingpong.api.user.user.dto.UserBackgroundDto; -import gg.pingpong.api.user.user.dto.UserDto; import gg.pingpong.api.user.user.dto.UserEdgeDto; import gg.pingpong.api.user.user.dto.UserOauthDto; import gg.pingpong.api.user.user.dto.UserTextColorDto; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/service/UserAuthenticationService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/service/UserAuthenticationService.java index cc79e0045..71456b835 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/service/UserAuthenticationService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/service/UserAuthenticationService.java @@ -2,8 +2,8 @@ import org.springframework.stereotype.Service; +import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.global.security.jwt.repository.JwtRedisRepository; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.utils.exception.user.TokenNotValidException; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/service/UserService.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/service/UserService.java index eeae4bcdc..eb51ce05f 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/service/UserService.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/user/user/service/UserService.java @@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import gg.auth.UserDto; import gg.data.game.Game; import gg.data.game.PChange; import gg.data.game.type.StatusType; @@ -49,7 +50,6 @@ import gg.pingpong.api.user.user.controller.response.UserNormalDetailResponseDto; import gg.pingpong.api.user.user.controller.response.UserRankResponseDto; import gg.pingpong.api.user.user.dto.UserBackgroundDto; -import gg.pingpong.api.user.user.dto.UserDto; import gg.pingpong.api.user.user.dto.UserEdgeDto; import gg.pingpong.api.user.user.dto.UserHistoryData; import gg.pingpong.api.user.user.dto.UserImageDto; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/announcement/controller/AnnouncementAdminControllerFailTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/announcement/controller/AnnouncementAdminControllerFailTest.java index f16fdb198..9d4fc9af7 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/announcement/controller/AnnouncementAdminControllerFailTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/announcement/controller/AnnouncementAdminControllerFailTest.java @@ -14,7 +14,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.manage.AnnouncementAdminRepository; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; +import gg.auth.utils.AuthTokenProvider; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/announcement/controller/AnnouncementAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/announcement/controller/AnnouncementAdminControllerTest.java index bfa486b51..d03b9695b 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/announcement/controller/AnnouncementAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/announcement/controller/AnnouncementAdminControllerTest.java @@ -16,10 +16,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.manage.AnnouncementAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.manage.Announcement; import gg.pingpong.api.admin.manage.controller.response.AnnouncementAdminListResponseDto; import gg.pingpong.api.admin.manage.dto.AnnouncementAdminAddDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; import gg.utils.exception.announcement.AnnounceNotFoundException; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinAdminControllerTest.java index 7c793e47c..25d471b4e 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinAdminControllerTest.java @@ -15,8 +15,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.admin.store.controller.request.CoinUpdateRequestDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.user.UserRepository; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinPolicyAdminControllerFailTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinPolicyAdminControllerFailTest.java index 269e280fc..0a061052e 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinPolicyAdminControllerFailTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinPolicyAdminControllerFailTest.java @@ -15,8 +15,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.store.CoinPolicyAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.admin.store.dto.CoinPolicyAdminAddDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinPolicyAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinPolicyAdminControllerTest.java index b31cc0581..243ecb2b8 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinPolicyAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/coin/controller/CoinPolicyAdminControllerTest.java @@ -18,11 +18,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.store.CoinPolicyAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.store.CoinPolicy; import gg.data.user.User; import gg.pingpong.api.admin.store.controller.response.CoinPolicyAdminListResponseDto; import gg.pingpong.api.admin.store.dto.CoinPolicyAdminAddDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; import gg.utils.exception.coin.CoinPolicyNotFoundException; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/feedback/controller/FeedbackAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/feedback/controller/FeedbackAdminControllerTest.java index 4f3d7304e..14e11b961 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/feedback/controller/FeedbackAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/feedback/controller/FeedbackAdminControllerTest.java @@ -15,11 +15,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.manage.FeedbackAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.manage.Feedback; import gg.data.manage.type.FeedbackType; import gg.data.user.User; import gg.pingpong.api.admin.manage.controller.response.FeedbackListAdminResponseDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.user.UserRepository; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/game/controller/GameAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/game/controller/GameAdminControllerTest.java index 5c7f3b35c..ccfff6fdc 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/game/controller/GameAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/game/controller/GameAdminControllerTest.java @@ -25,6 +25,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.type.Mode; import gg.data.rank.Rank; import gg.data.rank.Tier; @@ -32,7 +33,6 @@ import gg.data.user.User; import gg.pingpong.api.admin.game.controller.response.GameLogListAdminResponseDto; import gg.pingpong.api.admin.game.dto.RankGamePPPModifyReqDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.game.controller.request.RankResultReqDto; import gg.pingpong.api.user.game.service.GameService; import gg.pingpong.api.user.match.service.GameUpdateService; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/item/controller/ItemAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/item/controller/ItemAdminControllerTest.java index 734c16218..1b0016ac2 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/item/controller/ItemAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/item/controller/ItemAdminControllerTest.java @@ -25,12 +25,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.store.ItemAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.store.Item; import gg.data.store.type.ItemType; import gg.pingpong.api.admin.store.controller.request.ItemUpdateRequestDto; import gg.pingpong.api.admin.store.controller.response.ItemListResponseDto; import gg.pingpong.api.admin.store.service.ItemAdminService; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.global.utils.ItemImageHandler; import gg.repo.user.UserRepository; import gg.utils.ItemTestUtils; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/item/service/ItemAdminServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/item/service/ItemAdminServiceUnitTest.java index 18a30742d..bf9041e63 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/item/service/ItemAdminServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/item/service/ItemAdminServiceUnitTest.java @@ -21,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile; import gg.admin.repo.store.ItemAdminRepository; +import gg.auth.UserDto; import gg.data.store.Item; import gg.data.user.User; import gg.data.user.type.RacketType; @@ -29,7 +30,6 @@ import gg.pingpong.api.admin.store.controller.request.ItemUpdateRequestDto; import gg.pingpong.api.admin.store.service.ItemAdminService; import gg.pingpong.api.global.utils.aws.AsyncNewItemImageUploader; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.annotation.UnitTest; import gg.utils.exception.item.ItemNotAvailableException; import gg.utils.exception.item.ItemNotFoundException; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/megaphone/controller/MegaphoneAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/megaphone/controller/MegaphoneAdminControllerTest.java index 7a8201a63..2d2992418 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/megaphone/controller/MegaphoneAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/megaphone/controller/MegaphoneAdminControllerTest.java @@ -12,7 +12,7 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.test.web.servlet.MockMvc; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; +import gg.auth.utils.AuthTokenProvider; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/noti/controller/NotiAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/noti/controller/NotiAdminControllerTest.java index 71343707a..b65aa8378 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/noti/controller/NotiAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/noti/controller/NotiAdminControllerTest.java @@ -24,6 +24,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.noti.NotiAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.noti.Noti; import gg.data.noti.type.NotiType; import gg.data.user.User; @@ -31,7 +32,6 @@ import gg.pingpong.api.admin.noti.controller.response.NotiListAdminResponseDto; import gg.pingpong.api.admin.noti.dto.NotiAdminDto; import gg.pingpong.api.admin.noti.service.NotiAdminService; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.noti.NotiRepository; import gg.repo.user.UserRepository; import gg.utils.TestDataUtils; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/noti/service/NotiAdminServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/noti/service/NotiAdminServiceUnitTest.java index 62a19d4fa..bc80a9211 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/noti/service/NotiAdminServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/noti/service/NotiAdminServiceUnitTest.java @@ -20,11 +20,11 @@ import gg.admin.repo.noti.NotiAdminRepository; import gg.admin.repo.user.UserAdminRepository; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.data.user.User; import gg.pingpong.api.admin.noti.controller.request.SendNotiAdminRequestDto; import gg.pingpong.api.user.noti.service.SnsNotiService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.annotation.UnitTest; import gg.utils.exception.user.UserNotFoundException; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/penalty/controller/PenaltyAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/penalty/controller/PenaltyAdminControllerTest.java index c67f02ef6..6db18709a 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/penalty/controller/PenaltyAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/penalty/controller/PenaltyAdminControllerTest.java @@ -30,6 +30,7 @@ import gg.admin.repo.manage.PenaltyAdminRepository; import gg.admin.repo.manage.PenaltyUserAdminRedisRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.manage.Penalty; import gg.data.manage.redis.RedisPenaltyUser; import gg.data.manage.type.PenaltyType; @@ -40,7 +41,6 @@ import gg.pingpong.api.admin.manage.controller.request.PenaltyRequestDto; import gg.pingpong.api.admin.manage.controller.response.PenaltyListResponseDto; import gg.pingpong.api.admin.manage.service.PenaltyAdminService; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.user.UserRepository; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; @@ -160,12 +160,12 @@ public void checkPagination() throws Exception { for (int i = 0; i < 20; i++) { User newUser = testDataUtils.createNewUser(); users.add(newUser); - penaltyAdminService.givePenalty(newUser.getIntraId(), 3, "test" + String.valueOf(i)); + penaltyAdminService.givePenalty(newUser.getIntraId(), 3, "test" + i); } List sizeCounts = new ArrayList(); Integer totalPages = -1; for (int i = 1; i <= 3; i++) { - String url = "/pingpong/admin/penalty?page=" + String.valueOf(i) + "&size=10¤t=true"; + String url = "/pingpong/admin/penalty?page=" + i + "&size=10¤t=true"; String contentAsString = mockMvc.perform( get(url).header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)) .andExpect(status().isOk()).andReturn().getResponse().getContentAsString(); @@ -207,19 +207,19 @@ public void checkPaginationWithKeyword() throws Exception { User newUser = testDataUtils.createNewUser(intraId, "test", RacketType.NONE, SnsType.EMAIL, RoleType.USER); users.add(newUser); - penaltyAdminService.givePenalty(newUser.getIntraId(), 3, "test" + String.valueOf(i)); + penaltyAdminService.givePenalty(newUser.getIntraId(), 3, "test" + i); } for (int i = 0; i < 20; i++) { - String intraId = "dummy" + String.valueOf(i); + String intraId = "dummy" + i; User newUser = testDataUtils.createNewUser(intraId, "test", RacketType.NONE, SnsType.EMAIL, RoleType.USER); users.add(newUser); - penaltyAdminService.givePenalty(newUser.getIntraId(), 3, "test" + String.valueOf(i)); + penaltyAdminService.givePenalty(newUser.getIntraId(), 3, "test" + i); } List sizeCounts = new ArrayList(); Integer totalPages = -1; for (int i = 1; i <= 3; i++) { - String url = "/pingpong/admin/penalty?page=" + String.valueOf(i) + "&size=10¤t=true&intraId=test"; + String url = "/pingpong/admin/penalty?page=" + i + "&size=10¤t=true&intraId=test"; String contentAsString = mockMvc.perform( get(url).header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)) .andExpect(status().isOk()).andReturn().getResponse().getContentAsString(); @@ -332,13 +332,13 @@ public void getCurrentPenalties() throws Exception { //현재 패널티 부여 for (int i = 0; i < 20; i++) { - penaltyAdminService.givePenalty(users.get(i).getIntraId(), 3, "test" + String.valueOf(i)); + penaltyAdminService.givePenalty(users.get(i).getIntraId(), 3, "test" + i); } List sizeCounts = new ArrayList(); Integer totalPages = -1; for (int i = 1; i <= 3; i++) { - String url = "/pingpong/admin/penalty?page=" + String.valueOf(i) + "&size=10¤t=true"; + String url = "/pingpong/admin/penalty?page=" + i + "&size=10¤t=true"; String contentAsString = mockMvc.perform( get(url).header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken)) .andExpect(status().isOk()).andReturn().getResponse().getContentAsString(); diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/receipt/controller/ReceiptAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/receipt/controller/ReceiptAdminControllerTest.java index 3a157f59e..7cc97f041 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/receipt/controller/ReceiptAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/receipt/controller/ReceiptAdminControllerTest.java @@ -19,13 +19,13 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.store.ReceiptAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.store.Item; import gg.data.store.type.ItemType; import gg.data.user.User; import gg.pingpong.api.admin.store.controller.request.ItemUpdateRequestDto; import gg.pingpong.api.admin.store.controller.response.ReceiptListResponseDto; import gg.pingpong.api.admin.store.service.ReceiptAdminService; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.utils.ItemTestUtils; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/season/controller/SeasonAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/season/controller/SeasonAdminControllerTest.java index fdc758d2e..6eef3fec4 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/season/controller/SeasonAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/season/controller/SeasonAdminControllerTest.java @@ -20,6 +20,7 @@ import com.google.common.net.HttpHeaders; import gg.admin.repo.season.SeasonAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.rank.Tier; import gg.data.season.Season; import gg.pingpong.api.admin.rank.service.RankAdminService; @@ -29,7 +30,6 @@ import gg.pingpong.api.admin.season.controller.response.SeasonListAdminResponseDto; import gg.pingpong.api.admin.season.dto.SeasonAdminDto; import gg.pingpong.api.admin.season.service.SeasonAdminService; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.rank.RankRepository; import gg.repo.rank.redis.RankRedisRepository; import gg.utils.RedisKeyManager; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/slotmanagement/controller/SlotAdminControllerFailTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/slotmanagement/controller/SlotAdminControllerFailTest.java index 2d6f207cd..a76eaba89 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/slotmanagement/controller/SlotAdminControllerFailTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/slotmanagement/controller/SlotAdminControllerFailTest.java @@ -18,9 +18,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.manage.AdminSlotManagementsRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.manage.SlotManagement; import gg.pingpong.api.admin.manage.controller.request.SlotCreateRequestDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.manage.SlotManagementRepository; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/slotmanagement/controller/SlotAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/slotmanagement/controller/SlotAdminControllerTest.java index f41d37e56..fca73ff02 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/slotmanagement/controller/SlotAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/slotmanagement/controller/SlotAdminControllerTest.java @@ -19,11 +19,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.manage.AdminSlotManagementsRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.manage.SlotManagement; import gg.pingpong.api.admin.manage.controller.request.SlotCreateRequestDto; import gg.pingpong.api.admin.manage.controller.response.SlotListAdminResponseDto; import gg.pingpong.api.admin.manage.dto.SlotAdminDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.manage.SlotManagementRepository; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/tournament/controller/TournamentAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/tournament/controller/TournamentAdminControllerTest.java index f5aa141e6..c3ef6dc5c 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/tournament/controller/TournamentAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/tournament/controller/TournamentAdminControllerTest.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.type.Mode; import gg.data.season.Season; import gg.data.tournament.Tournament; @@ -35,7 +36,6 @@ import gg.pingpong.api.admin.tournament.controller.request.TournamentAdminUpdateRequestDto; import gg.pingpong.api.admin.tournament.controller.request.TournamentGameUpdateRequestDto; import gg.pingpong.api.admin.tournament.service.TournamentAdminService; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.game.dto.TeamReqDto; import gg.pingpong.api.user.match.utils.MatchIntegrationTestUtils; import gg.repo.game.PChangeRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/tournament/controller/TournamentAdminUserControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/tournament/controller/TournamentAdminUserControllerTest.java index 3ed665cae..64cb3601b 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/tournament/controller/TournamentAdminUserControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/tournament/controller/TournamentAdminUserControllerTest.java @@ -16,12 +16,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.tournament.Tournament; import gg.data.user.User; import gg.data.user.type.RacketType; import gg.data.user.type.RoleType; import gg.data.user.type.SnsType; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.tournament.controller.response.TournamentUserListResponseDto; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/user/controller/UserAdminControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/user/controller/UserAdminControllerTest.java index f07602ba8..8e5c69726 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/user/controller/UserAdminControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/admin/user/controller/UserAdminControllerTest.java @@ -24,6 +24,7 @@ import gg.admin.repo.user.UserAdminRepository; import gg.admin.repo.user.UserImageAdminRepository; +import gg.auth.utils.AuthTokenProvider; import gg.data.user.User; import gg.data.user.UserImage; import gg.pingpong.api.admin.user.controller.response.UserDetailAdminResponseDto; @@ -32,7 +33,6 @@ import gg.pingpong.api.admin.user.dto.UserImageAdminDto; import gg.pingpong.api.admin.user.dto.UserSearchAdminDto; import gg.pingpong.api.admin.user.service.UserAdminService; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.user.UserRepository; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/announcement/controller/AnnouncementControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/announcement/controller/AnnouncementControllerTest.java index f8c207877..d25ecc550 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/announcement/controller/AnnouncementControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/announcement/controller/AnnouncementControllerTest.java @@ -16,9 +16,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.manage.Announcement; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.manage.AnnouncementRepository; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/coin/service/CoinHistoryServiceTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/coin/service/CoinHistoryServiceTest.java index 3b61b83ba..3ef8eb665 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/coin/service/CoinHistoryServiceTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/coin/service/CoinHistoryServiceTest.java @@ -10,10 +10,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import gg.auth.utils.AuthTokenProvider; import gg.data.store.CoinHistory; import gg.data.store.CoinPolicy; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.store.service.CoinHistoryService; import gg.repo.store.CoinHistoryRepository; import gg.repo.store.CoinPolicyRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/coin/service/UserCoinChangeServiceTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/coin/service/UserCoinChangeServiceTest.java index afcf7a41b..cda866e20 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/coin/service/UserCoinChangeServiceTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/coin/service/UserCoinChangeServiceTest.java @@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.Game; import gg.data.game.type.Mode; import gg.data.season.Season; @@ -17,7 +18,6 @@ import gg.data.store.Item; import gg.data.store.type.ItemType; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.store.dto.UserGameCoinResultDto; import gg.pingpong.api.user.store.service.CoinHistoryService; import gg.pingpong.api.user.store.service.UserCoinChangeService; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/feedback/controller/FeedbackControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/feedback/controller/FeedbackControllerTest.java index ea796ed73..7d18ef831 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/feedback/controller/FeedbackControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/feedback/controller/FeedbackControllerTest.java @@ -15,9 +15,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.manage.Feedback; import gg.data.manage.type.FeedbackType; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.manage.controller.request.FeedbackRequestDto; import gg.repo.manage.FeedbackRepository; import gg.utils.TestDataUtils; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/feedback/controller/FeedbackControllerUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/feedback/controller/FeedbackControllerUnitTest.java index be96ba9ac..0587cd669 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/feedback/controller/FeedbackControllerUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/feedback/controller/FeedbackControllerUnitTest.java @@ -10,10 +10,10 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import gg.auth.UserDto; import gg.pingpong.api.user.manage.controller.FeedbackController; import gg.pingpong.api.user.manage.controller.request.FeedbackRequestDto; import gg.pingpong.api.user.manage.service.FeedbackService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.annotation.UnitTest; @UnitTest diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/GameControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/GameControllerTest.java index ff71b42b0..88feebf15 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/GameControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/GameControllerTest.java @@ -25,6 +25,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.Game; import gg.data.game.PChange; import gg.data.game.Team; @@ -41,7 +42,6 @@ import gg.data.user.type.RacketType; import gg.data.user.type.RoleType; import gg.data.user.type.SnsType; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.game.controller.request.RankResultReqDto; import gg.pingpong.api.user.game.controller.request.TournamentResultReqDto; import gg.pingpong.api.user.game.controller.response.GameListResDto; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameDBTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameDBTest.java index dd1fad1e7..3b0f3e0b8 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameDBTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameDBTest.java @@ -17,6 +17,7 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.transaction.annotation.Transactional; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.Game; import gg.data.game.Team; import gg.data.game.TeamUser; @@ -24,7 +25,6 @@ import gg.data.season.Season; import gg.data.user.User; import gg.pingpong.api.admin.game.service.GameAdminService; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.game.GameRepository; import gg.repo.game.PChangeRepository; import gg.repo.game.TeamRepository; @@ -75,9 +75,9 @@ public void cascadeTest() throws Exception { List gameList = gameRepository.findAll(); List teamList = teamRepository.findAll(); List teamUserList = teamUserRepository.findAll(); - log.info("GAME LIST SIZE : " + Integer.toString(gameList.size())); - log.info("TEAM LIST SIZE: " + Integer.toString(teamList.size())); - log.info("TEAM_USER LIST SIZE: " + Integer.toString(teamUserList.size())); + log.info("GAME LIST SIZE : " + gameList.size()); + log.info("TEAM LIST SIZE: " + teamList.size()); + log.info("TEAM_USER LIST SIZE: " + teamUserList.size()); Assertions.assertThat(teamList.size()).isEqualTo(0); Assertions.assertThat(teamUserList.size()).isEqualTo(0); } diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameFindServiceTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameFindServiceTest.java index deca8b8f5..4c725dedc 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameFindServiceTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameFindServiceTest.java @@ -16,6 +16,7 @@ import org.springframework.data.domain.Sort; import org.springframework.transaction.annotation.Transactional; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.Game; import gg.data.game.type.Mode; import gg.data.game.type.StatusType; @@ -23,7 +24,6 @@ import gg.data.rank.redis.RankRedis; import gg.data.season.Season; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.game.controller.response.GameListResDto; import gg.pingpong.api.user.game.controller.response.GameResultResDto; import gg.repo.game.GameRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameServiceTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameServiceTest.java index e26469fe4..4f77b2a9c 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameServiceTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/game/service/GameServiceTest.java @@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.Game; import gg.data.game.Team; import gg.data.game.TeamUser; @@ -20,7 +21,6 @@ import gg.data.rank.redis.RankRedis; import gg.data.season.Season; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.game.controller.request.RankResultReqDto; import gg.repo.game.GameRepository; import gg.repo.game.TeamRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemGiftControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemGiftControllerTest.java index 822070f34..2b59b4d29 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemGiftControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemGiftControllerTest.java @@ -17,10 +17,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; +import gg.auth.UserDto; +import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.user.store.controller.request.ItemGiftRequestDto; import gg.pingpong.api.user.store.service.ItemService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemPurchaseControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemPurchaseControllerTest.java index c9f285c73..86eeb00f0 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemPurchaseControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemPurchaseControllerTest.java @@ -16,9 +16,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; +import gg.auth.UserDto; +import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.user.store.service.ItemService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; import lombok.RequiredArgsConstructor; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemStoreListControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemStoreListControllerTest.java index 48fc990f5..163dd489a 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemStoreListControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/controller/ItemStoreListControllerTest.java @@ -21,7 +21,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; +import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.user.store.controller.response.ItemStoreListResponseDto; import gg.pingpong.api.user.store.controller.response.ItemStoreResponseDto; import gg.pingpong.api.user.store.service.ItemService; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/service/ItemServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/service/ItemServiceUnitTest.java index 45aeb4b29..f13ebd4cc 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/service/ItemServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/item/service/ItemServiceUnitTest.java @@ -20,6 +20,7 @@ import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; +import gg.auth.UserDto; import gg.data.store.Item; import gg.data.store.Receipt; import gg.data.store.type.ItemStatus; @@ -31,7 +32,6 @@ import gg.pingpong.api.user.noti.service.NotiService; import gg.pingpong.api.user.store.service.ItemService; import gg.pingpong.api.user.store.service.UserCoinChangeService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.store.ItemRepository; import gg.repo.store.ReceiptRepository; import gg.repo.store.UserItemRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchBothServiceTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchBothServiceTest.java index 6cac860e4..b5bcd42b9 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchBothServiceTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchBothServiceTest.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import gg.admin.repo.manage.PenaltyAdminRepository; +import gg.auth.UserDto; import gg.data.game.Game; import gg.data.manage.SlotManagement; import gg.data.manage.type.PenaltyKey; @@ -27,7 +28,6 @@ import gg.data.user.User; import gg.pingpong.api.user.manage.redis.PenaltyUserRedisRepository; import gg.pingpong.api.user.match.utils.MatchIntegrationTestUtils; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.GameRepository; import gg.repo.manage.SlotManagementRepository; import gg.repo.match.RedisMatchTimeRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchFindServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchFindServiceUnitTest.java index e84103f51..6dcce6d48 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchFindServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchFindServiceUnitTest.java @@ -21,6 +21,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import gg.auth.UserDto; import gg.data.game.Game; import gg.data.game.type.StatusType; import gg.data.manage.SlotManagement; @@ -32,7 +33,6 @@ import gg.data.user.User; import gg.pingpong.api.user.match.utils.SlotGenerator; import gg.pingpong.api.user.season.service.SeasonFindService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.GameRepository; import gg.repo.manage.SlotManagementRepository; import gg.repo.match.RedisMatchTimeRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchServiceTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchServiceTest.java index e40f7f2dc..c017f78be 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchServiceTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/match/service/MatchServiceTest.java @@ -23,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional; import gg.admin.repo.manage.PenaltyAdminRepository; +import gg.auth.UserDto; import gg.data.game.Game; import gg.data.game.type.Mode; import gg.data.manage.SlotManagement; @@ -47,7 +48,6 @@ import gg.pingpong.api.user.match.dto.SlotStatusDto; import gg.pingpong.api.user.match.utils.MatchIntegrationTestUtils; import gg.pingpong.api.user.rank.redis.RedisUploadService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.GameRepository; import gg.repo.manage.SlotManagementRepository; import gg.repo.match.RedisMatchTimeRepository; @@ -377,7 +377,7 @@ void readMyTableAfterMakingGame() { SlotStatusResponseListDto slotStatusList = matchFindService.getAllMatchStatus(UserDto.from(users.get(0)), Option.NORMAL); for (int i = 0; i < 3; i++) { - System.out.println("slotTimes = " + String.valueOf(i) + slotTimes.get(i)); + System.out.println("slotTimes = " + i + slotTimes.get(i)); } for (List dtos : slotStatusList.getMatchBoards()) { for (SlotStatusDto dto : dtos) { diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/megaphone/controller/MegaphoneControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/megaphone/controller/MegaphoneControllerTest.java index eb7ac45c5..86d5b2621 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/megaphone/controller/MegaphoneControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/megaphone/controller/MegaphoneControllerTest.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.store.Item; import gg.data.store.Megaphone; import gg.data.store.Receipt; @@ -27,7 +28,6 @@ import gg.data.user.type.RoleType; import gg.data.user.type.SnsType; import gg.pingpong.api.admin.store.controller.request.ItemUpdateRequestDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.store.controller.request.MegaphoneUseRequestDto; import gg.repo.store.MegaphoneRepository; import gg.repo.store.ReceiptRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/megaphone/service/MegaphoneServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/megaphone/service/MegaphoneServiceUnitTest.java index 1dd4dce0d..305d43fe1 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/megaphone/service/MegaphoneServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/megaphone/service/MegaphoneServiceUnitTest.java @@ -22,6 +22,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import gg.auth.UserDto; import gg.data.store.Item; import gg.data.store.Megaphone; import gg.data.store.Receipt; @@ -35,7 +36,6 @@ import gg.pingpong.api.user.store.redis.MegaphoneRedisRepository; import gg.pingpong.api.user.store.service.ItemService; import gg.pingpong.api.user.store.service.MegaphoneService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.store.MegaphoneRepository; import gg.repo.store.ReceiptRepository; import gg.repo.user.UserRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/controller/NotiControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/controller/NotiControllerTest.java index b6f3c805a..0193eaca6 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/controller/NotiControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/controller/NotiControllerTest.java @@ -16,13 +16,13 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.UserDto; +import gg.auth.utils.AuthTokenProvider; import gg.data.noti.Noti; import gg.data.noti.type.NotiType; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.noti.controller.response.NotiListResponseDto; import gg.pingpong.api.user.noti.service.NotiService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.noti.NotiRepository; import gg.repo.user.UserRepository; import gg.utils.TestDataUtils; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/NotiServiceTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/NotiServiceTest.java index 0a4fbbeb8..43d3bf657 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/NotiServiceTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/NotiServiceTest.java @@ -11,11 +11,11 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import gg.auth.UserDto; +import gg.auth.utils.AuthTokenProvider; import gg.data.noti.Noti; import gg.data.noti.type.NotiType; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.noti.NotiRepository; import gg.repo.user.UserRepository; import gg.utils.TestDataUtils; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/NotiServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/NotiServiceUnitTest.java index c498b707f..314d88a62 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/NotiServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/NotiServiceUnitTest.java @@ -16,13 +16,13 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.data.noti.type.NotiType; import gg.data.user.User; import gg.data.user.type.RacketType; import gg.data.user.type.RoleType; import gg.data.user.type.SnsType; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.noti.NotiRepository; import gg.repo.user.UserRepository; import gg.utils.annotation.UnitTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/SnsNotiServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/SnsNotiServiceUnitTest.java index bb49f754d..b06af7597 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/SnsNotiServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/SnsNotiServiceUnitTest.java @@ -10,12 +10,12 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.data.user.type.SnsType; import gg.pingpong.api.user.noti.dto.UserNotiDto; import gg.pingpong.api.user.noti.service.sns.NotiMailSender; import gg.pingpong.api.user.noti.service.sns.SlackbotService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.out.GameUser; import gg.utils.annotation.UnitTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/sns/NotiMailSenderUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/sns/NotiMailSenderUnitTest.java index 4161564b2..8df09d2fc 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/sns/NotiMailSenderUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/noti/service/sns/NotiMailSenderUnitTest.java @@ -12,11 +12,11 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.mail.javamail.JavaMailSender; +import gg.auth.UserDto; import gg.data.noti.Noti; import gg.pingpong.api.global.utils.AsyncMailSender; import gg.pingpong.api.user.noti.dto.UserNotiDto; import gg.pingpong.api.user.noti.service.NotiService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.game.out.GameUser; import gg.utils.annotation.UnitTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/controller/RankControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/controller/RankControllerTest.java index 99e9e8e6d..4184dbe88 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/controller/RankControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/controller/RankControllerTest.java @@ -19,9 +19,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.season.Season; import gg.data.user.User; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.rank.controller.response.ExpRankPageResponseDto; import gg.pingpong.api.user.rank.controller.response.RankPageResponseDto; import gg.pingpong.api.user.rank.dto.RankDto; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/controller/RankV2ControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/controller/RankV2ControllerTest.java index 01f676b0a..114f4030d 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/controller/RankV2ControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/controller/RankV2ControllerTest.java @@ -19,16 +19,16 @@ import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.web.servlet.MockMvc; +import gg.auth.UserDto; +import gg.auth.utils.AuthTokenProvider; import gg.data.user.User; import gg.pingpong.api.global.config.WebConfig; import gg.pingpong.api.global.security.config.SecurityConfig; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.global.security.jwt.utils.TokenAuthenticationFilter; import gg.pingpong.api.global.utils.querytracker.LoggingInterceptor; import gg.pingpong.api.user.rank.controller.response.ExpRankPageResponseDto; import gg.pingpong.api.user.rank.controller.response.RankPageResponseDto; import gg.pingpong.api.user.rank.service.RankService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.user.UserRepository; @WebMvcTest(value = RankV2Controller.class, diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/service/RankServiceTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/service/RankServiceTest.java index 9e0afdb01..fc3ab3884 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/service/RankServiceTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/rank/service/RankServiceTest.java @@ -17,12 +17,12 @@ import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; +import gg.auth.UserDto; import gg.data.season.Season; import gg.data.user.User; import gg.pingpong.api.user.rank.controller.response.ExpRankPageResponseDto; import gg.pingpong.api.user.rank.controller.response.RankPageResponseDto; import gg.pingpong.api.user.season.service.SeasonFindService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.repo.rank.RankRepository; import gg.repo.rank.RankV2Dto; import gg.repo.rank.redis.RankRedisRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/season/SeasonTestController.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/season/SeasonTestController.java index 8b20a431e..7cf130d07 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/season/SeasonTestController.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/season/SeasonTestController.java @@ -18,8 +18,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.season.Season; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.season.controller.response.SeasonListResDto; import gg.pingpong.api.user.season.controller.response.SeasonResDto; import gg.pingpong.api.user.season.service.SeasonService; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/season/SeasonTriggerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/season/SeasonTriggerTest.java index 1728f970d..b512dd3c2 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/season/SeasonTriggerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/season/SeasonTriggerTest.java @@ -16,9 +16,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.type.Mode; import gg.data.season.Season; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.repo.season.SeasonRepository; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentControllerMvcTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentControllerMvcTest.java index 33ffb76d7..511c34b33 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentControllerMvcTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentControllerMvcTest.java @@ -20,6 +20,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.test.web.servlet.MockMvc; +import gg.auth.UserDto; +import gg.auth.config.AuthWebConfig; import gg.pingpong.api.global.config.WebConfig; import gg.pingpong.api.global.security.config.SecurityConfig; import gg.pingpong.api.global.security.jwt.utils.TokenAuthenticationFilter; @@ -30,13 +32,13 @@ import gg.pingpong.api.user.tournament.controller.response.TournamentResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentUserRegistrationResponseDto; import gg.pingpong.api.user.tournament.service.TournamentService; -import gg.pingpong.api.user.user.dto.UserDto; import gg.utils.annotation.UnitTest; @UnitTest @WebMvcTest(controllers = TournamentController.class, excludeFilters = { @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = SecurityConfig.class), @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = WebConfig.class), + @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = AuthWebConfig.class), @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = TokenAuthenticationFilter.class), @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = LoggingInterceptor.class)}) class TournamentControllerMvcTest { diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentFindControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentFindControllerTest.java index aaade00a1..18a222941 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentFindControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentFindControllerTest.java @@ -20,6 +20,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.tournament.Tournament; import gg.data.tournament.TournamentUser; import gg.data.tournament.type.TournamentStatus; @@ -28,7 +29,6 @@ import gg.data.user.type.RacketType; import gg.data.user.type.RoleType; import gg.data.user.type.SnsType; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.tournament.controller.response.TournamentListResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentResponseDto; import gg.repo.tournarment.TournamentUserRepository; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentGameControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentGameControllerTest.java index b98c27d0e..f871c55d7 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentGameControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/controller/TournamentGameControllerTest.java @@ -18,6 +18,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.type.Mode; import gg.data.season.Season; import gg.data.tournament.Tournament; @@ -28,7 +29,6 @@ import gg.data.user.type.RacketType; import gg.data.user.type.RoleType; import gg.data.user.type.SnsType; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.user.tournament.controller.response.TournamentGameListResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentGameResDto; import gg.utils.TestDataUtils; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/service/TournamentServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/service/TournamentServiceUnitTest.java index f639df29f..9cf4c8d46 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/service/TournamentServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/tournament/service/TournamentServiceUnitTest.java @@ -24,6 +24,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import gg.auth.UserDto; import gg.data.game.Game; import gg.data.game.type.StatusType; import gg.data.tournament.Tournament; @@ -43,7 +44,6 @@ import gg.pingpong.api.user.tournament.controller.response.TournamentGameListResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentResponseDto; import gg.pingpong.api.user.tournament.controller.response.TournamentUserRegistrationResponseDto; -import gg.pingpong.api.user.user.dto.UserDto; import gg.pingpong.api.utils.ReflectionUtilsForUnitTest; import gg.repo.game.GameRepository; import gg.repo.game.out.GameTeamUser; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/user/controller/UserControllerTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/user/controller/UserControllerTest.java index 7553d1f94..9d57c29c2 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/user/controller/UserControllerTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/user/controller/UserControllerTest.java @@ -27,6 +27,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.Game; import gg.data.game.type.Mode; import gg.data.game.type.StatusType; @@ -45,7 +46,6 @@ import gg.data.user.type.RoleType; import gg.data.user.type.SnsType; import gg.pingpong.api.admin.store.controller.request.ItemUpdateRequestDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.pingpong.api.global.utils.UserImageHandler; import gg.pingpong.api.user.game.controller.request.RankResultReqDto; import gg.pingpong.api.user.game.service.GameService; diff --git a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/user/service/UserAuthenticationServiceUnitTest.java b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/user/service/UserAuthenticationServiceUnitTest.java index 7a24f2f2c..713c49a25 100644 --- a/gg-pingpong-api/src/test/java/gg/pingpong/api/user/user/service/UserAuthenticationServiceUnitTest.java +++ b/gg-pingpong-api/src/test/java/gg/pingpong/api/user/user/service/UserAuthenticationServiceUnitTest.java @@ -11,8 +11,8 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.global.security.jwt.repository.JwtRedisRepository; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; import gg.utils.annotation.UnitTest; import gg.utils.exception.user.TokenNotValidException; diff --git a/gg-utils/build.gradle b/gg-utils/build.gradle index 5f95eb653..ee14b69b8 100644 --- a/gg-utils/build.gradle +++ b/gg-utils/build.gradle @@ -88,11 +88,13 @@ dependencies { testFixturesAnnotationProcessor("org.projectlombok:lombok") testFixturesImplementation project(":gg-data") + testFixturesImplementation project(":gg-auth") testFixturesImplementation project(":gg-repo") testFixturesImplementation project(":gg-admin-repo") testFixturesImplementation project(":gg-pingpong-api") jacocoAggregation(project(':gg-data')) + jacocoAggregation(project(':gg-auth')) jacocoAggregation(project(':gg-repo')) jacocoAggregation(project(':gg-admin-repo')) jacocoAggregation(project(':gg-pingpong-api')) diff --git a/gg-utils/src/testFixtures/java/gg/utils/TestDataUtils.java b/gg-utils/src/testFixtures/java/gg/utils/TestDataUtils.java index 9de9768b6..c4ba5a62f 100644 --- a/gg-utils/src/testFixtures/java/gg/utils/TestDataUtils.java +++ b/gg-utils/src/testFixtures/java/gg/utils/TestDataUtils.java @@ -37,7 +37,7 @@ import gg.data.user.type.SnsType; import gg.pingpong.api.admin.tournament.controller.request.TournamentAdminCreateRequestDto; import gg.pingpong.api.admin.tournament.controller.request.TournamentAdminUpdateRequestDto; -import gg.pingpong.api.global.security.jwt.utils.AuthTokenProvider; +import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.user.tournament.controller.response.TournamentResponseDto; import gg.pingpong.api.user.user.dto.UserImageDto; import gg.repo.game.GameRepository; diff --git a/settings.gradle b/settings.gradle index ae330bfed..887aef09f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,4 +4,5 @@ include 'gg-admin-repo' include 'gg-repo' include 'gg-pingpong-api' include 'gg-utils' +include 'gg-auth' From d57611c954a136c5ff48718ee2aefef2af49c07b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B8=B0=ED=98=84=28gkwon=29?= <79272189+ghyen@users.noreply.github.com> Date: Tue, 5 Mar 2024 20:43:05 +0900 Subject: [PATCH 02/10] =?UTF-8?q?640=20=EB=B0=A9=20=EB=82=98=EA=B0=80?= =?UTF-8?q?=EA=B8=B0=20api=20(#677)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: yes-ee --- gg-data/src/main/java/gg/data/party/Room.java | 12 +++++ .../src/main/java/gg/data/party/UserRoom.java | 10 ++-- .../java/gg/data/party/type/RoomType.java | 31 +++++++++-- .../user/comment/service/CommentService.java | 2 +- .../user/room/controller/RoomController.java | 12 +++++ .../controller/response/LeaveRoomResDto.java | 10 ++++ .../api/user/room/service/RoomService.java | 52 ++++++++++++++++++- .../java/gg/repo/party/RoomRepository.java | 2 + .../gg/repo/party/UserRoomRepository.java | 4 ++ .../java/gg/utils/exception/ErrorCode.java | 5 +- .../party/RoomNotFoundException.java | 8 ++- .../exception/party/RoomNotOpenException.java | 14 +++++ .../party/RoomNotParticipantException.java | 14 +++++ .../party/UserNotFoundException.java | 11 ++++ .../java/gg/utils/TestDataUtils.java | 2 +- 15 files changed, 176 insertions(+), 13 deletions(-) create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/LeaveRoomResDto.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/RoomNotOpenException.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/RoomNotParticipantException.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/UserNotFoundException.java diff --git a/gg-data/src/main/java/gg/data/party/Room.java b/gg-data/src/main/java/gg/data/party/Room.java index 7f0c879f6..fe3b624c7 100644 --- a/gg-data/src/main/java/gg/data/party/Room.java +++ b/gg-data/src/main/java/gg/data/party/Room.java @@ -84,4 +84,16 @@ public Room(User host, User creator, Category category, String title, String con this.dueDate = dueDate; this.status = status; } + + public void updateCurrentPeople(int currentPeople) { + this.currentPeople = currentPeople; + } + + public void updateStatus(RoomType status) { + this.status = status; + } + + public void updateHost(User host) { + this.host = host; + } } diff --git a/gg-data/src/main/java/gg/data/party/UserRoom.java b/gg-data/src/main/java/gg/data/party/UserRoom.java index 6057d3314..43c3ff642 100644 --- a/gg-data/src/main/java/gg/data/party/UserRoom.java +++ b/gg-data/src/main/java/gg/data/party/UserRoom.java @@ -1,6 +1,7 @@ package gg.data.party; -import java.time.LocalDateTime; +import static gg.utils.exception.BusinessChecker.*; +import static gg.utils.exception.ErrorCode.*; import javax.persistence.Column; import javax.persistence.Entity; @@ -12,10 +13,8 @@ import javax.persistence.ManyToOne; import gg.data.BaseTimeEntity; -import gg.data.tournament.Tournament; import gg.data.user.User; import lombok.AccessLevel; -import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; @@ -48,6 +47,11 @@ public UserRoom(User user, Room room, String randomNickname) { this.isExist = true; } + public void updateIsExist(boolean isExist) { + mustNotNull(isExist, NULL_POINT); + this.isExist = isExist; + } + public boolean getIsExist() { return this.isExist; } diff --git a/gg-data/src/main/java/gg/data/party/type/RoomType.java b/gg-data/src/main/java/gg/data/party/type/RoomType.java index 2132a5381..0909cefef 100644 --- a/gg-data/src/main/java/gg/data/party/type/RoomType.java +++ b/gg-data/src/main/java/gg/data/party/type/RoomType.java @@ -1,13 +1,36 @@ package gg.data.party.type; +import java.util.Locale; + +import com.fasterxml.jackson.annotation.JsonCreator; + import lombok.Getter; import lombok.RequiredArgsConstructor; @Getter @RequiredArgsConstructor public enum RoomType { - OPEN, // Ordinal 0 - START, // Ordinal 1 - FINISH, // Ordinal 2 - HIDDEN // Ordinal 3 + OPEN("open", "방 시작 전"), + START("live", "방 진행 중"), + FINISH("end", "방 종료"), + HIDDEN("end", "신고로 인한 가림 상태"), + FAIL("end", "매칭 실패한 방"); + + private final String code; + private final String desc; + + @JsonCreator + public static RoomType getEnumFromValue(String value) { + if (value == null) { + return null; + } + for (RoomType e : values()) { + if (e.name().equals(value)) { + return e; + } else if (e.code.toUpperCase(Locale.ROOT).equals(value.toUpperCase(Locale.ROOT))) { + return e; + } + } + return null; + } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/service/CommentService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/service/CommentService.java index 2ee2e05d0..82ce4705b 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/service/CommentService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/service/CommentService.java @@ -37,7 +37,7 @@ public class CommentService { @Transactional public void createComment(Long roomId, CommentCreateReqDto reqDto, Long userId) { Room room = roomRepository.findById(roomId) - .orElseThrow(() -> new RoomNotFoundException("방을 찾을 수 없습니다.")); + .orElseThrow(() -> new RoomNotFoundException(ErrorCode.ROOM_NOT_FOUND)); if (LocalDateTime.now().isAfter(room.getDueDate())) { throw new RoomUpdateException(ErrorCode.ROOM_FINISHED); } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java index cbb6c506f..ee70918f6 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java @@ -3,6 +3,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -12,6 +13,7 @@ import gg.auth.UserDto; import gg.auth.argumentresolver.Login; import gg.party.api.user.room.controller.request.RoomCreateReqDto; +import gg.party.api.user.room.controller.response.LeaveRoomResDto; import gg.party.api.user.room.controller.response.RoomDetailResDto; import gg.party.api.user.room.controller.response.RoomListResDto; import gg.party.api.user.room.service.RoomService; @@ -79,4 +81,14 @@ public ResponseEntity roomDetailInfo(@Parameter(hidden = true) RoomDetailResDto roomDetailResDto = roomService.findOrderRoomDetail(user.getId(), roomId); return ResponseEntity.status(HttpStatus.OK).body(roomDetailResDto); } + + /** + * 참여한 방을 나가기 한다 + * @return 나간 사람의 닉네임 + */ + @PatchMapping("/{room_id}") + public ResponseEntity leaveRoom(@PathVariable("room_id") Long roomId, + @Parameter(hidden = true) @Login UserDto user) { + return ResponseEntity.status(HttpStatus.OK).body(roomService.modifyOrderLeaveRoom(roomId, user)); + } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/LeaveRoomResDto.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/LeaveRoomResDto.java new file mode 100644 index 000000000..1ad9729f3 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/LeaveRoomResDto.java @@ -0,0 +1,10 @@ +package gg.party.api.user.room.controller.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public class LeaveRoomResDto { + private String nickname; +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java index d1f432183..b194830af 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java @@ -21,6 +21,7 @@ import gg.data.user.User; import gg.party.api.user.room.controller.request.RoomCreateReqDto; import gg.party.api.user.room.controller.response.CommentResDto; +import gg.party.api.user.room.controller.response.LeaveRoomResDto; import gg.party.api.user.room.controller.response.RoomDetailResDto; import gg.party.api.user.room.controller.response.RoomListResDto; import gg.party.api.user.room.controller.response.RoomResDto; @@ -30,8 +31,11 @@ import gg.repo.party.RoomRepository; import gg.repo.party.UserRoomRepository; import gg.repo.user.UserRepository; +import gg.utils.exception.ErrorCode; import gg.utils.exception.party.CategoryNotFoundException; import gg.utils.exception.party.RoomNotFoundException; +import gg.utils.exception.party.RoomNotOpenException; +import gg.utils.exception.party.RoomNotParticipantException; import gg.utils.exception.party.RoomReportedException; import gg.utils.exception.user.UserNotFoundException; import lombok.RequiredArgsConstructor; @@ -132,6 +136,52 @@ public RoomListResDto findOrderMyHistoryRoomList(Long userId) { return new RoomListResDto(roomListResDto); } + /** + * 유저가 방을 나간다 + * 참가자가 방에 참가한 상태일때만 취소해 준다. + * @param roomId + * @param user 참여 유저(사용자 본인) + * @throws RoomNotFoundException 방 없음 || 방 입장자가 아님 + * @return + */ + @Transactional + public LeaveRoomResDto modifyOrderLeaveRoom(Long roomId, UserDto user) { + Room targetRoom = roomRepository.findById(roomId) + .orElseThrow(RoomNotFoundException::new); + if (!targetRoom.getStatus().equals(RoomType.OPEN)) { + throw new RoomNotOpenException(); + } + + UserRoom targetUserRoom = userRoomRepository.findByUserAndRoom(userRepository.findById(user.getId()).get(), + targetRoom).orElseThrow(RoomNotParticipantException::new); + + // 모두 나갈 때 방 fail처리 + if (targetRoom.getCurrentPeople() == 1) { + targetRoom.updateCurrentPeople(0); + targetRoom.updateStatus(RoomType.FAIL); + targetUserRoom.updateIsExist(false); + roomRepository.save(targetRoom); + userRoomRepository.save(targetUserRoom); + return new LeaveRoomResDto(targetUserRoom.getNickname()); + } + + // 방장 이권 + if (user.getId().equals(targetRoom.getHost().getId())) { + List existUser = userRoomRepository.findByIsExist(roomId); + if (existUser.isEmpty()) { + throw new RoomNotFoundException(ErrorCode.ROOM_NOT_FOUND); + } + targetRoom.updateHost(existUser.get(0)); + } + + targetRoom.updateCurrentPeople(targetRoom.getCurrentPeople() - 1); + targetUserRoom.updateIsExist(false); + userRoomRepository.save(targetUserRoom); + roomRepository.save(targetRoom); + + return new LeaveRoomResDto(targetUserRoom.getNickname()); + } + /** * 방의 상세정보를 조회한다 * @param userId 자신의 id @@ -144,7 +194,7 @@ public RoomListResDto findOrderMyHistoryRoomList(Long userId) { @Transactional public RoomDetailResDto findOrderRoomDetail(Long userId, Long roomId) { Room room = roomRepository.findById(roomId) - .orElseThrow(() -> new RoomNotFoundException(roomId + "번 방을 찾을 수 없습니다.")); + .orElseThrow(() -> new RoomNotFoundException(ErrorCode.ROOM_NOT_FOUND)); if (room.getStatus() == RoomType.HIDDEN) { throw new RoomReportedException(roomId + "번방은 신고 상태로 접근이 불가능합니다."); } diff --git a/gg-repo/src/main/java/gg/repo/party/RoomRepository.java b/gg-repo/src/main/java/gg/repo/party/RoomRepository.java index b8048a7e2..c768cd251 100644 --- a/gg-repo/src/main/java/gg/repo/party/RoomRepository.java +++ b/gg-repo/src/main/java/gg/repo/party/RoomRepository.java @@ -10,4 +10,6 @@ public interface RoomRepository extends JpaRepository { List findByStatus(RoomType status, Sort sort); + + Long findById(Long id, Sort sort); } diff --git a/gg-repo/src/main/java/gg/repo/party/UserRoomRepository.java b/gg-repo/src/main/java/gg/repo/party/UserRoomRepository.java index 34a3bdf37..a62affe53 100644 --- a/gg-repo/src/main/java/gg/repo/party/UserRoomRepository.java +++ b/gg-repo/src/main/java/gg/repo/party/UserRoomRepository.java @@ -17,6 +17,10 @@ public interface UserRoomRepository extends JpaRepository { List findByRoomId(Long roomId); + @Query("SELECT ur.user FROM UserRoom ur WHERE ur.room.id = :roomId AND ur.isExist = true " + + "ORDER BY ur.modifiedAt ASC") + List findByIsExist(@Param("roomId") Long roomId); + Optional findByUserAndRoom(User user, Room room); @Query("SELECT ur.room FROM UserRoom ur WHERE ur.user.id = :userId AND ur.isExist = true " diff --git a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java index 56bd12820..7934acf14 100644 --- a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java +++ b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java @@ -158,8 +158,11 @@ public enum ErrorCode { ROOM_NOT_FOUND(404, "PT102", "존재하지 않는 방입니다."), USER_NOT_IN_ROOM(404, "PT103", "방에 존재하지 않는 유저입니다."), ROOM_REPORTED_ERROR(404, "PT104", "신고 상태로 접근이 불가능합니다."), + USER_NOT_EXIST(404, "PT105", "방에 유저가 존재하지 않습니다."), COMMENT_TOO_LONG(400, "PT201", "댓글은 100자 이하로 작성해주세요."), - ROOM_FINISHED(403, "PT501", "마감된 방입니다."); + ROOM_FINISHED(403, "PT501", "마감된 방입니다."), + ROOM_NOT_PARTICIPANT(400, "PT002", "해당 방의 참여자가 아닙니다."), + ROOM_NOT_OPEN(400, "PT003", "해당 방의 참여자가 아닙니다."); private final int status; private final String errCode; diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotFoundException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotFoundException.java index 7b1b6c540..a3d453f9b 100644 --- a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotFoundException.java +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotFoundException.java @@ -4,7 +4,11 @@ import gg.utils.exception.custom.NotExistException; public class RoomNotFoundException extends NotExistException { - public RoomNotFoundException(String message) { - super(message, ErrorCode.ROOM_NOT_FOUND); + public RoomNotFoundException() { + super(ErrorCode.ROOM_NOT_FOUND.getMessage(), ErrorCode.ROOM_NOT_FOUND); + } + + public RoomNotFoundException(ErrorCode errorCode) { + super(errorCode.getMessage(), errorCode); } } diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotOpenException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotOpenException.java new file mode 100644 index 000000000..38c9ff0ab --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotOpenException.java @@ -0,0 +1,14 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.NotExistException; + +public class RoomNotOpenException extends NotExistException { + public RoomNotOpenException() { + super(ErrorCode.ROOM_NOT_OPEN.getMessage(), ErrorCode.ROOM_NOT_OPEN); + } + + public RoomNotOpenException(ErrorCode errorCode) { + super(errorCode.getMessage(), errorCode); + } +} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotParticipantException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotParticipantException.java new file mode 100644 index 000000000..e1d7563a6 --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotParticipantException.java @@ -0,0 +1,14 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.NotExistException; + +public class RoomNotParticipantException extends NotExistException { + public RoomNotParticipantException() { + super(ErrorCode.ROOM_NOT_PARTICIPANT.getMessage(), ErrorCode.ROOM_NOT_PARTICIPANT); + } + + public RoomNotParticipantException(ErrorCode errorCode) { + super(errorCode.getMessage(), errorCode); + } +} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/UserNotFoundException.java b/gg-utils/src/main/java/gg/utils/exception/party/UserNotFoundException.java new file mode 100644 index 000000000..20a75854d --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/UserNotFoundException.java @@ -0,0 +1,11 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.NotExistException; + +public class UserNotFoundException extends NotExistException { + public UserNotFoundException() { + super(ErrorCode.USER_NOT_EXIST.getMessage(), ErrorCode.USER_NOT_EXIST); + } + +} diff --git a/gg-utils/src/testFixtures/java/gg/utils/TestDataUtils.java b/gg-utils/src/testFixtures/java/gg/utils/TestDataUtils.java index c4ba5a62f..1e5e8f05e 100644 --- a/gg-utils/src/testFixtures/java/gg/utils/TestDataUtils.java +++ b/gg-utils/src/testFixtures/java/gg/utils/TestDataUtils.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Component; +import gg.auth.utils.AuthTokenProvider; import gg.data.game.Game; import gg.data.game.PChange; import gg.data.game.Team; @@ -37,7 +38,6 @@ import gg.data.user.type.SnsType; import gg.pingpong.api.admin.tournament.controller.request.TournamentAdminCreateRequestDto; import gg.pingpong.api.admin.tournament.controller.request.TournamentAdminUpdateRequestDto; -import gg.auth.utils.AuthTokenProvider; import gg.pingpong.api.user.tournament.controller.response.TournamentResponseDto; import gg.pingpong.api.user.user.dto.UserImageDto; import gg.repo.game.GameRepository; From e32ca782d3f11a2847b635b18cf2cb7569b616d4 Mon Sep 17 00:00:00 2001 From: jungjkim Date: Wed, 6 Mar 2024 12:10:49 +0900 Subject: [PATCH 03/10] =?UTF-8?q?=E2=9C=A8=20[Feature]=20AdminRoom=20show?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20API=20(#686)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gg-data/src/main/java/gg/data/party/Room.java | 4 +++ .../room/controller/RoomAdminController.java | 35 ++++++++++++++++++- .../request/RoomShowChangeReqDto.java | 13 +++++++ .../admin/room/service/RoomAdminService.java | 30 ++++++++++++++++ .../java/gg/utils/exception/ErrorCode.java | 6 ++-- .../party/RoomAlreadyHiddenException.java | 14 ++++++++ .../party/RoomStatNotFoundException.java | 14 ++++++++ 7 files changed, 113 insertions(+), 3 deletions(-) create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/request/RoomShowChangeReqDto.java create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/RoomAlreadyHiddenException.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/RoomStatNotFoundException.java diff --git a/gg-data/src/main/java/gg/data/party/Room.java b/gg-data/src/main/java/gg/data/party/Room.java index fe3b624c7..2182bac8e 100644 --- a/gg-data/src/main/java/gg/data/party/Room.java +++ b/gg-data/src/main/java/gg/data/party/Room.java @@ -96,4 +96,8 @@ public void updateStatus(RoomType status) { public void updateHost(User host) { this.host = host; } + + public void updateRoomStatus(RoomType status) { + this.status = status; + } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java index 0a1a38515..9eec231ef 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java @@ -1,7 +1,40 @@ -package gg.pingpong.api.party.admin.room.controller; +package gg.party.api.admin.room.controller; +import javax.validation.Valid; + +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PatchMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.data.party.type.RoomType; +import gg.party.api.admin.room.controller.request.RoomShowChangeReqDto; +import gg.party.api.admin.room.service.RoomAdminService; +import gg.utils.exception.ErrorCode; +import gg.utils.exception.party.RoomStatNotFoundException; +import lombok.RequiredArgsConstructor; + @RestController +@RequiredArgsConstructor +@RequestMapping("/party/admin/rooms") public class RoomAdminController { + + private final RoomAdminService roomAdminService; + + @PatchMapping("/{roomId}") + public ResponseEntity changeRoomVisibility(@PathVariable Long roomId, + @Valid @RequestBody RoomShowChangeReqDto reqDto) throws RoomStatNotFoundException { + + RoomType roomType; + try { + roomType = RoomType.valueOf(reqDto.getStatus().toUpperCase()); + } catch (IllegalArgumentException e) { + throw new RoomStatNotFoundException(); + } + + roomAdminService.modifyRoomStatus(roomId, roomType); + return ResponseEntity.ok().build(); + } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/request/RoomShowChangeReqDto.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/request/RoomShowChangeReqDto.java new file mode 100644 index 000000000..7b0dded19 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/request/RoomShowChangeReqDto.java @@ -0,0 +1,13 @@ +package gg.party.api.admin.room.controller.request; + +import javax.validation.constraints.NotNull; + +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor +public class RoomShowChangeReqDto { + @NotNull + private String status; +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java new file mode 100644 index 000000000..37d72ae98 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java @@ -0,0 +1,30 @@ +package gg.party.api.admin.room.service; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import gg.data.party.Room; +import gg.data.party.type.RoomType; +import gg.repo.party.RoomRepository; +import gg.utils.exception.party.RoomAlreadyHiddenException; +import gg.utils.exception.party.RoomNotFoundException; +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class RoomAdminService { + private final RoomRepository roomRepository; + + @Transactional + public void modifyRoomStatus(Long roomId, RoomType newStatus) { + Room room = roomRepository.findById(roomId) + .orElseThrow(RoomNotFoundException::new); + + if (RoomType.HIDDEN == room.getStatus() && RoomType.HIDDEN == newStatus) { + throw new RoomAlreadyHiddenException(); + } + + room.updateRoomStatus(newStatus); + roomRepository.save(room); + } +} diff --git a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java index 7934acf14..bdc376156 100644 --- a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java +++ b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java @@ -161,8 +161,10 @@ public enum ErrorCode { USER_NOT_EXIST(404, "PT105", "방에 유저가 존재하지 않습니다."), COMMENT_TOO_LONG(400, "PT201", "댓글은 100자 이하로 작성해주세요."), ROOM_FINISHED(403, "PT501", "마감된 방입니다."), - ROOM_NOT_PARTICIPANT(400, "PT002", "해당 방의 참여자가 아닙니다."), - ROOM_NOT_OPEN(400, "PT003", "해당 방의 참여자가 아닙니다."); + ROOM_NOT_PARTICIPANT(400, "PT202", "해당 방의 참여자가 아닙니다."), + ROOM_NOT_OPEN(400, "PT203", "해당 방의 참여자가 아닙니다."), + ROOM_ALREADY_HIDDEN(400, "PT204", "이미 숨겨진 방입니다."), + ROOMSTAT_NOT_FOUND(404, "PT106", "존재하지 않는 방 status입니다."); private final int status; private final String errCode; diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomAlreadyHiddenException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomAlreadyHiddenException.java new file mode 100644 index 000000000..c923da4f5 --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomAlreadyHiddenException.java @@ -0,0 +1,14 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.DuplicationException; + +public class RoomAlreadyHiddenException extends DuplicationException { + public RoomAlreadyHiddenException(String message, ErrorCode errorCode) { + super(message, errorCode); + } + + public RoomAlreadyHiddenException() { + super(ErrorCode.ROOM_ALREADY_HIDDEN.getMessage(), ErrorCode.ROOM_ALREADY_HIDDEN); + } +} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomStatNotFoundException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomStatNotFoundException.java new file mode 100644 index 000000000..7406251d1 --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomStatNotFoundException.java @@ -0,0 +1,14 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.NotExistException; + +public class RoomStatNotFoundException extends NotExistException { + public RoomStatNotFoundException(String message, ErrorCode errorCode) { + super(message, errorCode); + } + + public RoomStatNotFoundException() { + super(ErrorCode.ROOMSTAT_NOT_FOUND.getMessage(), ErrorCode.ROOMSTAT_NOT_FOUND); + } +} From f7b0b3c7aeadede7efeb5e1c51c5b1a914e32358 Mon Sep 17 00:00:00 2001 From: Lee Yeseul <80022494+yes-ee@users.noreply.github.com> Date: Wed, 6 Mar 2024 13:42:57 +0900 Subject: [PATCH 04/10] =?UTF-8?q?[FEATURE]=20=EB=8C=93=EA=B8=80=20?= =?UTF-8?q?=EC=88=A8=EA=B9=80=20ADMIN=20API=20(#685)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repo/comment/CommentAdminRepository.java | 8 +++++ .../src/main/java/gg/data/party/Comment.java | 6 ++++ .../controller/CommentAdminController.java | 29 ++++++++++++++++++- .../request/CommentUpdateAdminRequestDto.java | 10 +++++++ .../comment/service/CommentAdminService.java | 24 +++++++++++++++ .../comment/controller/CommentController.java | 2 +- .../java/gg/utils/exception/ErrorCode.java | 1 + .../party/CommentNotFoundException.java | 11 +++++++ 8 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 gg-admin-repo/src/main/java/gg/admin/repo/comment/CommentAdminRepository.java create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminRequestDto.java create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/admin/comment/service/CommentAdminService.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/CommentNotFoundException.java diff --git a/gg-admin-repo/src/main/java/gg/admin/repo/comment/CommentAdminRepository.java b/gg-admin-repo/src/main/java/gg/admin/repo/comment/CommentAdminRepository.java new file mode 100644 index 000000000..4d0ebe1f6 --- /dev/null +++ b/gg-admin-repo/src/main/java/gg/admin/repo/comment/CommentAdminRepository.java @@ -0,0 +1,8 @@ +package gg.admin.repo.comment; + +import org.springframework.data.jpa.repository.JpaRepository; + +import gg.data.party.Comment; + +public interface CommentAdminRepository extends JpaRepository { +} diff --git a/gg-data/src/main/java/gg/data/party/Comment.java b/gg-data/src/main/java/gg/data/party/Comment.java index b6cbbf709..ce4d0f8d3 100644 --- a/gg-data/src/main/java/gg/data/party/Comment.java +++ b/gg-data/src/main/java/gg/data/party/Comment.java @@ -48,4 +48,10 @@ public Comment(User user, UserRoom userRoom, Room room, String content) { this.content = content; this.isHidden = false; } + + public void updateHidden(boolean isHidden) { + this.isHidden = isHidden; + } + } + diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/CommentAdminController.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/CommentAdminController.java index 1d14e6a38..50451d6f1 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/CommentAdminController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/CommentAdminController.java @@ -1,7 +1,34 @@ -package gg.pingpong.api.party.admin.comment.controller; +package gg.party.api.admin.comment.controller; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PatchMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.auth.UserDto; +import gg.auth.argumentresolver.Login; +import gg.party.api.admin.comment.controller.request.CommentUpdateAdminRequestDto; +import gg.party.api.admin.comment.service.CommentAdminService; +import lombok.RequiredArgsConstructor; + @RestController +@RequiredArgsConstructor +@RequestMapping("/party/admin/comments") public class CommentAdminController { + private final CommentAdminService commentAdminService; + + /** + * 댓글 숨김 + * @param commentId 댓글 번호 + * @return 숨김 성공 여부 + */ + @PatchMapping("/{commentId}") + public ResponseEntity hideComment(@PathVariable Long commentId, + @RequestBody CommentUpdateAdminRequestDto reqDto, @Login UserDto user) { + commentAdminService.hideComment(commentId, reqDto); + return ResponseEntity.status(HttpStatus.NO_CONTENT).build(); + } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminRequestDto.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminRequestDto.java new file mode 100644 index 000000000..b89b78bce --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminRequestDto.java @@ -0,0 +1,10 @@ +package gg.party.api.admin.comment.controller.request; + +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor +public class CommentUpdateAdminRequestDto { + private Boolean isHidden; +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/service/CommentAdminService.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/service/CommentAdminService.java new file mode 100644 index 000000000..770750b81 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/service/CommentAdminService.java @@ -0,0 +1,24 @@ +package gg.party.api.admin.comment.service; + +import javax.transaction.Transactional; + +import org.springframework.stereotype.Service; + +import gg.admin.repo.comment.CommentAdminRepository; +import gg.data.party.Comment; +import gg.party.api.admin.comment.controller.request.CommentUpdateAdminRequestDto; +import gg.utils.exception.party.CommentNotFoundException; +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class CommentAdminService { + private final CommentAdminRepository commentAdminRepository; + + @Transactional + public void hideComment(Long commentId, CommentUpdateAdminRequestDto reqDto) { + Comment comment = commentAdminRepository.findById(commentId) + .orElseThrow(CommentNotFoundException::new); + comment.updateHidden(reqDto.getIsHidden()); + } +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java index 2e46a820d..374243abc 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java @@ -31,6 +31,6 @@ public class CommentController { public ResponseEntity createComment(@PathVariable Long roomId, @RequestBody CommentCreateReqDto reqDto, @Login UserDto user) { commentService.createComment(roomId, reqDto, user.getId()); - return new ResponseEntity<>(HttpStatus.CREATED); + return ResponseEntity.status(HttpStatus.CREATED).build(); } } diff --git a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java index bdc376156..997923c16 100644 --- a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java +++ b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java @@ -159,6 +159,7 @@ public enum ErrorCode { USER_NOT_IN_ROOM(404, "PT103", "방에 존재하지 않는 유저입니다."), ROOM_REPORTED_ERROR(404, "PT104", "신고 상태로 접근이 불가능합니다."), USER_NOT_EXIST(404, "PT105", "방에 유저가 존재하지 않습니다."), + COMMENT_NOT_FOUND(404, "PT106", "존재하지 않는 댓글입니다."), COMMENT_TOO_LONG(400, "PT201", "댓글은 100자 이하로 작성해주세요."), ROOM_FINISHED(403, "PT501", "마감된 방입니다."), ROOM_NOT_PARTICIPANT(400, "PT202", "해당 방의 참여자가 아닙니다."), diff --git a/gg-utils/src/main/java/gg/utils/exception/party/CommentNotFoundException.java b/gg-utils/src/main/java/gg/utils/exception/party/CommentNotFoundException.java new file mode 100644 index 000000000..12d2238a4 --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/CommentNotFoundException.java @@ -0,0 +1,11 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.NotExistException; + +public class CommentNotFoundException extends NotExistException { + public CommentNotFoundException() { + super(ErrorCode.COMMENT_NOT_FOUND.getMessage(), ErrorCode.COMMENT_NOT_FOUND); + } + +} From 76650e3b96fdc3f539bc0ca3ad03346bbf2901fb Mon Sep 17 00:00:00 2001 From: seungsje <111065574+AreSain@users.noreply.github.com> Date: Wed, 6 Mar 2024 17:06:55 +0900 Subject: [PATCH 05/10] =?UTF-8?q?=E2=9C=A8=20[Feature]=20=EB=B0=A9=20?= =?UTF-8?q?=EC=B0=B8=EC=97=AC=20api=20(#679)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/room/controller/RoomController.java | 26 +++++++++--- .../controller/response/RoomJoinResDto.java | 14 +++++++ .../api/user/room/service/RoomService.java | 41 ++++++++++++++++++- .../gg/repo/party/UserRoomRepository.java | 2 +- .../java/gg/utils/exception/ErrorCode.java | 1 + .../exception/party/UserAlreadyInRoom.java | 12 ++++++ 6 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/RoomJoinResDto.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/UserAlreadyInRoom.java diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java index ee70918f6..9126db9c1 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java @@ -15,6 +15,7 @@ import gg.party.api.user.room.controller.request.RoomCreateReqDto; import gg.party.api.user.room.controller.response.LeaveRoomResDto; import gg.party.api.user.room.controller.response.RoomDetailResDto; +import gg.party.api.user.room.controller.response.RoomJoinResDto; import gg.party.api.user.room.controller.response.RoomListResDto; import gg.party.api.user.room.service.RoomService; import io.swagger.v3.oas.annotations.Parameter; @@ -69,6 +70,16 @@ public ResponseEntity myHistoryRoomList(@Parameter(hidden = true return ResponseEntity.status(HttpStatus.OK).body(roomListResDto); } + /** + * 참여한 방을 나가기 한다 + * @return 나간 사람의 닉네임 + */ + @PatchMapping("/{room_id}") + public ResponseEntity leaveRoom(@PathVariable("room_id") Long roomId, + @Parameter(hidden = true) @Login UserDto user) { + return ResponseEntity.status(HttpStatus.OK).body(roomService.modifyOrderLeaveRoom(roomId, user)); + } + /** * 방의 상세정보를 조회한다 * @param roomId 방 id @@ -83,12 +94,15 @@ public ResponseEntity roomDetailInfo(@Parameter(hidden = true) } /** - * 참여한 방을 나가기 한다 - * @return 나간 사람의 닉네임 + * 방에 참여한다 + * @param roomId 방 id + * @param user 유저 정보 + * @return roomId */ - @PatchMapping("/{room_id}") - public ResponseEntity leaveRoom(@PathVariable("room_id") Long roomId, - @Parameter(hidden = true) @Login UserDto user) { - return ResponseEntity.status(HttpStatus.OK).body(roomService.modifyOrderLeaveRoom(roomId, user)); + @PostMapping("/{room_id}") + public ResponseEntity joinRoom(@Parameter(hidden = true) @Login UserDto user, + @PathVariable("room_id") Long roomId) { + RoomJoinResDto roomJoinResDto = roomService.addOrderjoinRoom(roomId, user); + return ResponseEntity.status(HttpStatus.CREATED).body(roomJoinResDto); } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/RoomJoinResDto.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/RoomJoinResDto.java new file mode 100644 index 000000000..f99a9dc12 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/RoomJoinResDto.java @@ -0,0 +1,14 @@ +package gg.party.api.user.room.controller.response; + +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor +public class RoomJoinResDto { + private Long roomId; + + public RoomJoinResDto(Long roomId) { + this.roomId = roomId; + } +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java index b194830af..5b8c49e19 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java @@ -23,6 +23,7 @@ import gg.party.api.user.room.controller.response.CommentResDto; import gg.party.api.user.room.controller.response.LeaveRoomResDto; import gg.party.api.user.room.controller.response.RoomDetailResDto; +import gg.party.api.user.room.controller.response.RoomJoinResDto; import gg.party.api.user.room.controller.response.RoomListResDto; import gg.party.api.user.room.controller.response.RoomResDto; import gg.party.api.user.room.controller.response.UserRoomResDto; @@ -37,6 +38,7 @@ import gg.utils.exception.party.RoomNotOpenException; import gg.utils.exception.party.RoomNotParticipantException; import gg.utils.exception.party.RoomReportedException; +import gg.utils.exception.party.UserAlreadyInRoom; import gg.utils.exception.user.UserNotFoundException; import lombok.RequiredArgsConstructor; @@ -151,7 +153,6 @@ public LeaveRoomResDto modifyOrderLeaveRoom(Long roomId, UserDto user) { if (!targetRoom.getStatus().equals(RoomType.OPEN)) { throw new RoomNotOpenException(); } - UserRoom targetUserRoom = userRoomRepository.findByUserAndRoom(userRepository.findById(user.getId()).get(), targetRoom).orElseThrow(RoomNotParticipantException::new); @@ -223,4 +224,42 @@ public RoomDetailResDto findOrderRoomDetail(Long userId, Long roomId) { return new RoomDetailResDto(room, myNickname, hostNickname, roomUsers, comments); } + + /** + * 방에 참여한다 + * @param roomId 방 id + * @param userDto 유저 정보 + * @exception RoomNotFoundException 유효하지 않은 방 입력 + * @exception UserAlreadyInRoom 이미 참여한 방 입력 + * 과거 참여 이력이 있을 경우 그 아이디로, 없을경우 currentPeople을 증가시킨다 + * @return roomId + */ + @Transactional + public RoomJoinResDto addOrderjoinRoom(Long roomId, UserDto userDto) { + User user = userRepository.findById(userDto.getId()).get(); + Room room = roomRepository.findById(roomId).orElseThrow(RoomNotFoundException::new); + + if (room.getStatus() != RoomType.OPEN) { + throw new RoomNotFoundException(ErrorCode.ROOM_FINISHED); + } + UserRoom userRoom = userRoomRepository.findByUserAndRoom(user, room) + .orElseGet(() -> { + String randomNickname = generateRandomNickname(); + UserRoom newUserRoom = new UserRoom(user, room, randomNickname); + newUserRoom.updateIsExist(false); + return newUserRoom; + }); + if (userRoom.getIsExist() == true) { + throw new UserAlreadyInRoom(ErrorCode.USER_ALREADY_IN_ROOM); + } else { + userRoom.updateIsExist(true); + userRoomRepository.save(userRoom); + } + + room.updateCurrentPeople(room.getCurrentPeople() + 1); + // if (room.getCurrentPeople() + 1 == room.getMaxPeople()) 경우 게임 시작하는 로직 추가 + roomRepository.save(room); + + return new RoomJoinResDto(roomId); + } } diff --git a/gg-repo/src/main/java/gg/repo/party/UserRoomRepository.java b/gg-repo/src/main/java/gg/repo/party/UserRoomRepository.java index a62affe53..8b13388ca 100644 --- a/gg-repo/src/main/java/gg/repo/party/UserRoomRepository.java +++ b/gg-repo/src/main/java/gg/repo/party/UserRoomRepository.java @@ -5,12 +5,12 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import gg.data.party.Room; import gg.data.party.UserRoom; import gg.data.party.type.RoomType; import gg.data.user.User; -import io.lettuce.core.dynamic.annotation.Param; public interface UserRoomRepository extends JpaRepository { List findByUserId(Long userId); diff --git a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java index 997923c16..4e1ec96f4 100644 --- a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java +++ b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java @@ -165,6 +165,7 @@ public enum ErrorCode { ROOM_NOT_PARTICIPANT(400, "PT202", "해당 방의 참여자가 아닙니다."), ROOM_NOT_OPEN(400, "PT203", "해당 방의 참여자가 아닙니다."), ROOM_ALREADY_HIDDEN(400, "PT204", "이미 숨겨진 방입니다."), + USER_ALREADY_IN_ROOM(409, "PT105", "이미 참여한 방 입니다."), ROOMSTAT_NOT_FOUND(404, "PT106", "존재하지 않는 방 status입니다."); private final int status; diff --git a/gg-utils/src/main/java/gg/utils/exception/party/UserAlreadyInRoom.java b/gg-utils/src/main/java/gg/utils/exception/party/UserAlreadyInRoom.java new file mode 100644 index 000000000..68f0b3b58 --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/UserAlreadyInRoom.java @@ -0,0 +1,12 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; + +public class UserAlreadyInRoom extends RuntimeException { + private ErrorCode errorCode; + + public UserAlreadyInRoom(ErrorCode errorCode) { + super(ErrorCode.USER_ALREADY_IN_ROOM.getMessage()); + this.errorCode = errorCode; + } +} From 7835d12f61f9b2ed7acdfa022ec7622c4108a7d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B8=B0=ED=98=84=28gkwon=29?= <79272189+ghyen@users.noreply.github.com> Date: Wed, 6 Mar 2024 18:10:18 +0900 Subject: [PATCH 06/10] =?UTF-8?q?[FIX]=20startRoom=20API=20without=20?= =?UTF-8?q?=EB=B3=B5=EB=A9=B4=EA=B0=80=EC=99=95=20logic=20(#687)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/room/controller/RoomController.java | 32 ++++++++---- .../api/user/room/service/RoomService.java | 50 ++++++++++++++++--- .../java/gg/utils/exception/ErrorCode.java | 6 ++- .../party/CategoryNotFoundException.java | 2 +- .../party/InvaildPeopleException.java | 10 ++++ .../exception/party/NotHostException.java | 11 ++++ .../party/RoomNotEnoughPeopleException.java | 11 ++++ 7 files changed, 101 insertions(+), 21 deletions(-) create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/InvaildPeopleException.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/NotHostException.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/RoomNotEnoughPeopleException.java diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java index 9126db9c1..dd7800822 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java @@ -70,16 +70,6 @@ public ResponseEntity myHistoryRoomList(@Parameter(hidden = true return ResponseEntity.status(HttpStatus.OK).body(roomListResDto); } - /** - * 참여한 방을 나가기 한다 - * @return 나간 사람의 닉네임 - */ - @PatchMapping("/{room_id}") - public ResponseEntity leaveRoom(@PathVariable("room_id") Long roomId, - @Parameter(hidden = true) @Login UserDto user) { - return ResponseEntity.status(HttpStatus.OK).body(roomService.modifyOrderLeaveRoom(roomId, user)); - } - /** * 방의 상세정보를 조회한다 * @param roomId 방 id @@ -93,6 +83,28 @@ public ResponseEntity roomDetailInfo(@Parameter(hidden = true) return ResponseEntity.status(HttpStatus.OK).body(roomDetailResDto); } + /** + * 방에 참여한다 + * @param roomId 방 id + * @param user 유저 정보 + * @return roomId + */ + @PatchMapping("/{room_id}") + public ResponseEntity leaveRoom(@PathVariable("room_id") Long roomId, + @Parameter(hidden = true) @Login UserDto user) { + return ResponseEntity.status(HttpStatus.OK).body(roomService.modifyLeaveRoom(roomId, user)); + } + + /** + * 방 시작하기 + * @return 방 id + */ + @PostMapping("/{room_id}/start") + public ResponseEntity startRoom(@PathVariable("room_id") Long roomId, + @Parameter(hidden = true) @Login UserDto user) { + return ResponseEntity.status(HttpStatus.OK).body(roomService.modifyStartRoom(roomId, user)); + } + /** * 방에 참여한다 * @param roomId 방 id diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java index 5b8c49e19..8cc21c40d 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java @@ -34,6 +34,8 @@ import gg.repo.user.UserRepository; import gg.utils.exception.ErrorCode; import gg.utils.exception.party.CategoryNotFoundException; +import gg.utils.exception.party.NotHostException; +import gg.utils.exception.party.RoomNotEnoughPeopleException; import gg.utils.exception.party.RoomNotFoundException; import gg.utils.exception.party.RoomNotOpenException; import gg.utils.exception.party.RoomNotParticipantException; @@ -141,17 +143,19 @@ public RoomListResDto findOrderMyHistoryRoomList(Long userId) { /** * 유저가 방을 나간다 * 참가자가 방에 참가한 상태일때만 취소해 준다. - * @param roomId + * @param roomId, user * @param user 참여 유저(사용자 본인) - * @throws RoomNotFoundException 방 없음 || 방 입장자가 아님 - * @return + * @throws RoomNotFoundException 방 없음 + * @throws RoomNotOpenException 방이 대기 상태가 아님 + * @throws RoomNotParticipantException 방 입장자가 아님 + * @return 나간 사람의 닉네임 */ @Transactional - public LeaveRoomResDto modifyOrderLeaveRoom(Long roomId, UserDto user) { + public LeaveRoomResDto modifyLeaveRoom(Long roomId, UserDto user) { Room targetRoom = roomRepository.findById(roomId) .orElseThrow(RoomNotFoundException::new); if (!targetRoom.getStatus().equals(RoomType.OPEN)) { - throw new RoomNotOpenException(); + throw new RoomNotOpenException(ErrorCode.ROOM_NOT_OPEN); } UserRoom targetUserRoom = userRoomRepository.findByUserAndRoom(userRepository.findById(user.getId()).get(), targetRoom).orElseThrow(RoomNotParticipantException::new); @@ -169,9 +173,6 @@ public LeaveRoomResDto modifyOrderLeaveRoom(Long roomId, UserDto user) { // 방장 이권 if (user.getId().equals(targetRoom.getHost().getId())) { List existUser = userRoomRepository.findByIsExist(roomId); - if (existUser.isEmpty()) { - throw new RoomNotFoundException(ErrorCode.ROOM_NOT_FOUND); - } targetRoom.updateHost(existUser.get(0)); } @@ -183,6 +184,39 @@ public LeaveRoomResDto modifyOrderLeaveRoom(Long roomId, UserDto user) { return new LeaveRoomResDto(targetUserRoom.getNickname()); } + /** + *

방을 시작 상태로 바꾼다

+ *

방의 상태를 시작 상태로 변경.

+ * @param roomId, user + * @throws RoomNotFoundException 방 없음 + * @throws RoomNotOpenException 방이 열리지 않은 상태 + * @throws RoomNotEnoughPeopleException 방에 충분한 인원이 없음 + * @throws RoomNotParticipantException 방에 참가하지 않은 사용자 + * @throws NotHostException 방장이 아닌 경우 + * @return 방 id + */ + @Transactional + public Long modifyStartRoom(Long roomId, UserDto user) { + Room targetRoom = roomRepository.findById(roomId) + .orElseThrow(RoomNotFoundException::new); + if (!targetRoom.getStatus().equals(RoomType.OPEN)) { + throw new RoomNotOpenException(); + } + if (targetRoom.getMinPeople() > targetRoom.getCurrentPeople() + || targetRoom.getMaxPeople() < targetRoom.getCurrentPeople()) { + throw new RoomNotEnoughPeopleException(); + } + UserRoom targetUserRoom = userRoomRepository.findByUserAndRoom(userRepository.findById(user.getId()).get(), + targetRoom).orElseThrow(RoomNotParticipantException::new); + if (targetRoom.getHost() != targetUserRoom.getUser()) { + throw new NotHostException(); + } + targetRoom.updateStatus(RoomType.START); + roomRepository.save(targetRoom); + + return roomId; + } + /** * 방의 상세정보를 조회한다 * @param userId 자신의 id diff --git a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java index 4e1ec96f4..90c1fcbdb 100644 --- a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java +++ b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java @@ -162,8 +162,10 @@ public enum ErrorCode { COMMENT_NOT_FOUND(404, "PT106", "존재하지 않는 댓글입니다."), COMMENT_TOO_LONG(400, "PT201", "댓글은 100자 이하로 작성해주세요."), ROOM_FINISHED(403, "PT501", "마감된 방입니다."), - ROOM_NOT_PARTICIPANT(400, "PT202", "해당 방의 참여자가 아닙니다."), - ROOM_NOT_OPEN(400, "PT203", "해당 방의 참여자가 아닙니다."), + ROOM_NOT_ENOUGH_PEOPLE(400, "PT202", "시작할 수 있는 인원이 아닙니다."), + NOT_HOST(400, "PT203", "방장이 아닙니다"), + ROOM_NOT_PARTICIPANT(400, "PT206", "해당 방의 참여자가 아닙니다."), + ROOM_NOT_OPEN(400, "PT205", "준비 상태의 방이 아닙니다."), ROOM_ALREADY_HIDDEN(400, "PT204", "이미 숨겨진 방입니다."), USER_ALREADY_IN_ROOM(409, "PT105", "이미 참여한 방 입니다."), ROOMSTAT_NOT_FOUND(404, "PT106", "존재하지 않는 방 status입니다."); diff --git a/gg-utils/src/main/java/gg/utils/exception/party/CategoryNotFoundException.java b/gg-utils/src/main/java/gg/utils/exception/party/CategoryNotFoundException.java index 8776c25a9..940b46399 100644 --- a/gg-utils/src/main/java/gg/utils/exception/party/CategoryNotFoundException.java +++ b/gg-utils/src/main/java/gg/utils/exception/party/CategoryNotFoundException.java @@ -5,6 +5,6 @@ public class CategoryNotFoundException extends NotExistException { public CategoryNotFoundException() { - super("해당 카테고리가 없습니다.", ErrorCode.CATEGORY_NOT_FOUND); + super(ErrorCode.CATEGORY_NOT_FOUND.getMessage(), ErrorCode.CATEGORY_NOT_FOUND); } } diff --git a/gg-utils/src/main/java/gg/utils/exception/party/InvaildPeopleException.java b/gg-utils/src/main/java/gg/utils/exception/party/InvaildPeopleException.java new file mode 100644 index 000000000..0210bec90 --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/InvaildPeopleException.java @@ -0,0 +1,10 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.ForbiddenException; + +public class InvaildPeopleException extends ForbiddenException { + public InvaildPeopleException() { + super(ErrorCode.NOT_HOST.getMessage(), ErrorCode.NOT_HOST); + } +} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/NotHostException.java b/gg-utils/src/main/java/gg/utils/exception/party/NotHostException.java new file mode 100644 index 000000000..df36460c4 --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/NotHostException.java @@ -0,0 +1,11 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.ForbiddenException; +import gg.utils.exception.custom.NotExistException; + +public class NotHostException extends ForbiddenException { + public NotHostException() { + super(ErrorCode.NOT_HOST.getMessage(), ErrorCode.NOT_HOST); + } +} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotEnoughPeopleException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotEnoughPeopleException.java new file mode 100644 index 000000000..b29578bee --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotEnoughPeopleException.java @@ -0,0 +1,11 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.ForbiddenException; +import gg.utils.exception.custom.NotExistException; + +public class RoomNotEnoughPeopleException extends ForbiddenException { + public RoomNotEnoughPeopleException() { + super(ErrorCode.ROOM_NOT_ENOUGH_PEOPLE.getMessage(), ErrorCode.ROOM_NOT_ENOUGH_PEOPLE); + } +} From ee26464a5cd48e6bf146b6dd2f607792ff202ee7 Mon Sep 17 00:00:00 2001 From: seungsje <111065574+AreSain@users.noreply.github.com> Date: Thu, 7 Mar 2024 10:50:14 +0900 Subject: [PATCH 07/10] =?UTF-8?q?[Refactoring]=20=EA=B2=B9=EC=B9=98?= =?UTF-8?q?=EB=8A=94=20Exception=20=EC=B2=98=EB=A6=AC=20=EB=B0=8F=20?= =?UTF-8?q?=EC=A3=BC=EC=84=9D=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=88=98=EC=A0=95=20(#690)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CommentAdminController.java | 6 +-- ...Dto.java => CommentUpdateAdminReqDto.java} | 2 +- .../comment/service/CommentAdminService.java | 9 ++++- .../room/controller/RoomAdminController.java | 10 ++++- .../admin/room/service/RoomAdminService.java | 13 +++++-- .../comment/controller/CommentController.java | 6 ++- .../request/CommentCreateReqDto.java | 3 ++ .../user/comment/service/CommentService.java | 26 +++++-------- .../user/room/controller/RoomController.java | 16 ++++---- .../api/user/room/service/RoomService.java | 39 +++++++++---------- .../java/gg/utils/exception/ErrorCode.java | 25 ++++++------ .../party/CommentNotValidException.java | 10 ----- .../party/InvaildPeopleException.java | 10 ----- .../exception/party/NotHostException.java | 11 ------ .../party/RoomAlreadyHiddenException.java | 14 ------- .../party/RoomNotFoundException.java | 4 -- .../exception/party/RoomNotOpenException.java | 4 -- .../party/RoomNotParticipantException.java | 4 -- .../party/RoomReportedException.java | 4 +- .../party/RoomSameStatusException.java | 10 +++++ .../party/RoomStatNotFoundException.java | 4 -- .../exception/party/RoomUpdateException.java | 10 ----- .../party/UserNotFoundException.java | 11 ------ .../exception/party/UserNotHostException.java | 10 +++++ 24 files changed, 106 insertions(+), 155 deletions(-) rename gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/{CommentUpdateAdminRequestDto.java => CommentUpdateAdminReqDto.java} (79%) delete mode 100644 gg-utils/src/main/java/gg/utils/exception/party/CommentNotValidException.java delete mode 100644 gg-utils/src/main/java/gg/utils/exception/party/InvaildPeopleException.java delete mode 100644 gg-utils/src/main/java/gg/utils/exception/party/NotHostException.java delete mode 100644 gg-utils/src/main/java/gg/utils/exception/party/RoomAlreadyHiddenException.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/RoomSameStatusException.java delete mode 100644 gg-utils/src/main/java/gg/utils/exception/party/RoomUpdateException.java delete mode 100644 gg-utils/src/main/java/gg/utils/exception/party/UserNotFoundException.java create mode 100644 gg-utils/src/main/java/gg/utils/exception/party/UserNotHostException.java diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/CommentAdminController.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/CommentAdminController.java index 50451d6f1..275c30e75 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/CommentAdminController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/CommentAdminController.java @@ -10,7 +10,7 @@ import gg.auth.UserDto; import gg.auth.argumentresolver.Login; -import gg.party.api.admin.comment.controller.request.CommentUpdateAdminRequestDto; +import gg.party.api.admin.comment.controller.request.CommentUpdateAdminReqDto; import gg.party.api.admin.comment.service.CommentAdminService; import lombok.RequiredArgsConstructor; @@ -27,8 +27,8 @@ public class CommentAdminController { */ @PatchMapping("/{commentId}") public ResponseEntity hideComment(@PathVariable Long commentId, - @RequestBody CommentUpdateAdminRequestDto reqDto, @Login UserDto user) { - commentAdminService.hideComment(commentId, reqDto); + @RequestBody CommentUpdateAdminReqDto reqDto, @Login UserDto user) { + commentAdminService.modifyHideComment(commentId, reqDto); return ResponseEntity.status(HttpStatus.NO_CONTENT).build(); } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminRequestDto.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminReqDto.java similarity index 79% rename from gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminRequestDto.java rename to gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminReqDto.java index b89b78bce..1b2718389 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminRequestDto.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/controller/request/CommentUpdateAdminReqDto.java @@ -5,6 +5,6 @@ @Getter @NoArgsConstructor -public class CommentUpdateAdminRequestDto { +public class CommentUpdateAdminReqDto { private Boolean isHidden; } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/service/CommentAdminService.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/service/CommentAdminService.java index 770750b81..afebd50d0 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/service/CommentAdminService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/comment/service/CommentAdminService.java @@ -6,7 +6,7 @@ import gg.admin.repo.comment.CommentAdminRepository; import gg.data.party.Comment; -import gg.party.api.admin.comment.controller.request.CommentUpdateAdminRequestDto; +import gg.party.api.admin.comment.controller.request.CommentUpdateAdminReqDto; import gg.utils.exception.party.CommentNotFoundException; import lombok.RequiredArgsConstructor; @@ -15,8 +15,13 @@ public class CommentAdminService { private final CommentAdminRepository commentAdminRepository; + /** + * 댓글 숨김 + * @param commentId 댓글 번호 + * @exception CommentNotFoundException 유효하지 않은 댓글 + */ @Transactional - public void hideComment(Long commentId, CommentUpdateAdminRequestDto reqDto) { + public void modifyHideComment(Long commentId, CommentUpdateAdminReqDto reqDto) { Comment comment = commentAdminRepository.findById(commentId) .orElseThrow(CommentNotFoundException::new); comment.updateHidden(reqDto.getIsHidden()); diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java index 9eec231ef..5c0682081 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java @@ -2,6 +2,7 @@ import javax.validation.Valid; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -13,6 +14,7 @@ import gg.party.api.admin.room.controller.request.RoomShowChangeReqDto; import gg.party.api.admin.room.service.RoomAdminService; import gg.utils.exception.ErrorCode; +import gg.utils.exception.party.RoomNotFoundException; import gg.utils.exception.party.RoomStatNotFoundException; import lombok.RequiredArgsConstructor; @@ -23,6 +25,12 @@ public class RoomAdminController { private final RoomAdminService roomAdminService; + /** + * 방 Status 변경 + * @param roomId 방 id + * @param reqDto 바꿀 status + * @exception RoomNotFoundException 유효하지 않은 방 입력 + */ @PatchMapping("/{roomId}") public ResponseEntity changeRoomVisibility(@PathVariable Long roomId, @Valid @RequestBody RoomShowChangeReqDto reqDto) throws RoomStatNotFoundException { @@ -35,6 +43,6 @@ public ResponseEntity changeRoomVisibility(@PathVariable Long roomId, } roomAdminService.modifyRoomStatus(roomId, roomType); - return ResponseEntity.ok().build(); + return ResponseEntity.status(HttpStatus.NO_CONTENT).build(); } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java index 37d72ae98..4c35f4374 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java @@ -6,8 +6,8 @@ import gg.data.party.Room; import gg.data.party.type.RoomType; import gg.repo.party.RoomRepository; -import gg.utils.exception.party.RoomAlreadyHiddenException; import gg.utils.exception.party.RoomNotFoundException; +import gg.utils.exception.party.RoomSameStatusException; import lombok.RequiredArgsConstructor; @Service @@ -15,13 +15,20 @@ public class RoomAdminService { private final RoomRepository roomRepository; + /** + * 방 Status 변경 + * @param roomId 방 id + * @param newStatus 바꿀 status + * @exception RoomNotFoundException 유효하지 않은 방 입력 + * @exception RoomSameStatusException 같은 상태로 변경 + */ @Transactional public void modifyRoomStatus(Long roomId, RoomType newStatus) { Room room = roomRepository.findById(roomId) .orElseThrow(RoomNotFoundException::new); - if (RoomType.HIDDEN == room.getStatus() && RoomType.HIDDEN == newStatus) { - throw new RoomAlreadyHiddenException(); + if (room.getStatus() == newStatus) { + throw new RoomSameStatusException(); } room.updateRoomStatus(newStatus); diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java index 374243abc..1b017f658 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/CommentController.java @@ -1,5 +1,7 @@ package gg.party.api.user.comment.controller; +import javax.validation.Valid; + import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; @@ -28,9 +30,9 @@ public class CommentController { * @return 생성 성공 여부 */ @PostMapping - public ResponseEntity createComment(@PathVariable Long roomId, @RequestBody CommentCreateReqDto reqDto, + public ResponseEntity createComment(@PathVariable Long roomId, @Valid @RequestBody CommentCreateReqDto reqDto, @Login UserDto user) { - commentService.createComment(roomId, reqDto, user.getId()); + commentService.addCreateComment(roomId, reqDto, user.getId()); return ResponseEntity.status(HttpStatus.CREATED).build(); } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/request/CommentCreateReqDto.java b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/request/CommentCreateReqDto.java index daade6121..383370ede 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/request/CommentCreateReqDto.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/controller/request/CommentCreateReqDto.java @@ -1,10 +1,13 @@ package gg.party.api.user.comment.controller.request; +import javax.validation.constraints.Size; + import lombok.Getter; import lombok.NoArgsConstructor; @Getter @NoArgsConstructor public class CommentCreateReqDto { + @Size(min = 1, max = 100) private String content; } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/service/CommentService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/service/CommentService.java index 82ce4705b..87a7414ec 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/comment/service/CommentService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/comment/service/CommentService.java @@ -1,7 +1,5 @@ package gg.party.api.user.comment.service; -import java.time.LocalDateTime; - import javax.transaction.Transactional; import org.springframework.stereotype.Service; @@ -9,16 +7,16 @@ import gg.data.party.Comment; import gg.data.party.Room; import gg.data.party.UserRoom; +import gg.data.party.type.RoomType; import gg.data.user.User; import gg.party.api.user.comment.controller.request.CommentCreateReqDto; import gg.repo.party.CommentRepository; import gg.repo.party.RoomRepository; import gg.repo.party.UserRoomRepository; import gg.repo.user.UserRepository; -import gg.utils.exception.ErrorCode; -import gg.utils.exception.party.CommentNotValidException; import gg.utils.exception.party.RoomNotFoundException; -import gg.utils.exception.party.RoomUpdateException; +import gg.utils.exception.party.RoomNotOpenException; +import gg.utils.exception.party.RoomNotParticipantException; import lombok.RequiredArgsConstructor; @Service @@ -35,21 +33,15 @@ public class CommentService { * @param reqDto 댓글 정보 */ @Transactional - public void createComment(Long roomId, CommentCreateReqDto reqDto, Long userId) { + public void addCreateComment(Long roomId, CommentCreateReqDto reqDto, Long userId) { Room room = roomRepository.findById(roomId) - .orElseThrow(() -> new RoomNotFoundException(ErrorCode.ROOM_NOT_FOUND)); - if (LocalDateTime.now().isAfter(room.getDueDate())) { - throw new RoomUpdateException(ErrorCode.ROOM_FINISHED); - } - if (reqDto.getContent().length() > 100) { - throw new CommentNotValidException(ErrorCode.COMMENT_TOO_LONG); + .orElseThrow(RoomNotFoundException::new); + if (room.getStatus() != RoomType.OPEN) { + throw new RoomNotOpenException(); } User user = userRepository.findById(userId).get(); - UserRoom userRoom = userRoomRepository.findByUserAndRoom(user, room) - .orElseThrow(() -> new RoomUpdateException(ErrorCode.USER_NOT_IN_ROOM)); - if (!userRoom.getIsExist()) { - throw new RoomUpdateException(ErrorCode.USER_NOT_IN_ROOM); - } + UserRoom userRoom = userRoomRepository.findByUserIdAndRoomIdAndIsExistTrue(userId, roomId) + .orElseThrow(RoomNotParticipantException::new); Comment comment = new Comment(user, userRoom, room, reqDto.getContent()); commentRepository.save(comment); } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java index dd7800822..f0c04b9a7 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/RoomController.java @@ -33,7 +33,7 @@ public class RoomController { */ @GetMapping public ResponseEntity allActiveRoomList() { - RoomListResDto roomListResDto = roomService.findOrderRoomList(); + RoomListResDto roomListResDto = roomService.findRoomList(); return ResponseEntity.status(HttpStatus.OK).body(roomListResDto); } @@ -46,7 +46,7 @@ public ResponseEntity allActiveRoomList() { @PostMapping public ResponseEntity createRoom(@RequestBody RoomCreateReqDto roomCreateReqDto, @Parameter(hidden = true) @Login UserDto user) { - Long roomId = roomService.addOrderCreateRoom(roomCreateReqDto, user); + Long roomId = roomService.addCreateRoom(roomCreateReqDto, user); return ResponseEntity.status(HttpStatus.CREATED).body(roomId); } @@ -56,7 +56,7 @@ public ResponseEntity createRoom(@RequestBody RoomCreateReqDto roomCreateR */ @GetMapping("/joined") public ResponseEntity allJoinedRoomList(@Parameter(hidden = true) @Login UserDto user) { - RoomListResDto roomListResDto = roomService.findOrderJoinedRoomList(user.getId()); + RoomListResDto roomListResDto = roomService.findJoinedRoomList(user.getId()); return ResponseEntity.status(HttpStatus.OK).body(roomListResDto); } @@ -66,7 +66,7 @@ public ResponseEntity allJoinedRoomList(@Parameter(hidden = true */ @GetMapping("/history") public ResponseEntity myHistoryRoomList(@Parameter(hidden = true) @Login UserDto user) { - RoomListResDto roomListResDto = roomService.findOrderMyHistoryRoomList(user.getId()); + RoomListResDto roomListResDto = roomService.findMyHistoryRoomList(user.getId()); return ResponseEntity.status(HttpStatus.OK).body(roomListResDto); } @@ -79,12 +79,12 @@ public ResponseEntity myHistoryRoomList(@Parameter(hidden = true @GetMapping("/{room_id}") public ResponseEntity roomDetailInfo(@Parameter(hidden = true) @Login UserDto user, @PathVariable("room_id") Long roomId) { - RoomDetailResDto roomDetailResDto = roomService.findOrderRoomDetail(user.getId(), roomId); + RoomDetailResDto roomDetailResDto = roomService.findRoomDetail(user.getId(), roomId); return ResponseEntity.status(HttpStatus.OK).body(roomDetailResDto); } /** - * 방에 참여한다 + * 방 나가기 * @param roomId 방 id * @param user 유저 정보 * @return roomId @@ -102,7 +102,7 @@ public ResponseEntity leaveRoom(@PathVariable("room_id") Long r @PostMapping("/{room_id}/start") public ResponseEntity startRoom(@PathVariable("room_id") Long roomId, @Parameter(hidden = true) @Login UserDto user) { - return ResponseEntity.status(HttpStatus.OK).body(roomService.modifyStartRoom(roomId, user)); + return ResponseEntity.status(HttpStatus.CREATED).body(roomService.modifyStartRoom(roomId, user)); } /** @@ -114,7 +114,7 @@ public ResponseEntity startRoom(@PathVariable("room_id") Long roomId, @PostMapping("/{room_id}") public ResponseEntity joinRoom(@Parameter(hidden = true) @Login UserDto user, @PathVariable("room_id") Long roomId) { - RoomJoinResDto roomJoinResDto = roomService.addOrderjoinRoom(roomId, user); + RoomJoinResDto roomJoinResDto = roomService.addJoinRoom(roomId, user); return ResponseEntity.status(HttpStatus.CREATED).body(roomJoinResDto); } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java index 8cc21c40d..4fed88888 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/service/RoomService.java @@ -34,14 +34,13 @@ import gg.repo.user.UserRepository; import gg.utils.exception.ErrorCode; import gg.utils.exception.party.CategoryNotFoundException; -import gg.utils.exception.party.NotHostException; import gg.utils.exception.party.RoomNotEnoughPeopleException; import gg.utils.exception.party.RoomNotFoundException; import gg.utils.exception.party.RoomNotOpenException; import gg.utils.exception.party.RoomNotParticipantException; import gg.utils.exception.party.RoomReportedException; import gg.utils.exception.party.UserAlreadyInRoom; -import gg.utils.exception.user.UserNotFoundException; +import gg.utils.exception.party.UserNotHostException; import lombok.RequiredArgsConstructor; @Service @@ -58,7 +57,7 @@ public class RoomService { * @return 시작하지 않은 방 (최신순) + 시작한 방(끝나는 시간이 빠른 순) 전체 List */ @Transactional - public RoomListResDto findOrderRoomList() { + public RoomListResDto findRoomList() { Sort sortForNotStarted = Sort.by("createdAt").descending(); Sort sortForStarted = Sort.by("dueDate").ascending(); @@ -77,12 +76,11 @@ public RoomListResDto findOrderRoomList() { * 방 생성하고 닉네임 부여 * @param roomCreateReqDto 요청 DTO * @param userDto user객체를 보내기 위한 DTO객체 - * @exception UserNotFoundException 유효하지 않은 유저 입력 * @exception CategoryNotFoundException 유효하지 카테고리 입력 * @return 만들어진 방 ID값 */ @Transactional - public Long addOrderCreateRoom(RoomCreateReqDto roomCreateReqDto, UserDto userDto) { + public Long addCreateRoom(RoomCreateReqDto roomCreateReqDto, UserDto userDto) { User user = userRepository.findById(userDto.getId()).get(); Category category = categoryRepository.findById(roomCreateReqDto.getCategoryId()) .orElseThrow(CategoryNotFoundException::new); @@ -101,7 +99,7 @@ public Long addOrderCreateRoom(RoomCreateReqDto roomCreateReqDto, UserDto userDt * @return 참여한 방 전체 List */ @Transactional - public RoomListResDto findOrderJoinedRoomList(Long userId) { + public RoomListResDto findJoinedRoomList(Long userId) { List userRooms = userRoomRepository.findByUserId(userId); List joinedRooms = userRooms.stream() .map(UserRoom::getRoom) @@ -130,7 +128,7 @@ public RoomListResDto findOrderJoinedRoomList(Long userId) { * @return 끝난 방 전체 List */ @Transactional - public RoomListResDto findOrderMyHistoryRoomList(Long userId) { + public RoomListResDto findMyHistoryRoomList(Long userId) { List finishRooms = userRoomRepository.findFinishRoomsByUserId(userId, RoomType.FINISH); List roomListResDto = finishRooms.stream() @@ -147,7 +145,7 @@ public RoomListResDto findOrderMyHistoryRoomList(Long userId) { * @param user 참여 유저(사용자 본인) * @throws RoomNotFoundException 방 없음 * @throws RoomNotOpenException 방이 대기 상태가 아님 - * @throws RoomNotParticipantException 방 입장자가 아님 + * @throws RoomNotParticipantException 방 참여자가 아님 * @return 나간 사람의 닉네임 */ @Transactional @@ -155,7 +153,7 @@ public LeaveRoomResDto modifyLeaveRoom(Long roomId, UserDto user) { Room targetRoom = roomRepository.findById(roomId) .orElseThrow(RoomNotFoundException::new); if (!targetRoom.getStatus().equals(RoomType.OPEN)) { - throw new RoomNotOpenException(ErrorCode.ROOM_NOT_OPEN); + throw new RoomNotOpenException(); } UserRoom targetUserRoom = userRoomRepository.findByUserAndRoom(userRepository.findById(user.getId()).get(), targetRoom).orElseThrow(RoomNotParticipantException::new); @@ -185,14 +183,14 @@ public LeaveRoomResDto modifyLeaveRoom(Long roomId, UserDto user) { } /** - *

방을 시작 상태로 바꾼다

- *

방의 상태를 시작 상태로 변경.

+ * 방을 시작 상태로 바꾼다 + * 방의 상태를 시작 상태로 변경. * @param roomId, user * @throws RoomNotFoundException 방 없음 * @throws RoomNotOpenException 방이 열리지 않은 상태 * @throws RoomNotEnoughPeopleException 방에 충분한 인원이 없음 - * @throws RoomNotParticipantException 방에 참가하지 않은 사용자 - * @throws NotHostException 방장이 아닌 경우 + * @throws RoomNotParticipantException 방에 참가하지 않은 유저 + * @throws UserNotHostException 방장이 아닌 경우 * @return 방 id */ @Transactional @@ -209,7 +207,7 @@ public Long modifyStartRoom(Long roomId, UserDto user) { UserRoom targetUserRoom = userRoomRepository.findByUserAndRoom(userRepository.findById(user.getId()).get(), targetRoom).orElseThrow(RoomNotParticipantException::new); if (targetRoom.getHost() != targetUserRoom.getUser()) { - throw new NotHostException(); + throw new UserNotHostException(); } targetRoom.updateStatus(RoomType.START); roomRepository.save(targetRoom); @@ -222,16 +220,16 @@ public Long modifyStartRoom(Long roomId, UserDto user) { * @param userId 자신의 id * @param roomId 방 id * @exception RoomNotFoundException 유효하지 않은 방 입력 - * @exception RoomReportedException 신고 받은 방 처리 + * @exception RoomReportedException 신고 받은 방 처리 | 시작한 방도 볼 수 있게 해야하므로 별도처리 * 익명성을 지키기 위해 nickname을 리턴 * @return 방 상세정보 dto */ @Transactional - public RoomDetailResDto findOrderRoomDetail(Long userId, Long roomId) { + public RoomDetailResDto findRoomDetail(Long userId, Long roomId) { Room room = roomRepository.findById(roomId) - .orElseThrow(() -> new RoomNotFoundException(ErrorCode.ROOM_NOT_FOUND)); + .orElseThrow(RoomNotFoundException::new); if (room.getStatus() == RoomType.HIDDEN) { - throw new RoomReportedException(roomId + "번방은 신고 상태로 접근이 불가능합니다."); + throw new RoomReportedException(); } List roomUsers = userRoomRepository.findByRoomId(roomId).stream() @@ -264,17 +262,18 @@ public RoomDetailResDto findOrderRoomDetail(Long userId, Long roomId) { * @param roomId 방 id * @param userDto 유저 정보 * @exception RoomNotFoundException 유효하지 않은 방 입력 + * @exception RoomNotOpenException 모집중인 방이 아님 * @exception UserAlreadyInRoom 이미 참여한 방 입력 * 과거 참여 이력이 있을 경우 그 아이디로, 없을경우 currentPeople을 증가시킨다 * @return roomId */ @Transactional - public RoomJoinResDto addOrderjoinRoom(Long roomId, UserDto userDto) { + public RoomJoinResDto addJoinRoom(Long roomId, UserDto userDto) { User user = userRepository.findById(userDto.getId()).get(); Room room = roomRepository.findById(roomId).orElseThrow(RoomNotFoundException::new); if (room.getStatus() != RoomType.OPEN) { - throw new RoomNotFoundException(ErrorCode.ROOM_FINISHED); + throw new RoomNotOpenException(); } UserRoom userRoom = userRoomRepository.findByUserAndRoom(user, room) .orElseGet(() -> { diff --git a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java index 90c1fcbdb..8d85c8248 100644 --- a/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java +++ b/gg-utils/src/main/java/gg/utils/exception/ErrorCode.java @@ -155,20 +155,17 @@ public enum ErrorCode { // Party CATEGORY_NOT_FOUND(404, "PT101", "유효하지 않은 카테고리 입니다."), - ROOM_NOT_FOUND(404, "PT102", "존재하지 않는 방입니다."), - USER_NOT_IN_ROOM(404, "PT103", "방에 존재하지 않는 유저입니다."), - ROOM_REPORTED_ERROR(404, "PT104", "신고 상태로 접근이 불가능합니다."), - USER_NOT_EXIST(404, "PT105", "방에 유저가 존재하지 않습니다."), - COMMENT_NOT_FOUND(404, "PT106", "존재하지 않는 댓글입니다."), - COMMENT_TOO_LONG(400, "PT201", "댓글은 100자 이하로 작성해주세요."), - ROOM_FINISHED(403, "PT501", "마감된 방입니다."), - ROOM_NOT_ENOUGH_PEOPLE(400, "PT202", "시작할 수 있는 인원이 아닙니다."), - NOT_HOST(400, "PT203", "방장이 아닙니다"), - ROOM_NOT_PARTICIPANT(400, "PT206", "해당 방의 참여자가 아닙니다."), - ROOM_NOT_OPEN(400, "PT205", "준비 상태의 방이 아닙니다."), - ROOM_ALREADY_HIDDEN(400, "PT204", "이미 숨겨진 방입니다."), - USER_ALREADY_IN_ROOM(409, "PT105", "이미 참여한 방 입니다."), - ROOMSTAT_NOT_FOUND(404, "PT106", "존재하지 않는 방 status입니다."); + ROOM_NOT_FOUND(404, "PT102", "존재하지 않는 방 입니다."), + ROOM_REPORTED_ERROR(404, "PT103", "신고 상태로 접근이 불가능합니다."), + COMMENT_NOT_FOUND(404, "PT104", "존재하지 않는 댓글입니다."), + ROOMSTAT_NOT_FOUND(404, "PT105", "존재하지 않는 방 status입니다."), + ROOM_NOT_ENOUGH_PEOPLE(400, "PT201", "시작할 수 있는 인원이 아닙니다."), + USER_NOT_HOST(400, "PT203", "방장이 아닙니다"), + ROOM_SAME_STATUS(400, "PT204", "이미 처리된 방 입니다."), + ROOM_NOT_OPEN(400, "PT205", "모집중인 방이 아닙니다."), + ROOM_NOT_PARTICIPANT(400, "PT206", "참여하지 않은 방 입니다."), + USER_ALREADY_IN_ROOM(409, "PT301", "이미 참여한 방 입니다."); + private final int status; private final String errCode; diff --git a/gg-utils/src/main/java/gg/utils/exception/party/CommentNotValidException.java b/gg-utils/src/main/java/gg/utils/exception/party/CommentNotValidException.java deleted file mode 100644 index 6203e2e13..000000000 --- a/gg-utils/src/main/java/gg/utils/exception/party/CommentNotValidException.java +++ /dev/null @@ -1,10 +0,0 @@ -package gg.utils.exception.party; - -import gg.utils.exception.ErrorCode; -import gg.utils.exception.custom.InvalidParameterException; - -public class CommentNotValidException extends InvalidParameterException { - public CommentNotValidException(ErrorCode errorCode) { - super(errorCode.getMessage(), errorCode); - } -} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/InvaildPeopleException.java b/gg-utils/src/main/java/gg/utils/exception/party/InvaildPeopleException.java deleted file mode 100644 index 0210bec90..000000000 --- a/gg-utils/src/main/java/gg/utils/exception/party/InvaildPeopleException.java +++ /dev/null @@ -1,10 +0,0 @@ -package gg.utils.exception.party; - -import gg.utils.exception.ErrorCode; -import gg.utils.exception.custom.ForbiddenException; - -public class InvaildPeopleException extends ForbiddenException { - public InvaildPeopleException() { - super(ErrorCode.NOT_HOST.getMessage(), ErrorCode.NOT_HOST); - } -} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/NotHostException.java b/gg-utils/src/main/java/gg/utils/exception/party/NotHostException.java deleted file mode 100644 index df36460c4..000000000 --- a/gg-utils/src/main/java/gg/utils/exception/party/NotHostException.java +++ /dev/null @@ -1,11 +0,0 @@ -package gg.utils.exception.party; - -import gg.utils.exception.ErrorCode; -import gg.utils.exception.custom.ForbiddenException; -import gg.utils.exception.custom.NotExistException; - -public class NotHostException extends ForbiddenException { - public NotHostException() { - super(ErrorCode.NOT_HOST.getMessage(), ErrorCode.NOT_HOST); - } -} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomAlreadyHiddenException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomAlreadyHiddenException.java deleted file mode 100644 index c923da4f5..000000000 --- a/gg-utils/src/main/java/gg/utils/exception/party/RoomAlreadyHiddenException.java +++ /dev/null @@ -1,14 +0,0 @@ -package gg.utils.exception.party; - -import gg.utils.exception.ErrorCode; -import gg.utils.exception.custom.DuplicationException; - -public class RoomAlreadyHiddenException extends DuplicationException { - public RoomAlreadyHiddenException(String message, ErrorCode errorCode) { - super(message, errorCode); - } - - public RoomAlreadyHiddenException() { - super(ErrorCode.ROOM_ALREADY_HIDDEN.getMessage(), ErrorCode.ROOM_ALREADY_HIDDEN); - } -} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotFoundException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotFoundException.java index a3d453f9b..c5c5e52cc 100644 --- a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotFoundException.java +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotFoundException.java @@ -7,8 +7,4 @@ public class RoomNotFoundException extends NotExistException { public RoomNotFoundException() { super(ErrorCode.ROOM_NOT_FOUND.getMessage(), ErrorCode.ROOM_NOT_FOUND); } - - public RoomNotFoundException(ErrorCode errorCode) { - super(errorCode.getMessage(), errorCode); - } } diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotOpenException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotOpenException.java index 38c9ff0ab..4175219c9 100644 --- a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotOpenException.java +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotOpenException.java @@ -7,8 +7,4 @@ public class RoomNotOpenException extends NotExistException { public RoomNotOpenException() { super(ErrorCode.ROOM_NOT_OPEN.getMessage(), ErrorCode.ROOM_NOT_OPEN); } - - public RoomNotOpenException(ErrorCode errorCode) { - super(errorCode.getMessage(), errorCode); - } } diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotParticipantException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotParticipantException.java index e1d7563a6..86ea0a074 100644 --- a/gg-utils/src/main/java/gg/utils/exception/party/RoomNotParticipantException.java +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomNotParticipantException.java @@ -7,8 +7,4 @@ public class RoomNotParticipantException extends NotExistException { public RoomNotParticipantException() { super(ErrorCode.ROOM_NOT_PARTICIPANT.getMessage(), ErrorCode.ROOM_NOT_PARTICIPANT); } - - public RoomNotParticipantException(ErrorCode errorCode) { - super(errorCode.getMessage(), errorCode); - } } diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomReportedException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomReportedException.java index 78f154588..c63635e5f 100644 --- a/gg-utils/src/main/java/gg/utils/exception/party/RoomReportedException.java +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomReportedException.java @@ -4,7 +4,7 @@ import gg.utils.exception.custom.NotExistException; public class RoomReportedException extends NotExistException { - public RoomReportedException(String message) { - super(message, ErrorCode.ROOM_REPORTED_ERROR); + public RoomReportedException() { + super(ErrorCode.ROOM_REPORTED_ERROR.getMessage(), ErrorCode.ROOM_REPORTED_ERROR); } } diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomSameStatusException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomSameStatusException.java new file mode 100644 index 000000000..bda588914 --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomSameStatusException.java @@ -0,0 +1,10 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.DuplicationException; + +public class RoomSameStatusException extends DuplicationException { + public RoomSameStatusException() { + super(ErrorCode.ROOM_SAME_STATUS.getMessage(), ErrorCode.ROOM_SAME_STATUS); + } +} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomStatNotFoundException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomStatNotFoundException.java index 7406251d1..76df7c7be 100644 --- a/gg-utils/src/main/java/gg/utils/exception/party/RoomStatNotFoundException.java +++ b/gg-utils/src/main/java/gg/utils/exception/party/RoomStatNotFoundException.java @@ -4,10 +4,6 @@ import gg.utils.exception.custom.NotExistException; public class RoomStatNotFoundException extends NotExistException { - public RoomStatNotFoundException(String message, ErrorCode errorCode) { - super(message, errorCode); - } - public RoomStatNotFoundException() { super(ErrorCode.ROOMSTAT_NOT_FOUND.getMessage(), ErrorCode.ROOMSTAT_NOT_FOUND); } diff --git a/gg-utils/src/main/java/gg/utils/exception/party/RoomUpdateException.java b/gg-utils/src/main/java/gg/utils/exception/party/RoomUpdateException.java deleted file mode 100644 index 1ede51640..000000000 --- a/gg-utils/src/main/java/gg/utils/exception/party/RoomUpdateException.java +++ /dev/null @@ -1,10 +0,0 @@ -package gg.utils.exception.party; - -import gg.utils.exception.ErrorCode; -import gg.utils.exception.custom.ForbiddenException; - -public class RoomUpdateException extends ForbiddenException { - public RoomUpdateException(ErrorCode errorCode) { - super(errorCode.getMessage(), errorCode); - } -} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/UserNotFoundException.java b/gg-utils/src/main/java/gg/utils/exception/party/UserNotFoundException.java deleted file mode 100644 index 20a75854d..000000000 --- a/gg-utils/src/main/java/gg/utils/exception/party/UserNotFoundException.java +++ /dev/null @@ -1,11 +0,0 @@ -package gg.utils.exception.party; - -import gg.utils.exception.ErrorCode; -import gg.utils.exception.custom.NotExistException; - -public class UserNotFoundException extends NotExistException { - public UserNotFoundException() { - super(ErrorCode.USER_NOT_EXIST.getMessage(), ErrorCode.USER_NOT_EXIST); - } - -} diff --git a/gg-utils/src/main/java/gg/utils/exception/party/UserNotHostException.java b/gg-utils/src/main/java/gg/utils/exception/party/UserNotHostException.java new file mode 100644 index 000000000..97a6cb8cc --- /dev/null +++ b/gg-utils/src/main/java/gg/utils/exception/party/UserNotHostException.java @@ -0,0 +1,10 @@ +package gg.utils.exception.party; + +import gg.utils.exception.ErrorCode; +import gg.utils.exception.custom.ForbiddenException; + +public class UserNotHostException extends ForbiddenException { + public UserNotHostException() { + super(ErrorCode.USER_NOT_HOST.getMessage(), ErrorCode.USER_NOT_HOST); + } +} From fff7401888007f438c145487d950a186aa4ac7e6 Mon Sep 17 00:00:00 2001 From: Lee Yeseul <80022494+yes-ee@users.noreply.github.com> Date: Thu, 7 Mar 2024 15:43:25 +0900 Subject: [PATCH 08/10] =?UTF-8?q?[FEATURE]=20=EC=B9=B4=ED=85=8C=EA=B3=A0?= =?UTF-8?q?=EB=A6=AC=20=EC=A1=B0=ED=9A=8C=20API=20(#693)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CategoryController.java | 25 +++++++++++++++- .../controller/response/CategoryResDto.java | 15 ++++++++++ .../category/service/CategoryService.java | 30 +++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/user/category/controller/response/CategoryResDto.java create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/user/category/service/CategoryService.java diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/category/controller/CategoryController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/category/controller/CategoryController.java index a91e3b13f..746ac512a 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/category/controller/CategoryController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/category/controller/CategoryController.java @@ -1,7 +1,30 @@ -package gg.pingpong.api.party.user.category.controller; +package gg.party.api.user.category.controller; +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.party.api.user.category.controller.response.CategoryResDto; +import gg.party.api.user.category.service.CategoryService; +import lombok.RequiredArgsConstructor; + @RestController +@RequiredArgsConstructor +@RequestMapping("/party/categories") public class CategoryController { + private final CategoryService categoryService; + + /** + * 카테고리 조회 + * @return 카테고리 전체 리스트 + */ + @GetMapping + public ResponseEntity> categoryList() { + return ResponseEntity.status(HttpStatus.OK).body(categoryService.findCategoryList()); + } + } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/category/controller/response/CategoryResDto.java b/gg-pingpong-api/src/main/java/gg/party/api/user/category/controller/response/CategoryResDto.java new file mode 100644 index 000000000..7cfaae575 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/category/controller/response/CategoryResDto.java @@ -0,0 +1,15 @@ +package gg.party.api.user.category.controller.response; + +import gg.data.party.Category; +import lombok.Getter; + +@Getter +public class CategoryResDto { + private Long categoryId; + private String categoryName; + + public CategoryResDto(Category category) { + this.categoryId = category.getId(); + this.categoryName = category.getName(); + } +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/category/service/CategoryService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/category/service/CategoryService.java new file mode 100644 index 000000000..ce5ade8f4 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/category/service/CategoryService.java @@ -0,0 +1,30 @@ +package gg.party.api.user.category.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import gg.party.api.user.category.controller.response.CategoryResDto; +import gg.repo.party.CategoryRepository; +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class CategoryService { + private final CategoryRepository categoryRepository; + + /** + * 카테고리 전체 조회 + * @return 카테고리 전체 리스트 (id 순으로 오름차순 정렬) + */ + @Transactional(readOnly = true) + public List findCategoryList() { + return categoryRepository.findAll(Sort.by(Sort.Direction.ASC, "id")).stream() + .map(CategoryResDto::new) + .collect(Collectors.toList()); + } + +} From 060f267a1990db384995ff83d2d18dac9e6045ae Mon Sep 17 00:00:00 2001 From: seungsje <111065574+AreSain@users.noreply.github.com> Date: Thu, 7 Mar 2024 16:00:19 +0900 Subject: [PATCH 09/10] =?UTF-8?q?=E2=9C=A8=20[Feature]=20Admin=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=EA=B8=80=20=EC=A0=84=EC=B2=B4=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?API=20(#694)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../room/controller/RoomAdminController.java | 13 ++++++- .../response/AdminRoomListResDto.java | 16 ++++++++ .../controller/response/AdminRoomResDto.java | 39 +++++++++++++++++++ .../admin/room/service/RoomAdminService.java | 20 ++++++++++ .../room/controller/response/RoomResDto.java | 4 -- 5 files changed, 87 insertions(+), 5 deletions(-) create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/response/AdminRoomListResDto.java create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/response/AdminRoomResDto.java diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java index 5c0682081..a89d18694 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/RoomAdminController.java @@ -4,6 +4,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; @@ -12,8 +13,8 @@ import gg.data.party.type.RoomType; import gg.party.api.admin.room.controller.request.RoomShowChangeReqDto; +import gg.party.api.admin.room.controller.response.AdminRoomListResDto; import gg.party.api.admin.room.service.RoomAdminService; -import gg.utils.exception.ErrorCode; import gg.utils.exception.party.RoomNotFoundException; import gg.utils.exception.party.RoomStatNotFoundException; import lombok.RequiredArgsConstructor; @@ -45,4 +46,14 @@ public ResponseEntity changeRoomVisibility(@PathVariable Long roomId, roomAdminService.modifyRoomStatus(roomId, roomType); return ResponseEntity.status(HttpStatus.NO_CONTENT).build(); } + + /** + * 방 전체 조회 + * @return 방 정보 dto + */ + @GetMapping + public ResponseEntity adminAllRoomList() { + AdminRoomListResDto adminRoomListResDto = roomAdminService.findAllRoomList(); + return ResponseEntity.status(HttpStatus.OK).body(adminRoomListResDto); + } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/response/AdminRoomListResDto.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/response/AdminRoomListResDto.java new file mode 100644 index 000000000..eb1c5e3e9 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/response/AdminRoomListResDto.java @@ -0,0 +1,16 @@ +package gg.party.api.admin.room.controller.response; + +import java.util.List; + +import lombok.Getter; +import lombok.NoArgsConstructor; + +@NoArgsConstructor(access = lombok.AccessLevel.PROTECTED) +@Getter +public class AdminRoomListResDto { + private List roomList; + + public AdminRoomListResDto(List roomList) { + this.roomList = roomList; + } +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/response/AdminRoomResDto.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/response/AdminRoomResDto.java new file mode 100644 index 000000000..d1e018497 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/controller/response/AdminRoomResDto.java @@ -0,0 +1,39 @@ +package gg.party.api.admin.room.controller.response; + +import java.time.LocalDateTime; + +import gg.data.party.Room; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor +public class AdminRoomResDto { + private Long roomId; + private Long hostId; + private String creatorIntraId; + private Long categoryId; + private String title; + private String content; + private Integer currentPeople; + private Integer maxPeople; + private Integer minPeople; + private LocalDateTime dueDate; + private LocalDateTime createDate; + private String status; + + public AdminRoomResDto(Room room) { + this.roomId = room.getId(); + this.hostId = room.getHost().getId(); + this.creatorIntraId = room.getCreator().getIntraId(); + this.categoryId = room.getCategory().getId(); + this.title = room.getTitle(); + this.content = room.getContent(); + this.currentPeople = room.getCurrentPeople(); + this.maxPeople = room.getMaxPeople(); + this.minPeople = room.getMinPeople(); + this.dueDate = room.getDueDate(); + this.createDate = room.getCreatedAt(); + this.status = room.getStatus().toString(); + } +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java index 4c35f4374..c295b9d8f 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/admin/room/service/RoomAdminService.java @@ -1,10 +1,15 @@ package gg.party.api.admin.room.service; +import java.util.List; +import java.util.stream.Collectors; + import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import gg.data.party.Room; import gg.data.party.type.RoomType; +import gg.party.api.admin.room.controller.response.AdminRoomListResDto; +import gg.party.api.admin.room.controller.response.AdminRoomResDto; import gg.repo.party.RoomRepository; import gg.utils.exception.party.RoomNotFoundException; import gg.utils.exception.party.RoomSameStatusException; @@ -34,4 +39,19 @@ public void modifyRoomStatus(Long roomId, RoomType newStatus) { room.updateRoomStatus(newStatus); roomRepository.save(room); } + + /** + * 방 전체 조회 + * @return 방 정보 dto + */ + @Transactional + public AdminRoomListResDto findAllRoomList() { + List allRooms = roomRepository.findAll(); + + List adminRoomListResDto = allRooms.stream() + .map(AdminRoomResDto::new) + .collect(Collectors.toList()); + + return new AdminRoomListResDto(adminRoomListResDto); + } } diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/RoomResDto.java b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/RoomResDto.java index fdc5f40c4..d137673b0 100644 --- a/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/RoomResDto.java +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/room/controller/response/RoomResDto.java @@ -10,8 +10,6 @@ @NoArgsConstructor public class RoomResDto { private Long roomId; - private Long hostId; - private Long creatorId; private Long categoryId; private String title; private String content; @@ -24,8 +22,6 @@ public class RoomResDto { public RoomResDto(Room room) { this.roomId = room.getId(); - this.hostId = room.getHost().getId(); - this.creatorId = room.getCreator().getId(); this.categoryId = room.getCategory().getId(); this.title = room.getTitle(); this.content = room.getContent(); From 3ee3e0ee112989efd992ffa8f1f2c54d20f9914b Mon Sep 17 00:00:00 2001 From: jungjkim Date: Thu, 7 Mar 2024 16:20:02 +0900 Subject: [PATCH 10/10] =?UTF-8?q?=E2=9C=A8=20[Feature]=20=08=ED=83=AC?= =?UTF-8?q?=ED=94=8C=EB=A6=BF=20=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?API=20(#695)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TemplateAdminController.java | 7 ----- .../controller/TemplateController.java | 29 +++++++++++++++++ .../controller/response/TemplateResDto.java | 31 +++++++++++++++++++ .../templates/service/TemplateService.java | 29 +++++++++++++++++ .../gg/repo/party/TemplateRepository.java | 8 +++++ 5 files changed, 97 insertions(+), 7 deletions(-) delete mode 100644 gg-pingpong-api/src/main/java/gg/party/api/admin/template/controller/TemplateAdminController.java create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/user/templates/controller/TemplateController.java create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/user/templates/controller/response/TemplateResDto.java create mode 100644 gg-pingpong-api/src/main/java/gg/party/api/user/templates/service/TemplateService.java create mode 100644 gg-repo/src/main/java/gg/repo/party/TemplateRepository.java diff --git a/gg-pingpong-api/src/main/java/gg/party/api/admin/template/controller/TemplateAdminController.java b/gg-pingpong-api/src/main/java/gg/party/api/admin/template/controller/TemplateAdminController.java deleted file mode 100644 index 9c9c7819d..000000000 --- a/gg-pingpong-api/src/main/java/gg/party/api/admin/template/controller/TemplateAdminController.java +++ /dev/null @@ -1,7 +0,0 @@ -package gg.pingpong.api.party.admin.template.controller; - -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class TemplateAdminController { -} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/templates/controller/TemplateController.java b/gg-pingpong-api/src/main/java/gg/party/api/user/templates/controller/TemplateController.java new file mode 100644 index 000000000..0fab53caa --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/templates/controller/TemplateController.java @@ -0,0 +1,29 @@ +package gg.party.api.user.templates.controller; + +import java.util.List; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import gg.party.api.user.templates.controller.response.TemplateResDto; +import gg.party.api.user.templates.service.TemplateService; +import lombok.RequiredArgsConstructor; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/party/templates") +public class TemplateController { + private final TemplateService templateService; + + /** + * 탬플릿 목록을 조회한다 + * @return 탬플릿 전체 List + */ + @GetMapping + public ResponseEntity> templateList() { + return ResponseEntity.status(HttpStatus.OK).body(templateService.findTemplateList()); + } +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/templates/controller/response/TemplateResDto.java b/gg-pingpong-api/src/main/java/gg/party/api/user/templates/controller/response/TemplateResDto.java new file mode 100644 index 000000000..69f464833 --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/templates/controller/response/TemplateResDto.java @@ -0,0 +1,31 @@ +package gg.party.api.user.templates.controller.response; + +import gg.data.party.GameTemplate; +import lombok.Getter; + +@Getter +public class TemplateResDto { + private Long gameTemplateId; + private Long categoryId; + private String gameName; + private Integer maxGamePeople; + private Integer minGamePeople; + private Integer maxGameTime; + private Integer minGameTime; + private String genre; + private String difficulty; + private String summary; + + public TemplateResDto(GameTemplate template) { + this.gameTemplateId = template.getId(); + this.categoryId = template.getCategory().getId(); + this.gameName = template.getGameName(); + this.maxGamePeople = template.getMaxGamePeople(); + this.minGamePeople = template.getMinGamePeople(); + this.maxGameTime = template.getMaxGameTime(); + this.minGameTime = template.getMinGameTime(); + this.genre = template.getGenre(); + this.difficulty = template.getDifficulty(); + this.summary = template.getSummary(); + } +} diff --git a/gg-pingpong-api/src/main/java/gg/party/api/user/templates/service/TemplateService.java b/gg-pingpong-api/src/main/java/gg/party/api/user/templates/service/TemplateService.java new file mode 100644 index 000000000..90967e79e --- /dev/null +++ b/gg-pingpong-api/src/main/java/gg/party/api/user/templates/service/TemplateService.java @@ -0,0 +1,29 @@ +package gg.party.api.user.templates.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import gg.party.api.user.templates.controller.response.TemplateResDto; +import gg.repo.party.TemplateRepository; +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class TemplateService { + private final TemplateRepository templateRepository; + + /** + * 템플릿 전체 조회 + * @return 템플릿 전체 리스트 (id 순으로 오름차순 정렬) + */ + @Transactional(readOnly = true) + public List findTemplateList() { + return templateRepository.findAll(Sort.by(Sort.Direction.ASC, "id")).stream() + .map(TemplateResDto::new) + .collect(Collectors.toList()); + } +} diff --git a/gg-repo/src/main/java/gg/repo/party/TemplateRepository.java b/gg-repo/src/main/java/gg/repo/party/TemplateRepository.java new file mode 100644 index 000000000..3de6e1554 --- /dev/null +++ b/gg-repo/src/main/java/gg/repo/party/TemplateRepository.java @@ -0,0 +1,8 @@ +package gg.repo.party; + +import org.springframework.data.jpa.repository.JpaRepository; + +import gg.data.party.GameTemplate; + +public interface TemplateRepository extends JpaRepository { +}