diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index 43b130b..da29c5e 100644 Binary files a/build/tmp/compileJava/previous-compilation-data.bin and b/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/src/main/java/com/example/SeaReaUrl_back/FraudAccountRepository.java b/src/main/java/com/example/SeaReaUrl_back/FraudAccountRepository.java index 3c448e2..2372d6d 100644 --- a/src/main/java/com/example/SeaReaUrl_back/FraudAccountRepository.java +++ b/src/main/java/com/example/SeaReaUrl_back/FraudAccountRepository.java @@ -6,4 +6,5 @@ public interface FraudAccountRepository extends JpaRepository { List findTop5ByOrderByViewDesc(); + List findTop5ByOrderByReportDesc(); } diff --git a/src/main/java/com/example/SeaReaUrl_back/FraudController.java b/src/main/java/com/example/SeaReaUrl_back/FraudController.java index 66297d2..b8e2d31 100644 --- a/src/main/java/com/example/SeaReaUrl_back/FraudController.java +++ b/src/main/java/com/example/SeaReaUrl_back/FraudController.java @@ -15,21 +15,21 @@ public class FraudController { @GetMapping("/account/view") public Top5Response getTop5AccountView(){ + return fraudService.getTop5AccountView(); // return fraudService.getTop5AccountView(); - return fraudService.getTop5AccountAndView(); } @GetMapping("/url/view") public Top5Response getTop5UrlView(){ - return fraudService.getTop5AccountAndView(); + return fraudService.getTop5UrlView(); + } + @GetMapping("/account/report") + public Top5Response getTop5AccountReports(){ + return fraudService.getTop5AccountReports(); + } + @GetMapping("/url/report") + public Top5Response getTop5UrlReports(){ + return fraudService.getTop5UrlReports(); } -// @GetMapping("/account/report") -// public Top5Response getTop5AccountReports(){ -// return fraudService.getTop5AccountReports(); -// } -// @GetMapping("/url/report") -// public Top5Response getTop5UrlReports(){ -// return fraudService.getTop5UrlReports(); -// } // // @PostMapping("/report/account") // public StringResponse reportAccount(){ diff --git a/src/main/java/com/example/SeaReaUrl_back/FraudService.java b/src/main/java/com/example/SeaReaUrl_back/FraudService.java index a20c895..edc37f7 100644 --- a/src/main/java/com/example/SeaReaUrl_back/FraudService.java +++ b/src/main/java/com/example/SeaReaUrl_back/FraudService.java @@ -16,61 +16,89 @@ public class FraudService { private final FraudAccountRepository fraudAccountRepository; private final FraudUrlRepository fraudUrlRepository; + // @Transactional -// public Top5Response getTop5AccountView() { +// public List getTop5AccountView() { // List top5Accounts = fraudAccountRepository.findTop5ByOrderByViewDesc(); -// List top5AccountResponses = top5Accounts.stream() +// return top5Accounts.stream() // .map(Top5AccountResponse::new) // .collect(Collectors.toList()); -// return new Top5Response(top5AccountResponses); -// } -// -// @Transactional -// public Top5Response getTop5UrlView(){ -// List top5Urls = fraudUrlRepository.findTop5ByOrderByViewDesc(); -// List top5UrlResponses = top5Urls.stream() -// .map(Top5UrlResponse::new) -// .collect(Collectors.toList()); -// return new Top5Response(top5UrlResponses); // } - @Transactional - public Top5Response getTop5AccountAndView() { + public Top5Response getTop5AccountView() { + // FraudAccount 테이블에서 조회 List top5Accounts = fraudAccountRepository.findTop5ByOrderByViewDesc(); List top5AccountResponses = top5Accounts.stream() .map(Top5AccountResponse::new) .collect(Collectors.toList()); + // 빈 리스트로 초기화된 Top5UrlResponse 리스트 생성 + List top5UrlResponses = new ArrayList<>(); + + // 응답 객체에 결과를 담아 반환 + return new Top5Response(top5AccountResponses, top5UrlResponses); + } + + @Transactional + public Top5Response getTop5UrlView() { + // 빈 리스트로 초기화된 Top5AccountResponse 리스트 생성 + List top5AccountResponses = new ArrayList<>(); + + // FraudUrl 테이블에서 조회 List top5Urls = fraudUrlRepository.findTop5ByOrderByViewDesc(); List top5UrlResponses = top5Urls.stream() .map(Top5UrlResponse::new) .collect(Collectors.toList()); + // 응답 객체에 결과를 담아 반환 return new Top5Response(top5AccountResponses, top5UrlResponses); } -// private Top5Response convertToTop5Response(List top5Accounts) { -// List responses = top5Accounts.stream() -// .map(account -> new Top5Response(account.getId(), account.getUrl(), account.getIsFraud(), account.getView(), account.getReport())) + +// @Transactional +// public Top5Response getTop5AccountAndView() { +// List top5Accounts = fraudAccountRepository.findTop5ByOrderByViewDesc(); +// List top5AccountResponses = top5Accounts.stream() +// .map(Top5AccountResponse::new) +// .collect(Collectors.toList()); +// +// List top5Urls = fraudUrlRepository.findTop5ByOrderByViewDesc(); +// List top5UrlResponses = top5Urls.stream() +// .map(Top5UrlResponse::new) // .collect(Collectors.toList()); // -// // 상위 5개의 계정을 담은 단일 Top5Response를 반환하려면 -// return new Top5Response(responses); +// return new Top5Response(top5AccountResponses, top5UrlResponses); // } -// @Transactional -// public Top5Response getTop5AccountView(){ -// return new Top5Response(); -// } -// @Transactional -// public Top5Response getTop5AccountReports(){ -// return new Top5Response(); -// } -// @Transactional -// public Top5Response getTop5UrlReports(){ -// return new Top5Response(); -// } + @Transactional + public Top5Response getTop5AccountReports(){ + // FraudAccount 테이블에서 조회 + List top5Accounts = fraudAccountRepository.findTop5ByOrderByReportDesc(); + List top5AccountResponses = top5Accounts.stream() + .map(Top5AccountResponse::new) + .collect(Collectors.toList()); + + // 빈 리스트로 초기화된 Top5UrlResponse 리스트 생성 + List top5UrlResponses = new ArrayList<>(); + + // 응답 객체에 결과를 담아 반환 + return new Top5Response(top5AccountResponses, top5UrlResponses); + } + @Transactional + public Top5Response getTop5UrlReports(){ + // 빈 리스트로 초기화된 Top5AccountResponse 리스트 생성 + List top5AccountResponses = new ArrayList<>(); + + // FraudUrl 테이블에서 조회 + List top5Urls = fraudUrlRepository.findTop5ByOrderByReportDesc(); + List top5UrlResponses = top5Urls.stream() + .map(Top5UrlResponse::new) + .collect(Collectors.toList()); + + // 응답 객체에 결과를 담아 반환 + return new Top5Response(top5AccountResponses, top5UrlResponses); + } // // @Transactional // public StringResponse reportAccount(){ diff --git a/src/main/java/com/example/SeaReaUrl_back/FraudUrlRepository.java b/src/main/java/com/example/SeaReaUrl_back/FraudUrlRepository.java index 3b51168..de869f5 100644 --- a/src/main/java/com/example/SeaReaUrl_back/FraudUrlRepository.java +++ b/src/main/java/com/example/SeaReaUrl_back/FraudUrlRepository.java @@ -6,4 +6,5 @@ public interface FraudUrlRepository extends JpaRepository { List findTop5ByOrderByViewDesc(); + List findTop5ByOrderByReportDesc(); } diff --git a/src/main/java/com/example/SeaReaUrl_back/Top5AccountResponse.java b/src/main/java/com/example/SeaReaUrl_back/Top5AccountResponse.java index 4fa8ebd..ff87a52 100644 --- a/src/main/java/com/example/SeaReaUrl_back/Top5AccountResponse.java +++ b/src/main/java/com/example/SeaReaUrl_back/Top5AccountResponse.java @@ -6,14 +6,14 @@ @Getter @AllArgsConstructor public class Top5AccountResponse { - private Long id; + private Long accountId; private String accountName; private Boolean isFraud; private Long view; private Long report; public Top5AccountResponse(FraudAccount account) { - this.id = account.getId(); + this.accountId = account.getId(); this.accountName = account.getAccountName(); this.isFraud = account.getIsFraud(); this.view = account.getView(); diff --git a/src/main/java/com/example/SeaReaUrl_back/Top5Response.java b/src/main/java/com/example/SeaReaUrl_back/Top5Response.java index bcb984c..a88b87b 100644 --- a/src/main/java/com/example/SeaReaUrl_back/Top5Response.java +++ b/src/main/java/com/example/SeaReaUrl_back/Top5Response.java @@ -3,6 +3,7 @@ import java.util.List; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -11,6 +12,7 @@ @Getter @Builder +@JsonInclude(JsonInclude.Include.NON_EMPTY) public class Top5Response { private List top5Accounts; diff --git a/src/main/java/com/example/SeaReaUrl_back/Top5UrlResponse.java b/src/main/java/com/example/SeaReaUrl_back/Top5UrlResponse.java index ca8b8e9..69c546f 100644 --- a/src/main/java/com/example/SeaReaUrl_back/Top5UrlResponse.java +++ b/src/main/java/com/example/SeaReaUrl_back/Top5UrlResponse.java @@ -6,14 +6,14 @@ @Getter @AllArgsConstructor public class Top5UrlResponse { - private Long id; + private Long urlId; private String url; private Boolean isFraud; private Long view; private Long report; public Top5UrlResponse(FraudUrl url) { - this.id = url.getId(); + this.urlId = url.getId(); this.url = url.getUrl(); this.isFraud = url.getIsFraud(); this.view = url.getView();