Skip to content

Commit 0a0fa94

Browse files
authored
Refactor/216 작가용 대시보드 실제 db와 연동 (#218)
* feat/164 creatAt이었던 부분이 creatDate를 참조해야되는 문제 해결 * refactor/204 주문 조회 db 연결 * refactor/204 주문 조회 db 연결 * refactor/204 참여한 펀딩 조회 코드 개선 * refactor/204 작가용 대시보드 펀딩-통계 부분 제거 * refactor/204 작가용 대시보드 사용자 설정 실제 db 연결 * refactor/204 관리자용 대쉬보드- GA4 사용 안해서 제거 * refactor/204 작가용 대시보드- 취소 요청 실제 db로 연동 * refactor/204 작가용 대시보드- 타임존 변경, 테스트 문제 해결 * refactor/204 작가용 대시보드- 교환 요청 실제 db랑 연결 * refactor/204 작가용 대시보드- 교환 요청 테스트 코드 추가 * refactor/204 작가용 대시보드- 테스트코드 정리 * refactor/204 작가용 대시보드- serviceimpl 코드 정리 * refactor/204 작가용 대시보드- serviceimpl 코드 정리
1 parent c47cb12 commit 0a0fa94

File tree

17 files changed

+1118
-1034
lines changed

17 files changed

+1118
-1034
lines changed

src/main/java/com/back/domain/dashboard/admin/controller/AdminDashboardController.java

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,23 @@
1818

1919
/**
2020
* 관리자 대시보드 컨트롤러
21-
<<<<<<< HEAD
22-
* 관리자가 전체 플랫폼 현황을 모니터링할 수 있는 대시보드 기능을 제공
23-
* 모든 API는 JWT 인증과 관리자 권한이 필요
24-
=======
2521
* <p>
2622
* 관리자가 전체 플랫폼 현황을 모니터링할 수 있는 대시보드 기능을 제공
2723
* 모든 API는 JWT 인증과 관리자 권한이 필요
2824
* <p>
29-
>>>>>>> 2f4795372b442dd5b55cfd8b8cfe7ba547b36a98
3025
* 제공 기능:
3126
* <ul>
32-
* <li>전체 현황 조회 (사용자/매출/펀딩 통계, 유입 경로)</li>
27+
* <li>전체 현황 조회 (사용자/매출/펀딩 통계, 카테고리별 분포)</li>
3328
* <li>매출 및 주문 트렌드 조회</li>
3429
* <li>사용자 증가 현황 조회</li>
35-
* <li>카테고리별 상품 분포 조회</li>
3630
* <li>승인 대기 알림 조회</li>
3731
* <li>상품 목록 조회 및 관리</li>
3832
* <li>사용자 목록 조회 및 관리</li>
3933
* <li>펀딩 모니터링 목록 조회</li>
4034
* <li>입점 신청 목록 조회 및 관리</li>
4135
* </ul>
42-
<<<<<<< HEAD
43-
* 2025.10.01 GA4 유입 경로 통합 - 메인 현황에 포함
44-
* 2025.10.02 JWT 표준 패턴 적용 - @AuthenticationPrincipal 사용
45-
=======
4636
* <p>
47-
* 2025.10.01 GA4 유입 경로 통합 - 메인 현황에 포함
48-
>>>>>>> 2f4795372b442dd5b55cfd8b8cfe7ba547b36a98
37+
* 2025.10.04 수정 - GA4 유입 경로 제거 (작가 대시보드 전용)
4938
*/
5039
@RestController
5140
@RequestMapping("/api/dashboard/admin")
@@ -62,7 +51,7 @@ public class AdminDashboardController {
6251
*/
6352
@GetMapping("/overview")
6453
@Operation(summary = "관리자 대시보드 전체 현황 조회",
65-
description = "사용자, 매출, 펀딩 통계와 트렌드 차트, 승인 대기 알림, 유입 경로(GA4) 정보를 조회합니다")
54+
description = "사용자, 매출, 펀딩 통계와 트렌드 차트, 승인 대기 알림, 카테고리별 상품 분포 정보를 조회합니다")
6655
public ResponseEntity<RsData<AdminOverviewResponse>> getOverview(
6756
@AuthenticationPrincipal CustomUserDetails adminUser,
6857
@Valid @ModelAttribute AdminOverviewRequest request) {

src/main/java/com/back/domain/dashboard/admin/dto/response/AdminOverviewResponse.java

Lines changed: 2 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
/**
77
* 관리자 대시보드 전체 현황 응답 DTO
88
*
9-
* 관리자 대시보드의 전체 통계, 차트, 알림, 유입 경로 정보를 포함
10-
* 2025.10.01 수정 - GA4 유입 경로 추가
9+
* 관리자 대시보드의 전체 통계, 차트, 알림 정보를 포함
10+
* 2025.10.04 수정 - 유입 경로 제거, 카테고리 분포는 차트 내에 포함
1111
*/
1212
public record AdminOverviewResponse(
1313
/** 전체 현황 통계 */
@@ -16,8 +16,6 @@ public record AdminOverviewResponse(
1616
Charts charts,
1717
/** 승인 대기 알림 */
1818
Alerts alerts,
19-
/** 유입 경로 정보 (GA4) */
20-
TrafficSources trafficSources,
2119
/** 서버 시간 */
2220
LocalDateTime serverTime,
2321
/** 타임존 */
@@ -223,66 +221,4 @@ public record FundingApproval(
223221
/** 요청 시간 */
224222
LocalDateTime requestedAt
225223
) {}
226-
227-
/**
228-
* 유입 경로 정보 (GA4)
229-
*/
230-
public record TrafficSources(
231-
/** 요약 정보 */
232-
Summary summary,
233-
/** 유입 경로별 데이터 */
234-
List<Source> sources,
235-
/** 차트용 데이터 */
236-
Chart chart
237-
) {}
238-
239-
/**
240-
* 유입 경로 요약 정보
241-
*/
242-
public record Summary(
243-
/** 총 세션 수 */
244-
long totalSessions,
245-
/** 총 사용자 수 */
246-
long totalUsers,
247-
/** 평균 세션 시간 (초) */
248-
double avgSessionDuration,
249-
/** 이탈률 (%) */
250-
double bounceRate
251-
) {}
252-
253-
/**
254-
* 유입 경로 정보
255-
*/
256-
public record Source(
257-
/** 유입 경로명 (Instagram, YouTube, Naver 등) */
258-
String name,
259-
/** 세션 수 */
260-
long sessions,
261-
/** 사용자 수 */
262-
long users,
263-
/** 점유율 (%) */
264-
double share
265-
) {}
266-
267-
/**
268-
* 파이차트 데이터
269-
*/
270-
public record Chart(
271-
/** 차트 데이터 */
272-
List<ChartData> data
273-
) {}
274-
275-
/**
276-
* 차트 개별 데이터
277-
*/
278-
public record ChartData(
279-
/** 유입 경로명 */
280-
String name,
281-
/** 값 (세션 수) */
282-
long value,
283-
/** 점유율 (%) */
284-
double percentage,
285-
/** 색상 코드 (예: #FF6B6B) */
286-
String color
287-
) {}
288224
}

src/main/java/com/back/domain/dashboard/admin/service/AdminDashboardService.java

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,12 @@
55

66
/**
77
* 관리자용 대시보드 서비스 인터페이스
8-
* 2025.10.01 GA4 유입 경로 통합 - 메인 현황에 포함
9-
<<<<<<< HEAD
10-
* 2025.10.02 JWT 표준 패턴 적용 - Request DTO 사용, SecurityContext 활용
11-
=======
12-
>>>>>>> 2f4795372b442dd5b55cfd8b8cfe7ba547b36a98
8+
* 2025.10.04 수정 - GA4 유입 경로 제거 (작가 대시보드 전용)
139
*/
1410
public interface AdminDashboardService {
1511

1612
/**
17-
* 관리자 대시보드 전체 현황 조회 (유입 경로 포함)
13+
* 관리자 대시보드 전체 현황 조회 (카테고리별 분포 포함)
1814
*/
1915
AdminOverviewResponse getOverview(AdminOverviewRequest request);
2016

@@ -46,12 +42,5 @@ public interface AdminDashboardService {
4642
/**
4743
* 관리자 입점 신청 상세 조회
4844
*/
49-
5045
AdminArtistApplicationDetailResponse getArtistApplicationDetail(Long applicationId);
51-
52-
/**
53-
* 관리자 유입 경로 분석 조회 (GA4) - 내부 사용 전용
54-
* getOverview()에서 내부적으로 호출됨
55-
*/
56-
AdminTrafficSourceResponse getTrafficSources(int days, String timezone);
5746
}

0 commit comments

Comments
 (0)