Files
rlz/docs/项目功能的prd文档.md
renjianbo 97ad453e89 feat: implement serve-first-pay-later order flow
- Redesign order status: 0待接单→1已接单→2服务中→3待支付→4已完成
- Backend: startService now requires status=1, completeOrder sets status=3
- Backend: payment callback sets status=4, only status=3 can pay
- Backend: cancel only allowed at status 0/1 (not during service)
- Mini-program: update status labels and payment button to status=3
- Android: TobeSerFragment queries status=1, SerFragment queries status=2
- Update all status comments and UI mappings across three platforms

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-21 23:16:27 +08:00

25 KiB
Raw Blame History

瑞来健康 — 陪诊 SAAS 平台 PRD 文档

项目名称:瑞来兹医助管理系统(瑞来健康)
PRD 版本:v1.0
撰写日期:2026-05-12
代码仓库:http://101.43.95.130:3001/admin/rlz (Gitea)
服务器 IP:101.43.95.130
本地路径:D:\androidPj\rlz


目录

  1. 产品概述
  2. 用户角色
  3. 功能需求详述
  4. 业务流程
  5. 数据模型
  6. API 接口设计
  7. 非功能性需求
  8. 技术架构
  9. 部署架构
  10. 项目里程碑
  11. 风险评估
  12. 后续规划

一、产品概述

1.1 项目背景

随着医疗服务不断发展与人口老龄化趋势加剧,患者就医过程中对专业陪诊服务的需求日益增长。许多患者(尤其是老年人、异地就医者)在医院挂号、缴费、取药、检查等环节面临困难。陪诊 SAAS 系统旨在通过互联网技术连接患者、陪护人员和医院,提供线上预约、线下服务的 O2O 医疗陪诊服务。

1.2 产品定位

瑞来健康是一个多端协同的医疗陪诊服务平台,包含:

端 终端形态 用户 技术栈
管理后台 Web 浏览器 平台管理员 Spring Boot + Vue 2 + Element UI
患者端 微信小程序 患者/家属 微信原生 + Vant Weapp
陪护端 Android App 陪护人员 Java + MVP 架构

1.3 服务类型与定价

服务类型 价格 服务内容
全程陪诊 200 元/次 排队、预约、挂号、缴费、取药、记录医嘱
诊前约号 20 元/次 协助办理完成挂号
取送结果 50 元/次 为病人或家属取检查报告、化验单等
代办问诊 100 元/次 使用病人资料向医生问明情况

1.4 产品核心价值

  • 患者:便捷的陪诊服务预约渠道,降低就医门槛
  • 陪护人员:稳定的工作机会和收入来源
  • 平台:标准化陪诊服务流程,优化医疗资源配置

二、用户角色

2.1 患者(C 端用户)

  • 终端:微信小程序
  • 标识:userType = "C"
  • 核心场景:
    • 浏览陪诊服务、选择医院、下单支付
    • 查看订单状态与服务进度
    • 申请退款、评价服务

2.2 陪护人员(B 端用户)

  • 终端:Android App
  • 标识:userType = "B"
  • 核心场景:
    • 查看待接订单、接单/拒单
    • 执行服务(开始 → 服务中 → 完成)
    • 查看收入明细、提现

2.3 系统管理员

  • 终端:Web 后台管理系统
  • 标识:userType = "00"
  • 核心场景:
    • 用户管理、订单管理、医院管理
    • 退款审核、结算管理
    • 数据统计与系统配置

三、功能需求详述

模块 A:患者端(微信小程序)

A1. 用户登录与注册

功能 描述 优先级
微信授权登录 微信一键登录,获取 openid,自动创建账号 P0
手机号登录 短信验证码登录,支持快速注册 P0
用户信息完善 绑定手机号,设置昵称/头像 P1

页面:pages/index/index(首页承载登录入口)

A2. 首页

功能 描述 优先级
服务类型展示 4 种陪诊服务入口,含价格与说明 P0
医院列表 显示合作医院,支持搜索和筛选 P0
Banner 轮播 活动、公告等信息展示 P2

页面:pages/index/index(首页)
TabBar 入口:首页

A3. 陪诊下单

功能 描述 优先级
服务选择 选择服务类型(全程陪诊/诊前约号/取送结果/代办问诊) P0
医院选择 从列表中选择医院,支持搜索 P0
订单信息填写 就诊人姓名、电话(必填)、服务日期/时间、送达地址、备注 P0
订单提交 创建订单 → 生成订单号 → 跳转支付 P0

