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-09-27 08:53:36 +08:00
2026-05-20 16:13:58 +08:00
2026-05-26 15:57:55 +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

渠道统计 后台服务

安装swag

go install github.com/swaggo/swag/cmd/swag@latest

Swagger文档生成

swag init --parseDependency

依赖

  1. kafka 主要用作消息队列
  2. redis 实时数据统计

发布

使用一下参数,本地生成mv-app-server.zip压缩包。包换app、配置文件和加密key。

$ sudo make deploy

路径

知乎: /server/zhihu/stat-center/conf

逼哩: /server/bili/stat-center/conf

麻豆: /server/stat-center/conf

S
Description
No description provided
Readme
26 MiB
Languages
Go 99.3%
Python 0.5%
Lua 0.1%