feat: qna 수정

This commit is contained in:
박정민 2024-08-08 10:51:07 +09:00
parent c720d97985
commit 35c98af73f
2 changed files with 14 additions and 13 deletions

View File

@ -49,17 +49,20 @@ public class QnaController {
public ResponseEntity<QnaResponseDto> 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);
}
}

View File

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