From ecc38f9eab81e19895c8291ee2c0c5da18cf715a Mon Sep 17 00:00:00 2001 From: kokodakadokok <45879491+kokodak@users.noreply.github.com> Date: Tue, 3 Oct 2023 05:03:17 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9E=A5=EC=86=8C=20=EA=B2=80=EC=88=98?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=20=EB=BC=88=EB=8C=80=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=84=A4=EA=B3=84=20=EB=B0=8F=20=EA=B5=AC=ED=98=84=20(#373)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 검수가 필요한 장소 엔티티 구현 * feat: 장소 검수 컨트롤러 구현 * feat: 장소 검수 Repository 구현 --------- Co-authored-by: kokodak --- .../temporaryplace/domain/TemporaryPlace.java | 112 ++++++++++++++++++ .../TemporaryPlaceController.java | 9 ++ .../repository/TemporaryPlaceRepository.java | 8 ++ 3 files changed, 129 insertions(+) create mode 100644 backend/src/main/java/com/now/naaga/temporaryplace/domain/TemporaryPlace.java create mode 100644 backend/src/main/java/com/now/naaga/temporaryplace/presentation/TemporaryPlaceController.java create mode 100644 backend/src/main/java/com/now/naaga/temporaryplace/repository/TemporaryPlaceRepository.java diff --git a/backend/src/main/java/com/now/naaga/temporaryplace/domain/TemporaryPlace.java b/backend/src/main/java/com/now/naaga/temporaryplace/domain/TemporaryPlace.java new file mode 100644 index 000000000..ac27689a2 --- /dev/null +++ b/backend/src/main/java/com/now/naaga/temporaryplace/domain/TemporaryPlace.java @@ -0,0 +1,112 @@ +package com.now.naaga.temporaryplace.domain; + +import com.now.naaga.common.domain.BaseEntity; +import com.now.naaga.place.domain.Position; +import com.now.naaga.player.domain.Player; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import java.util.Objects; + +@Entity +public class TemporaryPlace extends BaseEntity { + + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Id + private Long id; + + private String name; + + private String description; + + @Embedded + private Position position; + + private String imageUrl; + + @ManyToOne + @JoinColumn(name = "player_id") + private Player registeredPlayer; + + protected TemporaryPlace() { + } + + public TemporaryPlace(final String name, + final String description, + final Position position, + final String imageUrl, + final Player registeredPlayer) { + this(null, name, description, position, imageUrl, registeredPlayer); + } + + public TemporaryPlace(final Long id, + final String name, + final String description, + final Position position, + final String imageUrl, + final Player registeredPlayer) { + this.id = id; + this.name = name; + this.description = description; + this.position = position; + this.imageUrl = imageUrl; + this.registeredPlayer = registeredPlayer; + } + + public Long getId() { + return id; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public Position getPosition() { + return position; + } + + public String getImageUrl() { + return imageUrl; + } + + public Player getRegisteredPlayer() { + return registeredPlayer; + } + + @Override + public boolean equals(final Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + final TemporaryPlace that = (TemporaryPlace) o; + return Objects.equals(id, that.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + @Override + public String toString() { + return "TemporaryPlace{" + + "id=" + id + + ", name='" + name + '\'' + + ", description='" + description + '\'' + + ", position=" + position + + ", imageUrl='" + imageUrl + '\'' + + ", registeredPlayerId=" + registeredPlayer.getId() + + '}'; + } +} diff --git a/backend/src/main/java/com/now/naaga/temporaryplace/presentation/TemporaryPlaceController.java b/backend/src/main/java/com/now/naaga/temporaryplace/presentation/TemporaryPlaceController.java new file mode 100644 index 000000000..366087565 --- /dev/null +++ b/backend/src/main/java/com/now/naaga/temporaryplace/presentation/TemporaryPlaceController.java @@ -0,0 +1,9 @@ +package com.now.naaga.temporaryplace.presentation; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RequestMapping("/temporary-places") +@RestController +public class TemporaryPlaceController { +} diff --git a/backend/src/main/java/com/now/naaga/temporaryplace/repository/TemporaryPlaceRepository.java b/backend/src/main/java/com/now/naaga/temporaryplace/repository/TemporaryPlaceRepository.java new file mode 100644 index 000000000..6616c94a4 --- /dev/null +++ b/backend/src/main/java/com/now/naaga/temporaryplace/repository/TemporaryPlaceRepository.java @@ -0,0 +1,8 @@ +package com.now.naaga.temporaryplace.repository; + + +import com.now.naaga.temporaryplace.domain.TemporaryPlace; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TemporaryPlaceRepository extends JpaRepository { +}