diff --git a/backend/services/contribution-service/prisma/migrations/20260113110000_fix_team_bonus_data/migration.sql b/backend/services/contribution-service/prisma/migrations/20260113110000_fix_team_bonus_data/migration.sql new file mode 100644 index 00000000..bc4e6460 --- /dev/null +++ b/backend/services/contribution-service/prisma/migrations/20260113110000_fix_team_bonus_data/migration.sql @@ -0,0 +1,35 @@ +-- 清理错误的 TEAM_BONUS 记录 +-- TEAM_BONUS 只应该给认种人自己,即 account_sequence == source_account_sequence +-- 删除那些 account_sequence != source_account_sequence 的 TEAM_BONUS 记录 + +DELETE FROM contribution_records +WHERE source_type = 'TEAM_BONUS' + AND account_sequence != source_account_sequence; + +-- 同时需要更新 contribution_accounts 表中的 team_bonus_contribution 统计 +-- 重新计算每个账户的 team_bonus_contribution +UPDATE contribution_accounts ca +SET team_bonus_contribution = COALESCE( + (SELECT SUM(amount) + FROM contribution_records cr + WHERE cr.account_sequence = ca.account_sequence + AND cr.source_type = 'TEAM_BONUS' + AND cr.is_expired = false), + 0 +), +total_contribution = personal_contribution + team_level_contribution + COALESCE( + (SELECT SUM(amount) + FROM contribution_records cr + WHERE cr.account_sequence = ca.account_sequence + AND cr.source_type = 'TEAM_BONUS' + AND cr.is_expired = false), + 0 +), +effective_contribution = personal_contribution + team_level_contribution + COALESCE( + (SELECT SUM(amount) + FROM contribution_records cr + WHERE cr.account_sequence = ca.account_sequence + AND cr.source_type = 'TEAM_BONUS' + AND cr.is_expired = false), + 0 +); diff --git a/backend/services/mining-admin-service/prisma/migrations/20260113110000_fix_team_bonus_data/migration.sql b/backend/services/mining-admin-service/prisma/migrations/20260113110000_fix_team_bonus_data/migration.sql new file mode 100644 index 00000000..f1b26e04 --- /dev/null +++ b/backend/services/mining-admin-service/prisma/migrations/20260113110000_fix_team_bonus_data/migration.sql @@ -0,0 +1,7 @@ +-- 清理错误的 TEAM_BONUS 记录 +-- TEAM_BONUS 只应该给认种人自己,即 account_sequence == source_account_sequence +-- 删除那些 account_sequence != source_account_sequence 的 TEAM_BONUS 记录 + +DELETE FROM synced_contribution_records +WHERE source_type = 'TEAM_BONUS' + AND account_sequence != source_account_sequence;