-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathAdminDashboardService.java
More file actions
43 lines (34 loc) · 1.74 KB
/
AdminDashboardService.java
File metadata and controls
43 lines (34 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package life.mosu.mosuserver.application.admin;
import java.time.LocalDate;
import life.mosu.mosuserver.domain.examapplication.repository.ExamApplicationJpaRepository;
import life.mosu.mosuserver.domain.refund.repository.RefundFailureLogJpaRepository;
import life.mosu.mosuserver.domain.user.entity.UserRole;
import life.mosu.mosuserver.domain.user.repository.UserJpaRepository;
import life.mosu.mosuserver.domain.virtualaccount.DepositStatus;
import life.mosu.mosuserver.domain.virtualaccount.VirtualAccountLogJpaRepository;
import life.mosu.mosuserver.presentation.admin.dto.DashBoardResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class AdminDashboardService {
private final ExamApplicationJpaRepository examApplicationJpaRepository;
private final VirtualAccountLogJpaRepository virtualAccountLogJpaRepository;
private final UserJpaRepository userJpaRepository;
private final RefundFailureLogJpaRepository refundFailureLogJpaRepository;
// 대시보드 정보 조회
public DashBoardResponse getAll() {
LocalDate startDate = LocalDate.of(2025, 8, 20);
Long paymentCounts = examApplicationJpaRepository.countAllSince(startDate);
Long virtualAccountCounts = virtualAccountLogJpaRepository.countByDepositStatus(
DepositStatus.DONE);
Long applicationCounts = paymentCounts + virtualAccountCounts;
Long refundAbortedCounts = refundFailureLogJpaRepository.count();
Long userCounts = userJpaRepository.countByUserRoleNot(UserRole.ROLE_ADMIN);
return DashBoardResponse.of(
applicationCounts,
refundAbortedCounts,
userCounts
);
}
}