Files
danyang-match/docs/STATUS.md
T
WorkBuddy 4e478ce6ba fix(invariants): Phase 08 复验 —— 修复 INV-004 搜索/详情绕过 Block + matches.source 取值越界
复验(KEEP-VERIFY)在既有 Phase 08 实现中发现 3 处真实缺陷并修复:

D1(严重)DiscoverService.searchUsers 不含查看者身份,查询条件既无排除自己也无任何 Block 条件,被拉黑者仍可被搜到并点开 —— INV-004「搜索不可见」整体失效。改为接收 viewerUserId,排除自己,并用新增的 UserRelationMapper.findBlockedUserIdsBothWays(UNION 双向)一次取回后 notIn 批量排除,避免 N+1。

D2 详情路径(DiscoverService / UserProfileService)均无 Block 判断,知道 userId 即可读到被拉黑者资料。两条路径统一加双向判断并返回 null,由 Controller 转 404(不用「已隐藏」以免被用来探测存在);UserProfileService 中该判断排在隐私设置之前,拉黑不能被对方「允许搜索可见」覆盖。

D3(潜伏,仅 PostgreSQL 暴露)RelationshipService.like() 把关系类型值 "liked" 当 match source 写入 matches.source,违反 V003:91 的 chk_match_source。测试库 schema-h2.sql 该列是裸 VARCHAR(32)、无约束,故长期静默通过。改传 MATCH_SOURCE_USER_LIKE。canonical 路径 RelationService.like 传值本就正确,线上未触发。

测试保真度对齐:schema-h2.sql 补 chk_match_source(与 V003 逐字对齐)与 user_profiles 表(此前测试库无此表,资料查询无法端到端测试)。

新增 DiscoverBlockInvisibilityIntegrationTest(9 用例,@SpringBootTest 真实 H2 + 真实 SQL),覆盖正向/反向拉黑、对称性、排除自己、详情 404 与查自己不受限。P0FixVerificationTest 补 source 回归守卫。DiscoverServiceTest 同步构造签名。

负向验证:临时还原 D3 修复后,4 个用例因 CHK_MATCH_SOURCE 约束违反报错,证明守卫有效。

证据:后端全量 308 tests / 0 failures / 0 errors / 3 skipped(基线 299);UI 契约 13/13 GREEN。报告 docs/Phase-08-V11-Recovery-Completion-Report-2026-09-16.md。

同步 STATUS.md / JIRA_BACKLOG.md(EPIC-P08-V11 置 ✅)/ 客户需求基线计划 Phase 08 复选框;首轮报告加状态注记(其「Known Issues 无」已被推翻)。.gitignore 忽略 .workbuddy/。
2026-09-16 15:11:38 +08:00

25 KiB
Raw Blame History

项目状态跟踪 — STATUS.md

2026-09-16 当前有效结论:V1.1 INCREMENTAL RECOVERY PHASE 4 COMPLETE / UI REDESIGN ACCEPTED BY USER / PHASE 08 RECOVERY CLOSED / GIT CLEAN。

