作者 dong

首页按钮排行榜时期查询

... ... @@ -132,7 +132,7 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi
for (AiragLog log : pageList.getRecords()) {
if (log.getCodeType() == 0) {
// 输入框提问,按钮code为空
log.setCode(null);
log.setCode("null");
} else if (log.getCodeType() == 1) {
// 快捷按钮提问
if (StringUtils.isNotBlank(log.getQuestion())) {
... ... @@ -357,8 +357,11 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi
@AutoLog(value = "日志管理-获取统计信息")
@Operation(summary="日志管理-获取统计信息")
@GetMapping(value = "/getStatistics")
public Result<Map<String, Object>> getStatistics() {
Map<String, Object> result = airagLogService.getStatistics();
public Result<Map<String, Object>> getStatistics(
@RequestParam(name = "rangeType", required = false) String rangeType,
@RequestParam(name = "startTime", required = false) String startTime,
@RequestParam(name = "endTime", required = false) String endTime) {
Map<String, Object> result = airagLogService.getStatistics(rangeType, startTime, endTime);
return Result.OK(result);
}
}
... ...
... ... @@ -24,7 +24,11 @@ public interface AiragLogMapper extends BaseMapper<AiragLog> {
int updataIfSaveKnowledge(@Param("param1") int ifSaveKnowledge, @Param("param2") String id);
List<Map<String, Object>> getButtonRankList();
List<Map<String, Object>> getMonthlyCount();
List<Map<String, Object>> getButtonRankList(
@Param("rangeType") String rangeType,
@Param("startTime") String startTime,
@Param("endTime") String endTime
);
}
... ...
... ... @@ -74,12 +74,39 @@
<select id="getButtonRankList" resultType="java.util.Map">
SELECT
b.button_name AS name,
COUNT(l.id) AS total
b.button_name AS name,
COUNT(l.id) AS total
FROM airag_button b
LEFT JOIN airag_log l ON b.code = l.code
LEFT JOIN airag_log l ON b.code = l.code
<where>
<if test="rangeType != null">
<choose>
<when test="rangeType == 'today'">
AND DATE(l.create_time) = CURDATE()
</when>
<when test="rangeType == 'week'">
AND l.create_time >= DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY)
AND l.create_time &lt; DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY)
</when>
<when test="rangeType == 'month'">
AND YEAR(l.create_time) = YEAR(CURDATE())
AND MONTH(l.create_time) = MONTH(CURDATE())
</when>
<when test="rangeType == 'year'">
AND YEAR(l.create_time) = YEAR(CURDATE())
</when>
</choose>
</if>
<!-- 当没有指定时间范围时,查询所有数据 -->
<if test="rangeType == null and (startTime == null or endTime == null)">
AND 1=1
</if>
<if test="startTime != null and endTime != null">
AND l.create_time BETWEEN #{startTime} AND #{endTime}
</if>
</where>
GROUP BY b.id, b.button_name
ORDER BY total DESC
LIMIT 7
LIMIT 7
</select>
</mapper>
\ No newline at end of file
... ...
... ... @@ -27,7 +27,7 @@ public interface IAiragLogService extends IService<AiragLog> {
IPage<AiragLog> pageList(AiragLog airagLog, Page<AiragLog> page);
Map<String, Object> getStatistics();
Map<String, Object> getStatistics(String rangeType, String startTime, String endTime);
// List<T> list(Page<AiragLog> page, QueryWrapper<AiragLog> queryWrapper);
}
... ...
... ... @@ -101,7 +101,7 @@ public class AiragLogServiceImpl extends ServiceImpl<AiragLogMapper, AiragLog> i
@Override
public Map<String, Object> getStatistics() {
public Map<String, Object> getStatistics(String rangeType, String startTime, String endTime) {
Map<String, Object> result = new HashMap<>();
// 1. 获取今日问答次数
... ... @@ -144,12 +144,18 @@ public class AiragLogServiceImpl extends ServiceImpl<AiragLogMapper, AiragLog> i
}
// 7.获取按钮问题和按钮code次数,只获取有按钮code的问题(log.question)
List<Map<String, Object>> buttonStats = airagLogMapper.getButtonRankList();
List<Map<String, Object>> buttonStats = airagLogMapper.getButtonRankList(
rangeType,
startTime,
endTime
);
// 8.对按钮进行今日本周本月本年的实时查询和根据选定日期范围内的查询
// 8. 获取最近12个月的月度数据
// 9. 获取最近12个月的月度数据
List<Map<String, Object>> monthlyData = airagLogMapper.getMonthlyCount();
// 9. 添加前一天数据
// 10. 添加前一天数据
result.put("yesterdayCount", yesterdayCount);
result.put("growthRate", Math.round(growthRate * 100.0) / 100.0); // 保留两位小数
result.put("todayCount", todayCount);
... ... @@ -162,9 +168,5 @@ public class AiragLogServiceImpl extends ServiceImpl<AiragLogMapper, AiragLog> i
return result;
}
/* @Override
public List<T> list(Page<AiragLog> page, QueryWrapper<AiragLog> queryWrapper) {
}*/
}
... ...