Skip to content

Commit

Permalink
[Feat] 게시글 목록 검색 API
Browse files Browse the repository at this point in the history
  • Loading branch information
isExample committed Sep 25, 2023
1 parent 650d9dd commit f19943d
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,11 @@ public BaseResponse<String> recommendPost(@RequestHeader("Authorization") String
transactionService.recommendPost(token, req);
return new BaseResponse<>("게시글을 추천했습니다.");
}
}

@Operation(summary = "중고거래 게시글 검색 API", description = "중고거래 서비스의 거래 게시글을 검색하기 위한 API입니다.")
@ApiResponse(responseCode = "200", description = "요청 성공", content = @Content(mediaType = "application/json", schema = @Schema(implementation = BaseResponse.class)))
@GetMapping("/search/{keyword}")
public BaseResponse<List<PostsRes>> recommendPost(@PathVariable String keyword) throws BaseException {
return new BaseResponse<>(transactionService.findAllPostByKeyword(keyword));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ public interface TransactionRepository extends JpaRepository<Transaction, Long>
List<Transaction> findByStatus(String status);
Optional<Transaction> findByTransactionIdAndStatus(Long transactionId, String status);
List<Transaction> findByCategoryAndStatus(Category category, String status);
List<Transaction> findByContentContainingAndStatus(String content, String status);
}
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,19 @@ public void recommendPost(String token, RecommendPostReq req){
}
}

public List<PostsRes> findAllPostByKeyword(String keyword){
List<Transaction> txnList = new ArrayList<>();
txnList = transactionRepository.findByContentContainingAndStatus(keyword, "ACTIVE");

List<PostsRes> postResList = new ArrayList<>();
for(Transaction txn: txnList){
PostsRes postRes = PostsRes.toDto(txn, transactionAttachService.getFirstImageName(txn));
postResList.add(postRes);
}

return postResList;
}

public String toFormattedDate(LocalDateTime baseDateTime){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
return baseDateTime.format(formatter);
Expand Down

0 comments on commit f19943d

Please sign in to comment.