diff --git a/backend/src/main/java/com/edufocus/edufocus/qna/controller/QnaController.java b/backend/src/main/java/com/edufocus/edufocus/qna/controller/QnaController.java index c4c2a0a..6a20a67 100644 --- a/backend/src/main/java/com/edufocus/edufocus/qna/controller/QnaController.java +++ b/backend/src/main/java/com/edufocus/edufocus/qna/controller/QnaController.java @@ -49,17 +49,20 @@ public class QnaController { public ResponseEntity createAnswer(@PathVariable("qna_id") Long qna_id, @RequestBody QnaRequestDto qnaRequestDto, HttpServletRequest request) { try { String token = request.getHeader("Authorization"); + System.out.println(token); Long userId = Long.parseLong(jwtUtil.getUserId(token)); User findUser = userRepository.findById(userId).orElse(null); if (findUser.getRole() != UserRole.ADMIN) { - throw new RuntimeException(); + return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE); + } QnaResponseDto responseDto = qnaService.createAnswer(qna_id, qnaRequestDto); return new ResponseEntity<>(responseDto, HttpStatus.ACCEPTED); } catch (Exception e) { - throw new RuntimeException(e); + return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE); + } } @@ -91,12 +94,12 @@ public class QnaController { System.out.println("delete answer"); if (findUser.getRole() != UserRole.ADMIN) { - throw new RuntimeException(); + return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE); } qnaService.deleteAnswer(qna_id); return new ResponseEntity<>(HttpStatus.ACCEPTED); } catch (Exception e) { - throw new RuntimeException(e); + return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE); } } @@ -110,7 +113,7 @@ public class QnaController { return new ResponseEntity<>(qnaResponseDto, HttpStatus.ACCEPTED); } catch (Exception e) { - throw new RuntimeException(e); + return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE); } } diff --git a/backend/src/main/java/com/edufocus/edufocus/qna/service/QnaServiceImpl.java b/backend/src/main/java/com/edufocus/edufocus/qna/service/QnaServiceImpl.java index 3454e27..6180416 100644 --- a/backend/src/main/java/com/edufocus/edufocus/qna/service/QnaServiceImpl.java +++ b/backend/src/main/java/com/edufocus/edufocus/qna/service/QnaServiceImpl.java @@ -57,18 +57,15 @@ public class QnaServiceImpl implements QnaService { System.out.println("userId:" + userId); - Qna qna = qnaRepository.findById(id).orElse(null); - System.out.println("quesiton에 있는거: " + qna.getUser().getId()); + Qna findQna = qnaRepository.findById(id).orElse(null); + System.out.println("quesiton에 있는거: " + findQna.getUser().getId()); User user = userRepository.findById(userId).orElse(null); - if (qna.getUser().getId() != userId) { + if (findQna.getUser().getId() != userId || user.getRole() != UserRole.STUDENT) { throw new RuntimeException(); } - Qna findQna = qnaRepository.findById(id) - .orElseThrow(() -> new RuntimeException("QnA not found")); - findQna.setModifiedAt(new Date()); findQna.setTitle(qnaRequestDto.getTitle()); findQna.setContent(qnaRequestDto.getContent()); @@ -129,11 +126,12 @@ public class QnaServiceImpl implements QnaService { public QnaResponseDto createAnswer(Long id, QnaRequestDto qnaRequestDto) throws SQLException { Qna findQna = qnaRepository.findById(id).orElse(null); - findQna.setAnswer(qnaRequestDto.getAnswer()); - if (findQna.getAnswer() != null) { throw new RuntimeException(); } + findQna.setAnswer(qnaRequestDto.getAnswer()); + + qnaRepository.save(findQna); return QnaResponseDto.toEntity(findQna);