| | |
| | | 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)); |
| | |
| | | throw new IllegalArgumentException("用户类型不合法"); |
| | | } |
| | | |
| | | private String resolveUserType(String normalizedType) { |
| | | private String resolveUserTypeEnum(String normalizedType) { |
| | | if (FILTER_ALL.equals(normalizedType)) { |
| | | return null; |
| | | } |