Files
cid/README.md
T
admin b3c0855236 1、文档规范化
2、增加cid核心功能entity
2026-08-25 11:54:29 +08:00

100 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CID
CID 服务,承载两块业务:
1. **内容审核(现有)**:将广告素材(图片/视频)提交易盾进行内容审核,提供 REST API、定时送检调度器和前端管理页
2. **CID 归因平台(规划中)**:连接上游广告平台(抖音/小红书/快手等)与下游电商平台(京东/淘宝等),记录广告点击、归因转化、回传转化给广告平台
## 目录结构与业务模块
分层 + 业务模块结构:顶层按层分目录,每层下按业务域分子模块,各层模块目录严格镜像。
```
controller/ HTTP 接口层,按模块分子目录
service/ 业务逻辑层,按模块分子目录
dao/ 数据访问层,按模块分子目录(各模块 db.go 提供 Model helper 选择数据源库)
model/
├── entity/ 数据库表实体(每表一个文件:Entity + Col + Cols 三段式)
├── dto/ 请求/响应结构
└── event/ 事件体(MQ/ClickHouse 消息契约,规划中)
consts/ 常量(表名、状态),按模块分子目录
resource/frontend/ 静态前端页面
sql/ DDL 与迁移脚本
```
| 模块 | 业务域 | 主要表 |
|---|---|---|
| check/ | 内容审核(现有):易盾检测提交/回调/轮询、素材校验、送检调度 | tencent_image、tencent_video、material_verify_log、tencent_content_check_log、tencent_account_relation |
| attribution/ | 归因域(规划):点击记录、CID 生成、订单归因与转化回传(点击→转化→回传为同一链路) | click_log、conversion_order、report_task |
| platform/ | 平台配置域(规划):上游广告平台/下游电商平台对接配置与商品映射 | ad_platform_account、commerce_platform_config、item_mapping |
## 数据流
**内容审核链路**
```
素材表(tencent_image/tencent_video, dataengine库)
→ 定时送检调度器 / 手动送检
→ 易盾检测(回调模式或轮询模式)
→ 结果写入 material_verify_log(cid库) + 回填素材表审核状态
```
**CID 归因链路(规划)**
```
用户点击广告 → 广告平台跳转 CID(携带广告参数)
→ 生成 click_id、记录点击(click_log)→ 302 跳转电商平台(URL 带 click_id
→ 用户下单支付 → 电商平台回调 CID(订单 + click_id
→ 归因去重(conversion_order,幂等)→ 回传转化给广告平台(report_task 队列 + 失败重试)
```
## 表清单
### check 模块(现有)
| 表 | 库 | 说明 |
|---|---|---|
| tencent_image | dataengine | 图片素材(外部系统共享) |
| tencent_video | dataengine | 视频素材(外部系统共享) |
| material_verify_log | cid | 素材校验日志(易盾结果落库) |
| tencent_content_check_log | cid | 送检日志 |
| tencent_account_relation | cid | 腾讯广告账户关系 |
### attribution / platform 模块(规划,DDL 见技术设计.md)
| 表 | 库 | 说明 |
|---|---|---|
| click_log | cid | 点击日志(不可变事件),按 day 分区 |
| conversion_order | cid | 转化订单(归因与回传状态) |
| report_task | cid | 转化回传任务队列(失败退避重试) |
| ad_platform_account | cid | 上游广告平台对接配置 |
| commerce_platform_config | cid | 下游电商平台对接配置 |
| item_mapping | cid | 广告商品 ↔ 电商商品映射 |
## API 清单
路由由 common 库 `http.RouteRegister` 反射注册:路径按控制器结构体名 + 方法名自动派生(如 `YidunController``DetectText``/yidun/controller/detect-text`)。main.go 注册的控制器:
| 控制器 | 职责 |
|---|---|
| check.YidunController | 文本/图片/视频检测提交、结果查询 |
| check.YidunCallback | 易盾回调接收、结果轮询 |
| check.ContentCheck | 送检调度器启停、状态查询、手动送检 |
| check.MaterialVerify | 素材校验列表/统计/人工审核/导出 |
## 构建与运行
```bash
# 构建
docker build -t cid .
# 本地运行(需 Go 1.26
go mod download && go mod tidy
go run main.go
# 编译
go build -ldflags="-s -w" -o main ./main.go
```
配置入口为 `config.yml`(易盾凭据、callback_mode、content_check 调度参数、数据库连接等)。