diff --git a/src/main/java/com/ycwl/basic/clickhouse/service/impl/ClickHouseStatsQueryServiceImpl.java b/src/main/java/com/ycwl/basic/clickhouse/service/impl/ClickHouseStatsQueryServiceImpl.java index 8a015624..8b887300 100644 --- a/src/main/java/com/ycwl/basic/clickhouse/service/impl/ClickHouseStatsQueryServiceImpl.java +++ b/src/main/java/com/ycwl/basic/clickhouse/service/impl/ClickHouseStatsQueryServiceImpl.java @@ -106,7 +106,9 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService { sql.append("INNER JOIN t_stats s ON r.trace_id = s.trace_id "); sql.append("WHERE r.action = 'LOAD' "); sql.append("AND r.identifier = 'pages/videoSynthesis/buy' "); - sql.append("AND JSONExtractString(r.params, 'scenicId') = '").append(query.getScenicId()).append("' "); + sql.append("AND r.trace_id IN ("); + appendEnterScenicTraceIdSubQuery(sql, query.getScenicId(), query.getStartTime(), query.getEndTime()); + sql.append(") "); sql.append("AND JSONExtractString(r.params, 'share') = '' "); if (query.getStartTime() != null) { sql.append("AND r.create_time >= ").append(formatDateTime(query.getStartTime())).append(" "); @@ -167,7 +169,9 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService { sql.append("FROM t_stats_record r "); sql.append("INNER JOIN t_stats s ON r.trace_id = s.trace_id "); sql.append("WHERE r.action = 'FACE_UPLOAD' "); - sql.append("AND JSONExtractString(r.params, 'scenicId') = '").append(query.getScenicId()).append("' "); + sql.append("AND r.trace_id IN ("); + appendEnterScenicTraceIdSubQuery(sql, query.getScenicId(), query.getStartTime(), query.getEndTime()); + sql.append(") "); if (query.getStartTime() != null) { sql.append("AND s.create_time >= ").append(formatDateTime(query.getStartTime())).append(" "); } @@ -183,7 +187,9 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService { sql.append("SELECT DISTINCT r.identifier FROM t_stats_record r "); sql.append("INNER JOIN t_stats s ON r.trace_id = s.trace_id "); sql.append("WHERE r.action = 'FACE_UPLOAD' "); - sql.append("AND JSONExtractString(r.params, 'scenicId') = '").append(query.getScenicId()).append("' "); + sql.append("AND r.trace_id IN ("); + appendEnterScenicTraceIdSubQuery(sql, query.getScenicId(), query.getStartTime(), query.getEndTime()); + sql.append(") "); if (query.getStartTime() != null) { sql.append("AND s.create_time >= ").append(formatDateTime(query.getStartTime())).append(" "); } @@ -357,12 +363,6 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService { sql.append(") "); sql.append("AND r.action = 'LAUNCH' "); sql.append("AND JSONExtractInt(r.params, 'scene') IN (1047, 1048, 1049) "); - 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)"); @@ -386,12 +386,6 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService { sql.append(") "); sql.append("AND r.action = 'LAUNCH' "); sql.append("AND JSONExtractInt(r.params, 'scene') IN (1047, 1048, 1049) "); - 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)");