Skip to content

Commit

Permalink
✨ [Feat] ENUM으로 자료형 통일 테스트 코드 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
coldmans committed Jan 22, 2025
1 parent d8fb897 commit 9c65f1e
Show file tree
Hide file tree
Showing 15 changed files with 111 additions and 82 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.gamegoo.gamegoo_v2.account.auth.annotation.AuthMember;
import com.gamegoo.gamegoo_v2.account.member.domain.Member;
import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import com.gamegoo.gamegoo_v2.account.member.domain.Tier;
import com.gamegoo.gamegoo_v2.content.board.dto.request.BoardInsertRequest;
import com.gamegoo.gamegoo_v2.content.board.dto.request.BoardUpdateRequest;
Expand Down Expand Up @@ -46,7 +48,7 @@ public class BoardController {
*/
@PostMapping
@Operation(summary = "게시판 글 작성 API",
description = "게시판에서 글을 작성하는 API 입니다. 게임 모드 1~4, 포지션 0~5를 입력하세요. 게임스타일은 최대 3개까지 입력가능합니다.")
description = "게시판에서 글을 작성하는 API 입니다. 게임 모드 1~4, 포지션을 입력하세요. 게임스타일은 최대 3개까지 입력가능합니다.")
public ApiResponse<BoardInsertResponse> boardInsert(
@AuthMember Member member,
@Valid @RequestBody BoardInsertRequest request) {
Expand All @@ -63,16 +65,17 @@ public ApiResponse<BoardInsertResponse> boardInsert(
@Parameter(name = "pageIdx", description = "조회할 페이지 번호를 입력해주세요. 페이지 당 20개의 게시물을 볼 수 있습니다."),
@Parameter(name = "mode", description = "(선택) 게임 모드를 입력해주세요. < 빠른대전: 1, 솔로랭크: 2, 자유랭크: 3, 칼바람 나락: 4 >"),
@Parameter(name = "tier", description = "(선택) 티어를 선택해주세요."),
@Parameter(name = "mainPosition", description = "(선택) 포지션을 입력해주세요. < 전체: 0, 탑: 1, 정글: 2, 미드: 3, 바텀: 4, " +
"서포터: 5 >"),
@Parameter(name = "mainPosition", description = "(선택) 포지션을 입력해주세요. < 전체: ANY, 탑: TOP, 정글: JUNGLE, 미드: " +
"MID, 원딜: ADC, " +
"서포터: SUP >"),
@Parameter(name = "mike", description = "(선택) 마이크 여부를 선택해주세요.")
})
public ApiResponse<BoardResponse> boardList(
@ValidPage @RequestParam(name = "page") Integer page,
@RequestParam(required = false) Integer mode,
@RequestParam(required = false) Tier tier,
@RequestParam(required = false) Integer mainPosition,
@RequestParam(required = false) Boolean mike) {
@RequestParam(required = false) Position mainPosition,
@RequestParam(required = false) Mike mike) {

return ApiResponse.ok(boardFacadeService.getBoardList(mode, tier, mainPosition, mike, page));

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
package com.gamegoo.gamegoo_v2.content.board.domain;

import com.gamegoo.gamegoo_v2.account.member.domain.Member;
import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import com.gamegoo.gamegoo_v2.core.common.BaseDateTimeEntity;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
Expand Down Expand Up @@ -33,17 +37,21 @@ public class Board extends BaseDateTimeEntity {
@Column(nullable = false)
private int mode;

@Enumerated(EnumType.STRING)
@Column(nullable = false)
private int mainPosition;
private Position mainPosition;

@Enumerated(EnumType.STRING)
@Column(nullable = false)
private int subPosition;
private Position subPosition;

@Enumerated(EnumType.STRING)
@Column(nullable = false)
private int wantPosition;
private Position wantPosition;

@Enumerated(EnumType.STRING)
@Column(nullable = false)
private boolean mike = false;
private Mike mike;

@Column(length = 5000)
private String content;
Expand All @@ -62,8 +70,9 @@ public class Board extends BaseDateTimeEntity {
private List<BoardGameStyle> boardGameStyles = new ArrayList<>();


public static Board create(Member member, int mode, int mainPosition, int subPosition, int wantPosition,
boolean mike, String content, int boardProfileImage) {
public static Board create(Member member, int mode, Position mainPosition, Position subPosition,
Position wantPosition,
Mike mike, String content, int boardProfileImage) {
return Board.builder()
.member(member)
.mode(mode)
Expand All @@ -77,7 +86,8 @@ public static Board create(Member member, int mode, int mainPosition, int subPos
}

@Builder
private Board(int mode, int mainPosition, int subPosition, int wantPosition, boolean mike, String content,
private Board(int mode, Position mainPosition, Position subPosition, Position wantPosition, Mike mike,
String content,
int boardProfileImage, boolean deleted, Member member) {
this.mode = mode;
this.mainPosition = mainPosition;
Expand All @@ -100,7 +110,7 @@ public void removeBoardGameStyle(BoardGameStyle boardGameStyle) {
boardGameStyle.removeBoard();
}

public void updateBoard(int gameMode, Integer mainPosition, Integer subPosition, Integer wantPosition, Boolean mike,
public void updateBoard(int gameMode, Position mainPosition, Position subPosition, Position wantPosition, Mike mike,
String content, int boardProfileImage) {
if (gameMode != 0) {
this.mode = gameMode;
Expand Down Expand Up @@ -131,4 +141,5 @@ public void setDeleted(boolean deleted) {
this.deleted = deleted;
}


}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.gamegoo.gamegoo_v2.content.board.dto.request;

import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
Expand All @@ -23,22 +25,16 @@ public class BoardInsertRequest {
Integer gameMode;

@NotNull(message = "주 포지션은 필수 값입니다.")
@Min(value = 0, message = "주 포지션은 0 이상이어야 합니다.")
@Max(value = 5, message = "주 포지션은 5 이하여야 합니다.")
Integer mainPosition;
Position mainPosition;

@NotNull(message = "부 포지션은 필수 값입니다.")
@Min(value = 0, message = "부 포지션은 0 이상이어야 합니다.")
@Max(value = 5, message = "부 포지션은 5 이하여야 합니다.")
Integer subPosition;
Position subPosition;

@NotNull(message = "희망 포지션은 필수 값입니다.")
@Min(value = 0, message = "희망 포지션은 0 이상이어야 합니다.")
@Max(value = 5, message = "희망 포지션은 5 이하여야 합니다.")
Integer wantPosition;
Position wantPosition;

@Schema(description = "마이크 사용 여부", defaultValue = "false")
Boolean mike = false;
@Schema(description = "마이크 사용 여부", defaultValue = "UNAVAILABLE")
Mike mike = Mike.UNAVAILABLE;

@NotNull(message = "게임 스타일 리스트는 필수 값입니다.")
@Size(min = 1, max = 3, message = "게임 스타일 리스트는 1개 이상 3개 이하여야 합니다.")
Expand All @@ -47,4 +43,5 @@ public class BoardInsertRequest {
@Schema(description = "게시글 내용 (선택)")
String contents;


}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.gamegoo.gamegoo_v2.content.board.dto.request;

import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
Expand All @@ -23,22 +25,16 @@ public class BoardUpdateRequest {
Integer gameMode;

@NotNull(message = "주 포지션은 필수 값입니다.")
@Min(value = 0, message = "주 포지션은 0 이상이어야 합니다.")
@Max(value = 5, message = "주 포지션은 5 이하여야 합니다.")
Integer mainPosition;
Position mainPosition;

@NotNull(message = "부 포지션은 필수 값입니다.")
@Min(value = 0, message = "부 포지션은 0 이상이어야 합니다.")
@Max(value = 5, message = "부 포지션은 5 이하여야 합니다.")
Integer subPosition;
Position subPosition;

@NotNull(message = "희망 포지션은 필수 값입니다.")
@Min(value = 0, message = "희망 포지션은 0 이상이어야 합니다.")
@Max(value = 5, message = "희망 포지션은 5 이하여야 합니다.")
Integer wantPosition;
Position wantPosition;

@Schema(description = "마이크 사용 여부 (선택)")
Boolean mike;
Mike mike;

@NotNull(message = "게임 스타일 리스트는 필수 값입니다.")
@Size(min = 1, max = 3, message = "게임 스타일 리스트는 1개 이상 3개 이하여야 합니다.")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.gamegoo.gamegoo_v2.content.board.dto.response;

import com.gamegoo.gamegoo_v2.account.member.domain.Member;
import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import com.gamegoo.gamegoo_v2.account.member.domain.Tier;
import com.gamegoo.gamegoo_v2.content.board.domain.Board;
import lombok.Builder;
Expand All @@ -24,12 +26,12 @@ public class BoardByIdResponse {
Integer mannerLevel;
Tier tier;
int rank;
boolean mike;
Mike mike;
List<ChampionResponse> championResponseList;
int gameMode;
int mainPosition;
int subPosition;
int wantPosition;
Position mainPosition;
Position subPosition;
Position wantPosition;
Integer recentGameCount;
Double winRate;
List<Long> gameStyles;
Expand Down Expand Up @@ -57,7 +59,7 @@ public static BoardByIdResponse of(Board board) {
.mannerLevel(poster.getMannerLevel())
.tier(poster.getTier())
.rank(poster.getGameRank())
.mike(board.isMike())
.mike(board.getMike())
.championResponseList(championResponseList)
.gameMode(board.getMode())
.mainPosition(board.getMainPosition())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.gamegoo.gamegoo_v2.content.board.dto.response;

import com.gamegoo.gamegoo_v2.account.member.domain.Member;
import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import com.gamegoo.gamegoo_v2.account.member.domain.Tier;
import com.gamegoo.gamegoo_v2.content.board.domain.Board;
import com.gamegoo.gamegoo_v2.social.manner.domain.MannerKeyword;
Expand Down Expand Up @@ -29,12 +31,12 @@ public class BoardByIdResponseForMember {
List<MannerKeyword> mannerKeywords;
Tier tier;
int rank;
boolean mike;
Mike mike;
List<ChampionResponse> championResponseDTOList;
int gameMode;
int mainPosition;
int subPosition;
int wantPosition;
Position mainPosition;
Position subPosition;
Position wantPosition;
Integer recentGameCount;
Double winRate;
List<Long> gameStyles;
Expand Down Expand Up @@ -73,7 +75,7 @@ public static BoardByIdResponseForMember of(
.mannerLevel(poster.getMannerLevel())
.tier(poster.getTier())
.rank(poster.getGameRank())
.mike(board.isMike())
.mike(board.getMike())
.championResponseDTOList(championResponseList)
.gameMode(board.getMode())
.mainPosition(board.getMainPosition())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package com.gamegoo.gamegoo_v2.content.board.dto.response;

import com.gamegoo.gamegoo_v2.account.member.domain.Member;
import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import com.gamegoo.gamegoo_v2.account.member.domain.Tier;
import com.gamegoo.gamegoo_v2.content.board.domain.Board;
import lombok.Builder;
import lombok.Getter;
Expand All @@ -16,13 +19,13 @@ public class BoardInsertResponse {
private Integer profileImage;
private String gameName;
private String tag;
private String tier;
private Tier tier;
private int rank;
private int gameMode;
private int mainPosition;
private int subPosition;
private int wantPosition;
private boolean mike;
private Position mainPosition;
private Position subPosition;
private Position wantPosition;
private Mike mike;
private List<Long> gameStyles;
private String contents;

Expand All @@ -33,13 +36,13 @@ public static BoardInsertResponse of(Board board, Member member) {
.profileImage(board.getBoardProfileImage())
.gameName(member.getGameName())
.tag(member.getTag())
.tier(member.getTier().name())
.tier(member.getTier())
.rank(member.getGameRank())
.gameMode(board.getMode())
.mainPosition(board.getMainPosition())
.subPosition(board.getSubPosition())
.wantPosition(board.getWantPosition())
.mike(board.isMike())
.mike(board.getMike())
.gameStyles(board.getBoardGameStyles().stream()
.map(bg -> bg.getGameStyle().getId())
.toList())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.gamegoo.gamegoo_v2.content.board.dto.response;

import com.gamegoo.gamegoo_v2.account.member.domain.Member;
import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import com.gamegoo.gamegoo_v2.account.member.domain.Tier;
import com.gamegoo.gamegoo_v2.content.board.domain.Board;
import com.gamegoo.gamegoo_v2.game.dto.response.ChampionResponse;
Expand All @@ -24,13 +26,13 @@ public class BoardListResponse {
Tier tier;
int rank;
int gameMode;
int mainPosition;
int subPosition;
int wantPosition;
Position mainPosition;
Position subPosition;
Position wantPosition;
List<ChampionResponse> championResponseList;
Double winRate;
LocalDateTime createdAt;
boolean mike;
Mike mike;

public static BoardListResponse of(Board board) {
Member member = board.getMember();
Expand All @@ -56,7 +58,7 @@ public static BoardListResponse of(Board board) {
.championResponseList(championResponseList)
.winRate(member.getWinRate())
.createdAt(board.getCreatedAt())
.mike(board.isMike())
.mike(board.getMike())
.build();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.gamegoo.gamegoo_v2.content.board.dto.response;

import com.gamegoo.gamegoo_v2.account.member.domain.Member;
import com.gamegoo.gamegoo_v2.account.member.domain.Mike;
import com.gamegoo.gamegoo_v2.account.member.domain.Position;
import com.gamegoo.gamegoo_v2.account.member.domain.Tier;
import com.gamegoo.gamegoo_v2.content.board.domain.Board;
import lombok.Builder;
Expand All @@ -21,10 +23,10 @@ public class BoardUpdateResponse {
Tier tier;
Integer rank;
Integer gameMode;
Integer mainPosition;
Integer subPosition;
Integer wantPosition;
Boolean mike;
Position mainPosition;
Position subPosition;
Position wantPosition;
Mike mike;
List<Long> gameStyles;
String contents;

Expand All @@ -46,7 +48,7 @@ public static BoardUpdateResponse of(Board board) {
.mainPosition(board.getMainPosition())
.subPosition(board.getSubPosition())
.wantPosition(board.getWantPosition())
.mike(board.isMike())
.mike(board.getMike())
.gameStyles(gameStyleIds)
.contents(board.getContent())
.build();
Expand Down
Loading

0 comments on commit 9c65f1e

Please sign in to comment.