Files
stat_center/service
rootandClaude Opus 5 4cdca06289 修复子渠道汇总到父渠道时未区分 appId 导致数据多加
ChannelStat 按 (channel, sumDate, appId) 三维存储,但子渠道累加到父渠道的
匹配条件只比了 ParentChannel 和 SumDate,漏了 AppId。

当父渠道在多个 app 下都有记录时(如 appId=[2,3,4] 查同一渠道码),一个子渠道
的数据会被同时累加进该 (channel, sumDate) 下所有 app 的父渠道行,选几个 app
就多加几倍。settlement 的三处子查询本身也没有 appId 约束,父列表虽锁定单个
appId,子列表却跨 app,同样会把其他 app 的子渠道数据算进结算金额。

5 处匹配条件统一补上 child.AppId == parent.AppId:
- stat.go:162          SearchChannelStat         (列表接口,多值 appId)
- settlement.go:200    ChannelSettlementCalc     (结算计算,影响金额)
- settlement.go:327    SearchChannelSettlementStat2 (原本父子共用同一 filter
                       而侥幸正确,补上以免后续改动破坏该前提)
- settlement.go:857    AddSettlementInfo2        (影响金额)
- settlement.go:1138   DetailSettlementInfo

本次只改匹配条件。settlement 三处 childFilter 缺少 appId 约束的冗余查询,
以及 SearchChannelStat 在无 start/end 时 resp.Total 硬编码为 1000000、
withChild 累加被 canSum 跳过的问题,均未处理。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-02 09:38:03 +08:00
..
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-06-03 23:13:12 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-06-30 16:16:55 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-05-20 16:13:58 +08:00
2026-06-30 16:16:55 +08:00