diff --git a/jjowin/src/main/java/back/jjowin/DTO/ProjectCreateDTO.java b/jjowin/src/main/java/back/jjowin/DTO/ProjectCreateDTO.java index a6f50ac..aac8b39 100644 --- a/jjowin/src/main/java/back/jjowin/DTO/ProjectCreateDTO.java +++ b/jjowin/src/main/java/back/jjowin/DTO/ProjectCreateDTO.java @@ -9,6 +9,6 @@ @Getter @Setter public class ProjectCreateDTO { private Project project; - private ProjectSkill projectSkill; + private ProjectSkill[] projectSkill; private RecruitInfo[] recruitInfo; } diff --git a/jjowin/src/main/java/back/jjowin/controller/ProjectController.java b/jjowin/src/main/java/back/jjowin/controller/ProjectController.java index 0c73bd6..a54dd7b 100644 --- a/jjowin/src/main/java/back/jjowin/controller/ProjectController.java +++ b/jjowin/src/main/java/back/jjowin/controller/ProjectController.java @@ -24,9 +24,9 @@ public class ProjectController { public ResponseEntity register (@RequestBody ProjectCreateDTO model){ CustomResponseBody responseBody = new CustomResponseBody<>("프로젝트 등록 성공2"); try { - projectService.register(model.getProject()); - projectSkillService.register(model.getProjectSkill()); - recruitInfoService.register(model.getRecruitInfo()); + Long projectId = projectService.register(model.getProject()); + projectSkillService.register(model.getProjectSkill(),projectId); + recruitInfoService.register(model.getRecruitInfo(),projectId); } catch (RuntimeException re){ responseBody.setResultCode(-1); diff --git a/jjowin/src/main/java/back/jjowin/domain/Project.java b/jjowin/src/main/java/back/jjowin/domain/Project.java index 9fa2746..67a2e02 100644 --- a/jjowin/src/main/java/back/jjowin/domain/Project.java +++ b/jjowin/src/main/java/back/jjowin/domain/Project.java @@ -2,6 +2,8 @@ import lombok.Getter; import lombok.Setter; +import org.hibernate.annotations.ColumnDefault; +import org.hibernate.annotations.CreationTimestamp; import javax.persistence.*; import java.time.LocalDate; @@ -36,12 +38,16 @@ public class Project { @Enumerated(EnumType.STRING) private ProjectStatus status; //프로젝트 진행상태 [INSPECTION, PROGRESS, COMPLETION] + @ColumnDefault("0") private int likeCount; + @CreationTimestamp private LocalDate startDate; private LocalDate endDate; + private String image; + @OneToMany(mappedBy = "project") private List projectSkills = new ArrayList<>(); diff --git a/jjowin/src/main/java/back/jjowin/domain/RecruitInfo.java b/jjowin/src/main/java/back/jjowin/domain/RecruitInfo.java index c1b22c2..d2d9bd2 100644 --- a/jjowin/src/main/java/back/jjowin/domain/RecruitInfo.java +++ b/jjowin/src/main/java/back/jjowin/domain/RecruitInfo.java @@ -2,6 +2,7 @@ import lombok.Getter; import lombok.Setter; +import org.hibernate.annotations.ColumnDefault; import javax.persistence.*; @@ -21,5 +22,6 @@ public class RecruitInfo { private int count; + @ColumnDefault("0") private int completeCount; } diff --git a/jjowin/src/main/java/back/jjowin/repository/ProjectRepository.java b/jjowin/src/main/java/back/jjowin/repository/ProjectRepository.java index 9360053..b848633 100644 --- a/jjowin/src/main/java/back/jjowin/repository/ProjectRepository.java +++ b/jjowin/src/main/java/back/jjowin/repository/ProjectRepository.java @@ -48,7 +48,7 @@ public List findAll() { * @param name * @return 프로젝트 리스트 */ - public List findByEmail(String name) { + public List findByName(String name) { return em.createQuery("select u from Project u WHERE u.name = :name", Project.class) .setParameter("name", name) .getResultList(); diff --git a/jjowin/src/main/java/back/jjowin/service/ProjectService.java b/jjowin/src/main/java/back/jjowin/service/ProjectService.java index 175b6d1..4defcc7 100644 --- a/jjowin/src/main/java/back/jjowin/service/ProjectService.java +++ b/jjowin/src/main/java/back/jjowin/service/ProjectService.java @@ -1,6 +1,7 @@ package back.jjowin.service; import back.jjowin.domain.Project; +import back.jjowin.domain.ProjectStatus; import back.jjowin.repository.ProjectRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -14,6 +15,7 @@ public class ProjectService { @Transactional public Long register(Project project){ + project.setStatus(ProjectStatus.INSPECTION); projectRepository.save(project); return project.getId(); } diff --git a/jjowin/src/main/java/back/jjowin/service/ProjectSkillService.java b/jjowin/src/main/java/back/jjowin/service/ProjectSkillService.java index 119c16d..7ec1d24 100644 --- a/jjowin/src/main/java/back/jjowin/service/ProjectSkillService.java +++ b/jjowin/src/main/java/back/jjowin/service/ProjectSkillService.java @@ -1,6 +1,9 @@ package back.jjowin.service; +import back.jjowin.domain.Project; import back.jjowin.domain.ProjectSkill; +import back.jjowin.domain.ProjectStatus; +import back.jjowin.repository.ProjectRepository; import back.jjowin.repository.ProjectSkillRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -11,11 +14,17 @@ @RequiredArgsConstructor public class ProjectSkillService { private final ProjectSkillRepository projectSkillRepository; + private final ProjectRepository projectRepository; @Transactional - public Long register(ProjectSkill projectSkill){ - projectSkillRepository.save(projectSkill); - return projectSkill.getId(); + public void register(ProjectSkill[] projectSkills, Long projectId){ + + Project project = projectRepository.findOne(projectId); + + for (int i=0; i