Skip to content

Commit

Permalink
Merge pull request #41 from whatever-mentoring/fix/4-getMyPage4
Browse files Browse the repository at this point in the history
[fix/4-getMyPage4] ์—ญํ•  ๊ถŒํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐ ์ผ๋ถ€ ๋‚ด์šฉ ๋ฐ˜ํ™˜์‹œ ... ์ถ”๊ฐ€
  • Loading branch information
Haeun-Y committed Sep 22, 2023
2 parents b0ac088 + ea97c08 commit 33132b4
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 9 deletions.
13 changes: 11 additions & 2 deletions src/main/java/com/ewhatever/qna/user/dto/GetCommentResponse.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,18 @@ public class GetCommentResponse {
//TODO : dto์—์„œ LocalDateTime -> LocalDate๋กœ ๋ณ€๊ฒฝ
public static GetCommentResponse fromComment(Comment comment) {
Post post = comment.getPost();
return GetCommentResponse.builder().content(comment.getContent().substring(0, Math.min(comment.getContent().length(), 20)))

String title;
if(post.getTitle().length() > 10) title = post.getTitle().substring(0, 10) + "...";
else title = post.getTitle();

String content;
if(comment.getContent().length() > 20) content = comment.getContent().substring(0, 20) + "...";
else content = comment.getContent();

return GetCommentResponse.builder().content(content)
.date(comment.getCreatedDate().format(DateTimeFormatter.ofPattern("yy/MM/dd HH:mm")))
.postIdx(post.getPostIdx())
.postTitle(post.getTitle().substring(0, Math.min(post.getTitle().length(), 10))).build();
.postTitle(title).build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,12 @@ public class GetJunyQuestionResponse {
public static GetJunyQuestionResponse fromPost(Post post, Long answerCount, Boolean isJuicy) {
LocalDate targetDate = post.getCreatedDate().toLocalDate().plusDays(3);
LocalDateTime date = (isJuicy)? post.getLastModifiedDate() : post.getCreatedDate();
String title;
if(post.getTitle().length() > 20)
title = post.getTitle().substring(0, 20) + "...";
else title = post.getTitle();
return GetJunyQuestionResponse.builder()
.title(post.getTitle().substring(0, Math.min(post.getTitle().length(), 20)))
.title(title)
.postIdx(post.getPostIdx())
.date(date.format(DateTimeFormatter.ofPattern("yy/MM/dd HH:mm")))
.category(post.getCategory().getKrName())
Expand Down
12 changes: 10 additions & 2 deletions src/main/java/com/ewhatever/qna/user/dto/GetScrapResponse.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,18 @@ public class GetScrapResponse {
//TODO : substring๋ง๊ณ  ์ž˜๋ผ์ง„ ๋ถ€๋ถ„๋งŒ ๊ฐ€์ ธ์˜ค๊ฒŒ ์ˆ˜์ •?
public static GetScrapResponse fromScrap(Scrap scrap) {
Post post = scrap.getPost();
return GetScrapResponse.builder().postTitle(post.getTitle().substring(0, Math.min(post.getTitle().length(), 10)))
String title;
if(post.getTitle().length() > 10) title = post.getTitle().substring(0, 10) + "...";
else title = post.getTitle();

String content;
if(post.getContent().length() > 45) content = post.getContent().substring(0, 45) + "...";
else content = post.getContent();

return GetScrapResponse.builder().postTitle(title)
.postIdx(post.getPostIdx())
.category(post.getCategory().getKrName())
.content(post.getContent().substring(0, Math.min(post.getContent().length(), 45)))
.content(content)
.commentCount(post.getCommentCount())
.scrapCount(post.getScrapCount())
.date(post.getLastModifiedDate().format(DateTimeFormatter.ofPattern("yy/MM/dd HH:mm")))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,13 @@ public class GetSinyAnswerResponse {
public static GetSinyAnswerResponse fromAnswer(Answer answer, Long answerCount, Boolean isJuicy) {
LocalDate targetDate = answer.getPost().getCreatedDate().toLocalDate().plusDays(3);
LocalDateTime date = (isJuicy)? answer.getPost().getLastModifiedDate() : answer.getPost().getCreatedDate();

String content;
if(answer.getContent().length() > 20) content = answer.getContent().substring(0, 20) + "...";
else content = answer.getContent();

return GetSinyAnswerResponse.builder()
.content(answer.getContent().substring(0, Math.min(20, answer.getContent().length())))
.content(content)
.date(date.format(DateTimeFormatter.ofPattern("yy/MM/dd HH:mm")))
.category(answer.getPost().getCategory().getKrName())
.postIdx(answer.getPost().getPostIdx())
Expand Down
16 changes: 13 additions & 3 deletions src/main/java/com/ewhatever/qna/user/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import java.util.ArrayList;
import java.util.List;

import static com.ewhatever.qna.common.Base.BaseResponseStatus.INVALID_USER;
import static com.ewhatever.qna.common.Base.BaseResponseStatus.*;

@Service
@RequiredArgsConstructor
Expand All @@ -48,8 +48,8 @@ public BaseResponse<?> getProfile(String token) throws BaseException {
// TODO : getPageable ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
public Page<GetSinyAnswerResponse> getMyAnswers(String token, String status, int requestPageNum) throws BaseException {
log.info("*** status : [{}], requestPageNum : [{}]", status, requestPageNum);
//TODO : ์ฅฌ๋‹ˆ์ธ ๊ฒฝ์šฐ์— Exception ๋ฐœ์ƒ
User user = userRepository.findById(authService.getUserIdx(token)).orElseThrow(()-> new BaseException(INVALID_USER));
checkSinyRole(user.getRole());
List<Sort.Order> sorts = new ArrayList<>();
if(status.equals("completed")) {//์ฅฌ์‹œ ์™„๋ฃŒ
sorts.add(Sort.Order.desc("post_LastModifiedDate"));
Expand All @@ -67,8 +67,8 @@ public Page<GetSinyAnswerResponse> getMyAnswers(String token, String status, int
}

public Page<GetJunyQuestionResponse> getMyQuestions(String token, String status, int requestPageNum) throws BaseException {
//TODO : ์‹œ๋‹ˆ์ธ ๊ฒฝ์šฐ์— Exception ๋ฐœ์ƒ
User user = userRepository.findById(authService.getUserIdx(token)).orElseThrow(()-> new BaseException(INVALID_USER));
checkJunyRole(user.getRole());
List<Sort.Order> sorts = new ArrayList<>();
if(status.equals("completed")) {//์ฅฌ์‹œ ์™„๋ฃŒ
sorts.add(Sort.Order.desc("lastModifiedDate"));
Expand Down Expand Up @@ -118,4 +118,14 @@ private BaseResponse<GetSinyProfileResponse> getSinyProfile(User user) {
.scrapCount(scrapRepository.countByUser_UserIdxAndStatusEquals(user.getUserIdx(), "active"))
.build());
}

private void checkJunyRole(Role role) throws BaseException {
if(role.equals(Role.JUNY)) return;
else throw new BaseException(NO_JUNIOR_ROLE);
}

private void checkSinyRole(Role role) throws BaseException {
if(role.equals(Role.SINY)) return;
else throw new BaseException(NO_SENIOR_ROLE);
}
}

0 comments on commit 33132b4

Please sign in to comment.