You've already forked FrameTour-BE
fix(clickhouse): 修复查询时间范围条件处理逻辑
- 修改了小时统计查询中的时间范围条件,添加空值检查 - 修改了天统计查询中的时间范围条件,添加空值检查 - 将固定的时间范围查询改为可选的时间范围过滤 - 避免当开始或结束时间为空时的SQL语法错误 - 确保查询参数的灵活性和安全性
This commit is contained in:
@@ -357,8 +357,12 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService {
|
||||
sql.append(") ");
|
||||
sql.append("AND r.action = 'LAUNCH' ");
|
||||
sql.append("AND JSONExtractInt(r.params, 'scene') IN (1047, 1048, 1049) ");
|
||||
sql.append("AND s.create_time BETWEEN ").append(formatDateTime(query.getStartTime()));
|
||||
sql.append(" AND ").append(formatDateTime(query.getEndTime())).append(" ");
|
||||
if (query.getStartTime() != null) {
|
||||
sql.append("AND s.create_time >= ").append(formatDateTime(query.getStartTime())).append(" ");
|
||||
}
|
||||
if (query.getEndTime() != null) {
|
||||
sql.append("AND s.create_time <= ").append(formatDateTime(query.getEndTime())).append(" ");
|
||||
}
|
||||
sql.append("GROUP BY toStartOfHour(s.create_time) ");
|
||||
sql.append("ORDER BY toStartOfHour(s.create_time)");
|
||||
|
||||
@@ -382,8 +386,12 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService {
|
||||
sql.append(") ");
|
||||
sql.append("AND r.action = 'LAUNCH' ");
|
||||
sql.append("AND JSONExtractInt(r.params, 'scene') IN (1047, 1048, 1049) ");
|
||||
sql.append("AND s.create_time BETWEEN ").append(formatDateTime(query.getStartTime()));
|
||||
sql.append(" AND ").append(formatDateTime(query.getEndTime())).append(" ");
|
||||
if (query.getStartTime() != null) {
|
||||
sql.append("AND s.create_time >= ").append(formatDateTime(query.getStartTime())).append(" ");
|
||||
}
|
||||
if (query.getEndTime() != null) {
|
||||
sql.append("AND s.create_time <= ").append(formatDateTime(query.getEndTime())).append(" ");
|
||||
}
|
||||
sql.append("GROUP BY toStartOfDay(s.create_time) ");
|
||||
sql.append("ORDER BY toStartOfDay(s.create_time)");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user