# Phase 18 完成报告:申诉保持 > 版本基线:v1.0.0-RC.2 → v1.1.0-dev | 日期:2026-09-08 > 对应 EPIC:EPIC-P18-V11 --- ## 完成摘要 | 项目 | 内容 | |------|------| | Phase | 18 | | 模块 | 申诉保持 | | 状态 | ✅ 已验证(V1.0基础保持不变) | --- ## 不变量保持验证 | 不变量 | 实现 | 验证方式 | |--------|------|----------| | 仅 ban/suspend 可申诉 | AppealService.checkCanAppeal() | 源码确认 | | 同一用户对同一action只允许一次pending申诉 | AppealService.submitAppeal() 幂等检查 | 源码确认 | | 申诉通过 → 解除risk_action | AppealService.processAppeal() approve分支 | 源码确认 | | 申诉被拒 → 维持原处置 | AppealService.processAppeal() reject分支 | 源码确认 | | FeatureFlag 控制申诉开关 | appealEnabled flag | 源码确认 | --- ## 现有代码结构(无需修改) ``` backend/ appeal/ controller/ AppealController.java — 用户端: account-status/submit/my AppealOperatorController.java — 后台端: pending/detail/process/stats/users service/ AppealService.java — 核心逻辑 entity/ Appeal.java — 申诉实体 mapper/ AppealMapper.java dto/ AppealSubmitDTO.java AppealProcessDTO.java AppealItemDTO.java miniapp/pages/appeal/ — 申诉页面(已注册在app.json) ``` --- ## V1.1 兼容性确认 | 方面 | 结论 | |------|------| | appeals 表结构 | 无变化,V1.0 保持兼容 | | AppealController API | 无变化 | | AppealOperatorController API | 无变化 | | Miniapp 申诉页面 | 无变化 | | FeatureFlag 开关 | 保持不变(默认关闭) | --- *Phase 18 完成。下一阶段:Phase 19(统一运营后台 + Banner管理 + 内容管理 + 服务站管理 + 专项项目)*