阶段 0(在途收口)、阶段 1(小程序 C 组 + discover 筛选重设计)、阶段 2(管理端 Vue 新框架适配)、阶段 3(CapabilityService 独立化)、阶段 4(双端总验收)全部完成。三端构建通过、13/13 契约全绿、核心 11 页面全部 TS-only(11/11)。后端全量回归已清偿(308 tests / 0 failures / 0 errors)。UI 重设计首批 11 页已于 2026-09-16 通过用户验收(结论:基本达标);/me/* 前后端契约同轮收敛,17 个 404 调用已恢复。Phase 08(Like / Match / Block)复验关闭,期间修复 3 处真实缺陷并补齐测试库的生产约束保真度。

最后更新: 2026-09-16 — 分支 main(feat-ui-v11 保留为冗余锚点)

当前唯一有效状态

当前有效项 状态 证据
Phase 01~06 Recovery 已完成 各 Phase Completion Report;38+9+3+4+21 后端专项通过
Phase 07 V1.1 首页业务与找对象 业务+UI 已通过用户验收(2026-09-16) HomeApplicationService 真实聚合;CapabilityService 独立化;discover 筛选完整重设计(5 chip + 4 section + 底部抽屉 + 滚动定位高亮);UI 按 2026-09-13 规格重新实现,11 页经用户验收通过
Phase 08 V1.1 Like / Match / Block 已完成(2026-09-16) KEEP-VERIFY 复验。修复 3 处真实缺陷:① DiscoverService.searchUsers 无查看者身份 → INV-004「搜索不可见」整体失效;② 详情路径无 Block 判断;③ RelationshipService.like() 把 "liked" 当 match source 写库 → 违反 V003 chk_match_source(H2 测试库无该约束故长期静默)。新增 DiscoverBlockInvisibilityIntegrationTest(9 用例,含反向拉黑);schema-h2.sql 补齐生产约束与 user_profiles;负向验证确认守卫会红。报告:docs/Phase-08-V11-Recovery-Completion-Report-2026-09-16.md
阶段 0 在途收口 已完成 56 个改动分类提交为 7 个 commit;Git 清零;Flyway 实际 V035 已登记
阶段 1 小程序 C 组 + discover 已完成 C 组 content/anti-fraud/service-station 迁 TS 唯一源;discover 筛选从参数到 UI 完整重写
阶段 2 管理端 Vue 适配 已完成 18 modules + 22 routes + vue-tsc 全绿 + vite build 11.68s
阶段 3 CapabilityService 独立化 已完成 New capability 模块:CapabilityService(getCapabilities + 公共判断方法)+ CapabilityController(GET /api/v1/capabilities);HomeApplicationService 完全委托
阶段 4 双端总验收 已完成(2026-09-14) 三端构建全绿 + 13/13 契约全绿 + 源码健康检查通过;验收报告见 docs/superpowers/plans/2026-09-14-phase4-acceptance-report.md
Flyway 迁移 V001~V035 V028~V035 已纳入 STATUS
Backend 全量回归 已清偿(2026-09-16) 离线容器(danyang-match-backend-test)运行:308 tests / 0 failures / 0 errors / 3 skipped / BUILD SUCCESS;含 CanonicalRouteContractTest、ChatContractJsonTest、MeRouteContractTest 与新增 DiscoverBlockInvisibilityIntegrationTest
路由/字段契约收敛 已完成(2026-09-15) 字段:会话 target* + sentAt + relationStatus(commit 687a156);路径:采用 2026-09-14 canonical(/likes /passes /blocks /matches,缘分保留 /relations/fate/*),旧路径与 success 桩实现已移除;裁决由 CanonicalRouteContractTest 锁定
/me/* 路径族 已完成(2026-09-16) 小程序按 REST 规范(§16 / §22-§40 / §80 / §83-§84)调用 /me/*,后端此前无 /me 基路径致 17 个调用 404。新增 MeController 委托既有 service 暴露规范路径,旧路径全部保留,小程序三条历史写法(/me/privacy-settings、/me/photos/{id}/main、/me/appeals)一并兼容;由 MeRouteContractTest 锁定
Admin Web 验证通过 2026-09-14 阶段 4:vue-tsc ✅、vite build ✅ 11.68s;18 modules 齐全;壳层+工作台通过参考图 QA
Miniapp 验证通过 2026-09-16:tsc ✅;11 核心页全部 TS-only(11/11);首批 11 页于 2026-09-16 通过用户验收;discover 筛选重设计已通过 DevTools 验证
UI 契约测试 13/13 通过 2026-09-16 运行:全部退出码 0;含 capability 独立化适配与文档基线口径
Git 工作区 已清零 阶段 0~4 共 24+ commit 可追溯;git status --porcelain 0 行
核心待清债务 0 项 已全部清偿:3 页 JS→TS 迁移、backend 全量回归(299 tests)、DevTools 真机截图留档(2026-09-14)、/me/* 路径族收敛(2026-09-16)
UAT / RC / Production UI 验收通过,前后端契约已收敛,Phase 08 已关闭 双端构建/契约/源码全部通过;UI 首批 11 页 2026-09-16 通过用户验收;/me/* 契约同轮收敛;Phase 08 复验通过并关闭,可推进 Phase 09(需用户确认后启动)

版本演进

版本 日期 说明
1.0.0-RC.2 2026-09-01 V1.0 核心功能冻结
1.1.0-dev 2026-09-08 V1.1 基线搭建启动(Phase 01 进行中)

V1.0 基线状态

历史记录边界: 从本节起至文件末尾均为 2026-09-09 重新审查前的开发日志,仅用于追溯,不代表当前验收状态;其中所有 ✅、已完成、已部署、测试数量和运行地址均须在对应新 Phase Completion Report 中重新举证。当前唯一有效状态如下。

当前有效项 状态 证据
Phase 01 项目治理与检查基线 已交付,带阻断 scripts/verify-phase01.ps1 可重复执行并真实返回 5 个失败门禁;详见 Phase-01-V11-Recovery-Completion-Report-2026-09-09.md
Git 基线 阻断 当前目录及父目录均无 .git,未擅自初始化新仓库
Admin Web 部分通过 production build 通过;type-check 失败(3 个错误)
Miniapp 失败 TypeScript 检查失败(27 个错误)
Backend 未验证 本机无 JDK/Maven,Docker Desktop 当前未运行
V1.1 E2E 失败 1 passed、26 failed、48 errors、9 warnings
Phase 02 及以后 未开始 等待 Phase 01 门禁确认
UAT / RC / Production NO-GO 构建、权限、E2E 与页面闭环未通过

历史状态记录(仅供追溯,不作为验收证据)

Phase 名称 状态
P01~P26 全部核心功能 已完成 ✅
不变量 INV-001~010 核心不变量 23/23 通过 ✅
权限矩阵 9角色×18权限 RBAC+DataScope 已通过 ✅
API 测试 16/16 通过 ✅
代码审查问题 16项 全部清零 ✅
Demo数据 12用户+活动+红娘 已就绪 ✅

V1.1 当前进度

Phase 01 — V1.1 基线搭建 ✅ 已完成

任务 状态
AGENTS.md 更新至 V1.1 ✅
STATUS.md 更新至 v1.1.0-dev ✅
PENDING_DECISIONS.md 新增V1.1 pending ✅
JIRA_BACKLOG.md 创建 ✅
测试骨架(6个spec文件) ✅
Phase-01-V11-Completion-Report ✅

Phase 02 — Auth + Operator + RBAC 扩展 ✅ 已完成

任务 状态
V015 迁移:4角色+30权限 ✅
Demo Seed 扩展:3新操作员 ✅
角色权限分配(含边界约束) ✅
JIRA_BACKLOG 更新 ✅

Phase 03 — 实名认证扩展(人脸核验预留) ✅ 已完成

任务 状态
V016 迁移:verification_level/liveness/provider ✅
UserIdentity 实体扩展 ✅
Feature Flag 系统配置(8项) ✅
Demo Seed 扩展 ✅

Phase 04 — Profile + Preference + 本地资格 ✅ 已完成

任务 状态
V017 迁移:local_eligibility 表 ✅
Entity + Mapper(LocalEligibility/Evidence) ✅
API:GET/POST declaration/evidences/submit ✅
/me/status 扩展 localEligibilityStatus ✅
Miniapp U62 本地资格说明页 ✅
Miniapp U63 本地资格补充页 ✅
AuthService 注入 LocalEligibilityMapper ✅

Phase 05 — 审核模块扩展(本地资格) ✅ 已完成

任务 状态
V018 迁移:review_type 扩展 local_eligibility ✅
ReviewService 新增本地资格审核方法 ✅
LocalEligibilityService 集成审核流程 ✅
SensitiveAccessLog 佐证访问审计 ✅
Constants 新增 REVIEW_TYPE_LOCAL_ELIGIBILITY ✅

Phase 06 — Match Engine 扩展(本地资格 Eligibility) ✅ 已完成

任务 状态
MatchEligibilityService 接入本地资格检查 ✅
MatchRuleConfigProperties 新增 localEligibilityRequired ✅
LocalEligibilityService 缓存失效处理 ✅
eligibility test matrix 扩展 ✅

Phase 07 — V1.1首页重构 + 找对象 ✅ 已完成

任务 状态
HomeApplicationService + HomeDTO ✅
GET /api/v1/home 聚合接口 ✅
V019 Banner + ServiceLocation 迁移 ✅
BannerService(时间/受众过滤) ✅
HomeController ✅
Miniapp 首页完整重构(U18 V1.1) ✅
5种用户状态首页适配 ✅

Phase 08 — Like / Match / Block ✅ 已完成(2026-09-16 复验关闭)

任务 状态
MATCH_SOURCE常量定义 ✅
createMatch 重载(autoCreateConversation参数) ✅
confirmActivityInterest 方法 ✅
ActivityInterest.hasMutualInterest 方法 ✅
ActivityInterestController 新增confirm接口 ✅
INV-014/015 不变量保障(不自动建Chat) ✅
通知文案更新(V1.1二阶段确认规则) ✅
INV-004 搜索不可见(双向)修复 ✅ 新增(复验发现原实现完全绕过 Block)
详情路径 Block 拦截(双向 → 404) ✅ 新增(复验发现两条详情路径均无检查)
matches.source 取值越界修复 ✅ 新增("liked" → MATCH_SOURCE_USER_LIKE)
测试库保真度对齐(chk_match_source + user_profiles) ✅ 新增
DiscoverBlockInvisibilityIntegrationTest(9 用例) ✅ 新增

Phase 09 — Text Chat 验证 ✅ 已完成

任务 状态
Activity Match source 聊天兼容性验证 ✅
消息幂等性验证(client_message_id唯一索引) ✅
INV-002/003 不变量验证 ✅
WebSocket 推送机制确认 ✅
REST Send + WS Receive 架构确认 ✅

Phase 10 — Image & Chat Safety ✅ 已完成

任务 状态
ChatController 限流检测集成 ✅
MessagingService 风险关键词检测接入 ✅
insertRiskNotice 高风险消息系统通知 ✅
sendChatSafetyTip 首次聊天安全提示 ✅
POST /messages/conversations/{id}/safety-tip API ✅
ChatController safety-tip 端点 ✅

Phase 11 — 公益服务通知扩展 ✅ 已完成

任务 状态
V020 迁移:通知类型扩展(6种新类型) ✅
Constants 新增 5 个 NOTIFICATION_TYPE ✅
NotificationService 新增 10 个业务通知方法 ✅
ReviewService 集成本地资格审核通知 ✅
隐私安全文案(中性化,不暴露敏感信息) ✅

Phase 13A — 公益婚恋咨询与婚前辅导(核心链路)✅ 已完成

任务 状态
V022 counseling_services + counseling_followups 迁移 ✅
CounselingServiceApp(Service/Controller/DTO) ✅
用户端 API:intro / create / list / detail / cancel ✅
后台 API:queue / assign / schedule / start / followup / complete / close ✅
INV-012 Counselor assigned scope 实现 ✅
Miniapp U55-U59 页面(咨询介绍/申请/我的/婚前辅导) ✅
app.json 路由注册 ✅
companionUserId 伴侣支持 ✅

Phase 13 — 公益红娘服务转介 ✅ 已完成

任务 状态
P13-V11-T01 转介婚恋咨询(service_type扩展 + request_source) ✅
P13-V11-T02 转介公益活动(activity_registrations.source字段) ✅
P13-V11-T03 转介善缘服务站(service_appointments表 + 转介追踪) ✅
P13-V11-T04 referral source tracking(Constants常量 + DB字段) ✅
P13-V11-T05 user consent/confirmation(confirmReferral 两阶段确认) ✅
V021 数据库迁移(service_appointments + activity_registrations扩展) ✅
ServiceAppointment Java 模块(Entity/Mapper/Service/Controller) ✅
ReferralService + ReferralController(转介核心逻辑) ✅
NotificationService 转介通知方法 ✅
Constants 新增转介来源常量 ✅
INV-005 红娘不可代用户操作验证 ✅

Phase 12 — 关系状态轻量扩展 ✅ 已完成

任务 状态
Successful首页服务建议(婚前辅导引导) ✅
GettingToKnow服务建议规则 ✅
Counseling recommendation rules ✅

V1.1 待实现模块(按 Phase 顺序)

模块 对应 Phase 状态
Home Aggregate API + V1.1首页 Phase 07 ✅ 已完成
Banner 管理(后端+前端) Phase 19 ⏳ 待开发
本地资格声明与审核 Phase 04~05 ⏳ 待开发
公益红娘服务转介 Phase 13 ✅ 已完成
婚恋咨询 + 婚前辅导(Phase 13A) Phase 13A ⏳ 待开发
内容管理(婚恋课堂/反诈) Phase 19 ⏳ 待开发
专项公益服务项目 Phase 19 ⏳ 待开发
V1.1新增不变量测试(INV-011~020) Phase 23 ⏳ 待开发

当前运行状态

管理后台: http://localhost:3000/  (凭证由本地环境变量或安全 Seed 提供)
API 网关: http://localhost:8085/api/v1/
PostgreSQL: localhost:5434 (danyang_match)
Redis: localhost:6381
MinIO: localhost:9003 (凭证由本地环境变量提供)

当前 Phase

Phase 14 — 多类型公益活动(核心链路)✅ 已完成

任务 状态
V023 activity_type/registration_policy/target_group/industry_scope 字段扩展 ✅
activity_organizations 多组织关联表 ✅
activity_capacity_groups 容量分组表 ✅
Activity Java实体扩展(6个新字段) ✅
ActivityOrganization + ActivityCapacityGroup 实体/Mapper ✅
ActivityService 新增4个V1.1方法 ✅
ActivityController 新增6个API端点 ✅
Constants 新增 ACTIVITY_TYPE_* + ORG_ROLE_* 常量 ✅

Phase 13A(公益婚恋咨询与婚前辅导)— 已完成 ✅

Phase 19 — 统一运营后台(后端API核心链路)✅ 已完成

任务 状态
V026 内容+专项项目+组织关系表 ✅
ContentService(分类/文章 CRUD + publish/offline) ✅
ServiceProgramService(项目CRUD + 成员审批) ✅
V021~V026 共6个迁移文件 ✅
Admin Web前端 ⏳ 后续补充

Phase 20 — Analytics数据统计扩展 ✅ 已完成

任务 状态
P20-T01~T11 全部11项统计指标 ✅
GET /operator/analytics/v11-dashboard 综合接口 ✅

Phase 20(Analytics数据统计扩展)— 已完成 ✅

Phase 21 — 账户生命周期增量 ✅ 已完成

任务 状态
P21-T01 注销时取消服务预约 ✅ (cancelServiceAppointments)
P21-T02 注销时取消咨询记录 ✅ (cancelCounselingServices)
P21-T03 注销时退出专项项目 ✅ (exitServicePrograms)
P21-T04 失效本地资格 ✅ (invalidateLocalEligibility)
P21-T05 服务历史脱敏钩子 ✅ (anonymizeServiceHistory)
checkCanWithdraw 扩展(V1.1业务检查) ✅

Phase 20(Analytics数据统计扩展)— 已完成 ✅

Phase 22 — 部署运维配置扩展 ✅ 已完成

任务 状态
P22-T01 counselingEnabled flag ✅
P22-T02 premaritalEnabled flag ✅
P22-T03 contentEnabled flag ✅
P22-T04 serviceLocationEnabled flag ✅
P22-T05 localEligibilityEnabled flag ✅
P22-T06 local evidence upload policy ✅ (maxFiles/maxSizeMB/allowedTypes)
P22-T07 private storage for counseling attachments ✅ (private/bucket)
FeatureFlagController API ✅ (GET/PUT /operator/feature-flags)
application.yml 默认配置 ✅ (15个V1.1 flag)

Phase 21(账户生命周期增量)— 已完成 ✅

Phase 22 — 部署运维配置扩展 ✅ 已完成

任务 状态
P22-T01 counselingEnabled flag ✅
P22-T02 premaritalEnabled flag ✅
P22-T03 contentEnabled flag ✅
P22-T04 serviceLocationEnabled flag ✅
P22-T05 localEligibilityEnabled flag ✅
P22-T06 local evidence upload policy ✅
P22-T07 private storage for counseling attachments ✅
FeatureFlagController API ✅
application-dev.yml + application-docker.yml 配置 ✅

Phase 21(账户生命周期增量)— 已完成 ✅

Phase 23 — V1.1专项测试 ✅ 已完成

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

E2E测试文件:10个(80+测试用例) Invariant测试:10个(INV-011INV-020)

Phase 22(部署运维配置扩展)— 已完成 ✅

Phase 24 — UAT增量 ✅ 已就绪(测试数据支持)

任务 状态
P24-T01 Service Station Operator UAT ✅ 测试数据已就位(stationop账号)
P24-T02 Counselor UAT ✅ 测试数据已就位(counselor01账号)
P24-T03 Counseling Manager UAT ✅ 角色权限已配置
P24-T04 Content Editor UAT ✅ 角色权限已配置
P24-T05 服务站扫码→预约→到场 ✅ API链路完整
P24-T06 咨询申请→服务完成 ✅ API链路完整
P24-T07 婚前辅导申请 ✅ Miniapp页面U58/U59完整
P24-T08 活动双方互选→双方确认→Chat ✅ API+Miniapp完整

备注:UAT需要人工操作验证,后端API和数据模型已全部就绪。

Phase 23(V1.1专项测试)— 已完成 ✅

Phase 25 — RC内容检查 ✅ 可执行

任务 状态
P25-T01~T09 真实素材填充 ⏳ 待运营提供内容
Banner真实素材 ⏳ 等待运营
服务站真实地址/开放时间 ✅ 已初始化万善公园站
咨询服务介绍 ✅ API已就绪
婚前辅导介绍 ✅ API已就绪
婚恋反诈首批内容 ⏳ 待运营提供
婚恋课堂首批内容 ⏳ 待运营提供
关于善缘丹阳 ⏳ 待运营提供
主办/执行信息 ⏳ 待运营提供

Phase 26 — Production初始化 ✅ 已完成

任务 状态
P26-T01 Seed Content Categories ✅ (V027)
P26-T02 Seed Activity Types ✅ (CHECK约束已定义)
P26-T03 Seed Service Types ✅ (CHECK约束已定义)
P26-T04 创建万善公园服务站 ✅ (V027)
P26-T05 初始化Banner ✅ (V027)
P26-T06 初始化Feature Flags ✅ (application.yml配置)
P26-T07 初始化新增Roles/Permissions ✅ (V015已覆盖)
P26-T08~T13 Smoke tests ⏳ 上线前手动验证

V027 生产种子数据迁移已创建,包含:

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

Phase 24(UAT增量)— 已就绪 ✅


整体进度总结

Phase范围 状态
Phase 01~12 (V1.0基线) ✅ 已完成
Phase 13~22 (V1.1核心增量) ✅ 已完成
Phase 23 (V1.1专项测试) ✅ 已完成
Phase 24~26 (UAT/RC/Production) ⏳ 运营/上线阶段

Phase 24 — UAT增量 ✅ 已就绪

任务 状态
P24-T01~T04 各角色UAT ✅ 权限模型已配置
P24-T05~T08 业务场景验收 ✅ API链路完整

Phase 25 — RC内容检查 ⏳ 待运营

任务 状态
P25-T01~T09 真实素材 ⏳ 需运营提供

Phase 26 — Production初始化 ✅ 已完成

任务 状态
P26-T01~T07 种子数据 ✅ (V027)
P26-T08~T13 Smoke测试 ⏳ 上线前手动验证

Admin Web V1.1 模块扩展 ✅ 已完成

模块 文件 说明
Banner管理 BannerManagementView.vue CRUD + 上架/下架
内容管理 ContentManagementView.vue 分类+文章CRUD + 发布/下架
善缘服务站 ServiceStationView.vue 站点信息编辑
服务预约 ServiceAppointmentView.vue 确认/完成/取消
专项项目 ServiceProgramView.vue CRUD + 成员审批
婚恋咨询 CounselingView.vue 分配/排期/跟进/完成
转介记录 ReferralManagementView.vue 转介历史查询
路由扩展 router/index.ts 7个新菜单+路由

V1.1 整体进度总结

类别 状态
数据库迁移 (V001~V027) ✅ 27个文件
后端 Java API ✅ 100% 完成
Miniapp 页面 (U55~U61) ✅ 7个新页面
E2E 测试 (12个文件) ✅ 80+用例
Invariant 测试 (INV-011~020) ✅ 10个用例
Feature Flag 配置 ✅ 15个V1.1开关
Admin Web V1.1 模块 ✅ 7个新页面
Admin Web 前端开发 ⏳ 需完善样式和联调

V1.1 核心功能 100% 完成,可进入 UAT 验收和上线准备阶段


已知限制

限制 说明
人脸核验 Feature Flag 预留,Provider 未确认
本地资格佐证触发规则 待运营确认
微信公众号审核 需人工操作
SSL证书 需人工申请
有效交友匹配报送口径 待运营确认

版本基线: 1.1.0-dev(2026-09-08)— V1.0 核心 100% 就绪,V1.1 增量开发中


V1.1 本地部署完成 (2026-09-09)

已修复的关键问题

  1. CounselingServiceApp 通知FK约束 — 新增UserMapper检查,operator用户跳过通知
  2. HomeController路径重复 — /api/v1/home → /home(与其他Controller一致)
  3. LocalEligibilityController路径重复 — /api/v1/local-eligibility → /local-eligibility
  4. 数据库updated_at列缺失 — 为18个表补充ALTER COLUMN

部署状态

测试结果: 11/11 PASS

健康检查、首页聚合、内容管理、服务预约、咨询创建、转介服务、V1.1仪表盘、Feature Flags、文章发布、活动列表、Admin Web

运营阶段遗留

  • Phase 24: UAT(需真实用户)
  • Phase 25: RC内容检查(需运营数据)
  • Phase 26: Production Smoke Tests(13项手动验证)

V1.1 本地部署完成 (2026-09-09)

修复的关键Bug

  1. CounselingServiceApp 通知FK约束 — operator用户不在users表,修复为检查后再发送通知
  2. HomeController路径重复 — @RequestMapping("/api/v1/home") → "/home"
  3. LocalEligibilityController路径重复 — 同上修复
  4. 数据库updated_at列缺失 — 为18个V1.1表补充ALTER COLUMN

部署架构

历史测试声明: 25/25 PASS(已失效,待可信测试重建)

  • 20个API端点全部正常
  • 3个业务操作(咨询创建/转介/文章)全部正常
  • Admin Web前端正常访问

运营商登录凭证

不在文档保存账号密码。开发/测试凭证由本地环境变量或安全 Seed 提供。

下一步: Phase 24-26 (UAT/RC/Production)

  • Phase 24: UAT — 需要真实用户参与测试
  • Phase 25: RC内容检查 — 运营团队填充真实内容
  • Phase 26: Production Smoke Tests — 13项手动验证

V1.1 本地部署完成 (2026-09-09)

修复的Bug (10项)

  • 后端: 咨询通知FK约束、HomeController路径重复、LocalEligibility路径重复、服务预约userId获取
  • 数据库: 18张表补充updated_at列
  • 前端: CounselingView/ContentManagementView截断、路由缺失、侧边栏菜单缺失

历史测试结果(重新审查后失效)

  • E2E 的 16/16 记录不能复现,测试文件存在大量空 pass。
  • API 人工测试未证明 Permission、DataScope 和业务闭环,不能作为上线依据。

运行中的服务

服务 地址 状态
后端API http://localhost:8085/api/v1 UP
Admin Web http://localhost:8086 UP
PostgreSQL localhost:5434 Healthy
Redis localhost:6381 Healthy
MinIO localhost:9003 Healthy

运营商账号

不在文档保存账号密码;使用本地环境变量或安全 Seed。

下一步: Phase 24-26 (需运营团队配合)