页面:pages/peizhen/peizhen、pages/peizhen/peizhendetail、pages/peihu/peihu

A4. 订单管理

功能 描述 优先级
订单列表 按状态分类:全部/待付款/待服务/服务中/已完成/已取消 P0
下拉刷新/上拉加载 列表支持分页加载 P1
订单详情 查看订单基本信息、就诊人信息、陪护信息 P0
取消订单 待付款/待服务状态可取消 P1
删除订单 已取消/已完成订单可删除 P2

页面:pages/order/order(订单列表 TabBar)、pages/orderdetail/orderdetail(订单详情)、pages/reforderdetail/reforderdetail(退款订单详情)
TabBar 入口:订单

A5. 微信支付

功能 描述 优先级
发起支付 调用微信支付接口 P0
支付回执 支付成功/失败/取消处理 P0
状态更新 支付成功 → 订单状态变更为"已支付" P0

页面:shopping/pages/payment/payment、shopping/pages/paysuccess/paysuccess

A6. 退款

功能 描述 优先级
申请退款 选择退款原因、上传凭证图片、填写说明 P1
退款进度 查看退款状态(申请中/退款中/已退款/退款失败) P1

退款原因选项:不喜欢/不想要、信息与描述不符、买多/买错、更换其他项目、没有时间、其他原因

A7. 个人中心

功能 描述 优先级
个人信息 查看/修改昵称、头像 P1
我的钱包 余额、累计收益、提现 P1
收藏 我的收藏列表 P2
设置 关于我们、隐私政策、退出登录 P2

页面:pages/my/my(TabBar)、pages/wodeqianbao/qianbao(钱包)、pages/myshoucang/myshoucang(收藏)
TabBar 入口:我的

A8. 其他页面

页面路径 功能
pages/mechanism/mechanism 机构展示
pages/tuiguang/extensionInfor 推广分销
pages/guanyu/guanyu 关于我们
pages/webpage/webpage 内嵌网页
shopping/pages/goddess/goddess 女神活动
shopping/pages/withdrawal/withdrawal 提现

模块 B:陪护端(Android App)

包名:com.ruilaizi.service
根 Activity:SplashActivity → NewCodeLoginActivity / LoginPasswordActivity → MainActivity

B1. 登录认证

功能 描述 Activity
启动页 Logo 展示,停留 1-2 秒 SplashActivity
验证码登录 手机号 + 验证码登录 NewCodeLoginActivity
密码登录 手机号 + 密码登录 LoginPasswordActivity
忘记密码 通过手机号重置密码 ForgetPasActivity
修改密码 登录后修改密码 ModifyPasActivity

B2. 首页

功能 描述 优先级
待接订单列表 显示 status=0 的订单,可接单/拒单 P0
已接订单列表 按状态筛选(已接单/服务中/已完成) P0
收入概览 累计收益、余额展示 P0

Activity:MainActivity(主界面,含底部导航)

B3. 订单操作

功能 描述 Activity
订单详情 查看患者信息、服务要求、订单金额 OrderActivity
接单 确认接单 → status 0→1 内嵌于列表操作
拒单 拒绝接单 → status 0→-1 refuseActivity
开始服务 到达医院 → status 1→3 内嵌于详情操作
完成服务 上传凭证 → status 3→4 ConfirmOrderActivity
双向选择 服务前确认 TwoWayActivity

B4. 客户管理

功能 描述 Activity
客户列表 查看客户信息 CustomerDetailActivity
添加客户 添加新客户资料 AddCustomerActivity
客户分配 分配客户给陪护 AllocationActivity
客户搜索 按条件搜索客户 SearchActivity
客户风格/预算 客户偏好设置 StyleActivity、BudgetActivity
客户订单 查看客户相关订单 FpOrderInfoActivity

B5. 个人中心

功能 描述 Activity
个人信息 查看/编辑个人资料、上传头像 PersonalProfileActivity
实名认证 上传身份证、认证审核 ShimingActivity
我的信息 基本信息展示 MyInfoActivity
红包 红包收发 HongBaoActivity
明细 收支明细 mingXiActivity
设置 系统设置 SettingActivity

B6. 其他功能

功能 描述 Activity
消息通知 系统消息列表 MessageNoticeActivity
即时通讯 会话列表 ConversationActivity
评论 评价管理 CommentActivity
WebView 内嵌网页 XfiveWebActivity
列表展示 通用列表 ListActivity、DemoActivity、MainsdfdsfActivity

