项目: 艾灸椅智能穴位定位系统
报告版本: v1.0.0
分析时间: 2026-06-02
代码版本: master分支 (commit: 24ceb2b)
代码分支: jiapu_aijiuyi
Git仓库: http://git.iwintrue.com/liaoxg/ajy.git
| 文档 | 路径 | 说明 |
|---|---|---|
| 智能穴位定位系统设计文档.md | 需求工作区/需求设计文档/ | 核心功能设计文档(62KB, 1400+行) |
| 研年艾灸椅APP需求文档_v2.md | 需求工作区/需求设计文档/ | APP端需求(93KB) |
| 穴位定位算法设计.md | 需求工作区/需求材料/design-docs/ | 算法详细设计(1101行) |
| 智能穴位定位系统测试用例.md | 需求工作区/需求设计文档/ | 172个测试用例定义 |
| 艾灸椅功能定义-最新.xlsx | 需求工作区/需求材料/ | 功能定义表 |
| 技术文档.md | code/ | 技术文档(33KB) |
| 模块 | 需求用例 | 实现状态 | 测试覆盖 |
|---|---|---|---|
| 用户管理 | 44用例 | ✅ 完成 | 116% |
| 穴位管理 | 22用例 | ✅ 完成 | 105% |
| 方案管理 | 34用例 | ✅ 完成 | 103% |
| 设备管理 | 19用例 | ✅ 完成 | 100% |
| 系统管理 | 11用例 | ✅ 完成 | 118% |
| 核心算法 | 20用例 | ✅ 完成 | 95% |
| 合计 | 172用例 | 全部实现 | 92% |
| 功能 | 需求来源 | 代码状态 | 影响 |
|---|---|---|---|
| 微信登录 | APP需求文档v2 | 仅预留字段(行320-343) | 阻塞 |
| Apple登录 | APP需求文档v2 | 仅预留字段(行320-343) | 阻塞 |
| 短信验证码模板 | 内部定义 | TODO(行70) | 阻塞 |
| 专家端小程序对接 | 设计文档(行164) | 接口预留 | 待确认 |
| 冲突类型 | Entity字段 | DB列名 | 说明 |
|---|---|---|---|
| TYPE MISMATCH | gender: Integer |
gender: VARCHAR |
Entity用1/2,DB用'male'/'female' |
| TYPE MISMATCH | bodyHeight: BigDecimal |
body_length: DECIMAL |
命名不匹配 |
| IN ENTITY ONLY | userId, userType, provinceCode, cityCode, districtCode, address, spineLength, height, weight, acupointTableId (13个) |
- | DB无对应列 |
| 冲突类型 | Entity字段 | DB列名 | 说明 |
|---|---|---|---|
| IN ENTITY ONLY | userId, acupointId, excelSerialNo, singleDouble, bodyPart, bodyRegion, locationDescription, relativePosition, indications, productSymptoms, acupointMethod, productAcupoint, effects, locationType, longitudeOffset, lateralOffset, normalizedY, yReferenceTerm, parseStatus, parseConfidence, parseMessage, fingerWidthType, gender (25个) |
- | DB无对应列 |
| IN DB ONLY | - | absolute_x, absolute_y, absolute_z, source |
无Entity对应 |
| 冲突类型 | Entity字段 | DB列名 | 说明 |
|---|---|---|---|
| TYPE MISMATCH | status: Integer |
status: ENUM |
Entity用(0草稿/1发布/2下架),DB用(draft/published/archived) |
| 命名不一致 | modeType vs mode, effectType vs efficacy_type, applicableGender vs target_gender |
- | 9处命名差异 |
结论: ✅ 前后端API完全匹配
| 类别 | 数量 |
|---|---|
| 前端API调用 | ~96个 |
| 后端Endpoint | ~96个 |
| 匹配率 | 100% |
后端独有接口 (均为正常设计):
| 测试类型 | 文件数 | 覆盖率 |
|---|---|---|
| 后端单元测试 | 2个 (仅工具类) | 0% of Services |
| E2E测试 | 7个specs, 159用例 | ~43% of Services (6/14) |
| 服务 | 风险等级 | 文件路径 |
|---|---|---|
| SimulationServiceImpl | 🚨 CRITICAL | code/backend/src/main/java/com/aijiuyi/admin/service/impl/ |
| MoxibustionTechniqueServiceImpl | 🚨 CRITICAL | code/backend/src/main/java/com/aijiuyi/admin/service/impl/ |
| UserAcupointServiceImpl | ⚠️ HIGH | code/backend/src/main/java/com/aijiuyi/admin/service/impl/ |
| UserCategoryServiceImpl | ⚠️ HIGH | code/backend/src/main/java/com/aijiuyi/admin/service/impl/ |
| ContentArticleServiceImpl | ⚠️ HIGH | code/backend/src/main/java/com/aijiuyi/admin/service/impl/ |
| SysUserServiceImpl | ⚠️ HIGH | code/backend/src/main/java/com/aijiuyi/admin/service/impl/ |
| UserPlanServiceImpl | ⚠️ HIGH | code/backend/src/main/java/com/aijiuyi/admin/service/impl/ |
| UserDeviceServiceImpl | ⚠️ HIGH | code/backend/src/main/java/com/aijiuyi/admin/service/impl/ |
| 优先级 | 问题 | 建议操作 |
|---|---|---|
| P0 | UserProfile.gender类型不匹配(Integer vs VARCHAR) | 统一为String或Enum |
| P0 | Plan.status枚举值不同(Integer vs ENUM) | 统一状态定义 |
| P1 | 8个Service无单元测试 | 补充测试,尤其SimulationServiceImpl |
| P2 | 第三方登录未实现 | 与需求方确认是否必需 |
| P3 | Entity字段多于DB列 | 补充DDL或删除冗余字段 |
| 版本 | 日期 | 说明 |
|---|---|---|
| v1.0.0 | 2026-06-02 | 初始版本:需求-测试-代码匹配度全面分析 |