feat: Movie 패키지 구조 및 파일 세팅

This commit is contained in:
dongHyo
2022-05-05 03:11:01 +09:00
parent c816994d8c
commit 358bbadf32
26 changed files with 308 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
package com.ticketing.server.movie.application;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MovieController {
}

View File

@@ -0,0 +1,8 @@
package com.ticketing.server.movie.application;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MovieTimesController {
}

View File

@@ -0,0 +1,8 @@
package com.ticketing.server.movie.application;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SeatController {
}

View File

@@ -0,0 +1,8 @@
package com.ticketing.server.movie.application;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TheaterController {
}

View File

@@ -0,0 +1,8 @@
package com.ticketing.server.movie.application;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TicketController {
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<Movie, Long> {
}

View File

@@ -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<MovieTimes, Long> {
}

View File

@@ -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<Seat, Long> {
}

View File

@@ -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<Theater, Long> {
}

View File

@@ -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<Ticket, Long> {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -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 {
}

View File

@@ -0,0 +1,5 @@
package com.ticketing.server.movie.service.interfaces;
public interface MovieService {
}

View File

@@ -0,0 +1,5 @@
package com.ticketing.server.movie.service.interfaces;
public interface MovieTimesService {
}

View File

@@ -0,0 +1,5 @@
package com.ticketing.server.movie.service.interfaces;
public interface SeatService {
}

View File

@@ -0,0 +1,5 @@
package com.ticketing.server.movie.service.interfaces;
public interface TheaterService {
}

View File

@@ -0,0 +1,5 @@
package com.ticketing.server.movie.service.interfaces;
public interface TicketService {
}