关键权限(AndroidManifest):

  • 网络、WiFi、定位(GPS/粗略/精确)
  • 相机、录音、震动
  • 读取联系人、通话记录、日历
  • 读写外部存储、安装应用
  • 腾讯 Bugly(异常上报)

模块 C:管理后台(Web)

入口:http://101.43.95.130:8085(Nginx 代理)
默认账号:admin / admin123

C1. 系统管理

模块 功能 路由
用户管理 列表查询、增删改查、角色分配、状态管理 /system/user
角色管理 角色创建、权限分配、用户关联 /system/role
菜单管理 菜单树配置、按钮权限 /system/menu
部门管理 组织机构树 /system/dept
岗位管理 职务配置 /system/post
字典管理 数据字典维护(类型+数据) /system/dict
参数配置 系统参数键值管理 /system/config
通知公告 发布/编辑/删除公告 /system/notice

C2. 业务管理

模块 功能 路由
医院管理 医院信息增删改查、状态管理 /system/hospital
订单管理 订单列表、详情、状态修改、退款审核、结算 /system/order
认证管理 陪护人员实名认证审核 /system/renzheng

C3. 系统监控

模块 功能 路由
在线用户 查看当前在线用户 /monitor/online
操作日志 操作记录查询 /monitor/operlog
登录日志 登录记录与异常查询 /monitor/logininfor
定时任务 任务调度管理 /monitor/job
服务监控 CPU、内存、磁盘等信息 /monitor/server
缓存监控 Redis 信息查询 /monitor/cache

C4. 开发工具

模块 功能 路由
代码生成 数据库表 → 前后端代码自动生成 /tool/gen
Swagger API 接口文档 /tool/swagger
表单构建 拖拽式表单设计 /tool/build

C5. 仪表盘

首页仪表盘展示关键指标:BarChart、LineChart、PanelGroup、PieChart、RaddarChart


四、业务流程

4.1 核心流程:患者下单 → 陪护接单 → 服务执行

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   患者(小程序) │     │  陪护(Android)│     │   管理员(Web) │
└──────┬───────┘     └──────┬───────┘     └──────┬───────┘
       │                     │                     │
       │ ①选择服务类型+医院   │                     │
       │ ②填写订单信息       │                     │
       │ ③提交订单(status=0) │                     │
       │                     │                     │
       │                     │ ④查看待接订单       │
       │                     │ ⑤接单(status=0→1)  │
       │ ⑥收到接单通知       │                     │
       │                     │                     │
       │ ⑦微信支付(status→2) │                     │
       │                     │                     │
       │                     │ ⑧到达医院           │
       │                     │ ⑨开始服务(status→3) │
       │ ⑩查看服务中状态     │                     │
       │                     │ ⑪完成服务(status→4) │
       │ ⑫确认完成/评价      │                     │
       │                     │                     │
       │                     │        ⑬结算(status→8)

4.2 订单状态机

                    ┌─────────┐
                    │ 待接单(0) │
                    └────┬────┘
               ┌─────────┼─────────┐
               ▼         ▼         ▼
         已接单(1)   拒单(-1)   已取消(-2)
               │         │
               │    [重新分配→0]
               ▼
         已支付(2) ───────────┐
               │              │
               ▼              ▼
         服务中(3)       申请退款(5)
               │              │
               ▼              ▼
         已完成(4)        退款中(6)
               │              │
               ▼              ▼
         已结算(8)        已退款(7)

4.3 退款流程

  1. 患者在已完成/服务中/已支付状态下发起退款
  2. 选择退款原因、上传凭证、提交申请(status → 5)
  3. 后台管理员审核
  4. 审核通过 → 退款中(status → 6)→ 退款执行 → 已退款(status → 7)
  5. 审核不通过 → 恢复原状态,通知患者

五、数据模型

5.1 核心实体

用户表 (sys_user)

字段 类型 说明
userId bigint 主键
userName varchar(30) 用户名
nickName varchar(30) 昵称
phonenumber varchar(11) 手机号
email varchar(50) 邮箱
sex char(1) 0=男 1=女 2=未知
avatar varchar(100) 头像 URL
userType varchar(2) 00=系统用户 C=患者 B=陪护
openid varchar(50) 微信 openid
status char(1) 0=正常 1=停用
createTime datetime 创建时间

订单表 (rlz_order)

