Browse Source

fix: Bug 6082 - 修复账号统计数据SQL,使用MAX而非SUM计算粉丝总数

问题:analytics_data表的fansCount字段为累计值(当日粉丝总数),
非每日增量。对累计值使用SUM()会导致数据膨胀N倍。

修复:
- getSummary: SUM(data.fansCount) -> MAX(data.fansCount)
- getTrend: SUM(data.fansCount) -> MAX(data.fansCount)
- getPlatformComparison: SUM(data.fansCount) -> MAX(data.fansCount)

其他日增量字段(viewsCount/likesCount/commentsCount/sharesCount/
income/fansIncrease)保持SUM()不变。
ethanfly 2 tuần trước cách đây
mục cha
commit
520de36fef
1 tập tin đã thay đổi với 3 bổ sung3 xóa
  1. 3 3
      server/src/services/AnalyticsService.ts

+ 3 - 3
server/src/services/AnalyticsService.ts

@@ -25,7 +25,7 @@ export class AnalyticsService {
 
     const queryBuilder = this.analyticsRepository
       .createQueryBuilder('data')
-      .select('SUM(data.fansCount)', 'totalFans')
+      .select('MAX(data.fansCount)', 'totalFans')
       .addSelect('SUM(data.fansIncrease)', 'totalFansIncrease')
       .addSelect('SUM(data.viewsCount)', 'totalViews')
       .addSelect('SUM(data.likesCount)', 'totalLikes')
@@ -63,7 +63,7 @@ export class AnalyticsService {
     const queryBuilder = this.analyticsRepository
       .createQueryBuilder('data')
       .select('data.date', 'date')
-      .addSelect('SUM(data.fansCount)', 'fansCount')
+      .addSelect('MAX(data.fansCount)', 'fansCount')
       .addSelect('SUM(data.viewsCount)', 'viewsCount')
       .addSelect('SUM(data.likesCount)', 'likesCount')
       .addSelect('SUM(data.commentsCount)', 'commentsCount')
@@ -108,7 +108,7 @@ export class AnalyticsService {
       .createQueryBuilder('data')
       .select('account.platform', 'platform')
       .addSelect('account.accountName', 'accountName')
-      .addSelect('SUM(data.fansCount)', 'fansCount')
+      .addSelect('MAX(data.fansCount)', 'fansCount')
       .addSelect('SUM(data.fansIncrease)', 'fansIncrease')
       .addSelect('SUM(data.viewsCount)', 'viewsCount')
       .addSelect('SUM(data.likesCount)', 'likesCount')