|
...
|
...
|
@@ -88,7 +88,7 @@ public class AiragLogServiceImpl extends ServiceImpl<AiragLogMapper, AiragLog> i |
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Map<String, Object> getStatistics(String rangeType, String startTime, String endTime) {
|
|
|
|
public Map<String, Object> getStatistics() {
|
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
|
|
|
|
|
|
// 1. 获取今日问答次数
|
|
...
|
...
|
@@ -130,26 +130,79 @@ public class AiragLogServiceImpl extends ServiceImpl<AiragLogMapper, AiragLog> i |
|
|
|
averageCount = Math.round(averageCount * 100.0) / 100.0;
|
|
|
|
}
|
|
|
|
|
|
|
|
// 7.获取按钮问题和按钮code次数,只获取有按钮code的问题(log.question)
|
|
|
|
List<Map<String, Object>> buttonStats = airagLogMapper.getButtonRankList(
|
|
|
|
rangeType,
|
|
|
|
startTime,
|
|
|
|
endTime
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// 8. 获取最近12个月的月度数据
|
|
|
|
List<Map<String, Object>> monthlyData = airagLogMapper.getMonthlyCount();
|
|
|
|
|
|
|
|
// 9. 添加数据
|
|
|
|
// 9.获取近七日每日问答次数和近七日每日拒绝问答次数
|
|
|
|
List<Map<String, Object>> dailyCounts = airagLogMapper.getDailyCountForLast7Days();
|
|
|
|
List<Map<String, Object>> dailyRejectedCounts = airagLogMapper.getDailyRejectedCountForLast7Days();
|
|
|
|
|
|
|
|
|
|
|
|
// 10. 添加数据
|
|
|
|
result.put("yesterdayCount", yesterdayCount);
|
|
|
|
result.put("growthRate", Math.round(growthRate * 100.0) / 100.0); // 保留两位小数
|
|
|
|
result.put("todayCount", todayCount);
|
|
|
|
result.put("rejectedCount", rejectedCount);
|
|
|
|
result.put("totalCount", totalCount);
|
|
|
|
result.put("averageCount", averageCount);
|
|
|
|
result.put("buttonStats", buttonStats);
|
|
|
|
result.put("monthlyData", monthlyData);
|
|
|
|
result.put("dailyCounts", dailyCounts);
|
|
|
|
result.put("dailyRejectedCounts", dailyRejectedCounts);
|
|
|
|
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<Map<String, Object>> getButtonStats(String rangeType, String startTime, String endTime){
|
|
|
|
List<Map<String, Object>> buttonStats = airagLogMapper.getButtonRankList(
|
|
|
|
rangeType,
|
|
|
|
startTime,
|
|
|
|
endTime
|
|
|
|
);
|
|
|
|
return buttonStats;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Map<String, Object> getQuestionStatistics() {
|
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
|
|
|
|
|
|
// 1. 今日问题输入量
|
|
|
|
QueryWrapper<AiragLog> todayWrapper = new QueryWrapper<>();
|
|
|
|
todayWrapper.apply("DATE(create_time) = CURDATE()")
|
|
|
|
.eq("code_type", 0);
|
|
|
|
long todayCount = this.count(todayWrapper);
|
|
|
|
|
|
|
|
// 2. 本周问题输入量
|
|
|
|
QueryWrapper<AiragLog> weekWrapper = new QueryWrapper<>();
|
|
|
|
weekWrapper.apply("YEARWEEK(create_time, 1) = YEARWEEK(CURDATE(), 1)")
|
|
|
|
.eq("code_type", 0);
|
|
|
|
long weekCount = this.count(weekWrapper);
|
|
|
|
|
|
|
|
// 3. 本月问题输入量
|
|
|
|
QueryWrapper<AiragLog> monthWrapper = new QueryWrapper<>();
|
|
|
|
monthWrapper.apply("DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')")
|
|
|
|
.eq("code_type", 0);
|
|
|
|
long monthCount = this.count(monthWrapper);
|
|
|
|
|
|
|
|
// 4. 本年问题输入量
|
|
|
|
QueryWrapper<AiragLog> yearWrapper = new QueryWrapper<>();
|
|
|
|
yearWrapper.apply("YEAR(create_time) = YEAR(CURDATE())")
|
|
|
|
.eq("code_type", 0);
|
|
|
|
long yearCount = this.count(yearWrapper);
|
|
|
|
|
|
|
|
// 5. 全部问题输入量
|
|
|
|
QueryWrapper<AiragLog> totalWrapper = new QueryWrapper<>();
|
|
|
|
totalWrapper.eq("code_type", 0);
|
|
|
|
long totalCount = this.count(totalWrapper);
|
|
|
|
|
|
|
|
// 6. 返回结果
|
|
|
|
result.put("todayCount", todayCount);
|
|
|
|
result.put("weekCount", weekCount);
|
|
|
|
result.put("monthCount", monthCount);
|
|
|
|
result.put("yearCount", yearCount);
|
|
|
|
result.put("totalCount", totalCount);
|
|
|
|
|
|
|
|
return result;
|
|
|
|
}
|
...
|
...
|
|