字段 类型 说明
orderId bigint 主键
orderNumber varchar(32) 订单号
bId bigint 陪护人员 ID
cId bigint 患者 ID
hospitalId bigint 医院 ID
startTime datetime 服务开始时间
endTime datetime 服务结束时间
status int 订单状态(见下表)
yuguMoney decimal 预估金额
jiesuanMoney decimal 结算金额
kouchuMoney decimal 扣费金额
fanxianMoney decimal 返现给陪护金额
tuihuiMoney decimal 退回给患者金额
yuliu9 varchar 订单大类(1=陪护 2=陪诊)
yuliu10 varchar 订单类型(1=全程陪诊 2=诊前约号 3=取送结果 4=代办问诊)
yuliu11 varchar 患者电话
yuliu12 varchar 特殊要求/备注
yuliu13 varchar 送达地址
yuliu14 varchar 患者身份证号
createTime datetime 创建时间
updateTime datetime 更新时间

订单状态枚举:

状态码 含义
-2 已取消
-1 拒绝接单
0 待接单
1 已接单
2 已支付(待服务)
3 服务中
4 已完成
5 申请退款
6 退款中
7 已退款
8 已结算

医院表 (sys_hospital)

字段 类型 说明
hospitalId bigint 主键
hospitalName varchar(100) 医院名称
hospitalAddress varchar(200) 医院地址
hospitalPhone varchar(20) 联系电话
hospitalLevel varchar(10) 医院等级
hospitalDesc varchar(500) 医院简介
status char(1) 0=正常 1=停用

5.2 数据关系

sys_user (C端患者) ──1:N──▶ rlz_order ◀──N:1── sys_user (B端陪护)
                                │
                                N:1
                                │
                                ▼
                          sys_hospital

六、API 接口设计

基础路径:http://101.43.95.130:8039
请求前缀:/dev-api
认证方式:JWT Token(Header: Authorization: Bearer {token})
统一响应格式:{ "code": 200, "msg": "操作成功", "data": {} }

6.1 患者端接口

方法 URL 说明
POST /weixinLogin 微信小程序登录
GET /getUserToken 获取用户 Token
GET /getInfo 获取用户信息
POST /system/order/insertOrderPz 创建陪诊订单
GET /system/view/list 获取订单列表
GET /system/view/getInfo 获取订单详情
GET /system/order/weixinPay/{orderId} 微信支付
POST /system/order/refundOrder/{orderId} 申请退款
GET /system/order/concelOrder/{orderId} 取消订单
GET /system/hospital/list 获取医院列表
GET /system/config/configKey/price 获取价格配置
GET /system/config/configKey/priceType 获取价格类型

6.2 陪护端接口

方法 URL 说明
POST /appLogin 密码登录
POST /smsLogin 短信验证码登录
GET /system/view/list 获取订单列表
GET /system/view/getInfo 获取订单详情
POST /system/view/startServiceWithOrder 开始服务
POST /system/view/completeOrder 完成服务
GET /system/user/getAppIndexInfo 首页信息(收入统计)

6.3 后台管理接口

方法 URL 说明
GET /system/user/list 用户列表
POST /system/user 新增用户
PUT /system/user 修改用户
DELETE /system/user/{userIds} 删除用户
GET /system/order/list 订单列表
GET /system/order/{orderId} 订单详情
PUT /system/order 修改订单
GET /captchaImage 获取验证码
POST /login 后台登录

七、非功能性需求

7.1 性能

指标 要求
页面加载时间 < 3 秒
API 响应时间 < 1 秒
支付接口响应 < 2 秒
并发用户 1000+
订单处理能力 > 100 单/分钟
数据容量 10 万+ 用户,100 万+ 订单

7.2 安全

  • JWT Token 认证,令牌有效期 30000 分钟
  • 密码 BCrypt 加密存储
  • 用户敏感信息加密存储
  • 微信支付使用官方 SDK
  • 防 SQL 注入、XSS 攻击
  • 操作日志、登录日志审计
  • MySQL 使用 SSL 连接(腾讯云 CynosDB)

7.3 可用性

  • 系统可用率 > 99.5%
  • 7×24 小时服务
  • 异常友好提示 + 自动重试
  • Docker 容器化部署,健康检查自动重启

7.4 兼容性

平台 要求
微信小程序 微信 7.0+,支持 iOS/Android
Android App Android 8.0+(API 26+),适配主流品牌
Web 后台 Chrome / Firefox / Safari / Edge

八、技术架构

8.1 总体架构

┌────────────────────────────────────────────┐
│                  前端层                     │
│  ┌──────────┐ ┌──────────┐ ┌────────────┐ │
│  │ 微信小程序 │ │ Android  │ │ Vue 管理后台 │ │
│  │ (患者端)  │ │ (陪护端)  │ │ (管理员端)  │ │
│  └────┬─────┘ └────┬─────┘ └─────┬──────┘ │
└───────┼────────────┼─────────────┼─────────┘
        │            │             │
        ▼            ▼             ▼
