Merge branch 'BE/userinfo' into 'backend'

feat:  qna 수정

See merge request s11-webmobile1-sub2/S11P12A701!103
This commit is contained in:
박정민 2024-08-08 10:51:41 +09:00
commit b736e30832
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) { public ResponseEntity<QnaResponseDto> createAnswer(@PathVariable("qna_id") Long qna_id, @RequestBody QnaRequestDto qnaRequestDto, HttpServletRequest request) {
try { try {
String token = request.getHeader("Authorization"); String token = request.getHeader("Authorization");
System.out.println(token);
Long userId = Long.parseLong(jwtUtil.getUserId(token)); Long userId = Long.parseLong(jwtUtil.getUserId(token));
User findUser = userRepository.findById(userId).orElse(null); User findUser = userRepository.findById(userId).orElse(null);
if (findUser.getRole() != UserRole.ADMIN) { if (findUser.getRole() != UserRole.ADMIN) {
throw new RuntimeException(); return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE);
} }
QnaResponseDto responseDto = qnaService.createAnswer(qna_id, qnaRequestDto); QnaResponseDto responseDto = qnaService.createAnswer(qna_id, qnaRequestDto);
return new ResponseEntity<>(responseDto, HttpStatus.ACCEPTED); return new ResponseEntity<>(responseDto, HttpStatus.ACCEPTED);
} catch (Exception e) { } 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"); System.out.println("delete answer");
if (findUser.getRole() != UserRole.ADMIN) { if (findUser.getRole() != UserRole.ADMIN) {
throw new RuntimeException(); return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE);
} }
qnaService.deleteAnswer(qna_id); qnaService.deleteAnswer(qna_id);
return new ResponseEntity<>(HttpStatus.ACCEPTED); return new ResponseEntity<>(HttpStatus.ACCEPTED);
} catch (Exception e) { } 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); return new ResponseEntity<>(qnaResponseDto, HttpStatus.ACCEPTED);
} catch (Exception e) { } 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); System.out.println("userId:" + userId);
Qna qna = qnaRepository.findById(id).orElse(null); Qna findQna = qnaRepository.findById(id).orElse(null);
System.out.println("quesiton에 있는거: " + qna.getUser().getId()); System.out.println("quesiton에 있는거: " + findQna.getUser().getId());
User user = userRepository.findById(userId).orElse(null); User user = userRepository.findById(userId).orElse(null);
if (qna.getUser().getId() != userId) { if (findQna.getUser().getId() != userId || user.getRole() != UserRole.STUDENT) {
throw new RuntimeException(); throw new RuntimeException();
} }
Qna findQna = qnaRepository.findById(id)
.orElseThrow(() -> new RuntimeException("QnA not found"));
findQna.setModifiedAt(new Date()); findQna.setModifiedAt(new Date());
findQna.setTitle(qnaRequestDto.getTitle()); findQna.setTitle(qnaRequestDto.getTitle());
findQna.setContent(qnaRequestDto.getContent()); findQna.setContent(qnaRequestDto.getContent());
@ -129,11 +126,12 @@ public class QnaServiceImpl implements QnaService {
public QnaResponseDto createAnswer(Long id, QnaRequestDto qnaRequestDto) throws SQLException { public QnaResponseDto createAnswer(Long id, QnaRequestDto qnaRequestDto) throws SQLException {
Qna findQna = qnaRepository.findById(id).orElse(null); Qna findQna = qnaRepository.findById(id).orElse(null);
findQna.setAnswer(qnaRequestDto.getAnswer());
if (findQna.getAnswer() != null) { if (findQna.getAnswer() != null) {
throw new RuntimeException(); throw new RuntimeException();
} }
findQna.setAnswer(qnaRequestDto.getAnswer());
qnaRepository.save(findQna); qnaRepository.save(findQna);
return QnaResponseDto.toEntity(findQna); return QnaResponseDto.toEntity(findQna);