# 善缘丹阳 V1.1 Jira Backlog > V1.0 Phase 01~26 基础 + V1.1 增量任务合并基线 > 版本:v1.1.0-dev | 最后更新:2026-09-08 > **2026-09-16 状态校正:** Phase 07 UI 已按 2026-09-13 规格重新实现,**首批 11 页于 2026-09-16 通过用户验收(结论:基本达标)**,本文件此前"视觉否决/REOPENED"口径随之关闭。 > > **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 尚未获准 | | 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: 公益婚恋咨询与婚前辅导 ✅ 核心链路已完成(V1.1 MVP) ### Story: 数据模型 - P13A-T01 counseling_services migration ✅ (V022) - P13A-T02 counseling_followups migration ✅ (V022) - P13A-T03 indexes ✅ (V022) - P13A-T04 migration tests ⏳ 待补全 ### Story: 用户咨询 - P13A-T05 GET counseling service intro ✅ - P13A-T06 POST counseling request ✅ - P13A-T07 GET my counseling ✅ - P13A-T08 GET counseling detail ✅ - P13A-T09 cancel counseling ✅ ### 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 ✅ (companionUserId 字段) ### Story: Miniapp - P13A-T14 U55 婚恋咨询介绍 ✅ - P13A-T15 U56 申请咨询 ✅ - P13A-T16 U57 我的咨询 ✅ - P13A-T17 U58 婚前辅导介绍 ✅ - P13A-T18 U59 婚前辅导申请 ✅ ### Story: 后台 - P13A-T19 Counseling Queue ✅ (getPendingQueue) - P13A-T20 Counseling Detail ✅ (getCounselingDetail) - P13A-T21 Assign Counselor ✅ - P13A-T22 Schedule ✅ - P13A-T23 Start ✅ - P13A-T24 Followup ✅ - P13A-T25 Complete ✅ - P13A-T26 Close ✅ ### Story: 权限与隐私 - P13A-T27 counselor assigned scope ✅ (getCounselorAssignedServices) - P13A-T28 counseling_manager scope ⏳ 待补充(Admin Web Phase 19) - P13A-T29 matchmaker deny counseling notes ✅ (常量隔离,INV-013) - P13A-T30 generic admin deny sensitive note ⏳ 待补充(Admin Web Phase 19) - P13A-T31 SensitiveAccessLog ⏳ 待补充(随访内容写入审计日志) ### Story: 风控联动 - P13A-T32 counseling risk referral ⏳ 待补充(后续 Phase) - P13A-T33 RiskEvent source=counseling ⏳ 待补充(后续 Phase) **备注**:V1.1 MVP 核心链路已实现,Admin Web 前端、高级权限细分、风控联动在后续 Phase 补充。 --- ## 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: 活动互选二阶段同意重构 ✅ 核心链路已完成(V1.1 MVP) ### Data Tasks - P16-V11-T01 activity_mutual_connection_consents table ✅ (V024) - P16-V11-T02 pair unique active constraint ✅ (UNIQUE index with LEAST/GREATEST) ### 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) - P16-V11-T08 create Match Episode ✅ (existing RelationshipService.confirmActivityInterest) - P16-V11-T09 create Conversation ✅ (not auto-created, per INV-015) - P16-V11-T10 existing active Match reuse ✅ (hasActiveMatch check) - P16-V11-T11 prior Unmatch new episode ✅ (findLatestMatch + priorUnmatchExists) - P16-V11-T12 decline handling ✅ (declineConnection) - P16-V11-T13 timeout handling ⏳ 待补充(后续Phase) ### 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首轮执行期间生成*