You've already forked FrameTour-BE
fix(stats): 修复景点人脸识别统计数据查询逻辑
- 修正了人脸上传统计查询中景点ID的过滤方式,从子查询改为直接解析params字段 - 移除了应用统计服务中的过期缓存逻辑 - 修复了任务完成用户统计的表关联错误,从task表改为member_video表进行统计
This commit is contained in:
@@ -86,11 +86,9 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService {
|
||||
sql.append("SELECT toInt32(uniqExact(s.member_id)) AS count ");
|
||||
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.trace_id IN (");
|
||||
appendEnterScenicTraceIdSubQuery(sql, query.getScenicId(), query.getStartTime(), query.getEndTime());
|
||||
sql.append(") ");
|
||||
sql.append("AND r.action = 'LOAD' ");
|
||||
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 JSONExtractString(r.params, 'share') = '' ");
|
||||
if (query.getStartTime() != null) {
|
||||
sql.append("AND r.create_time >= ").append(formatDateTime(query.getStartTime())).append(" ");
|
||||
@@ -150,10 +148,8 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService {
|
||||
sql.append("SELECT toInt32(uniqExact(s.member_id)) AS count ");
|
||||
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.trace_id IN (");
|
||||
appendEnterScenicTraceIdSubQuery(sql, query.getScenicId(), query.getStartTime(), query.getEndTime());
|
||||
sql.append(") ");
|
||||
sql.append("AND r.action = 'FACE_UPLOAD' ");
|
||||
sql.append("WHERE r.action = 'FACE_UPLOAD' ");
|
||||
sql.append("AND JSONExtractString(r.params, 'scenicId') = '").append(query.getScenicId()).append("' ");
|
||||
if (query.getStartTime() != null) {
|
||||
sql.append("AND s.create_time >= ").append(formatDateTime(query.getStartTime())).append(" ");
|
||||
}
|
||||
@@ -168,10 +164,8 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
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.trace_id IN (");
|
||||
appendEnterScenicTraceIdSubQuery(sql, query.getScenicId(), query.getStartTime(), query.getEndTime());
|
||||
sql.append(") ");
|
||||
sql.append("AND r.action = 'FACE_UPLOAD' ");
|
||||
sql.append("WHERE r.action = 'FACE_UPLOAD' ");
|
||||
sql.append("AND JSONExtractString(r.params, 'scenicId') = '").append(query.getScenicId()).append("' ");
|
||||
if (query.getStartTime() != null) {
|
||||
sql.append("AND s.create_time >= ").append(formatDateTime(query.getStartTime())).append(" ");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user