Skip to content

Commit

Permalink
Merge pull request #19 from U-is-Ni-in-Korea/feature/json
Browse files Browse the repository at this point in the history
feat: Update Entity
  • Loading branch information
jiyeoon00 authored Jul 8, 2023
2 parents e36015f + af4f688 commit 0c262be
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 50 deletions.
16 changes: 16 additions & 0 deletions src/main/java/com/universe/uni/domain/MissionType.java
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 MissionType {
SAME,
DIFFERENCE;

public static MissionType findMissionTypeBy(String missionTypeName) {
return Arrays.stream(values())
.filter(missionType -> Objects.equals(missionType.name(), missionTypeName))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unsupported social login type: " + missionTypeName));
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
package com.universe.uni.domain.entity;

import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.universe.uni.domain.MissionType;
import com.universe.uni.domain.entity.convertor.GameResultAttributeConverter;
import com.universe.uni.domain.entity.convertor.MissionTypeAttributeConverter;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

Expand All @@ -32,6 +37,13 @@ public class MissionCategory {
@Column(name = "image", nullable = false)
private String image;

@Column(name = "lever", nullable = false)
@Column(name = "level", nullable = false)
private int level;

@Column(name = "expected_time", nullable = false)
private int expectedTime;

@Column(name = "mission_type")
@Convert(converter = MissionTypeAttributeConverter.class)
private MissionType missionType;
}
6 changes: 5 additions & 1 deletion src/main/java/com/universe/uni/domain/entity/RoundGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,16 @@ public class RoundGame {

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "game_id", nullable = false)
private Game game;
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;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_game_history_id")
private UserGameHistory userGameHistory;
}
48 changes: 0 additions & 48 deletions src/main/java/com/universe/uni/domain/entity/RoundHistory.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,8 @@ public class RoundMission {
@Column(name = "result")
@Convert(converter = GameResultAttributeConverter.class)
private GameResult result;

@Column(name = "final_result")
@Convert(converter = GameResultAttributeConverter.class)
private GameResult finalResult;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.universe.uni.domain.entity.convertor;

import javax.persistence.AttributeConverter;
import javax.persistence.Converter;

import com.universe.uni.domain.MissionType;

@Converter
public class MissionTypeAttributeConverter implements AttributeConverter<MissionType, String> {
@Override
public String convertToDatabaseColumn(MissionType attribute) {
return attribute.name();
}

@Override
public MissionType convertToEntityAttribute(String dbData) {
return MissionType.findMissionTypeBy(dbData);
}
}

0 comments on commit 0c262be

Please sign in to comment.