zjk
2026-09-29 54dcf0a82e7490fa58b1c056d5c0b9cb739c2931
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/statistics/service/UserStatisticsAppService.java
@@ -37,14 +37,14 @@
    public UserStatisticsVO statistics(String type, LocalDate dateFrom, LocalDate dateTo) {
        DateRange range = normalizeRange(dateFrom, dateTo);
        String normalizedType = normalizeType(type);
        String mapperUserType = resolveUserType(normalizedType);
        String mapperUserTypeEnum = resolveUserTypeEnum(normalizedType);
        LocalDateTime startTime = range.getStart().atStartOfDay();
        LocalDateTime endTime = LocalDateTime.of(range.getEnd(), LocalTime.MAX);
        UserStatisticsOverviewRow overviewRow = userStatisticsMapper.selectOverview(mapperUserType, startTime, endTime);
        List<UserStatisticsRegisterTrendRow> registerRows = userStatisticsMapper.selectRegisterTrend(mapperUserType, startTime, endTime);
        List<UserStatisticsActiveTrendRow> activeRows = userStatisticsMapper.selectActiveTrend(mapperUserType, startTime, endTime);
        UserStatisticsCompositionRow compositionRow = userStatisticsMapper.selectMemberComposition(mapperUserType, startTime, endTime);
        UserStatisticsOverviewRow overviewRow = userStatisticsMapper.selectOverview(mapperUserTypeEnum, startTime, endTime);
        List<UserStatisticsRegisterTrendRow> registerRows = userStatisticsMapper.selectRegisterTrend(mapperUserTypeEnum, startTime, endTime);
        List<UserStatisticsActiveTrendRow> activeRows = userStatisticsMapper.selectActiveTrend(mapperUserTypeEnum, startTime, endTime);
        UserStatisticsCompositionRow compositionRow = userStatisticsMapper.selectMemberComposition(mapperUserTypeEnum, startTime, endTime);
        UserStatisticsVO result = new UserStatisticsVO();
        result.setOverview(buildOverview(overviewRow));
@@ -125,7 +125,7 @@
        throw new IllegalArgumentException("用户类型不合法");
    }
    private String resolveUserType(String normalizedType) {
    private String resolveUserTypeEnum(String normalizedType) {
        if (FILTER_ALL.equals(normalizedType)) {
            return null;
        }