# v7.9.29 r14 广告任务一键同步频道修复

## 现场问题
美女推广任务点击“美女任务换素材继续推广”时报：

`部分频道不存在、已停用、角色不可发布，或对应QQ已停用，请刷新频道列表后重选`

根因：
- 历史广告任务的 ad_campaign_targets 会永久保留旧 channel_id；
- 用户后来退出/解散了部分频道；
- 多QQ管理的“同步频道”虽然已经把旧频道标记 left/disabled，
  但“换素材继续推广”仍然沿用历史 channel_id；
- 因此每次续推都要求用户回到“批量频道”重新选一遍。

## r14 新增“同步任务频道”
广告中心 -> 广告任务工具栏新增：

`同步任务频道`

使用方法：
1. 选中广告任务；
2. 点击“同步任务频道”；
3. 软件只同步这个任务关联的运营QQ；
4. 自动识别已经退出、解散、停用、不可发布的旧频道；
5. 不需要回“批量频道”重新勾选。

## 自动修复规则
历史频道仍可发布：
- 直接保留。

历史频道已经失效：
1. 优先在同一个运营QQ、同一个频道(guild)里找新的可发布子频道；
2. 同频道没有可替换项时，在同一个运营QQ的其他当前可发布频道里补位；
3. 如果该QQ已经没有任何额外可发布频道，则只移除这一条失效的未来目标；
4. 如果整个任务最终一个可发布频道都没有，才提示检查QQ登录/频道权限。

## 不破坏历史
不会修改：
- 已发布历史；
- 已取消历史；
- 原 ad_campaign_targets 的旧 channel_id；
- 原帖子对应的历史频道信息。

只更新 ad_campaigns.config_json 里的“以后继续推广使用的频道集合”。

因此历史审计仍然准确，但未来续推不会再被旧频道卡住。

## 美女任务续推自动自愈
即使用户忘了先点“同步任务频道”，
“美女任务换素材继续推广”本身也会先自动执行频道同步和失效绑定修复，
再创建下一轮明星素材任务。

所以 r14 以后不再需要：
“报错 -> 去批量频道 -> 重新勾选 -> 保存 -> 回广告任务 -> 再续推”。

## 验证
模拟任务原来有2个频道：
- 1个仍然正常；
- 1个已经left/disabled；
- 当前同QQ下存在1个新的可发布频道。

同步后：
- 保留1个旧频道；
- 自动替换1个失效频道；
- 未来频道集合仍为2个；
- 历史 ad_campaign_targets 完全不改。

VERSION.txt 仍为 v7.9.29，可直接继续使用服务端更新测试 revision。
