功能完成度与待完善分析-2026-06-23.md 26 KB

智价云(药店版) - 功能完成度与待完善分析

📅 分析日期:2026-06-23
📝 分析基础:初始设计稿(63屏原型) + 产品文档 v1.0-MVP + 接口文档 + 实际代码
🎯 目的:梳理已完成功能,对照设计稿明确待完善功能,指导后续开发


📊 总览

维度 完成度 说明
后端 API 接口 ≈85% 核心业务接口基本完成
数据库模型 ≈90% 实体表基本齐全
单元测试 ≈70% 20个测试类,覆盖核心流程
Windows 桌面应用 ≈0% 仅有接口,无客户端代码(可能在其他仓库)
Android APP 0% Phase 2 规划
Admin Web 前端 ≈0% 仅有 API,无前端代码
爬虫引擎(核心) 0% 仅有配额管理,无实际爬虫实现
支付模块 0% 仅有占位模块

1. 初始设计稿回顾(63屏)

1.1 设计稿端侧架构

形态 设计屏数 优先级
H5 私域落地页 移动端 Web 2 P0
Windows 桌面应用 .exe (WebView2) ~25 P0
Android APP 原生 20 P1
Admin 运营后台 Web 16 P0

1.2 五条核心演示链路

  1. 私域拉新 → 注册 → 绑平台(h5-invite-landing → w-login → w-profile-setup → w-license-upload → w-onboard-bind → w-home)
  2. Windows 比价核心(w-home → w-search-loading → w-search-result → w-product-detail → 跳转原平台)
  3. Windows 会员与增长(w-invite-center → w-membership → w-payment-qr → w-payment-result)
  4. Android 移动查价(m-home → m-scan → m-search-result → m-product-detail)
  5. 运营后台日常(a-login → a-dashboard → a-license-audit → a-invite-create → a-coupon-create)

2. 初始设计稿 vs 当前实现的差异(重要!)

以下差异是经过产品方向修正后的设计决策,不代表未完成。

2.1 营业执照:从"必须"改为"可选"

设计稿(PRD V1.0) 当前实现(产品文档)
使用任何服务前必须上传营业执照 用户可自愿上传,不影响基本使用
运营人工审核通过后方可进入后续流程 上传后审核,通过显示"已认证"标识
驳回后必须重新上传才能继续 不上传也能正常使用比价功能

影响

  • 链路1中 w-license-uploadw-license-pendingw-license-rejected 流程变为可选步骤
  • 移除了 Gate Modal 中的"未上传执照"阻断状态
  • 降低了用户注册门槛

2.2 邀请码:从"必填"改为"可选"

设计稿(PRD V1.0) 当前实现(产品文档)
必须填写有效邀请码才能注册 邀请码为可选填写

影响

  • 注册流程更简单,但可能降低邀请裂变效率
  • 后续可考虑通过运营策略(如邀请码注册送更多配额)引导用户使用邀请码

2.3 会员体系:从"两档"改为"三档等级"

设计稿(PRD V1.0) 当前实现(产品文档)
体验用户(20次/天,199关注,15天免费) 普通用户 NORMAL(5次/天,100次/月)
付费会员(不限次数,1999关注) VIP(20次/天,500次/月)
SVIP(100次/天,3000次/月)

影响

  • 增加了 SVIP 等级,适合大型连锁药店
  • 所有用户都有月配额限制(非无限制)
  • 支持版本化管理,运营可动态调整

2.4 查询前置条件:放宽

设计稿 当前实现
营业执照审核通过 + 至少绑定1个平台 → 缺一不可 绑定平台后即可查询,执照可选

3. 已完成功能清单 ✅

3.1 后端核心模块

用户认证模块 ✅ 完成度 100%

功能 API 状态
短信验证码发送 POST /api/auth/sms/send
验证码登录/注册 POST /api/auth/sms/login
微信扫码登录URL GET /api/auth/wechat/url
微信扫码登录 POST /api/auth/wechat/login
微信绑定手机号 POST /api/auth/wechat/bind
微信登录回调 GET /api/auth/wechat/callback
Token 刷新 POST /api/auth/refresh
用户信息获取 GET /api/auth/user/info
多端登录源标识 loginSource 参数(WINDOWS/MINIAPP/ANDROID/IOS/WECHAT)

