diff --git a/src/main/java/kusitms/gallae/controller/ManagerController.java b/src/main/java/kusitms/gallae/controller/ManagerController.java index 8d02c1f..e47d1ff 100644 --- a/src/main/java/kusitms/gallae/controller/ManagerController.java +++ b/src/main/java/kusitms/gallae/controller/ManagerController.java @@ -93,7 +93,7 @@ public ResponseEntity> saveProgram( PostModel model ) throws IOException { String photoUrl = null; - if(model.getPhoto() != null && !model.getPhoto().isEmpty()) { + if(model.getPhoto() != null && model.getPhotoCheck().equals("1")) { photoUrl = s3Service.upload(model.getPhoto()); } @@ -112,6 +112,7 @@ public ResponseEntity> saveProgram( programPostReq.setLink(model.getLink()); programPostReq.setHashtag(model.getHashtag()); programPostReq.setBody(model.getBody()); + programPostReq.setPhotoCheck(model.getPhotoCheck()); return ResponseEntity.ok(new BaseResponse<>(this.managerService.postProgram(programPostReq, principal.getName()))); } @@ -208,7 +209,7 @@ public ResponseEntity> tempSaveProgram( EditModel model ) throws IOException { String photoUrl = null; - if(model.getPhoto() != null) { + if(model.getPhoto() != null && model.getPhotoCheck().equals("1")) { photoUrl = s3Service.upload(model.getPhoto()); } ProgramPostReq programPostReq = new ProgramPostReq(); @@ -227,6 +228,7 @@ public ResponseEntity> tempSaveProgram( programPostReq.setLink(model.getLink()); programPostReq.setHashtag(model.getHashtag()); programPostReq.setBody(model.getBody()); + programPostReq.setPhotoCheck(model.getPhotoCheck()); return ResponseEntity.ok(new BaseResponse<>(this.managerService.editProgram(programPostReq, principal.getName()))); @@ -249,7 +251,7 @@ public ResponseEntity> tempSaveProgram( PostModel model ) throws IOException { String photoUrl = null; - if(model.getPhoto() != null && !model.getPhoto().isEmpty()) { + if(model.getPhoto() != null && model.getPhotoCheck().equals("1")) { photoUrl = s3Service.upload(model.getPhoto()); } ProgramPostReq programPostReq = new ProgramPostReq(); @@ -267,7 +269,7 @@ public ResponseEntity> tempSaveProgram( programPostReq.setLink(model.getLink()); programPostReq.setHashtag(model.getHashtag()); programPostReq.setBody(model.getBody()); - + programPostReq.setPhotoCheck(model.getPhotoCheck()); return ResponseEntity.ok(new BaseResponse<>(this.managerService.postTempProgram(programPostReq, principal.getName()))); } diff --git a/src/main/java/kusitms/gallae/dto/model/EditModel.java b/src/main/java/kusitms/gallae/dto/model/EditModel.java index 2202fb0..be9fa66 100644 --- a/src/main/java/kusitms/gallae/dto/model/EditModel.java +++ b/src/main/java/kusitms/gallae/dto/model/EditModel.java @@ -43,4 +43,6 @@ public class EditModel { private String body; private MultipartFile photo; + + private String photoCheck; } diff --git a/src/main/java/kusitms/gallae/dto/model/PostModel.java b/src/main/java/kusitms/gallae/dto/model/PostModel.java index bb436a0..e06d41c 100644 --- a/src/main/java/kusitms/gallae/dto/model/PostModel.java +++ b/src/main/java/kusitms/gallae/dto/model/PostModel.java @@ -45,4 +45,6 @@ public class PostModel { private String body; private MultipartFile photo; + + private String photoCheck; } diff --git a/src/main/java/kusitms/gallae/dto/program/ProgramManagerRes.java b/src/main/java/kusitms/gallae/dto/program/ProgramManagerRes.java index 4ba8d0e..3a446b4 100644 --- a/src/main/java/kusitms/gallae/dto/program/ProgramManagerRes.java +++ b/src/main/java/kusitms/gallae/dto/program/ProgramManagerRes.java @@ -17,5 +17,5 @@ public class ProgramManagerRes { private LocalDate recruitStartDate; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "Asia/Seoul") - private LocalDate recuritEndDate; + private LocalDate recruitEndDate; } diff --git a/src/main/java/kusitms/gallae/dto/program/ProgramPostReq.java b/src/main/java/kusitms/gallae/dto/program/ProgramPostReq.java index 7aaf8ad..84b749f 100644 --- a/src/main/java/kusitms/gallae/dto/program/ProgramPostReq.java +++ b/src/main/java/kusitms/gallae/dto/program/ProgramPostReq.java @@ -44,4 +44,6 @@ public class ProgramPostReq { private String hashtag; private String body; + + private String photoCheck; } \ No newline at end of file diff --git a/src/main/java/kusitms/gallae/service/admin/ManagerServiceImpl.java b/src/main/java/kusitms/gallae/service/admin/ManagerServiceImpl.java index 2ab5e88..21aa559 100644 --- a/src/main/java/kusitms/gallae/service/admin/ManagerServiceImpl.java +++ b/src/main/java/kusitms/gallae/service/admin/ManagerServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -97,6 +98,8 @@ public ProgramPostReq getTempProgram(String username) { } @Override public Long postProgram(ProgramPostReq programPostReq ,String username) { + LocalDateTime localDateTime = LocalDateTime.now().plusHours(9); + LocalDate localdate = localDateTime.toLocalDate(); User user = userRepository.findById(Long.valueOf(username)).get(); Program tempProgram = programRespository.findByUserIdAndStatus(user.getId(), //나중에 유저 생기면 수정 필요 Program.ProgramStatus.TEMP); @@ -106,18 +109,25 @@ public Long postProgram(ProgramPostReq programPostReq ,String username) { Program saveProgram = this.getProgramEntity(program,programPostReq); saveProgram.setUser(user); saveProgram.setStatus(Program.ProgramStatus.SAVE); + if(saveProgram.getRecruitEndDate().isBefore(localdate)){ + saveProgram.setStatus(Program.ProgramStatus.FINISH); + } Program programId = programRespository.save(saveProgram); return programId.getId(); }else { //임시 저장이 있으면 Program saveProgram = this.getProgramEntity(tempProgram, programPostReq); saveProgram.setStatus(Program.ProgramStatus.SAVE); + if(saveProgram.getRecruitEndDate().isBefore(localdate)){ + saveProgram.setStatus(Program.ProgramStatus.FINISH); + } return tempProgram.getId(); } } @Override public Long editProgram(ProgramPostReq programPostReq ,String username) { - + LocalDateTime localDateTime = LocalDateTime.now().plusHours(9); + LocalDate localdate = localDateTime.toLocalDate(); User user = userRepository.findById(Long.valueOf(username)).get(); Program tempProgram = programRespository.findById(programPostReq.getProgramId()).orElse(null); if(user.getId() != tempProgram.getUser().getId()) { @@ -125,6 +135,9 @@ public Long editProgram(ProgramPostReq programPostReq ,String username) { } Program saveProgram = this.getProgramEntity(tempProgram,programPostReq); + if(saveProgram.getRecruitEndDate().isBefore(localdate)){ + saveProgram.setStatus(Program.ProgramStatus.FINISH); + } saveProgram.setStatus(Program.ProgramStatus.SAVE); Program programId = programRespository.save(saveProgram); return programId.getId(); @@ -135,17 +148,24 @@ public Long postTempProgram(ProgramPostReq programPostReq , String username) { User user = userRepository.findById(Long.valueOf(username)).get(); Program tempProgram = programRespository.findByUserIdAndStatus(user.getId(), //나중에 유저 생기면 수정 필요 Program.ProgramStatus.TEMP); - + LocalDateTime localDateTime = LocalDateTime.now().plusHours(9); + LocalDate localdate = localDateTime.toLocalDate(); if(tempProgram == null) { //임시 저장이 없으면 Program program = new Program(); Program saveProgram = this.getProgramEntity(program,programPostReq); saveProgram.setUser(user); saveProgram.setStatus(Program.ProgramStatus.TEMP); + if(saveProgram.getRecruitEndDate().isBefore(localdate)){ + saveProgram.setStatus(Program.ProgramStatus.FINISH); + } Program programId = programRespository.save(saveProgram); return programId.getId(); }else { //임시 저장이 있으면 Program saveProgram = this.getProgramEntity(tempProgram, programPostReq); saveProgram.setStatus(Program.ProgramStatus.TEMP); + if(saveProgram.getRecruitEndDate().isBefore(localdate)){ + saveProgram.setStatus(Program.ProgramStatus.FINISH); + } return saveProgram.getId(); } } @@ -192,17 +212,17 @@ private List getProgramManagerRes(List programs){ programManagerRes.setLike(program.getProgramLike()); programManagerRes.setViewCount(program.getViewCount()); programManagerRes.setRecruitStartDate(program.getRecruitStartDate()); - programManagerRes.setRecuritEndDate(program.getRecruitEndDate()); + programManagerRes.setRecruitEndDate(program.getRecruitEndDate()); return programManagerRes; }).collect(Collectors.toList()); } private Program getProgramEntity(Program program ,ProgramPostReq programPostReq) { program.setProgramName(programPostReq.getProgramName()); - if(program.getPhotoUrl()==null) { - program.setPhotoUrl(programPostReq.getPhotoUrl()); - }else{ - s3Service.deleteFile(program.getPhotoUrl()); + if(programPostReq.getPhotoCheck().equals("1")) { + if (program.getPhotoUrl() != null) { + s3Service.deleteFile(program.getPhotoUrl()); + } program.setPhotoUrl(programPostReq.getPhotoUrl()); } program.setLocation(programPostReq.getLocation()); @@ -219,6 +239,7 @@ private Program getProgramEntity(Program program ,ProgramPostReq programPostReq) program.setDescription(programPostReq.getBody()); program.setProgramLike(0L); program.setViewCount(0L); + return program; } }