Merge branch 'BE/userinfo' into 'backend'
feat: qna 수정 See merge request s11-webmobile1-sub2/S11P12A701!103
This commit is contained in:
commit
b736e30832
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user