diff --git a/src/main/java/org/likelion/_thon/silver_navi/domain/consult/entity/Consult.java b/src/main/java/org/likelion/_thon/silver_navi/domain/consult/entity/Consult.java index 15ad11c..c2b6124 100644 --- a/src/main/java/org/likelion/_thon/silver_navi/domain/consult/entity/Consult.java +++ b/src/main/java/org/likelion/_thon/silver_navi/domain/consult/entity/Consult.java @@ -93,16 +93,20 @@ public void updateConfirmation(ConsultConfirmReq req) { throw new ConsultModifyNotAllowedException(); } - if (req.getConfirmedDate() != null) { - this.confirmedDate = req.getConfirmedDate(); - } - if (req.getConfirmedTime() != null) { - this.confirmedTime = req.getConfirmedTime(); - } - if (req.getConsultStatus() != null) { - if (req.getConsultStatus().equals(ConsultStatus.REJECTED)) { - this.consultStatus = ConsultStatus.COMPLETED; - } else this.consultStatus = req.getConsultStatus(); + if (req.getConsultStatus().equals(ConsultStatus.REJECTED)) { + this.confirmedDate = null; + this.confirmedTime = null; + this.consultStatus = ConsultStatus.COMPLETED; + } else { + if (req.getConfirmedDate() != null) { + this.confirmedDate = req.getConfirmedDate(); + } + if (req.getConfirmedTime() != null) { + this.confirmedTime = req.getConfirmedTime(); + } + if (req.getConsultStatus() != null) { + this.consultStatus = req.getConsultStatus(); + } } } diff --git a/src/main/java/org/likelion/_thon/silver_navi/domain/consult/entity/GeneralConsult.java b/src/main/java/org/likelion/_thon/silver_navi/domain/consult/entity/GeneralConsult.java index df5c174..a88c8b6 100644 --- a/src/main/java/org/likelion/_thon/silver_navi/domain/consult/entity/GeneralConsult.java +++ b/src/main/java/org/likelion/_thon/silver_navi/domain/consult/entity/GeneralConsult.java @@ -78,16 +78,20 @@ public void updateConfirmation(ConsultConfirmReq req) { throw new ConsultModifyNotAllowedException(); } - if (req.getConfirmedDate() != null) { - this.confirmedDate = req.getConfirmedDate(); - } - if (req.getConfirmedTime() != null) { - this.confirmedTime = req.getConfirmedTime(); - } - if (req.getConsultStatus() != null) { - if (req.getConsultStatus().equals(ConsultStatus.REJECTED)) { - this.consultStatus = ConsultStatus.COMPLETED; - } else this.consultStatus = req.getConsultStatus(); + if (req.getConsultStatus().equals(ConsultStatus.REJECTED)) { + this.confirmedDate = null; + this.confirmedTime = null; + this.consultStatus = ConsultStatus.COMPLETED; + } else { + if (req.getConfirmedDate() != null) { + this.confirmedDate = req.getConfirmedDate(); + } + if (req.getConfirmedTime() != null) { + this.confirmedTime = req.getConfirmedTime(); + } + if (req.getConsultStatus() != null) { + this.consultStatus = req.getConsultStatus(); + } } } diff --git a/src/main/java/org/likelion/_thon/silver_navi/domain/consult/service/ConsultServiceImpl.java b/src/main/java/org/likelion/_thon/silver_navi/domain/consult/service/ConsultServiceImpl.java index 6f3be92..278338d 100644 --- a/src/main/java/org/likelion/_thon/silver_navi/domain/consult/service/ConsultServiceImpl.java +++ b/src/main/java/org/likelion/_thon/silver_navi/domain/consult/service/ConsultServiceImpl.java @@ -208,9 +208,6 @@ public void createConsultReply(ManagerPrincipal managerPrincipal, ConsultReplyCr if (consultReplyRepository.existsByConsult_Id(req.getConsultId())) { throw new ConsultReplyAlreadyExistsException(); } - user = consult.getUser(); - consultId = consult.getId(); - consultCategory = ConsultCategory.GRADE; ConsultReply reply = ConsultReply.toEntity(req.getContent(), consult, null); @@ -220,6 +217,12 @@ public void createConsultReply(ManagerPrincipal managerPrincipal, ConsultReplyCr .consultStatus(req.getConsultStatus()) .build(); consult.updateConfirmation(confirmReq); + + consult.consultReply(reply); + + user = consult.getUser(); + consultId = consult.getId(); + consultCategory = ConsultCategory.GRADE; } else { GeneralConsult consult = generalConsultRepository.findById(req.getConsultId()) .orElseThrow(ConsultNotFoundException::new);