-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: Add Entity * feat: ShortMatch 수정 * feat: Add Attribute Type Convertor MatchType, MatchResult, SnsType 에 대한 각각 Enum 값을 DB에 String으로 저장하기 위해 보다 효율이 좋다는 Convertor 사용 하는 방식을 적용 * feat: Fix jpa table name match to game match가 mysql 예약어라 발생하는 문제로 인해 모든 테이블에서 match 단어를 game으로 변경하여 오해를 줄입니다. 추가로 join 관계에 대해 다른 방안을 만들기 위해서 일단 id 를 들고있을 수 있도록 변경합니다 * feat: Delete unused Test File * feat: Create UserRepository * feat: Create UserRepository Test 유저 정보 저장시 sns 정보를 통해 만들어지는지 테스트 * feat: Update Config * feat: Add QueryDsl Setting 복잡한 join 관계에 대해서 query 사용을 위한 dsl 추가 * feat: Add User jpa update method * feat: Test user nickname update 유저의 닉네임을 수정할 수 있다. 유저의 닉네임은 10자를 넘을 수 없다. * feat: Fix Jpa Join Column jpa 연관 관계 매핑하여 수정 Co-authored-by: jiyeon <[email protected]> Co-authored-by: 이빵주 <[email protected]> * build: Fix QueryDsl Setting * ci: Fix Build task command --------- Co-authored-by: jinsu4755 <[email protected]> Co-authored-by: jiyeon <[email protected]> Co-authored-by: 이빵주 <[email protected]>
- Loading branch information
1 parent
e31c1a0
commit e36015f
Showing
25 changed files
with
762 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package com.universe.uni.config; | ||
|
||
import javax.persistence.EntityManager; | ||
import javax.persistence.PersistenceContext; | ||
|
||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
|
||
import com.querydsl.jpa.impl.JPAQueryFactory; | ||
|
||
|
||
@Configuration | ||
public class QueryDslConfig { | ||
@PersistenceContext | ||
private EntityManager entityManager; | ||
|
||
@Bean | ||
public JPAQueryFactory jpaQueryFactory() { | ||
return new JPAQueryFactory(entityManager); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package com.universe.uni.domain; | ||
|
||
import java.util.Arrays; | ||
import java.util.Objects; | ||
|
||
public enum GameResult { | ||
WIN, LOSE, DRAW; | ||
|
||
public static GameResult findMatchResultBy(String gameResultName) { | ||
return Arrays.stream(values()) | ||
.filter(gameResult -> Objects.equals(gameResult.name(),gameResultName)) | ||
.findFirst() | ||
.orElseThrow(()->new IllegalArgumentException("Unsupported match result type")); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package com.universe.uni.domain; | ||
|
||
import java.util.Arrays; | ||
import java.util.Objects; | ||
|
||
public enum GameType { | ||
SHORT, | ||
LONG; | ||
|
||
public static GameType findMatchTypeBy(String gameTypeName) { | ||
return Arrays.stream(values()) | ||
.filter(gameType -> Objects.equals(gameType.name(), gameTypeName)) | ||
.findFirst() | ||
.orElseThrow(() -> new IllegalArgumentException("Unsupported match type" + gameTypeName)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package com.universe.uni.domain; | ||
|
||
import java.util.Arrays; | ||
import java.util.Objects; | ||
|
||
public enum SnsType { | ||
KAKAO, | ||
GOOGLE, | ||
APPLE; | ||
|
||
public static SnsType findSnsTypeBy(String snsTypeName) { | ||
return Arrays.stream(values()) | ||
.filter(snsType -> Objects.equals(snsType.name(), snsTypeName)) | ||
.findFirst() | ||
.orElseThrow(() -> new IllegalArgumentException("Unsupported social login type: " + snsTypeName)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package com.universe.uni.domain.entity; | ||
|
||
import java.time.LocalDate; | ||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.Table; | ||
import org.hibernate.annotations.ColumnDefault; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Getter | ||
@Entity | ||
@Table(name = "couple") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Couple { | ||
|
||
@Id | ||
@Column(name = "couple_id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
|
||
@Column(name = "start_date", nullable = false) | ||
private LocalDate startDate; | ||
|
||
@Column(name = "invite_code", nullable = false) | ||
private String inviteCode; | ||
|
||
@Column(name = "heart_token", nullable = false) | ||
@ColumnDefault("5") | ||
private int heartToken; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package com.universe.uni.domain.entity; | ||
|
||
import java.time.LocalDateTime; | ||
import javax.persistence.Column; | ||
import javax.persistence.DiscriminatorColumn; | ||
import javax.persistence.Entity; | ||
import javax.persistence.FetchType; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.Inheritance; | ||
import javax.persistence.InheritanceType; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.ManyToOne; | ||
import javax.persistence.Table; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Getter | ||
@Table(name = "game") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@Inheritance(strategy = InheritanceType.JOINED) | ||
@DiscriminatorColumn | ||
public class Game { | ||
|
||
@Id | ||
@Column(name = "game_id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
|
||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "couple_id") | ||
private Couple couple; | ||
|
||
@Column(name = "enable", nullable = false) | ||
private Boolean enable; | ||
|
||
@Column(name = "finish_at") | ||
private LocalDateTime finishAt; | ||
} |
27 changes: 27 additions & 0 deletions
27
src/main/java/com/universe/uni/domain/entity/LongGame.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package com.universe.uni.domain.entity; | ||
|
||
import javax.persistence.Column; | ||
import javax.persistence.DiscriminatorValue; | ||
import javax.persistence.Entity; | ||
import javax.persistence.PrimaryKeyJoinColumn; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Getter | ||
@Entity | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@DiscriminatorValue("LongGame") | ||
@PrimaryKeyJoinColumn(name = "game_id") | ||
public class LongGame extends Game { | ||
|
||
@Column(name = "duration", nullable = false) | ||
private int duration; | ||
|
||
@Column(name = "round", nullable = false) | ||
private int round; | ||
|
||
@Column(name = "rest_of_game", nullable = false) | ||
private int restOfGame; | ||
} |
37 changes: 37 additions & 0 deletions
37
src/main/java/com/universe/uni/domain/entity/MissionCategory.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package com.universe.uni.domain.entity; | ||
|
||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.Table; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Table(name = "mission_category") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class MissionCategory { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(name = "mission_category_id", nullable = false) | ||
private Long id; | ||
|
||
@Column(name = "title", nullable = false) | ||
private String title; | ||
|
||
@Column(name = "description", nullable = false) | ||
private String description; | ||
|
||
@Column(name = "tip", nullable = false) | ||
private String tip; | ||
|
||
@Column(name = "image", nullable = false) | ||
private String image; | ||
|
||
@Column(name = "lever", nullable = false) | ||
private int level; | ||
} |
37 changes: 37 additions & 0 deletions
37
src/main/java/com/universe/uni/domain/entity/MissionContent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package com.universe.uni.domain.entity; | ||
|
||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.FetchType; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.ManyToOne; | ||
import javax.persistence.Table; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Getter | ||
@Table(name = "mission_content") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class MissionContent { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(name = "mission_content_id", nullable = false) | ||
private Long id; | ||
|
||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "mission_category_id") | ||
private MissionCategory missionCategory; | ||
|
||
@Column(name = "content", nullable = false) | ||
private String content; | ||
|
||
@Column(name = "image", nullable = false) | ||
private String image; | ||
} |
38 changes: 38 additions & 0 deletions
38
src/main/java/com/universe/uni/domain/entity/RoundGame.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
package com.universe.uni.domain.entity; | ||
|
||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.FetchType; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.ManyToOne; | ||
import javax.persistence.Table; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Getter | ||
@Entity | ||
@Table(name = "round_game") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class RoundGame { | ||
|
||
@Id | ||
@Column(name = "round_game_id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
|
||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "game_id", nullable = false) | ||
private Game game; | ||
|
||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "mission_category_id", nullable = false) | ||
private MissionCategory missionCategory; | ||
|
||
@Column(name = "enable", nullable = false) | ||
private Boolean enable; | ||
} |
Oops, something went wrong.