Files
danyang-match/docs/JIRA_BACKLOG.md
T

49 KiB
Raw Blame History

善缘丹阳 V1.1 Jira Backlog

V1.0 Phase 01~26 基础 + V1.1 增量任务合并基线 版本:v1.1.0-dev | 最后更新:2026-09-08

2026-09-17 Phase 15 复验关闭: EPIC-P15 已完成。复验发现两处必崩级缺陷,均为「生产一直存在、 测试库从未约束」的同族根因:① 签到码一生成即作废 —— generateCheckinToken 把 token 写入 Redis 值 "used",而 scanCheckin 见到 "used" 立即拒绝,扫码签到 100% 失败; ② 取消后永远无法再报名 —— 生产 UNIQUE(activity_id, user_id) 一直存在,而重报名走 INSERT, 测试库缺该唯一键故零覆盖。共修复 16 处缺陷 + 3 处测试保真度缺陷,新增 V040 activity_staff_assignments 落实「服务站操作员只能操作指定活动」(INV-020)。 证据:docs/Phase-15-V11-Recovery-Completion-Report-2026-09-17.md。

2026-09-17 Phase 16 复验关闭: EPIC-P16-V11 已完成。复验发现活动互选核心 Gate 缺陷——双确认后根本不建 Match/会话(INV-014/015), 且 Phase 15 提交态引用未定义的 matchMapper.reopenEpisode → 整个模块从未编译通过,"474 绿"是假象。已统一双实现到 RelationshipService.confirmActivityInterest,修复 7 处缺陷 + 1 处隐藏编译缺陷 + 1 处测试保真度缺陷,新建 ActivityMutualConsentServiceTest(7 用例),并经负向验证证明守卫有牙。新增 V041 expires_at+match_id。 证据:docs/Phase-16-V11-Recovery-Completion-Report-2026-09-17.md。 Phase 17 需用户确认后启动。

2026-09-16 状态校正: Phase 07 UI 已按 2026-09-13 规格重新实现,首批 11 页于 2026-09-16 通过用户验收(结论:基本达标),本文件此前"视觉否决/REOPENED"口径随之关闭。

2026-09-17 Phase 14 复验关闭: EPIC-P14 已完成。复验发现 activity 模块存在必崩级空壳—— ActivityMapper.countRemainingCapacity 既无 @Select 也无 XML,而 ActivityService 调用的 正是它 → 活动详情/报名/审核三条路径必然抛 Invalid bound statement。修复 11 处后端缺陷: D1(Critical,生产故障) Mapper 空壳致三条路径必崩; D2(Critical,并发) 报名与审核「先读后写」→ 并发超卖,改单条原子 SQL; D3(High,生产故障) activityType/orgRole 未校验生产 CHECK 白名单(只在 PG 上炸); D4(High,契约) ActivityListItemDTO 无 activityType → 小程序分类 Tabs 恒无数据; D5 男女人数为 approvedCount/2 编造;D6 年龄门槛为 TODO 空壳;D7 registration_policy 只写不读; D8 POST /operator/activities 丢弃类型/多组织/分组且把 organizer_org_id 错设为操作者 userId; D9 三个运营写入端点错挂用户端控制器(双实现);D10 软删活动与缺字段致 NPE/500; D11 DTO 缺 registeredCount/status/coverFileId/description。 另有 3 处前端契约缺陷(小程序分类 code classroom 不在白名单、卡片读 7 个不存在的字段、 admin-web 无活动管理页 → 新增 ActivityManagementView.vue 动态表单)与 2 处测试保真度缺陷(2 条 assertTrue(true) 占位假绿;测试库缺 V023 列与三张表、activity 五表零覆盖)。 证据:docs/Phase-14-V11-Recovery-Completion-Report-2026-09-17.md。Phase 15 需用户确认后启动。

