diff --git a/server/src/main/java/com/ticketing/server/movie/application/MovieController.java b/server/src/main/java/com/ticketing/server/movie/application/MovieController.java new file mode 100644 index 0000000..b1ef2f8 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/application/MovieController.java @@ -0,0 +1,8 @@ +package com.ticketing.server.movie.application; + +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class MovieController { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/application/MovieTimesController.java b/server/src/main/java/com/ticketing/server/movie/application/MovieTimesController.java new file mode 100644 index 0000000..b4486f2 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/application/MovieTimesController.java @@ -0,0 +1,8 @@ +package com.ticketing.server.movie.application; + +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class MovieTimesController { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/application/SeatController.java b/server/src/main/java/com/ticketing/server/movie/application/SeatController.java new file mode 100644 index 0000000..66e2d10 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/application/SeatController.java @@ -0,0 +1,8 @@ +package com.ticketing.server.movie.application; + +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class SeatController { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/application/TheaterController.java b/server/src/main/java/com/ticketing/server/movie/application/TheaterController.java new file mode 100644 index 0000000..763e210 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/application/TheaterController.java @@ -0,0 +1,8 @@ +package com.ticketing.server.movie.application; + +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TheaterController { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/application/TicketController.java b/server/src/main/java/com/ticketing/server/movie/application/TicketController.java new file mode 100644 index 0000000..d55ffac --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/application/TicketController.java @@ -0,0 +1,8 @@ +package com.ticketing.server.movie.application; + +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TicketController { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/Movie.java b/server/src/main/java/com/ticketing/server/movie/domain/Movie.java new file mode 100644 index 0000000..0529484 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/Movie.java @@ -0,0 +1,18 @@ +package com.ticketing.server.movie.domain; + +import com.ticketing.server.global.dto.repository.AbstractEntity; +import javax.persistence.Entity; +import javax.validation.constraints.NotNull; +import lombok.Getter; + +@Entity +@Getter +public class Movie extends AbstractEntity { + + @NotNull + private String title; + + @NotNull + private Integer runningTime; + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/MovieTimes.java b/server/src/main/java/com/ticketing/server/movie/domain/MovieTimes.java new file mode 100644 index 0000000..4931f3a --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/MovieTimes.java @@ -0,0 +1,38 @@ +package com.ticketing.server.movie.domain; + +import com.ticketing.server.global.dto.repository.AbstractEntity; +import java.time.LocalDate; +import java.time.LocalDateTime; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.validation.constraints.NotNull; +import lombok.Getter; + +@Entity +@Getter +public class MovieTimes extends AbstractEntity { + + @NotNull + @ManyToOne + @JoinColumn(name = "movie_id", referencedColumnName = "id", updatable = false) + private Movie movie; + + @NotNull + @ManyToOne + @JoinColumn(name = "theater_id", referencedColumnName = "id", updatable = false) + private Theater theater; + + @NotNull + private LocalDate runningDate; + + @NotNull + private Integer round; + + @NotNull + private LocalDateTime startAt; + + @NotNull + private LocalDateTime endAt; + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/Seat.java b/server/src/main/java/com/ticketing/server/movie/domain/Seat.java new file mode 100644 index 0000000..ca08810 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/Seat.java @@ -0,0 +1,25 @@ +package com.ticketing.server.movie.domain; + +import com.ticketing.server.global.dto.repository.AbstractEntity; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.validation.constraints.NotNull; +import lombok.Getter; + +@Entity +@Getter +public class Seat extends AbstractEntity { + + @NotNull + @ManyToOne + @JoinColumn(name = "theater_id", referencedColumnName = "id", updatable = false) + private Theater theater; + + @NotNull + private Integer seatColumn; + + @NotNull + private Integer seatRow; + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/Theater.java b/server/src/main/java/com/ticketing/server/movie/domain/Theater.java new file mode 100644 index 0000000..a29dbb9 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/Theater.java @@ -0,0 +1,17 @@ +package com.ticketing.server.movie.domain; + +import com.ticketing.server.global.dto.repository.AbstractEntity; +import javax.persistence.Entity; +import javax.validation.constraints.NotNull; +import lombok.Getter; + +@Entity +@Getter +public class Theater extends AbstractEntity { + + @NotNull + private Integer theaterNumber; + + private Integer seatCount; + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/Ticket.java b/server/src/main/java/com/ticketing/server/movie/domain/Ticket.java new file mode 100644 index 0000000..6ca692c --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/Ticket.java @@ -0,0 +1,35 @@ +package com.ticketing.server.movie.domain; + +import com.ticketing.server.global.dto.repository.AbstractEntity; +import com.ticketing.server.payment.domain.Payment; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.validation.constraints.NotNull; +import lombok.Getter; + +@Entity +@Getter +public class Ticket extends AbstractEntity { + + @NotNull + @ManyToOne + @JoinColumn(name = "seat_id", referencedColumnName = "id", updatable = false) + private Seat seat; + + @NotNull + @ManyToOne + @JoinColumn(name = "movie_times_id", referencedColumnName = "id", updatable = false) + private MovieTimes movieTimes; + + @ManyToOne + @JoinColumn(name = "payment_id", referencedColumnName = "id", updatable = false) + private Payment payment; + + @NotNull + private TicketStatus status; + + @NotNull + private Integer ticketPrice; + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/TicketStatus.java b/server/src/main/java/com/ticketing/server/movie/domain/TicketStatus.java new file mode 100644 index 0000000..e02118b --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/TicketStatus.java @@ -0,0 +1,15 @@ +package com.ticketing.server.movie.domain; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum TicketStatus { + SALE("판매가능"), + SCHEDULED("환불"), + SOLD("판매완료"); + + private String name; + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieRepository.java b/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieRepository.java new file mode 100644 index 0000000..d2021e0 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieRepository.java @@ -0,0 +1,10 @@ +package com.ticketing.server.movie.domain.repository; + +import com.ticketing.server.movie.domain.Movie; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface MovieRepository extends JpaRepository { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieTimesRepository.java b/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieTimesRepository.java new file mode 100644 index 0000000..59fc7b2 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/repository/MovieTimesRepository.java @@ -0,0 +1,10 @@ +package com.ticketing.server.movie.domain.repository; + +import com.ticketing.server.movie.domain.MovieTimes; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface MovieTimesRepository extends JpaRepository { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/repository/SeatRepository.java b/server/src/main/java/com/ticketing/server/movie/domain/repository/SeatRepository.java new file mode 100644 index 0000000..ae8de7f --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/repository/SeatRepository.java @@ -0,0 +1,10 @@ +package com.ticketing.server.movie.domain.repository; + +import com.ticketing.server.movie.domain.Seat; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface SeatRepository extends JpaRepository { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/repository/TheaterRepository.java b/server/src/main/java/com/ticketing/server/movie/domain/repository/TheaterRepository.java new file mode 100644 index 0000000..2b0b6b4 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/repository/TheaterRepository.java @@ -0,0 +1,10 @@ +package com.ticketing.server.movie.domain.repository; + +import com.ticketing.server.movie.domain.Theater; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface TheaterRepository extends JpaRepository { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/domain/repository/TicketRepository.java b/server/src/main/java/com/ticketing/server/movie/domain/repository/TicketRepository.java new file mode 100644 index 0000000..362a19e --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/domain/repository/TicketRepository.java @@ -0,0 +1,10 @@ +package com.ticketing.server.movie.domain.repository; + +import com.ticketing.server.movie.domain.Ticket; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface TicketRepository extends JpaRepository { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/MovieServiceImpl.java b/server/src/main/java/com/ticketing/server/movie/service/MovieServiceImpl.java new file mode 100644 index 0000000..c3d3e3a --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/MovieServiceImpl.java @@ -0,0 +1,9 @@ +package com.ticketing.server.movie.service; + +import com.ticketing.server.movie.service.interfaces.MovieService; +import org.springframework.stereotype.Service; + +@Service +public class MovieServiceImpl implements MovieService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/MovieTimesServiceImpl.java b/server/src/main/java/com/ticketing/server/movie/service/MovieTimesServiceImpl.java new file mode 100644 index 0000000..0e4e26b --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/MovieTimesServiceImpl.java @@ -0,0 +1,9 @@ +package com.ticketing.server.movie.service; + +import com.ticketing.server.movie.service.interfaces.MovieTimesService; +import org.springframework.stereotype.Service; + +@Service +public class MovieTimesServiceImpl implements MovieTimesService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/SeatServiceImpl.java b/server/src/main/java/com/ticketing/server/movie/service/SeatServiceImpl.java new file mode 100644 index 0000000..9960726 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/SeatServiceImpl.java @@ -0,0 +1,9 @@ +package com.ticketing.server.movie.service; + +import com.ticketing.server.movie.service.interfaces.SeatService; +import org.springframework.stereotype.Service; + +@Service +public class SeatServiceImpl implements SeatService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/TheaterServiceImpl.java b/server/src/main/java/com/ticketing/server/movie/service/TheaterServiceImpl.java new file mode 100644 index 0000000..94be0e9 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/TheaterServiceImpl.java @@ -0,0 +1,9 @@ +package com.ticketing.server.movie.service; + +import com.ticketing.server.movie.service.interfaces.TheaterService; +import org.springframework.stereotype.Service; + +@Service +public class TheaterServiceImpl implements TheaterService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/TicketServiceImpl.java b/server/src/main/java/com/ticketing/server/movie/service/TicketServiceImpl.java new file mode 100644 index 0000000..c4c9eb0 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/TicketServiceImpl.java @@ -0,0 +1,9 @@ +package com.ticketing.server.movie.service; + +import com.ticketing.server.movie.service.interfaces.TicketService; +import org.springframework.stereotype.Service; + +@Service +public class TicketServiceImpl implements TicketService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/interfaces/MovieService.java b/server/src/main/java/com/ticketing/server/movie/service/interfaces/MovieService.java new file mode 100644 index 0000000..413335b --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/interfaces/MovieService.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.service.interfaces; + +public interface MovieService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/interfaces/MovieTimesService.java b/server/src/main/java/com/ticketing/server/movie/service/interfaces/MovieTimesService.java new file mode 100644 index 0000000..4a84b00 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/interfaces/MovieTimesService.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.service.interfaces; + +public interface MovieTimesService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/interfaces/SeatService.java b/server/src/main/java/com/ticketing/server/movie/service/interfaces/SeatService.java new file mode 100644 index 0000000..7b86a68 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/interfaces/SeatService.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.service.interfaces; + +public interface SeatService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/interfaces/TheaterService.java b/server/src/main/java/com/ticketing/server/movie/service/interfaces/TheaterService.java new file mode 100644 index 0000000..f8410e2 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/interfaces/TheaterService.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.service.interfaces; + +public interface TheaterService { + +} diff --git a/server/src/main/java/com/ticketing/server/movie/service/interfaces/TicketService.java b/server/src/main/java/com/ticketing/server/movie/service/interfaces/TicketService.java new file mode 100644 index 0000000..a994d32 --- /dev/null +++ b/server/src/main/java/com/ticketing/server/movie/service/interfaces/TicketService.java @@ -0,0 +1,5 @@ +package com.ticketing.server.movie.service.interfaces; + +public interface TicketService { + +}