爬虫配额模块 ✅ 完成度 90%

功能 API 状态
配额状态查询 GET /api/crawler/status
消耗爬虫次数 POST /api/crawler/consume
使用记录查询 GET /api/crawler/logs
消耗优先级(优惠券 > 额外配额 > 基础配额)
实际爬虫/比价引擎 ❌ 未实现

邀请裂变系统 ✅ 完成度 95%

功能 API 状态
获取邀请码 GET /api/invite/code
邀请统计 GET /api/invite/stats
邀请记录 GET /api/invite/rewards
额外配额查询 GET /api/invite/extra-quota
邀请落地页(公开) GET /api/invite/page/{code}
点击追踪(公开) POST /api/invite/click/{code}
多渠道支持 channel=app/wechat/miniapp/dingtalk/feishu
分享文案 copyText、shareTitle、shareDescription
URL Scheme 自动填入 urlScheme、deepLink
邀请奖励自动发放 注册事件 → 建立关系 → 发放配额

优惠券系统 ✅ 完成度 90%

功能 API 状态
优惠券发放(管理) POST /api/coupon/issue
我的优惠券 GET /api/coupon/my
可用优惠券 GET /api/coupon/my/available
优惠券模板管理 ⚠️ 待确认

用户等级体系 ✅ 完成度 95%

