diff --git a/src/main/java/com/doubleo/logservice/domain/log/controller/LogController.java b/src/main/java/com/doubleo/logservice/domain/log/controller/LogController.java index 76c5923..8edeb08 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/controller/LogController.java +++ b/src/main/java/com/doubleo/logservice/domain/log/controller/LogController.java @@ -29,15 +29,19 @@ public String HealthCheck() { @Operation(summary = "All issued log get API", description = "모든 출입증 발급 로그 조회 API") @GetMapping("/issued") public Page IssuedLogListGet( - @RequestHeader("X-Admin-Id") Long adminId, Pageable pageable) { - return logService.getAllIssuedLog(pageable); + @RequestHeader("X-Admin-Id") Long adminId, + @RequestParam(required = false) String keyword, + Pageable pageable) { + return logService.getAllIssuedLog(keyword, pageable); } @Operation(summary = "All issued log get API", description = "모든 출입 로그 조회 API") @GetMapping("/enter") public Page EnterLogListGet( - @RequestHeader("X-Admin-Id") Long adminId, Pageable pageable) { - return logService.getAllEnterLog(pageable); + @RequestHeader("X-Admin-Id") Long adminId, + @RequestParam(required = false) String keyword, + Pageable pageable) { + return logService.getAllEnterLog(keyword, pageable); } @Operation(summary = "Number of issues per hour", description = "시간대별 출입증 발급 수 API") diff --git a/src/main/java/com/doubleo/logservice/domain/log/repository/EnterLogRepository.java b/src/main/java/com/doubleo/logservice/domain/log/repository/EnterLogRepository.java index 57c5827..244bef6 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/repository/EnterLogRepository.java +++ b/src/main/java/com/doubleo/logservice/domain/log/repository/EnterLogRepository.java @@ -10,4 +10,7 @@ public interface EnterLogRepository extends JpaRepository { List findAllByTenantId(String tenantId); Page findAllByTenantId(String tenantId, Pageable pageable); + + Page findAllByMemberNameAndTenantId( + String memberName, String tenantId, Pageable pageable); } diff --git a/src/main/java/com/doubleo/logservice/domain/log/repository/IssuedLogRepository.java b/src/main/java/com/doubleo/logservice/domain/log/repository/IssuedLogRepository.java index 094cae8..fb9aced 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/repository/IssuedLogRepository.java +++ b/src/main/java/com/doubleo/logservice/domain/log/repository/IssuedLogRepository.java @@ -26,4 +26,7 @@ int countInLogsAtHour( @Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("tenantId") String tenantId); + + Page findAllByMemberNameAndTenantId( + String memberName, String tenantId, Pageable pageable); } diff --git a/src/main/java/com/doubleo/logservice/domain/log/service/LogService.java b/src/main/java/com/doubleo/logservice/domain/log/service/LogService.java index da80745..c537723 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/service/LogService.java +++ b/src/main/java/com/doubleo/logservice/domain/log/service/LogService.java @@ -8,9 +8,9 @@ import org.springframework.data.domain.Pageable; public interface LogService { - Page getAllIssuedLog(Pageable pageable); + Page getAllIssuedLog(String keyword, Pageable pageable); - Page getAllEnterLog(Pageable pageable); + Page getAllEnterLog(String keyword, Pageable pageable); List getHourlyIssuanceList(); } diff --git a/src/main/java/com/doubleo/logservice/domain/log/service/LogServiceImpl.java b/src/main/java/com/doubleo/logservice/domain/log/service/LogServiceImpl.java index 17ac98d..bfce0d8 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/service/LogServiceImpl.java +++ b/src/main/java/com/doubleo/logservice/domain/log/service/LogServiceImpl.java @@ -38,9 +38,15 @@ public class LogServiceImpl implements LogService { private final RedisTemplate redisTemplate; @Override - public Page getAllIssuedLog(Pageable pageable) { + public Page getAllIssuedLog(String keyword, Pageable pageable) { String tenantId = tenantValidator.getTenantId(); - Page issuedLogs = issuedLogRepository.findAllByTenantId(tenantId, pageable); + Page issuedLogs; + if (keyword == null || keyword.isBlank()) { + issuedLogs = issuedLogRepository.findAllByTenantId(tenantId, pageable); + } else { + issuedLogs = + issuedLogRepository.findAllByMemberNameAndTenantId(keyword, tenantId, pageable); + } return issuedLogs.map( issuedLog -> { @@ -71,9 +77,15 @@ public Page getAllIssuedLog(Pageable pageable) { } @Override - public Page getAllEnterLog(Pageable pageable) { + public Page getAllEnterLog(String keyword, Pageable pageable) { String tenantId = tenantValidator.getTenantId(); - Page enterLogs = enterLogRepository.findAllByTenantId(tenantId, pageable); + Page enterLogs; + if (keyword == null || keyword.isBlank()) { + enterLogs = enterLogRepository.findAllByTenantId(tenantId, pageable); + } else { + enterLogs = + enterLogRepository.findAllByMemberNameAndTenantId(keyword, tenantId, pageable); + } return enterLogs.map( enterLog -> new EnterLogResponse(