Files
cid/README.md
2025-12-06 10:38:48 +08:00

212 lines
5.5 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服务商项目是一个为企业提供CIDClick ID服务的完整解决方案。该项目通过智能策略引擎为不同级别的租户提供定制化的广告匹配服务支持多广告源集成和转化率控制。
## 核心功能
### 1. 租户管理系统
- **多租户架构**: 支持多个企业租户同时使用
- **租户级别**: Basic、Standard、Premium三个级别
- **用户认证集成**: 通过common模块获取用户信息
### 2. 广告源管理
- **自营广告**: 系统内置的广告库存
- **Google Ads**: 集成Google广告平台
- **Facebook Ads**: 集成Meta广告平台
- **扩展性**: 支持添加更多广告源
### 3. 智能策略引擎
- **转化率控制**: 根据租户级别设置不同转化率范围
- **权重分配**: 为不同广告源配置权重比例
- **动态匹配**: 实时根据策略匹配最优广告
### 4. CID生成与追踪
- **唯一CID**: 为每次请求生成唯一标识
- **请求记录**: 完整的请求历史记录
- **性能统计**: 详细的性能和转化统计
## API接口
### 租户管理
- `POST /tenant/create` - 创建租户
- `PUT /tenant/update` - 更新租户
- `DELETE /tenant/delete` - 删除租户
- `GET /tenant/info` - 获取租户信息
- `GET /tenant/list` - 获取租户列表
### 广告源管理
- `POST /ad-source/create` - 创建广告源
- `PUT /ad-source/update` - 更新广告源
- `DELETE /ad-source/delete` - 删除广告源
- `GET /ad-source/info` - 获取广告源信息
- `GET /ad-source/list` - 获取广告源列表
### 策略管理
- `POST /strategy/create` - 创建策略
- `PUT /strategy/update` - 更新策略
- `DELETE /strategy/delete` - 删除策略
- `GET /strategy/info` - 获取策略信息
- `GET /strategy/list` - 获取策略列表
### CID核心服务
- `POST /cid/generate` - 生成CID广告
- `GET /cid/statistics` - 获取CID统计
- `GET /cid/history` - 获取CID历史记录
## 租户级别策略
### Basic级别
- 转化率范围: 1% - 5%
- 广告源: 仅自营广告
- 每次请求: 最多3个广告
### Standard级别
- 转化率范围: 5% - 15%
- 广告源: 自营(70%) + Google(20%) + Facebook(10%)
- 每次请求: 最多5个广告
### Premium级别
- 转化率范围: 15% - 100%
- 广告源: 自营(40%) + Google(30%) + Facebook(30%)
- 每次请求: 最多10个广告
## 项目结构
```
cidservice/
├── controller/ # 控制器层
│ ├── cid_controller.go
│ ├── ad_source_controller.go
│ ├── strategy_controller.go
│ └── ...
├── service/ # 服务层
│ ├── cid_service.go
│ ├── ad_source_service.go
│ ├── strategy_service.go
│ └── ...
├── dao/ # 数据访问层
│ ├── cid_request_dao.go
│ ├── ad_source_dao.go
│ ├── strategy_dao.go
│ └── ...
├── model/ # 数据模型
│ ├── entity/ # 数据库实体
│ ├── dto/ # 数据传输对象
│ └── types/ # 类型定义
├── database/ # 数据库脚本
│ └── init.sql # 数据库初始化
├── config/ # 配置文件
│ └── config.example.yaml
└── README.md
```
## 架构说明
### 租户管理
- 租户信息不在当前项目中维护
- 通过common模块获取用户和租户信息
- 支持Basic、Standard、Premium三个级别的租户
### 广告源集成
- **自营广告**: 系统内置广告库存
- **Google Ads**: API集成
- **Facebook Ads**: API集成
- 可扩展支持更多广告源
### 策略引擎
- 基于租户级别的动态策略匹配
- 支持转化率阈值控制
- 灵活的广告源权重配置
## 使用示例
### 1. 生成CID广告
```json
POST /cid/generate
{
"request_type": "web_banner",
"position": "header",
"count": 5
}
Response:
{
"cid": "CID_1640995200000_1234",
"ads": [
{
"id": 10001,
"title": "优质产品推广",
"description": "高质量的产品广告",
"image_url": "https://example.com/ad.jpg",
"target_url": "https://example.com/product",
"conversion_rate": 0.08,
"source": "self",
"bid": 500
}
],
"total_ads": 1,
"tenant_id": 1,
"tenant_name": "示例公司",
"generated_at": "2023-12-31 16:00:00"
}
```
### 2. 创建策略
```json
POST /strategy/create
{
"name": "高级策略",
"description": "高级租户专用策略",
"tenant_level": "premium",
"min_conversion": 0.15,
"max_conversion": 1.0,
"source_weights": {
"self": 40,
"google": 30,
"facebook": 30
},
"max_ads_per_req": 10,
"priority": 100,
"status": "active"
}
```
## 部署说明
1. 确保数据库连接配置正确
2. 执行数据库迁移脚本
3. 配置广告源API密钥
4. 启动服务
## 扩展功能
### 添加新的广告源
1.`AdSource`表中添加新的广告源配置
2.`cid_service.go`中实现对应的广告获取方法
3. 在策略中配置相应权重
### 自定义策略
通过策略管理API创建自定义匹配策略支持
- 自定义转化率阈值
- 灵活的权重分配
- 动态优先级调整
## 监控与统计
系统提供完整的监控和统计功能:
- 请求量统计
- 成功率分析
- 处理时间监控
- 转化率追踪
- 广告源性能对比
## 安全特性
- 用户身份验证
- 租户数据隔离
- API访问控制
- 敏感信息加密
这个CID服务商项目为企业提供了一个完整、可扩展的广告CID解决方案通过智能策略确保每个租户都能获得最适合其业务需求的广告服务。