功能 API 状态
等级列表(公开) GET /api/level/list
等级详情(公开) GET /api/level/{id}
当前用户等级 GET /api/level/my
设置用户等级(管理) PUT /api/level/user/{userId}
等级配置版本管理 /api/user-level-config/*
版本创建/激活/迁移 /api/admin/user-level-config/*
用户等级变更历史 /api/admin/user-level-config/user/{userId}/history

运营管理后台 ✅ 完成度 80%

功能 API 状态
邀请配置管理 GET/PUT /api/admin/invite/config
手动发放爬虫次数 POST /api/admin/crawler/grant
发放记录查询 GET /api/admin/crawler/grants
邀请记录查询 GET /api/admin/invite/rewards
用户爬虫详情(平台分布) GET /api/admin/crawler/user-detail
邀请转化统计 GET /api/admin/invite/conversion-stats
数据看板
用户管理(列表/详情/禁用) ⚠️ 部分实现
RBAC 角色管理
内容管理(公告/合规/帮助)

平台账号绑定 ✅ 完成度 100%

功能 API 状态
绑定 B2B 平台账号 POST /api/platform-account/bind
解绑平台账号 DELETE /api/platform-account/unbind/{code}
查询已绑定列表 GET /api/platform-account/list
验证平台账号 POST /api/platform-account/verify/{code}
密码 AES-256-GCM 加密存储

营业执照(可选) ✅ 完成度 95%

功能 API 状态
上传营业执照 POST /api/business-license/upload
查询执照信息 GET /api/business-license/info
审核管理 GET/POST /api/admin/license/review
OSS 图片上传 /api/file/upload

平台配置管理 ✅ 完成度 85%

功能 API 状态
启用平台查询 GET /api/platform-config/enabled
指定平台配置 GET /api/platform-config/{code}
运营管理平台配置 ⚠️ 待确认
34 个平台预留(MVP 启用 3 个)

体验配额配置 ✅ 完成度 95%

功能 API 状态
当前生效配置 GET /api/trial-quota/active
所有配置列表 GET /api/admin/trial-quota/configs
创建配置 POST /api/admin/trial-quota/config
更新配置 PUT /api/admin/trial-quota/config/{id}
删除配置 DELETE /api/admin/trial-quota/config/{id}

操作审计日志 ✅ 完成度 100%

功能 API 状态
审计日志查询 GET /api/admin/audit-log/*

3.2 数据库实体(18 张表)

实体 表名 状态
User t_user
UserLevel t_user_level
UserLevelDetail t_user_level_detail
UserLevelConfigVersion t_user_level_config_version
UserLevelVersionRelation t_user_level_version_relation
CrawlerQuotaGrant t_crawler_quota_grant
CrawlerUsageLog t_crawler_usage_log
CrawlerPlatform t_crawler_platform
PlatformConfig t_platform_config
PlatformAccount t_platform_account
InviteCode t_invite_code
InviteRelation t_invite_relation
InviteConfig t_invite_config
Coupon t_coupon
UserCoupon t_user_coupon
BusinessLicense t_business_license
TrialQuotaConfig t_trial_quota_config
OperationAuditLog t_operation_audit_log

3.3 测试覆盖(20 个测试类)

  • AuthControllerTest、UserAuthFlowTest
  • CrawlerControllerTest、CrawlerQuotaAndPlatformTest
  • InviteControllerTest、AdminControllerTest
  • CouponControllerTest
  • UserLevelControllerTest、UserLevelConfigVersionTest
  • BusinessLicenseAndCouponTest、AdminLicenseTest
  • PlatformAccountBindingTest
  • TrialQuotaConfigTest
  • OperationAuditLogTest
  • GatewayFilterTest、SecurityAccessTest
  • GlobalExceptionHandlerTest
  • EndToEndBusinessFlowTest

4. 待完善功能清单 ❌

4.1 🔴 P0 核心缺失(阻塞业务流程)

4.1.1 爬虫/比价引擎(核心业务)

这是整个产品最核心的功能,目前完全未实现

功能 对应设计屏 说明
药品搜索接口 w-search-loading 输入药品名称,返回结果
并行爬取价格 w-search-loading 多平台并发查询
比价结果排序 w-search-result 价格升序,最低价标记
结果筛选 w-filter-panel 规格/厂家/效期/有货
药品详情页 w-product-detail 多平台报价对比
跳转原平台购买 WebView/外链跳转

设计稿关键交互

  • 搜索框「输入药品名称、厂家或批准文号」
  • 三平台并行查询进度:药师帮✓ / 药帮忙 查询中… / 1药城 等待中
  • 结果表格:平台 | 价格 | 规格 | 厂家 | 效期 | 起订量 | 库存 | 操作
  • 最低价行红色高亮 +「最低」Tag
  • 「去XX平台购买」按钮

4.1.2 关注/收藏系统

功能 对应设计屏 说明
加入关注 w-product-detail 收藏 SKU
关注列表 w-watchlist 我的关注(含配额进度条)
降价显示 w-watchlist 较上次 ↓¥0.30
关注品种配额 按月品种数计配额

设计稿数据

  • 体验用户:199 品种/月
  • 付费会员:1999 品种/月
  • 品种 = 通用名 + 规格去重

4.1.3 支付模块(占位但未实现)

功能 对应设计屏 说明
套餐选择 w-membership 月卡 ¥99 / 季卡 ¥269 / 年卡 ¥899
Windows 扫码支付 w-payment-qr 微信/支付宝二维码
支付结果 w-payment-result 成功/失败状态
Android 原生支付 m-payment 调起微信/支付宝 App
订单管理 a-orders 运营后台查看订单

zhijiayun-payment 模块仅有一个 PaymentModuleMarker.java 占位类,无任何实现。

4.1.4 查询历史

功能 对应设计屏 说明
查询历史列表 w-history 最近查询记录
再次查询 w-history 点击历史记录重新搜索

注意:已有 GET /api/crawler/logs(爬虫使用日志),但字段偏配额管理,不是用户友好的查询历史。建议新增 /api/search/history 接口。

4.2 🟡 P1 重要缺失(影响用户体验)

4.2.1 用户端体验券核销

功能 对应设计屏 说明
券码核销 w-coupon-redeem 输入券码 → 核销成功

注意:管理端已有体验券配置 CRUD,但缺少用户端核销接口(POST /api/trial-quota/redeem)。

4.2.2 降价提醒

功能 对应设计屏 说明
Windows 托盘通知 w-watchlist 降价时推送
Android Push 通知 w-watchlist 降价时推送

设计稿标注为 V1.1(Windows 托盘通知),建议 Phase 2 实现。

4.2.3 运营后台 - 数据看板

功能 对应设计屏 说明
注册/审核/绑平台/搜索漏斗 a-dashboard 核心转化漏斗图
邀请漏斗数据 a-dashboard 邀请链接点击 → 注册 → 激活转化率

现有一致GET /api/admin/invite/conversion-stats 有邀请转化数据,GET /api/admin/crawler/user-detail 有用户爬虫详情,但缺少汇总级别看板 API。

4.2.4 运营后台 - 用户管理

功能 对应设计屏 说明
用户列表 a-user-management 分页列表、筛选、搜索
用户详情 a-user-management 完整信息查看
用户禁用/启用 a-user-management 状态管理

4.2.5 运营后台 - 内容管理

功能 对应设计屏 说明
公告管理 a-content-management 公告 CRUD
合规文案配置 a-content-management 统一合规声明管理
帮助中心内容 a-content-management FAQ 内容管理

4.2.6 运营后台 - RBAC 角色管理

功能 对应设计屏 说明
角色列表 a-role-management 角色定义
权限分配 a-system-settings 管理员权限控制
操作日志查看 a-audit-log 审计追溯

注意:后端已有操作审计日志 API,但缺少前端展示层级。

4.3 🟢 P2 规划中功能

4.3.1 多端客户端开发

状态 计划
Windows 桌面应用 (.exe) ❌ 未开始 P0 - 核心交付物(可能在其他仓库)
H5 邀请落地页 ❌ 未开始 P0 - 私域拉新入口
Android APP ❌ 未开始 Phase 2
Admin Web 前端 ❌ 未开始 P0 - 运营必须
微信小程序 ❌ 未开始 Phase 2
iOS APP ❌ 未开始 Phase 3
微信公众号接入 ❌ 未开始 Phase 3

4.3.2 技术基础设施

功能 状态 计划
真实 Redis 接入 ⚠️ 当前 Mock Phase 2
接口限流(Redis 滑动窗口) ✅ 代码实现 需真实 Redis
慢请求监控 Phase 2
数据库读写分离 Phase 2
消息队列(异步处理) Phase 4
容器化部署 Phase 5
CI/CD 流水线 Phase 5

4.3.3 Phase 3-5 规划功能

功能 计划阶段
国家集采数据爬取 Phase 3
价格趋势图表(30天) Phase 3
供应商评分系统 Phase 3
邀请排行榜 Phase 3
海报生成与分享 Phase 3
扫码查询药品 Phase 3
拍照识别药品 Phase 3
AI 价格预测 Phase 4
智能供应商推荐 Phase 4
钉钉/飞书集成 Phase 4
开放 API 平台 Phase 5

5. 设计稿屏幕到 API 映射表

以下表格逐屏梳理设计稿中的 63 屏,标注当前后端 API 完成度。

5.1 H5 落地页(2 屏)

屏 ID 名称 核心 API 完成度
h5-invite-landing 邀请落地页 GET /api/invite/page/{code}
h5-download 下载指引 —(静态内容) ✅ 需前端

5.2 Windows 桌面 - 注册门禁(8 屏)

屏 ID 名称 核心 API 完成度
w-login 登录/注册 POST /api/auth/sms/send, /sms/login
w-profile-setup 完善药店信息 PUT /api/auth/user/info (待扩展) ⚠️ 缺药店名称/地区字段
w-license-upload 上传营业执照 POST /api/business-license/upload
w-license-pending 审核中 GET /api/business-license/info
w-license-rejected 审核驳回 GET /api/business-license/info
w-onboard-bind 绑定平台引导 GET /api/platform-config/enabled
w-platform-bind 绑定平台表单 POST /api/platform-account/bind
w-onboard-search 新手搜索引导 —(引导页)

⚠️ 关键缺口w-profile-setup 中的药店名称省/市/区字段——设计稿 PRD 要求注册必填,但当前 t_user 表缺少 pharmacy_nameprovincecitydistrict 字段。

5.3 Windows 桌面 - 比价核心(10 屏)

屏 ID 名称 核心 API 完成度
w-home 比价首页 GET /api/crawler/status ⚠️ 缺搜索历史和快捷入口
w-search-loading 搜索加载中 POST /api/search/query ❌ 未实现
w-search-result 搜索结果 GET /api/search/results ❌ 未实现
w-product-detail 商品详情 GET /api/product/detail ❌ 未实现
w-filter-panel 筛选面板 —(前端筛选或 API 参数) ❌ 未实现
w-watchlist 我的关注 GET /api/watchlist ❌ 未实现
w-platform-list 平台账号管理 GET /api/platform-account/list
w-platform-bind 绑定(侧栏内) POST /api/platform-account/bind
w-gate-modal 查询门禁弹窗 —(前端逻辑) ⚠️ 配额检查已有
w-history 查询历史 GET /api/search/history ❌ 未实现

5.4 Windows 桌面 - 会员增长(8 屏)

屏 ID 名称 核心 API 完成度
w-invite-center 邀请中心 GET /api/invite/code, /stats, /rewards
w-membership 会员方案 GET /api/level/list ⚠️ 缺套餐价格接口
w-payment-qr 扫码支付 POST /api/payment/create ❌ 未实现
w-payment-result 支付结果 GET /api/payment/result ❌ 未实现
w-coupon-redeem 体验券核销 POST /api/trial-quota/redeem ❌ 缺用户端核销
w-settings 设置页 GET /api/auth/user/info, /api/business-license/info
w-help 帮助中心 —(静态内容/运营配置) ✅ 需前端
w-about 关于页 —(静态内容)

5.5 Android APP(20 屏)

屏 ID 名称 核心 API 完成度
m-login → m-onboard-search 注册引导(7屏) 同 Windows 对应接口
m-home 首页 GET /api/crawler/status
m-scan 扫码 —(客户端能力) ❌ 需前端
m-search-result 搜索结果 POST /api/search/query ❌ 未实现
m-product-detail 商品详情 GET /api/product/detail ❌ 未实现
m-watchlist 关注 GET /api/watchlist ❌ 未实现
m-invite-center 邀请 同 Windows
m-platform-list/bind 平台管理 同 Windows
m-profile 我的 GET /api/auth/user/info
m-membership 会员 GET /api/level/list ⚠️ 缺套餐价格
m-payment 支付(原生) POST /api/payment/create ❌ 未实现
m-payment-result 支付结果 GET /api/payment/result ❌ 未实现
m-coupon-redeem 体验券核销 POST /api/trial-quota/redeem ❌ 缺用户端核销

5.6 Admin Web 后台(16 屏)

屏 ID 名称 核心 API 完成度
a-login 管理员登录 复用 /api/auth/sms/login
a-dashboard 数据看板 GET /api/admin/dashboard ❌ 缺汇总接口
a-license-audit 执照审核列表 GET /api/admin/license/review
a-license-detail 执照审核详情 GET /api/admin/license/review/{id}
a-user-management 用户管理 GET /api/admin/users ❌ 缺完整 CRUD
a-invite-batches 邀请批次列表 GET /api/admin/invite/configs ⚠️ 缺批次逐条
a-invite-create 创建邀请批次 POST /api/admin/invite/config
a-coupon-batches 优惠券列表 GET /api/admin/coupons ⚠️ 待确认
a-coupon-create 创建优惠券 POST /api/coupon/issue
a-orders 订单列表 GET /api/admin/orders ❌ 支付未实现
a-platform-config 平台配置 ⚠️ 待确认
a-content-management 内容管理 ❌ 未实现
a-system-settings 系统设置 ❌ 未实现
a-role-management 角色管理 ❌ 未实现
a-audit-log 操作日志 GET /api/admin/audit-log/*
体验券管理 GET /api/admin/trial-quota/configs

6. 数据模型缺口

6.1 t_user 表缺少字段

对照设计稿 PRD Section 10 数据实体定义,t_user 表缺少以下字段:

缺少字段 设计稿要求 说明
pharmacy_name ✅ 必填 药店名称(设计稿要求注册必填)
province ✅ 必填
city ✅ 必填
district ✅ 必填
license_status 状态字段 营业执照审核状态(已有 BusinessLicense 表管理)
member_type 用户类型 体验用户/付费会员(当前用 level_id 替代)
trial_end_at 体验截止时间 体验期管理
member_expire_at 会员截止时间 付费会员有效期
invite_code 个人邀请码 已在 InviteCode 表管理 ✅

6.2 缺少的数据表

表名 设计稿来源 说明
t_search_history w-history 用户查询历史
t_watchlist / t_user_watchlist w-watchlist / m-watchlist 关注/收藏
t_order / t_payment w-payment / a-orders 订单与支付记录
t_membership_plan w-membership 会员套餐定义
t_trial_coupon / t_trial_coupon_batch PRD Section 10 体验券码与批次

7. 优先开发路线图(建议)

🔴 第一期:补充核心缺失(1-2 周)

目标:让核心业务流程可跑通

  1. 补齐 t_user 表字段pharmacy_name, province, city, district
  2. 新增搜索记录表与 APIt_search_history, GET/POST /api/search/history
  3. 新增爬虫/搜索接口POST /api/search/query(当前可先返回 Mock 数据)
  4. 新增关注系统t_watchlist 表 + CRUD /api/watchlist
  5. 新增用户端体验券核销POST /api/trial-quota/redeem

🟡 第二期:支付与会员(2-3 周)

目标:商业闭环,支持付费转化

  1. 新增会员套餐定义t_membership_plan 表 + API
  2. 实现支付模块 — 微信/支付宝支付集成
  3. 新增订单管理t_order, GET/POST /api/admin/orders
  4. 用户管理 API 完善/api/admin/users 完整 CRUD
  5. 运营看板 APIGET /api/admin/dashboard

🟢 第三期:基础设施与体验优化(2-4 周)

目标:生产就绪

  1. 接入真实 Redis — 缓存、限流、会话管理
  2. 前端开发 — 至少完成 Admin Web 和 H5 落地页
  3. 性能优化 — 慢查询监控、连接池调优
  4. 消息推送 — 降价提醒、审核结果通知
  5. 内容管理系统 — 公告、合规文本、FAQ 管理

🔵 第四期及后续:多端扩展与智能化

按产品文档 Phase 2-5 规划执行。


8. 关键决策待确认

# 议题 设计稿要求 当前实现 建议
1 注册是否必须填邀请码 ✅ 必填 可选 建议保留可选,通过配额差异化引导
2 执照是否必须上传 ✅ 必须 可选 建议保留可选,降低门槛
3 药店名称是否必填 ✅ 必填 未收集 建议注册时必填(加入 t_user)
4 会员模型 体验/付费两档 普通/VIP/SVIP 三档 建议合并:体验=默认配额,付费=更高等级
5 付费会员是否不限次 不限次数 所有等级有月配额 建议最高等级可以设置较大值(如10万/月)
6 Windows 客户端代码位置 不在当前仓库 需确认是否单独仓库

9. 总结

已完成的优势

  • ✅ 后端 API 框架完整,认证/配额/邀请/优惠券/执照/配置模块齐全
  • ✅ 数据库模型设计合理,实体关系清晰
  • ✅ 测试覆盖率达到 70%(20 个测试类)
  • ✅ 等级配置版本化管理、操作审计日志等运营功能超出设计稿要求

最关键的缺失

  • 爬虫/比价引擎 — 产品核心功能未实现
  • 关注/收藏系统 — 用户留存关键功能缺失
  • 支付模块 — 商业变现能力为零
  • 所有前端客户端 — 后端 API 虽完整,但无用户界面
  • 药店信息字段 — t_user 表缺少注册必填字段

建议

当前应集中精力完成第一期任务:补齐核心缺失,让一条完整的业务流程(注册 → 完善信息 → 绑平台 → 搜索比价 → 查看结果)可以端到端跑通,再逐步迭代支付、会员、多端等功能。


📝 本文档将随着开发进度持续更新。下次更新建议在完成第一期任务后进行。