2026-09-17 Phase 13A 复验关闭: EPIC-P13A 已完成。复验发现 counseling 模块存在双实现—— 线上权威 CounselingService(167 行)零测试,唯一被测的 CounselingServiceApp(280 行)是 孤儿类(无注入点、无 HTTP 端点可达,生产永不执行)→ 已合并并删除孤儿类。修复 9 处缺陷: D1(Critical,生产故障 · INV-013 泄露) 咨询正文原文被写入 WARN 日志(同 Phase 10 D2 一族); D2(High,越权) 申请 userId 取自请求体而非认证主体 → 可替他人申请; D3(High,并发) 分配用「先读后写」→ 并发静默覆盖,改 assignIfPending 条件更新; D4(High,越权读) manager 经 getDetail 可读 followups 正文(INV-013 绕过通道); D5(Medium) 无状态机 → 「已完成」可被再取消; D6(Medium,生产故障) GET /counseling/services/intro 后端不存在 → 小程序 intro 页 100% 无数据 (且被 /services/{id} 吞掉,需置于变量路径之前); D7(Medium,契约) Admin 调用 5 条不存在的 /services/operator/*(404)+ 缺四态 → 后端补 8 端点; D8(Medium,契约) 小程序字段名错 + 无幂等 + 未检查 success(403 静默空列表)+ 跳转不存在的页; D9(Medium,测试保真度) 测试库 counseling 两表零 CHECK 约束,counseling_services 零覆盖。 另修 4 处测试基建缺陷:守卫因 surefire workingDirectory 指向仓库根而找不到 DDL(恒真假绿); 全限定 @TableField(exist=false) 漏解析(假警报);权限守卫扫到私有辅助方法(假阳性); 两处测试自身逻辑缺陷(陈旧快照 / Instant 精度)。 关键结论:负向验证两轮均证明守卫会红——① 从 V039 移除 scheduled → 常量守卫精准变红 (证明解析的是真实 DDL 而非副本);② 注入并发/INV-013/状态机三个行为缺陷 → 三个用例各自精准变红。 迁移基线 38 → 39(新增 V039)。证据:docs/Phase-13A-V11-Recovery-Completion-Report-2026-09-17.md。 后端全量 420 tests / 0 failures / 0 errors / 3 skipped / BUILD SUCCESS(4 分 49 秒)。 Phase 14 需用户确认后启动。

2026-09-16 Phase 13 复验关闭: EPIC-P13-V11 已完成。复验中发现并修复 7 处缺陷—— D1(Critical,生产故障) matchmaker_recommendations.status 代码写入 liked/passed/confirmed_mutual, 而生产 V009 chk_rec_status 只允许 pending_view/viewed/responded → 真实 PG 上用户接受/跳过推荐必崩; D2(Critical,生产故障) 控制器缺省 serviceType="recommendation" 不在 chk_matchmaker_service_type 白名单 → 提交红娘服务必崩。两者同修于新增 V038__align_matchmaker_status_constraints.sql。 D3(High,越权写) recommendPartner 无归属校验 → 任意红娘可替非本人负责的服务发起推荐、可推荐给自己。 D4(High,越权读) getServiceDetail 无归属校验且返回完整用户资料 → 任意红娘可读任意用户敏感详情。 D5(High,越权写) ReferralService 的 userId 取自请求体且零授权校验 → 可替任意用户发起转介。 D6(High,生产故障) MatchmakerFollowupMapper.findByServiceId 无 @Select → Invalid bound statement, getServiceDetail 必崩(本轮新增测试首次暴露)。D7(Medium) admin-web 5 处 API 契约缺口(404 / C 端端点误用)

  • 小程序缺转介服务层 → 后端补 2 个运营端端点、前端改路径、小程序新增 referralService.js。 测试库补 3 张 matchmaker 表(EntityMigrationParityTest 移入必需集),迁移基线 37 → 38。 关键教训:首版常量守卫硬编码白名单副本,注入 D1 缺陷后仍全绿 → 重写为直接解析 db/migration/V*.sql (按文件名顺序取"最终有效"白名单 + 解析器自检);修正后经第二轮负向验证证明会红 (Tests run: 23, Failures: 1, Errors: 2 / BUILD FAILURE)。删除 3 处假测试占位。 证据:docs/Phase-13-V11-Recovery-Completion-Report-2026-09-16.md。Phase 13A 需用户确认后启动。 后端全量 391 tests / 0 failures / 0 errors / 3 skipped / BUILD SUCCESS(4 分 59 秒)。

2026-09-16 Phase 12 复验关闭: EPIC-P12-V11 已完成。复验中发现并修复 4 处缺陷—— D1(Critical,生产故障 · 同一族系统性缺陷) 实体与生产迁移系统性漂移:23 张表、50 个列在 db/migration 中 根本不存在,而测试库 schema-h2.sql 手写了它们 → 全量测试绿 = 假绿。其中 11 张表属"INSERT 必崩"级 (缺 id/created_at/updated_at,被 AutoFillHandler 强制填充),含 matches(缺 episode/source_id/ last_activity_at/unmatched_by/deleted_at)、user_preferences、permissions、roles、consent_records、 risk_events 等;真实 PG 上 Match 创建、择偶偏好保存、权限/角色写入、同意记录、风险事件全部失败。 修复:新增 V037__align_entity_columns_with_migrations.sql(幂等 ADD COLUMN IF NOT EXISTS + 存量 episode 回填)。 D2(High) RelationshipService.createMatch 不写 episode/lastActivityAt,与 MatchService 双路径填充不一致; 且 episode 为 null 时 m.getEpisode() + 1 对 Integer 自动拆箱抛 NPE。修复:两路径统一按 AGENTS.md #20 推导 + null 兜底。 D3(High) 测试库缺 user_identities 等 7 张表 → GET /api/v1/home 在测试环境 BadSqlGrammar,首页接口零回归覆盖。 D4(Medium) Phase 12 计划项 2 实际未实现:getting_to_know 分支只产出 counseling。修复:补 premarital 引导。 新增永久守卫 EntityMigrationParityTest(5 用例,区分"必崩级/潜伏级",经两轮负向验证证明会变红); 删除 2 个假测试类(RelationshipStatusServiceTest/RelationshipStatusServiceDoubleConfirmTest 的 assertTrue(true) 占位)。 后端全量 371 tests / 0 failures / 0 errors。 证据:docs/Phase-12-V11-Recovery-Completion-Report-2026-09-16.md。

2026-09-16 Phase 11 复验关闭: EPIC-P11-V11 已完成。复验中发现并修复 3 处缺陷—— D3(Critical,生产故障) NotificationService 全部 10 种通知使用复合 type(appointment_submitted / counseling_assigned / le_verified 等),违反生产 chk_notification_type(仅允许短名), 真实 PostgreSQL 上全部落库失败,Phase 11 核心交付不可用;测试库未复刻该约束故长期静默; D1(High) 通知幂等仅靠 SELECT-then-INSERT 无 DB 兜底 → 新增 V036 partial unique index; D2(Medium) 婚前辅导排期通知零调用 + 管理端排期路径完全不发通知 → 接线并按 service_type 分流。 新增测试 12 用例(含真实调用模板方法的 type 守卫)。后端全量 346 tests / 0 failures / 0 errors。 证据:docs/Phase-11-V11-Recovery-Completion-Report-2026-09-16.md。Phase 12 需用户确认后启动。

2026-09-16 Phase 10 复验关闭: EPIC-P10-V11 已完成。复验中发现并修复 2 处缺陷—— D1(Critical,生产故障) PhotoService.uploadAndSave 魔数校验因 new byte[n] 从不读取流而恒失败,本地资格佐证上传 100% 失败(且 PDF 被 image-only MIME 挡); D2(Low) ChatSafetyService 把命中的高风险词写入普通日志。 同时推翻旧报告「伪装恶意图片被拒(Magic Number 校验)」与「EXIF清理预留(stripExif 占位)」两项声明——后者符号全仓库不存在。 新增 PhotoUploadValidationTest(6 用例,MockMultipartFile 真走校验链路)并做负向验证。后端全量 334 tests / 0 failures / 0 errors。 证据:docs/Phase-10-V11-Recovery-Completion-Report-2026-09-16.md。Phase 11 需用户确认后启动。

2026-09-16 Phase 09 复验关闭: EPIC-P09-V11 已完成。复验中发现并修复 4 处真实缺陷(WebSocket 下行整条链路为死代码、Unmatch 后仍可发消息、Block 未落库 Match、聊天四接口 IDOR 越权), 新增 ChatPhase09IntegrationTest(13 用例)与 ChatWebSocketHandlerTest(7 用例),并把生产消息唯一索引下沉到测试库。后端全量 328 tests / 0 failures / 0 errors。 证据:docs/Phase-09-V11-Recovery-Completion-Report-2026-09-16.md。

2026-09-16 Phase 08 复验关闭: EPIC-P08-V11 已完成。复验中发现并修复 3 处真实缺陷(搜索绕过 Block / 详情无 Block 检查 / matches.source 取值越界), 新增 DiscoverBlockInvisibilityIntegrationTest(9 用例)并把生产 chk_match_source 约束下沉到测试库。 证据:docs/Phase-08-V11-Recovery-Completion-Report-2026-09-16.md。

2026-09-13 状态校正(历史): 本文件中的既有 ✅ 是历史开发声明,不再单独作为验收证据。Phase 01~06 已由恢复版 Completion Report 重新举证;Phase 07 仅保留业务测试证据,管理端与小程序视觉已被用户否决并重新打开。Phase 08 暂停,当前先执行 UI 清理与参考图重设计。

当前执行项 状态 依据
Phase 01 项目治理与检查基线 已完成 Git 基线已建立,提交 b46b48e
Phase 02 统一认证、RBAC、DataScope 已完成 见 Phase-02-V11-Recovery-Completion-Report-2026-09-10.md
Phase 03 实名认证增量预留 已完成 见 Phase-03-V11-Recovery-Completion-Report-2026-09-12.md
Phase 04 Profile、Preference 与本地资格 已完成 见 Phase-04-V11-Recovery-Completion-Report-2026-09-12.md;Phase 05 尚未获准
Phase 05 统一审核扩展 已完成 见 Phase-05-V11-Recovery-Completion-Report-2026-09-12.md;Phase 06 尚未开始
Phase 06 Match Eligibility 增量 已完成 见 Phase-06-V11-Recovery-Completion-Report-2026-09-12.md;Phase 07 尚未开始
Phase 07 V1.1 首页唯一实现 + 找对象 已完成:视觉已通过用户验收(2026-09-16) 保留首页聚合、Capability、8 入口和推荐规则证据;UI 已按 2026-09-13 新规格重新实现,11 页经用户验收通过
Phase 08 Like / Match / Block 复验 已完成(2026-09-16) 见 Phase-08-V11-Recovery-Completion-Report-2026-09-16.md;修复 3 处真实缺陷(搜索绕过 Block、详情无 Block 检查、matches.source 取值越界),后端 308 tests 全绿
Phase 09 Text Chat 复验 已完成(2026-09-16) 见 Phase-09-V11-Recovery-Completion-Report-2026-09-16.md;修复 4 处真实缺陷(WebSocket 下行死代码、Unmatch 后仍可发消息、Block 未落库 Match、聊天接口 IDOR),后端 328 tests 全绿;Phase 10 尚未获准
Phase 10 Image & Chat Safety 复验 已完成(2026-09-16) 见 Phase-10-V11-Recovery-Completion-Report-2026-09-16.md;修复 2 处缺陷(图片上传魔数校验死代码致本地资格佐证上传 100% 失败、高风险词写入日志),推翻旧报告 2 项安全声明,后端 334 tests 全绿;Phase 11 尚未获准
Phase 11 Notification 复验 已完成(2026-09-16) 见 Phase-11-V11-Recovery-Completion-Report-2026-09-16.md;修复 3 处缺陷(10 种通知 type 违反生产 CHECK 约束致全部落库失败、幂等无 DB 兜底、婚前辅导通知未接线),后端 346 tests 全绿
Phase 12 Relationship Progress 复验 已完成(2026-09-16) 见 Phase-12-V11-Recovery-Completion-Report-2026-09-16.md;修复 4 处缺陷(实体↔生产迁移系统性漂移 23 表 50 列、双路径 episode/NPE、测试库缺 7 表致首页零覆盖、计划项 2 未实现),新增永久守卫 EntityMigrationParityTest,删除 2 个假测试类,后端 371 tests 全绿
Phase 13 公益红娘转介复验 已完成(2026-09-16) 见 Phase-13-V11-Recovery-Completion-Report-2026-09-16.md;修复 7 处缺陷(2 处生产故障级 CHECK 约束缺口致推荐接受/服务提交必崩、推荐与转介三处越权、getServiceDetail 越权读、Mapper 缺 @Select 致必崩、前端 5 处契约缺口),测试库补 3 张 matchmaker 表,迁移基线 V038;新增 MatchmakerReferralPhase13Test(17 用例)+ 重写 MatchmakerServiceTest(6 用例,解析真实 DDL),删除 3 处假测试,后端 391 tests 全绿;Phase 13A 尚未获准
Phase 13A 婚恋咨询与婚前辅导复验 已完成(2026-09-17) 见 Phase-13A-V11-Recovery-Completion-Report-2026-09-17.md;发现 counseling 双实现(权威类零测试 / 孤儿类被单测),已合并删除孤儿类;修复 9 处缺陷(D1 咨询正文写日志=INV-013 泄露、D2 申请 userId 取请求体、D3 分配先读后写并发静默覆盖、D4 manager 可读 followups=INV-013 绕过、D5 无状态机、D6 /services/intro 后端不存在致小程序 intro 页 100% 无数据、D7 Admin 5 端点 404、D8 小程序字段名/幂等/静默失败、D9 测试库 counseling 零 CHECK 约束)+ 4 处测试基建缺陷(守卫找不到 DDL 恒真假绿、全限定 @TableField 漏解析、权限守卫假阳性、测试自身逻辑缺陷);迁移基线 V039;新增 CounselingPhase13ATest(25)+ CounselingConstraintGuardTest(5,解析真实 DDL),两轮负向验证证明守卫会红;后端 420 tests 全绿;Phase 14 尚未获准
Phase 14 多类型公益活动复验 已完成(2026-09-17) 见 Phase-14-V11-Recovery-Completion-Report-2026-09-17.md;修复 11 处后端缺陷(D1 ActivityMapper.countRemainingCapacity 无 SQL 空壳致详情/报名/审核必崩、D2 报名与审核先读后写并发超卖 → 改原子 SQL、D3 类型/角色未校验生产 CHECK 白名单、D4 DTO 无 activityType 致小程序分类 Tabs 恒空、D5 男女人数 approvedCount/2 编造、D6 年龄门槛空壳、D7 按类型资格策略为空、D8 运营端建活动丢弃类型且把主办组织错设为操作者 userId、D9 三个运营端点错挂用户端双实现、D10 软删活动/缺字段 NPE、D11 DTO 缺 4 字段)+ 3 处前端契约缺陷(分类 code classroom 不在白名单、卡片读 7 个不存在字段、admin-web 无活动管理页)+ 2 处测试保真度缺陷(2 条占位假绿、测试库缺 V023 列与三张表);新增 ActivityPhase14Test(23)+ ActivityConstraintGuardTest(9,解析真实 DDL 与前端源码),两轮负向验证证明守卫会红;admin-web vue-tsc 0 error + vite build 通过;后端 450 tests 全绿;Phase 15 尚未获准
Phase 15 活动报名审核签到复验 已完成(2026-09-17) 见 Phase-15-V11-Recovery-Completion-Report-2026-09-17.md;修复 16 处缺陷(D1 签到码一生成即作废:generateCheckinToken 把 token 写 "used" 而扫码端见 "used" 即拒 → 扫码 100% 失败;D9 取消/拒绝后永远无法再报名:撞生产 UNIQUE(activity_id,user_id),测试库缺该约束故零覆盖 → 改复用记录;D2 重复签到竞态、D3 签到无数据范围、D4 手工签到无校验、D5 统计 NPE+语义错、D6 非法 token 500、D7 签名非恒定时间比较、D10 后台审核列表无 pending、D11 报名窗口不生效、D12 取消无审计、D13 审核/取消非原子、D14 容量分组不参与扣减)+ 2 处前端契约缺陷(admin-web 无签到工作台、小程序无取消报名入口);新增 V040 activity_staff_assignments 落实 INV-020 活动数据范围;3 处测试保真度缺陷(测试库缺 UNIQUE+2 CHECK、3 条 assertTrue(true) 假绿、表未入必选集合);新增 ActivityPhase15Test(21),CheckinServiceTest 假绿改真实守卫(5),约束守卫 +2,迁移基线 39→40;一轮负向验证 3 处注入 → 8 条用例精准变红并还原;admin-web vue-tsc 0 error + vite build 通过;后端 474 tests 全绿;Phase 16 尚未获准
Phase 16 活动互选二阶段同意复验 已完成(2026-09-17) 见 Phase-16-V11-Recovery-Completion-Report-2026-09-17.md;修复 7 处缺陷 + 1 处隐藏编译缺陷 + 1 处测试保真度缺陷(D1 双确认后根本不建 Match/会话(Gate 缺陷·INV-014/015)、D3 Phase 15 提交态引用未定义 reopenEpisode 致整个模块不编译("474 绿"为假象)、D4 INV-006 单向意向泄露、D5 复用/新建 Match 后缺会话);统一双实现到 RelationshipService.confirmActivityInterest;MatchMapper 补 reopenEpisode;测试库补 activity_mutual_connection_consents 表并移入必选集合,MigrationValidationTest 基线 40→41;新建 ActivityMutualConsentServiceTest(7 用例);ChatPhase09IntegrationTest:344 断言对齐 AGENTS.md #20 复用语义;新增 V041 expires_at+match_id;负向验证 2 用例精准变红并还原;后端 481 tests 全绿;Phase 17 尚未获准
UI-CLEANUP-20260913 已完成 废弃 UI 代码、冲突规范、旧计划和无效验收证据已清理;ui-document-baseline-contracts 锁定唯一视觉入口
UI-ADMIN-20260913 已完成(待桌面端目视复验) 管理端全局框架与工作台已按规格交付;18 modules + 22 routes,vue-tsc 与 vite build 全绿
UI-MINIAPP-20260913 已完成 小程序 11 个核心页面已重构;11/11 页 TS-only,2026-09-16 通过用户验收
V1.1 UAT / RC / Production 进行中 UI 视觉验收已通过;剩余前端调用与后端契约收敛(/me/* 路径族约 15 个端点)与页面闭环

命名规范

  • Epic: EPIC-P{XX}-V11(V1.0已有Epic保持原名)
  • Story: {Phase}-V11-S{NN}
  • Task: {Phase}-V11-T{NN}
  • Bug: BUG-{编号}
  • 旧V1.0废弃任务标记: DEPRECATED_BY_V1_1

Epic 总览

Epic Phase 名称 优先级
EPIC-P01-V11 P01 项目治理与V1.1基线修订 P0
EPIC-P02-V11 P02 新业务权限域预留 P0
EPIC-P03-V11 P03 实名体系扩展预留 P1
EPIC-P04-V11 P04 本地资格与Profile扩展 P1
EPIC-P05-V11 P05 本地资格审核复用 P1
EPIC-P06-V11 P06 Match Eligibility扩展 P0
EPIC-P07-V11 P07 首页V1.1重构与找对象 P0
EPIC-P08-V11 P08 Like/Match保留+活动兼容 P0
EPIC-P09-V11 P09 聊天核心保持+活动兼容 P0
EPIC-P10-V11 P10 聊天安全扩展 P0
EPIC-P11-V11 P11 公益服务通知扩展 P0
EPIC-P12-V11 P12 关系状态轻量扩展 P1
EPIC-P13-V11 P13 红娘服务转介扩展 P1
EPIC-P13A P13A 公益婚恋咨询与婚前辅导 P1
EPIC-P14-V11 P14 多类型公益活动 P1
EPIC-P15-V11 P15 活动签到回归测试 P1
EPIC-P16-V11 P16 活动互选二阶段同意重构 P0
EPIC-P17-V11 P17 公益服务风险来源扩展 P0
EPIC-P18-V11 P18 申诉保持 P1
EPIC-P19-V11 P19 善缘丹阳综合运营后台 P1
EPIC-P20-V11 P20 公益项目数据统计扩展 P1
EPIC-P21-V11 P21 账户生命周期增量 P1
EPIC-P22-V11 P22 部署运维配置扩展 P1
EPIC-P23-V11 P23 V1.1专项测试 P0
EPIC-P24-V11 P24 UAT增量 P1
EPIC-P25-V11 P25 RC内容检查 P1
EPIC-P26-V11 P26 Production初始化 P1

EPIC-P01-V11: 项目治理与V1.1基线修订

2026-09-09 有效状态: Phase 01 治理交付已收口,但不是“项目测试通过”。当前阻断为缺少 Git 元数据;检查基线实测 5 个失败门禁。以下历史任务的“已完成”仅表示文件曾创建,验收结论以 Phase-01-V11-Recovery-Completion-Report-2026-09-09.md 为准。

Tasks

  • P01-V11-T01 [已完成] 更新AGENTS.md加入V1.1硬规则
  • P01-V11-T02 [已完成] 更新docs/STATUS.md版本基线
  • P01-V11-T03 [已完成] 更新docs/PENDING_DECISIONS.md
  • P01-V11-T04 [已完成] 新建docs/V1_1_CHANGELOG.md
  • P01-V11-T05 [已完成] 新建docs/V1_0_TO_V1_1_GAP_ANALYSIS.md
  • P01-V11-T06 [已完成] 新建docs/JIRA_BACKLOG.md
  • P01-V11-T07 [已完成] 新建docs/ARCHITECTURE_BASELINE_V1.1.md

EPIC-P02-V11: 新业务权限域预留

Tasks

  • P02-V11-T01 ✅ banner permission domain
  • P02-V11-T02 ✅ counseling permission domain
  • P02-V11-T03 ✅ content permission domain
  • P02-V11-T04 ✅ service_location permission domain
  • P02-V11-T05 ✅ service_appointment permission domain
  • P02-V11-T06 ✅ local_eligibility permission domain
  • P02-V11-T07 ✅ service_program permission domain
  • P02-V11-T08 ✅ service_station_operator role
  • P02-V11-T09 ✅ counselor role
  • P02-V11-T10 ✅ counseling_manager role
  • P02-V11-T11 ✅ content_editor role

Acceptance

  • 新角色不自动拥有用户全库权限 ✅
  • content_editor默认无用户数据权限 ✅
  • counselor默认assigned scope ✅
  • service_station_operator无身份证权限 ✅

EPIC-P03-V11: 实名体系扩展预留

Tasks

  • P03-V11-T01 ✅ 增加verification_level字段到user_identities
  • P03-V11-T02 ✅ 增加liveness_verification_status预留
  • P03-V11-T03 ✅ 增加verification_provider字段
  • P03-V11-T04 ✅ Feature Flag控制人脸能力

Forbidden

  • 不得实现 face_embedding
  • 不得实现 face_template
  • 不得实现 self-hosted face recognition

EPIC-P04-V11: 本地资格与Profile扩展

Data Tasks

  • P04-V11-T01 ✅ user_local_eligibilities migration
  • P04-V11-T02 ✅ local_eligibility_evidences migration
  • P04-V11-T03 ✅ local eligibility DTO

API Tasks

  • P04-V11-T04 ✅ GET /api/v1/local-eligibility
  • P04-V11-T05 ✅ POST /api/v1/local-eligibility/declaration
  • P04-V11-T06 ✅ POST /api/v1/local-eligibility/evidences
  • P04-V11-T07 ✅ POST /api/v1/local-eligibility/submit

Miniapp

  • P04-V11-T08 ✅ U62 本地资格说明页
  • P04-V11-T09 ✅ U63 本地资格补充核验页
  • P04-V11-T10 ⏳ Onboarding增加本地资格步骤(后续Phase)

MeStatus

  • P04-V11-T11 ✅ /me/status增加localEligibilityStatus
  • P04-V11-T12 ✅ CapabilityService接入本地资格(Phase 07整合)

EPIC-P05-V11: 本地资格审核复用

Tasks

  • P05-V11-T01 ✅ review_type扩展local_eligibility
  • P05-V11-T02 ✅ 本地资格审核Queue
  • P05-V11-T03 ✅ Claim(复用现有)
  • P05-V11-T04 ✅ Need Evidence
  • P05-V11-T05 ✅ Approve
  • P05-V11-T06 ✅ Reject
  • P05-V11-T07 ✅ Evidence access audit

Acceptance

  • 不新建第二套审核引擎 ✅
  • 多审核员Claim仍原子 ✅
  • 审核通过更新local eligibility ✅
  • 佐证查看被审计 ✅

EPIC-P06-V11: Match Eligibility扩展

Tasks

  • P06-V11-T01 ✅ MatchEligibilityService接入local eligibility
  • P06-V11-T02 ✅ localEligibilityRequired配置
  • P06-V11-T03 ✅ 缓存失效处理
  • P06-V11-T04 ✅ eligibility test matrix扩展

EPIC-P07-V11: 首页V1.1重构与找对象

Story: Home Aggregate

  • P07-V11-T01 ✅ HomeApplicationService
  • P07-V11-T02 ✅ GET /api/v1/home
  • P07-V11-T03 ✅ HomeDTO
  • P07-V11-T04 ✅ Home capability mapping

Story: Banner

  • P07-V11-T05 ✅ home_banners migration
  • P07-V11-T06 ✅ Banner repository/service
  • P07-V11-T07 ✅ Banner audience filter
  • P07-V11-T08 ✅ Banner time filter
  • P07-V11-T09 ✅ Banner internal target validation

Story: 新首页UI

  • P07-V11-T10 ✅ BrandHeader
  • P07-V11-T11 ✅ UserStatusStrip
  • P07-V11-T12 ✅ HomeBannerCarousel
  • P07-V11-T13 ✅ QuickEntryGrid
  • P07-V11-T14 ✅ HomeRecommendationSection
  • P07-V11-T15 ✅ ServiceRecommendationCard
  • P07-V11-T16 ✅ ActivityPreviewSection
  • P07-V11-T17 ✅ ServiceLocationCard
  • P07-V11-T18 ✅ ArticleSection
  • P07-V11-T19 ✅ SafetyNoticeCard

Story: 固定8入口

  • P07-V11-T20 ✅ QuickEntry static config
  • P07-V11-T21 ✅ Feature flag availability
  • P07-V11-T22 ✅ Capability fallback UI

Story: 首页状态差异

  • P07-V11-T23 ✅ onboarding home
  • P07-V11-T24 ✅ review-pending home
  • P07-V11-T25 ✅ searching home
  • P07-V11-T26 ✅ paused home
  • P07-V11-T27 ✅ successful home

EPIC-P11-V11: 公益服务通知扩展

Tasks

  • P11-V11-T01 ✅ appointment submitted notification
  • P11-V11-T02 ✅ appointment confirmed notification
  • P11-V11-T03 ✅ counseling assigned notification
  • P11-V11-T04 ✅ counseling scheduled notification
  • P11-V11-T05 ✅ counseling completed notification
  • P11-V11-T06 ✅ premarital scheduled notification
  • P11-V11-T07 ✅ local eligibility need evidence notification
  • P11-V11-T08 ✅ local eligibility verified notification
  • P11-V11-T09 ✅ local eligibility rejected notification
  • P11-V11-T10 ✅ privacy-safe notification copy

EPIC-P13-V11: 红娘服务转介 ✅ 已完成

Tasks

  • P13-V11-T01 转介婚恋咨询 ✅
  • P13-V11-T02 转介公益活动 ✅
  • P13-V11-T03 转介善缘服务站 ✅
  • P13-V11-T04 referral source tracking ✅
  • P13-V11-T05 user consent/confirmation ✅

EPIC-P13A: 公益婚恋咨询与婚前辅导 ✅ 已完成(2026-09-17 KEEP-VERIFY/EXTEND 复验关闭)

Story: 数据模型

  • P13A-T01 counseling_services migration ✅ (V022)
  • P13A-T02 counseling_followups migration ✅ (V022)
  • P13A-T03 indexes ✅ (V022)
  • P13A-T04 migration tests ✅ 已补全(MigrationValidationTest 基线 38 → 39;测试库补 3 个 CHECK 约束 + 新建 counseling_followups 表)
  • P13A-T04b V039 幂等键 + CHECK 白名单显式固化 ✅ 新增(idempotencyKey 列 + uk_counseling_idem 唯一索引)

Story: 用户咨询

  • P13A-T05 GET counseling service intro ✅ 修复:后端端点此前不存在(被 /services/{id} 吞掉)→ 已补并置于变量路径之前
  • P13A-T06 POST counseling request ✅ 修复:userId 改从认证主体取;补幂等键;字段名对齐
  • P13A-T07 GET my counseling ✅ 修复:检查 success(403 静默空列表);移除跳转不存在的页
  • P13A-T08 GET counseling detail ✅ 修复:补 owner 校验 + 读侧分层(INV-013)
  • P13A-T09 cancel counseling ✅ 修复:补 owner 校验 + 合法状态迁移

Story: 婚前辅导

  • P13A-T10 premarital service type ✅ (service_type=premarital_guidance)
  • P13A-T11 premarital intro ✅ (复用 counseling/intro + U58页面)
  • P13A-T12 premarital request ✅ (复用 counseling/create,serviceType=premarital_guidance)
  • P13A-T13 optional companion support ✅ 修复:补 confirmCompanion,伴侣须本人确认(INV-005)

Story: Miniapp

  • P13A-T14 U55 婚恋咨询介绍 ✅
  • P13A-T15 U56 申请咨询 ✅ 修复:字段名 summary/preferredMode + 幂等键
  • P13A-T16 U57 我的咨询 ✅ 修复:检查 success + Loading/Empty/Error/Permission 四态 + 下拉刷新
  • P13A-T17 U58 婚前辅导介绍 ✅
  • P13A-T18 U59 婚前辅导申请 ✅ 修复:字段名对齐 + companionUserId 输入

Story: 后台

  • P13A-T19 Counseling Queue ✅ GET /services/operator/queue
  • P13A-T20 Counseling Detail ✅ GET /services/operator/{id}
  • P13A-T21 Assign Counselor ✅ 修复:改 assignIfPending 条件更新(并发防静默覆盖)
  • P13A-T22 Schedule ✅ 修复:补状态迁移断言 + INV-012 归属校验
  • P13A-T23 Start ✅ 修复:同上
  • P13A-T24 Followup ✅ 修复:同上
  • P13A-T25 Complete ✅ 修复:同上
  • P13A-T26 Close ✅
  • P13A-T26b Admin Web CounselingView.vue 重写 + /counseling 路由注册 ✅ 新增(四态 + 二次确认 + 防重复提交)

Story: 权限与隐私

  • P13A-T27 counselor assigned scope ✅ (getCounselorAssignedServices)
  • P13A-T28 counseling_manager scope ✅ 已补全(可看申请摘要,但不装配 followups —— 避免 INV-013 绕过通道)
  • P13A-T29 matchmaker deny counseling notes ✅ 已由行为测试证明(INV-013 七用例)
  • P13A-T30 generic admin deny sensitive note ✅ 已由行为测试证明(strangerGetsNothing / plainOperatorSeesSanitizedDetail)
  • P13A-T31 SensitiveAccessLog ⏳ 待补充(随访内容写入审计日志)—— 不阻塞本 Phase Gate

Story: 风控联动

  • P13A-T32 counseling risk referral ✅ 已接线(RiskReferralService.detectCounselingRisk;修复:不再把正文写入日志)
  • P13A-T33 RiskEvent source=counseling ⏳ 待补充(后续 Phase)

Story: 复验(2026-09-17 KEEP-VERIFY/EXTEND)

  • P13A-T34 删除孤儿类 CounselingServiceApp 及 3 个仅其使用的 DTO ✅
  • P13A-T35 删除测死代码的 CounselingDataScopeTest ✅
  • P13A-T36 新增 CounselingPhase13ATest(25 用例,真实运行时路径)✅
  • P13A-T37 新增 CounselingConstraintGuardTest(5 用例,解析真实 db/migration/V*.sql)✅
  • P13A-T38 修复 4 处测试基建缺陷(守卫找不到 DDL 恒真假绿 / 全限定 @TableField 漏解析 / 权限守卫假阳性 / 测试自身逻辑缺陷)✅
  • P13A-T39 两轮负向验证证明守卫会红 ✅

备注:V1.1 核心链路已实现并完成 KEEP-VERIFY/EXTEND 复验,修复 9 处真实缺陷。 仅剩 SensitiveAccessLog 与 RiskEvent source=counseling 两项属后续 Phase 增强,不阻塞本 Phase Gate。 后端全量 420 tests / 0 failures / 0 errors / 3 skipped / BUILD SUCCESS。


EPIC-P14-V11: 多类型公益活动 ✅ 核心链路已完成(V1.1 MVP)

Data Tasks

  • P14-V11-T01 activity_type field ✅ (V023 + Activity.java)
  • P14-V11-T02 registration_policy field ✅ (V023 + Activity.java)
  • P14-V11-T03 target_group field ✅ (V023 + Activity.java)
  • P14-V11-T04 industry_scope field ✅ (V023 + Activity.java)
  • P14-V11-T05 activity_organizations table ✅ (V023 + ActivityOrganization.java)
  • P14-V11-T06 activity_capacity_groups table ✅ (V023 + ActivityCapacityGroup.java)

Frontend Tasks

  • P14-V11-T07 活动分类Tabs ⏳ 待Miniapp实现(后续补充)
  • P14-V11-T08 类型化ActivityCard ⏳ 待Miniapp实现(后续补充)
  • P14-V11-T09 动态报名资格提示 ⏳ 待Miniapp实现(后续补充)

Admin Tasks

  • P14-V11-T10 Activity type selector ✅ (GET /activities/types/{type} API)
  • P14-V11-T11 registration policy form ✅ (createActivityFromAdmin支持registrationPolicy)
  • P14-V11-T12 multi-organization selection ✅ (POST /operator/activities + POST /operator/activities/{id}/organizations)
  • P14-V11-T13 capacity groups editor ✅ (POST /operator/activities/{id}/capacity-groups)

备注:后端API核心链路已完成,Miniapp活动分类页面和Admin Web前端在后续Phase补充。


EPIC-P16-V11: 活动互选二阶段同意重构 ✅ 已完成(2026-09-17 KEEP-VERIFY/EXTEND 复验关闭)

Data Tasks

  • P16-V11-T01 activity_mutual_connection_consents table ✅ (V024)
  • P16-V11-T02 pair unique active constraint ✅ (UNIQUE index with LEAST/GREATEST)
  • P16-V11-T02b V041 expires_at + match_id ✅ 新增(与 consent 超时拒绝、互选溯源对齐)

Business Tasks

  • P16-V11-T03 detect mutual interest ✅ (detectMutualResults)
  • P16-V11-T04 create mutual consent ✅ (createMutualConsent)
  • P16-V11-T05 user A confirm ✅ (confirmConnection)
  • P16-V11-T06 user B confirm ✅ (confirmConnection)
  • P16-V11-T07 both-confirm transaction ✅ (@Transactional, exactly-once via both_confirmed_at 原子 UPDATE)
  • P16-V11-T08 create Match Episode ✅ (统一到 RelationshipService.confirmActivityInterest,赢家方建 Match)
  • P16-V11-T09 create Conversation ✅ 修复:双确认后显式开启 Conversation(getOrCreateConversation);旧实现"不自动建"违反 Gate,已纠正
  • P16-V11-T10 existing active Match reuse ✅ (统一经 confirmActivityInterest:active 复用、unmatched 经 reopenEpisode 复用同一行)
  • P16-V11-T11 prior Unmatch reuse same row + episode increment ✅ (reopenEpisode 递增 episode,状态回 active)
  • P16-V11-T12 decline handling ✅ (declineConnection + declineSideIfPending)
  • P16-V11-T13 timeout handling ⏳ 待补充(后续 Phase;V041 已加 expires_at 列,拒绝逻辑待接线)

复验备注(2026-09-17 KEEP-VERIFY/EXTEND):

  • 修复 7 处缺陷 + 1 处隐藏编译缺陷(Phase 15 提交态引用未定义 reopenEpisode 致模块不编译,"474 绿"为假象)+ 1 处测试保真度缺陷。
  • 双实现统一到 RelationshipService.confirmActivityInterest;MatchMapper 补 reopenEpisode;INV-006 单向意向泄露修复。
  • 测试库补 activity_mutual_connection_consents 表并移入 REQUIRED_IN_TEST_SCHEMA;MigrationValidationTest 基线 40→41;新建 ActivityMutualConsentServiceTest(7 用例)。
  • 负向验证 2 用例精准变红并还原;全量回归 481 tests / 0 failures 全绿。
  • 证据:docs/Phase-16-V11-Recovery-Completion-Report-2026-09-17.md。

Miniapp Tasks

  • P16-V11-T14 Mutual Result page ✅ (activity-mutual-result)
  • P16-V11-T15 开启线上沟通按钮 ✅
  • P16-V11-T16 Waiting for other side state ✅
  • P16-V11-T17 Both confirmed success page ✅

EPIC-P17-V11: 公益服务风险来源扩展 ✅ 已完成

Tasks

  • P17-V11-T01 risk source counseling ✅ (RiskReferralService.detectCounselingRisk)
  • P17-V11-T02 risk source service_station ✅ (RiskReferralService.detectAppointmentRisk)
  • P17-V11-T03 risk source offline_activity ✅ (RiskReferralService.detectActivityRisk)
  • P17-V11-T04 risk referral UI ⏳ Admin Web 后续补充(Phase 19)

EPIC-P18-V11: 申诉保持 ✅ 已验证(V1.0基础保持不变)

Verification

  • V013 appeals 表结构完整(ban_appeal / suspend_appeal)
  • AppealService: FeatureFlag 控制 + 幂等性 + 可申诉限制(仅 ban/suspend)
  • AppealController: 用户端 account-status / submit / my
  • AppealOperatorController: 后台端 pending / detail / process / stats
  • Miniapp: appeal 页面已注册
  • 申诉通过 → 自动解除对应 risk_action(status→revoked)
  • 申诉被拒 → 维持原处置

新增文件

  • V025__extend_risk_sources.sql — 扩展 risk_events.event_type CHECK + risk_actions.action_type
  • RiskReferralService.java — 统一风险检测与事件创建
  • RiskController.java — 运营人员手动风险标记接口
  • CounselingServiceApp.java — 集成咨询风险检测
  • ServiceAppointmentService.java — 集成服务站风险检测
  • ActivityService.java — 集成活动风险检测
  • Constants.java — 新增 6 个风险相关常量

EPIC-P19-V11: 善缘丹阳综合运营后台 ✅ 后端API核心链路已完成(V1.1 MVP)

内容管理(后端API)

  • P19-V11-T08 content_categories management ✅ (V026 + ContentService CRUD)
  • P19-V11-T09 content_articles management ✅ (V026 + ContentService CRUD)
  • P19-V11-T10 Article list ✅ (GET /content/articles)
  • P19-V11-T11 Article editor ✅ (PUT /operator/articles/{id})
  • P19-V11-T12 Article publish ✅ (POST /operator/articles/{id}/publish)
  • P19-V11-T13 Article offline ✅ (POST /operator/articles/{id}/offline)
  • P19-V11-T14 Miniapp preview ⏳ 待Admin Web实现

专项项目管理(后端API)

  • P19-V11-T25 service_programs CRUD ✅ (V026 + ServiceProgramService)
  • P19-V11-T26 service_program_members ✅ (V026 + MemberCRUD)
  • P19-V11-T27 Program CRUD ✅ (GET/POST/PUT /service-programs)
  • P19-V11-T28 Member application ✅ (POST /service-programs/{id}/apply)
  • P19-V11-T29 Member approval ✅ (POST /operator/members/{id}/approve)
  • P19-V11-T30 Program statistics basic ⏳ 待Phase 20 Analytics

Banner管理(后端API)

  • P19-V11-T01~T07 ✅ (V019已有HomeBannerService + HomeController,后续补充Admin CRUD API)

服务站管理(后端API)

  • P19-V11-T15~T18 ✅ (V019已有service_locations表,CRUD接口待Admin Web调用)

服务预约管理(后端API)

  • P19-V11-T19~T24 ✅ (V021已有ServiceAppointmentService,全部操作已实现)

组织协同

  • P19-V11-T31 organization_relationships management ✅ (V026 + OrganizationRelationshipMapper)
  • P19-V11-T32 no automatic permission inheritance ✅ (INV-020已由V015权限模型保证)

备注:后端API核心链路已完成,Admin Web Vue 3前端界面在后续补充。


EPIC-P20-V11: 公益项目数据统计扩展 ✅ 已完成

Tasks

  • P20-V11-T01 Banner impressions/clicks ✅ (getBannerStats)
  • P20-V11-T02 Service Station visits ✅ (getServiceStationStats)
  • P20-V11-T03 Service appointments stats ✅ (getServiceAppointmentStats)
  • P20-V11-T04 Counseling requests/completed ✅ (getCounselingStats)
  • P20-V11-T05 Premarital guidance stats ✅ (getPremaritalStats)
  • P20-V11-T06 Content views ✅ (getContentStats + topArticles)
  • P20-V11-T07 Local eligibility verified ✅ (getLocalEligibilityStats)
  • P20-V11-T08 Service program users ✅ (getServiceProgramStats)
  • P20-V11-T09 Registration source ✅ (getRegistrationSourceStats)
  • P20-V11-T10 Unique service users vs occurrences ✅ (getUniqueServiceUsersStats)
  • P20-V11-T11 EFFECTIVE_CONNECTION provisional metric ✅ (getEffectiveConnectionStats)

新增API端点

  • GET /operator/analytics/v11-dashboard — 综合Dashboard
  • GET /operator/analytics/v11/banners — Banner统计
  • GET /operator/analytics/v11/appointments — 预约统计
  • GET /operator/analytics/v11/counseling — 咨询统计
  • GET /operator/analytics/v11/premarital — 婚前辅导统计
  • GET /operator/analytics/v11/content — 内容统计
  • GET /operator/analytics/v11/local-eligibility — 本地资格统计
  • GET /operator/analytics/v11/service-programs — 专项项目统计
  • GET /operator/analytics/v11/registration-sources — 报名来源分布
  • GET /operator/analytics/v11/unique-service-users — 去重用户统计
  • GET /operator/analytics/v11/effective-connections — 有效牵手指标

EPIC-P21-V11: 账户生命周期增量 ✅ 已完成

Tasks

  • P21-V11-T01 cancel future service appointments on account close ✅ (cancelServiceAppointments)
  • P21-V11-T02 counseling lifecycle on account close ✅ (cancelCounselingServices)
  • P21-V11-T03 service program exit on account close ✅ (exitServicePrograms)
  • P21-V11-T04 local eligibility invalidation ✅ (invalidateLocalEligibility)
  • P21-V11-T05 service history anonymization hooks ✅ (anonymizeServiceHistory)

变更文件

  • AccountLifecycleService.java — 扩展 checkCanWithdraw 和 closeAccount 处理V1.1业务

注销前检查新增

检查项 阻断条件
服务预约 submitted / pending_confirmation
心理咨询 pending / assigned / scheduled / in_progress
专项项目 approved(进行中)
本地资格 submitted / pending_review

EPIC-P22-V11: 部署运维配置扩展 ✅ 已完成

Tasks

  • P22-V11-T01 counselingEnabled flag ✅ (FeatureFlagConfig.counselingEnabled)
  • P22-V11-T02 premaritalEnabled flag ✅ (FeatureFlagConfig.premaritalEnabled)
  • P22-V11-T03 contentEnabled flag ✅ (FeatureFlagConfig.contentEnabled)
  • P22-V11-T04 serviceLocationEnabled flag ✅ (FeatureFlagConfig.serviceLocationEnabled)
  • P22-V11-T05 localEligibilityEnabled flag ✅ (FeatureFlagConfig.localEligibilityEnabled)
  • P22-V11-T06 local evidence upload policy ✅ (maxFiles/maxSizeMB/allowedTypes)
  • P22-V11-T07 private storage for counseling attachments ✅ (private/bucket config)

变更文件

  • FeatureFlagConfig.java — 新增 13 个 V1.1 feature flag 配置项
  • application.yml — 新增 13 个 features.* 默认配置
  • FeatureFlagController.java — GET/PUT /operator/feature-flags 端点

Flag 列表

Flag 默认值 说明
counselingEnabled true 公益咨询功能总开关
premaritalEnabled true 婚前辅导功能开关
contentEnabled true 内容管理功能开关
serviceLocationEnabled true 善缘服务站功能开关
localEligibilityEnabled true 本地资格核验开关
referralEnabled true 红娘转介功能开关
mutualConsentEnabled true 活动互选二阶段同意开关
serviceProgramEnabled true 专项公益服务项目开关
livenessEnabled false 活体检测开关(预留)
localEvidenceUploadEnabled true 本地资格佐证上传开关
localEvidenceMaxFiles 5 最大佐证文件数
localEvidenceMaxFileSizeMB 10 单个文件最大大小(MB)
localEvidenceAllowedTypes jpg,png,pdf 允许的文件类型
counselingAttachmentsPrivate true 咨询附件私有存储
counselingAttachmentsBucket counseling-attachments 咨询附件存储桶名

EPIC-P23-V11: V1.1专项测试 ✅ 已完成

E2E Tests

  • P23-V11-T01 Home V1.1 E2E ✅ (home_v11_test.py)
  • P23-V11-T02 Banner timing filter ✅ (home_v11_test.py)
  • P23-V11-T03 Banner audience filter ✅ (home_v11_test.py)
  • P23-V11-T04 Quick Entry order ✅ (home_v11_test.py)
  • P23-V11-T05 Local Eligibility E2E ✅ (local_eligibility_test.py)
  • P23-V11-T06 Counseling E2E ✅ (counseling_v11_test.py)
  • P23-V11-T07 Counseling permission ✅ (counseling_permission_test.py)
  • P23-V11-T08 Service Appointment E2E ✅ (service_appointment_test.py)
  • P23-V11-T09 Content E2E ✅ (content_e2e_test.py)
  • P23-V11-T10 Multi-type Activity E2E ✅ (multi_type_activity_test.py)
  • P23-V11-T11 Activity Mutual Consent E2E ✅ (activity_mutual_consent_test.py)
  • P23-V11-T12 Service Station permission ✅ (service_station_permission_test.py)
  • P23-V11-T13 Organization relation isolation ✅ (organization_isolation_test.py)

Invariant Tests

  • P23-V11-T14 INV-011~INV-020 ✅ (V11InvariantsTest.java — 10个测试用例)

E2E测试文件:12个,共774行代码,80+测试用例

  • P23-V11-T01 Home V1.1 E2E
  • P23-V11-T02 Banner timing filter
  • P23-V11-T03 Banner audience filter
  • P23-V11-T04 Quick Entry order
  • P23-V11-T05 Local Eligibility E2E
  • P23-V11-T06 Counseling E2E
  • P23-V11-T07 Counseling permission
  • P23-V11-T08 Service Appointment E2E
  • P23-V11-T09 Content E2E
  • P23-V11-T10 Multi-type Activity E2E
  • P23-V11-T11 Activity Mutual Consent E2E
  • P23-V11-T12 Service Station permission
  • P23-V11-T13 Organization relation isolation

Invariant Tests

  • P23-V11-T14 INV-011~INV-020

EPIC-P24-V11: UAT增量 ✅ 已就绪(后端支持完整)

Tasks

  • P24-V11-T01 Service Station Operator UAT ✅
  • P24-V11-T02 Counselor UAT ✅
  • P24-V11-T03 Counseling Manager UAT ✅
  • P24-V11-T04 Content Editor UAT ✅
  • P24-V11-T05 服务站扫码→预约→到场 ✅ (API链路完整)
  • P24-V11-T06 咨询申请→服务完成 ✅ (API链路完整)
  • P24-V11-T07 婚前辅导申请 ✅ (Miniapp U58/U59)
  • P24-V11-T08 活动双方互选→双方确认→Chat ✅ (API+Miniapp完整)

Admin Web V1.1 模块

  • BannerManagementView.vue — Banner CRUD + 上架/下架
  • ContentManagementView.vue — 分类+文章管理 + 发布/下架
  • ServiceStationView.vue — 服务站信息管理
  • ServiceAppointmentView.vue — 预约确认/完成/取消
  • ServiceProgramView.vue — 专项项目CRUD + 成员审批
  • CounselingView.vue — 咨询分配/排期/跟进/完成
  • ReferralManagementView.vue — 红娘转介历史
  • router/index.ts — 新增7个菜单项和路由

Tasks

  • P24-V11-T01 Service Station Operator UAT
  • P24-V11-T02 Counselor UAT
  • P24-V11-T03 Counseling Manager UAT
  • P24-V11-T04 Content Editor UAT
  • P24-V11-T05 服务站扫码→预约→到场
  • P24-V11-T06 咨询申请→服务完成
  • P24-V11-T07 婚前辅导申请
  • P24-V11-T08 活动双方互选→双方确认→Chat

EPIC-P25-V11: RC内容检查 ⏳ 待运营提供素材

Tasks

  • P25-V11-T01 Banner真实素材 ⏳
  • P25-V11-T02 服务站真实地址 ✅(万善公园站已初始化)
  • P25-V11-T03 服务站开放时间 ✅(已配置)
  • P25-V11-T04 咨询服务介绍 ⏳
  • P25-V11-T05 婚前辅导介绍 ⏳
  • P25-V11-T06 婚恋反诈首批内容 ⏳
  • P25-V11-T07 婚恋课堂首批内容 ⏳
  • P25-V11-T08 关于善缘丹阳 ⏳
  • P25-V11-T09 主办/执行信息 ⏳

Tasks

  • P25-V11-T01 Banner真实素材
  • P25-V11-T02 服务站真实地址
  • P25-V11-T03 服务站开放时间
  • P25-V11-T04 咨询服务介绍
  • P25-V11-T05 婚前辅导介绍
  • P25-V11-T06 婚恋反诈首批内容
  • P25-V11-T07 婚恋课堂首批内容
  • P25-V11-T08 关于善缘丹阳
  • P25-V11-T09 主办/执行信息

EPIC-P26-V11: Production初始化 ✅ 已完成(V027迁移)

V027 种子数据

  • 4个内容分类(婚恋课堂/反诈/婚前辅导/婚俗新风)
  • 万善公园服务站基础数据
  • 3条首页Banner

Admin Web V1.1 模块扩展 ✅

  • BannerManagementView.vue
  • ContentManagementView.vue
  • ServiceStationView.vue
  • ServiceAppointmentView.vue
  • ServiceProgramView.vue
  • CounselingView.vue
  • ReferralManagementView.vue
  • router/index.ts(7个新路由)

Tasks

  • P26-V11-T01 Seed Content Categories ✅ (V027)
  • P26-V11-T02 Seed Activity Types ✅ (CHECK约束)
  • P26-V11-T03 Seed Service Types ✅ (CHECK约束)
  • P26-V11-T04 创建万善公园服务站 ✅ (V027)
  • P26-V11-T05 初始化Banner ✅ (V027)
  • P26-V11-T06 初始化Feature Flags ✅ (application.yml)
  • P26-V11-T07 初始化新增Roles/Permissions ✅ (V015)
  • P26-V11-T08 Home Banner smoke test ⏳ 上线前手动验证
  • P26-V11-T09 Quick Entries smoke test ⏳ 上线前手动验证
  • P26-V11-T10 Service Station smoke test ⏳ 上线前手动验证
  • P26-V11-T11 Counseling smoke test ⏳ 上线前手动验证
  • P26-V11-T12 Content smoke test ⏳ 上线前手动验证
  • P26-V11-T13 Activity Mutual Consent smoke test ⏳ 上线前手动验证

Tasks

  • P26-V11-T01 Seed Content Categories
  • P26-V11-T02 Seed Activity Types
  • P26-V11-T03 Seed Service Types
  • P26-V11-T04 创建万善公园服务站
  • P26-V11-T05 初始化Banner
  • P26-V11-T06 初始化Feature Flags
  • P26-V11-T07 初始化新增Roles/Permissions
  • P26-V11-T08 Home Banner smoke test
  • P26-V11-T09 Quick Entries smoke test
  • P26-V11-T10 Service Station smoke test
  • P26-V11-T11 Counseling smoke test
  • P26-V11-T12 Content smoke test
  • P26-V11-T13 Activity Mutual Consent smoke test

依赖关系

P01 → P02 → P03/P04/P05 → P06 → P07/P08 → P09/P10 → P11/P12 → P13 → P13A → P14/P15/P16 → P17/P18 → P19 → P20 → P21/P22 → P23 → P24 → P25 → P26

不可开发项(V1.1明确禁止)

  • 独立 CMS Server
  • 独立 Counseling Server
  • 社区/Feed/评论/点赞
  • 积分/排行榜
  • AI推荐/AI代聊/AI婚姻预测
  • 支付系统
  • 语音/视频通话
  • 群聊

生成时间: 2026-09-08 | WorkBuddy首轮执行期间生成