┌────────────────────────────────────────────┐
│              Nginx 反向代理                  │
│           Port: 8085 (HTTP) / 8443 (HTTPS)  │
└──────────────────┬─────────────────────────┘
                   │
                   ▼
┌────────────────────────────────────────────┐
│            Spring Boot 后端服务              │
│          RuoYi 3.8.3 (Java 1.8)            │
│           Port: 8039 (内部)                 │
│  ┌──────────┬──────────┬──────────────┐    │
│  │ Security │ MyBatis  │ Quartz       │    │
│  │ + JWT    │ ORM      │ 定时任务      │    │
│  └──────────┴──────────┴──────────────┘    │
└──────┬──────────────┬──────────────────────┘
       │              │
       ▼              ▼
┌─────────────┐ ┌──────────────┐
│  Redis 7    │ │  MySQL 8     │
│  (缓存)     │ │  (腾讯云      │
│  Port: 6379 │ │   CynosDB)   │
└─────────────┘ └──────────────┘

8.2 技术栈明细

层级 技术 版本
后端框架 Spring Boot 2.5.14
安全 Spring Security + JWT 0.9.1
ORM MyBatis Spring Boot 2.2.2
连接池 Druid 1.2.11
缓存 Redis 7 (Alpine)
数据库 MySQL (CynosDB) 8
定时任务 Quartz -
API 文档 Swagger 3.0.0
JSON FastJSON2 2.0.8
前端框架 Vue 2.6.12
UI 组件 Element UI 2.15.8
图表 ECharts 4.9.0
状态管理 Vuex 3.6.0
路由 Vue Router 3.4.9
HTTP 客户端 Axios 0.24.0
小程序 UI Vant Weapp 1.x
Android 网络 Retrofit + OkHttp 2.4.0 + 3.5.0
Android 图片 Glide 4.9.0
Android 架构 MVP -
构建/部署 Maven + Gradle + Docker Compose -

九、部署架构

9.1 服务器信息

项目 详情
IP 101.43.95.130
OS CentOS 7.9
CPU 2 核
内存 7.5 GB
磁盘 118 GB

9.2 Docker 服务

容器 端口 说明
rlz-backend 8039 Java 后端服务
rlz-redis 6379 (内部) Redis 缓存
rlz-redis-6379 127.0.0.1:6379 Redis 宿主机访问

9.3 数据库

参数 值
类型 MySQL 8(腾讯云 CynosDB)
地址 gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com
端口 24936
数据库 rlz
SSL 启用

9.4 Docker Compose 启动

cd /home/renjianbo/saars/rlz
cp .env.docker.example .env   # 编辑 .env 填写数据库密码
docker compose up -d --build

健康检查:curl -sS http://127.0.0.1:8039/captchaImage


十、项目里程碑

阶段 周期 内容
第一阶段 2 个月 用户注册登录、订单创建和支付、陪护接单、基础订单管理
第二阶段 1.5 个月 服务执行流程、退款功能、收入结算、后台管理基础功能
第三阶段 1 个月 消息通知、评价系统、数据统计、性能优化
第四阶段 0.5 个月 功能测试、性能测试、安全测试、上线部署

十一、风险评估

类别 风险 缓解措施
技术 微信支付集成复杂 使用官方 SDK,充分测试回调
技术 高并发订单处理 Redis 缓存 + 数据库连接池优化
技术 数据一致性 事务 + 状态机严格控制
业务 陪护服务质量 实名认证 + 评价体系 + 培训
业务 退款纠纷 明确退款规则 + 凭证审核
运营 用户获取成本高 推广分销机制
运营 医院合作拓展 逐步引入,先覆盖重点医院

十二、后续规划

功能扩展

  • 在线客服(IM)
  • 服务评价与评分体系
  • 会员等级 + 优惠券系统
  • 智能推荐陪护人员
  • 服务轨迹追踪(地图)

技术优化

  • 微服务架构改造
  • 消息队列(订单异步处理)
  • 分布式缓存
  • 大数据分析看板

业务拓展

  • 多城市覆盖
  • 更多服务类型(如康复护理)
  • 企业客户服务
  • 保险合作

相关文档:

  • 项目技术文档:D:\androidPj\rlz\项目文档0511.md
  • 服务器信息:D:\cd\tengxunyun\云服务器信息.md
  • Git 仓库:http://101.43.95.130:3001/admin/rlz