67 lines
1.8 KiB
Markdown
67 lines
1.8 KiB
Markdown
# 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管理 + 内容管理 + 服务站管理 + 专项项目)*
|