# AdCodeMap **Repository Path**: WangDKB/ad-code-map ## Basic Information - **Project Name**: AdCodeMap - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-12 - **Last Updated**: 2026-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📊 亚马逊广告代码地图 > 9 个业务模块的调用链、关键类、数据流与坑点。双击 Shift 全局搜索 · 点卡片直达模块
必读前置
🦴 架构骨架 通用运行骨架:Producer→MQ→Consumer→ApiService→SDK 整体模式
业务模块(6 个纵向链路)
💰 调价 广告调价主链路,6 步级联管道 AdjustPriceV2Producer_Job_Service 📥 实体下载 SP Top/Secondary 实体拉取,双 Producer 分工 GetSpTopEntity / GetSpSecondaryEntity 📊 报告下载 两段式 create reportId → download 入库,V2/V3 双轨 ReportIdProducer_Job_Service 🤖 自动策略 SP 自动广告策略,选品→建实体→设 bid→回写 AutoCreateProducer_Job_Service ✋ 手动策略 SP 手动广告(V2 弃用,生产跑 V3),11 段流水线 SPMACCreateProducerV2_Job_Service ⚡ 批量操作 运营手工批量改实体,横跨 SP/SB/SD BOTQueueProducer_Job_Service
实体创建(大模块 · 3 子文档)
🔧 服务创建 SP 批量建实体主链路,页面数据源,8 实体阶梯 CreateSpEntityProducer_Job_Service 🔗 BI 链路 实体创建的 BI 数据来源,导 OBS → 建 Init 批次 🌐 全托管 全托管实体创建子链路,DataType=2 独立队列族
横向模块(跨业务)
🔔 监控告警 跨调价/自动/手动的告警聚合,双 Job 解耦 MonitorAlarmProducer_Job_Service 📤 BI 推送 横向 BI 数据出口,59 taskId 推 StarRocks PushAmazonAdvertisingToBI_Job_Service
测试交付
📝 更新日志 历次梳理记录与变更说明
--- ## 怎么用这套知识库 - **接手某模块** → 先读架构骨架,再点对应卡片 - **排障定位** → 双击 Shift 搜类名/表名,看调用关系图 + 坑点 - **查某张表属于哪个模块** → 见下方表命名速查 - **看类的上下游** → 点模块第 3.1 节任一类,弹窗底部有「🔗 调用关系图」(真实源码解析) ## 每篇图谱的统一结构 ``` 0. 一句话定位 / 模块边界 1. 整体数据流图(ASCII) 2. Producer 层(做什么、查什么、推哪个队列) 3. Consumer 层(3.1 类清单 + 3.x 分层数据流表) 4. 数据落地(DWS 表 / MongoDB / Redis 键清单) 5. 核心总结(⭐ callout,3 条要点) ``` --- ## 表命名速查(找表用) | 前缀/特征 | 含义 | 所属目录 | |-----------|------|----------| | `Aad_AdjustPrice_*` | 调价模块表 | Models/AdjustPrice/ | | `Aad_AutoCreate_*` | 自动策略表(含否定词/批量建实体等边界外子模块) | Models/AutoCreate/ | | `Aad_SpManual_AutoCreate_*_V2` | 手动策略 V2 表 | Models/SpManualAutoCreateV2/ | | `Aad_Create_SpEntity*` | SP 批量实体创建批次主从表(注意有下划线,区别于 `Aad_AutoCreate_*`) | Models/AutoCreate/ | | `Aad_Report_*` | 报告原始数据 / reportId / 下载中枢 | Models/Report/ | | `Aad_ReportCenter*` | 报告中心(对外查询导出) | Models/ReportCenter/ | | `Aad_Campaign*` | 广告实体主表(被多模块共同读写的公共实体) | Models/Campaign/ | | `*_Common` | FBA 维度副本(活动名以 B0 开头) | Models/CampaignCommon/ | | `*_Sales` | 销售调整副本(活动名以"销售调整"结尾) | Models/CampaignSales/ | | `*Collection` | MongoDB 集合(任务进度/状态机/大对象中转) | MongoModels/ | | `BI_*` / `Import*` | BI 推送目标表 / 导入中转表实体(横向出口,07 模块) | Models/BI/ | > ⚠️ **共享实体表的"多写"机制**:`Aad_Campaign`、`Aad_Campaign_AdGroup`、`Aad_Campaign_ProductAd`、`Aad_Campaign_AdGroup_BiddableKeyword`、`Aad_Campaign_TargetingClause` 被**调价、实体下载、自动策略、手动策略、实体创建**五个模块共同写入(各自标记 CreateFlag/来源)。每张都有配套 `_Common`(FBA) / `_Sales`(销售调整)副本。 > > **副本分流两套,别混**:02-实体下载靠**广州 Redis Hash**分流;08-实体创建靠**活动名前缀/后缀**分流。 --- ## ⚠️ 编码约定(读代码前必看) 1. **所有 `.cs` 文件是 TSD 加密**(磁盘前 4 字节 `25545344`),`cat`/`grep`/`Read` 返回乱码或过期缓存。 - ✅ 唯一可靠解密:`svn cat 文件路径`(触发透明解密层) - ✅ `grep -rln`(仅列文件名)是安全的,可用于定位 2. **文件引用格式**:统一用 `相对路径:行号`(相对项目根目录)。 3. **双中心部署**:GZ(广州) / HK(香港),部分 Job 命名带 `_GZ`/`_HK` 后缀区分调度。 --- ## 维护机制 - **日常增量**:改完某模块,只重扫那篇(快、省)。 - **定期兜底**:**每 8 天早晨 6:00** 全量重扫,防止图谱过时。 - 文档顶部显示最近更新日期;提示"已 N 天未更新"时,行号引用以实际代码为准。