first commit

This commit is contained in:
rjb
2026-01-26 15:02:59 +08:00
parent 755ec7fbbb
commit a02773e383
348 changed files with 32738 additions and 0 deletions

View File

@@ -0,0 +1,827 @@
========================================
陪诊SAAS系统 - 项目需求文档
========================================
一、项目概述
-----------
1.1 项目背景
随着医疗服务的不断发展和人口老龄化趋势患者就医过程中需要专业陪诊服务的需求日益增长。陪诊SAAS系统旨在为患者提供便捷、专业的陪诊服务同时为陪护人员提供工作平台实现患者与陪护人员的精准匹配。
1.2 项目定位
陪诊SAAS系统是一个多端协同的医疗陪诊服务平台通过互联网技术连接患者、陪护人员和医院提供线上预约、线下服务的O2O医疗陪诊服务。
1.3 系统架构
系统采用前后端分离架构,包含以下三个端:
- 后台管理系统Java + Spring Boot + Vue
- 客户端微信小程序(患者端)
- 陪护端Android应用陪护人员端
1.4 核心价值
- 为患者提供便捷的陪诊服务预约渠道
- 为陪护人员提供稳定的工作机会和收入来源
- 优化医疗资源配置,提升就医体验
- 建立标准化的陪诊服务流程
二、用户角色定义
---------------
2.1 患者(客户端用户)
- 角色描述:需要陪诊服务的患者或患者家属
- 使用终端:微信小程序
- 核心需求:
* 浏览和选择陪诊服务类型
* 选择医院和陪护人员
* 下单并支付
* 查看订单状态和服务进度
* 评价服务
* 申请退款
2.2 陪护人员(服务提供者)
- 角色描述:提供陪诊服务的专业人员
- 使用终端Android应用
- 核心需求:
* 查看待接单订单
* 接单/拒单
* 查看已接订单详情
* 开始服务、完成服务
* 查看收入明细
* 个人信息管理
2.3 系统管理员
- 角色描述:平台运营管理人员
- 使用终端Web后台管理系统
- 核心需求:
* 用户管理(患者、陪护人员)
* 订单管理(审核、分配、处理退款)
* 医院信息管理
* 服务类型和价格配置
* 数据统计和报表
* 系统参数配置
三、功能需求详述
---------------
【3.1 客户端微信小程序功能需求】
3.1.1 用户注册与登录
- 微信授权登录
* 支持微信小程序一键登录
* 获取用户微信信息openid、手机号等
* 自动创建用户账号
- 手机号登录
* 短信验证码登录
* 支持手机号快速注册
- 用户信息完善
* 绑定手机号
* 设置昵称、头像
* 实名认证(可选)
3.1.2 首页功能
- 服务类型展示
* 全程陪诊200元/次
- 服务内容:排队、预约、挂号、缴费、取药、记录医嘱
* 诊前约号20元/次
- 服务内容:协助办理完成挂号
* 取送结果50元/次
- 服务内容:包括给病人或者家属取检查报告化验单等
* 代办问诊100元/次
- 服务内容:使用病人或者家属取检查报告化验单向医生问明情况
- 医院列表展示
* 显示合作医院信息
* 支持按医院筛选服务
- Banner轮播
* 展示活动、公告等信息
3.1.3 陪诊服务下单
- 服务类型选择
* 选择陪诊服务类型(全程陪诊/诊前约号/取送结果/代办问诊)
* 查看服务详情和价格
- 医院选择
* 从医院列表中选择目标医院
* 支持搜索医院
- 填写订单信息
* 就诊人姓名
* 就诊人联系电话(必填,格式验证)
* 服务开始日期(必填)
* 服务开始时间
* 送达地址(取送结果服务需要)
* 特殊要求/备注
* 患者身份证号(可选)
- 订单提交
* 创建订单
* 生成订单号
* 跳转支付页面
3.1.4 订单管理
- 订单列表
* 全部订单
* 待付款订单status=1
* 待服务订单status=2
* 服务中订单status=3
* 已完成订单status=4
* 已取消订单status=-2
* 支持下拉刷新和上拉加载更多
- 订单详情
* 订单基本信息
- 订单号
- 服务类型
- 医院名称
- 服务时间
- 订单金额
- 订单状态
* 就诊人信息
- 姓名
- 联系电话
- 送达地址
* 陪护人员信息(已接单后显示)
- 姓名
- 联系电话
- 头像
* 订单操作
- 待付款:去支付、取消订单
- 待服务:联系陪护、取消订单
- 服务中:联系陪护、查看服务进度
- 已完成:评价、申请退款
- 已取消:删除订单
3.1.5 支付功能
- 微信支付
* 调用微信支付接口
* 支持订单支付
* 支付成功后更新订单状态
- 支付结果
* 支付成功页面
* 支付失败提示
* 支付取消处理
3.1.6 退款功能
- 申请退款
* 选择退款原因
- 不喜欢/不想要
- 商品信息与描述不符
- 买多/买错/计划有变
- 更换其他项目、购买了其他项目
- 没有时间/个人原因
- 其他原因
* 上传退款凭证(图片)
* 填写退款说明
* 提交退款申请
- 退款进度查询
* 查看退款状态(申请退款/退款中/已退款/退款失败)
* 查看退款金额
* 查看退款原因
3.1.7 个人中心
- 个人信息
* 查看个人资料
* 修改昵称、头像
* 绑定/解绑手机号
- 我的订单
* 快速入口到订单列表
- 我的钱包
* 查看余额
* 查看累计收益
* 提现功能(如适用)
- 设置
* 关于我们
* 隐私政策
* 退出登录
3.1.8 其他功能
- 消息通知
* 订单状态变更通知
* 系统公告
- 客服功能
* 在线客服(如配置)
* 客服电话
【3.2 陪护端Android应用功能需求】
3.2.1 登录功能
- 手机号登录
* 验证码登录
* 密码登录
- 忘记密码
* 通过手机号重置密码
- 自动登录
* 记住登录状态
3.2.2 首页功能
- 待接订单列表
* 显示待接单订单status=0
* 订单基本信息展示
- 服务类型
- 医院名称
- 服务时间
- 订单金额
- 就诊人联系电话
* 接单/拒单操作
- 已接订单列表
* 显示已接单订单status=1,2,3
* 订单状态筛选
* 订单详情查看
3.2.3 订单管理
- 订单详情
* 订单基本信息
* 患者信息
- 姓名
- 联系电话
- 送达地址
* 服务要求
- 服务时间
- 特殊要求/备注
* 订单操作
- 待接单:接单、拒单
- 已接单:开始服务
- 服务中:完成服务、联系患者
- 已完成:查看详情
3.2.4 服务操作
- 开始服务
* 确认到达医院
* 开始计时
* 更新订单状态为"服务中"status=3
- 服务进行中
* 记录服务过程
* 上传服务照片(可选)
* 联系患者
- 完成服务
* 确认服务完成
* 上传服务凭证
* 更新订单状态为"已完成"status=4
* 等待患者确认
3.2.5 收入管理
- 收入明细
* 查看历史收入记录
* 按时间筛选
* 收入统计(日/月/年)
- 提现功能
* 申请提现
* 提现记录查询
* 提现状态跟踪
3.2.6 个人中心
- 个人信息
* 查看个人资料
* 修改个人信息
* 上传头像
- 实名认证
* 上传身份证
* 实名认证审核
- 我的订单
* 全部订单
* 待接单
* 服务中
* 已完成
- 设置
* 修改密码
* 消息通知设置
* 关于我们
* 退出登录
3.2.7 其他功能
- 消息通知
* 新订单提醒
* 订单状态变更通知
* 系统消息
- 定位功能
* 获取当前位置
* 导航到医院(集成地图)
【3.3 后台管理系统功能需求】
3.3.1 用户管理
- 患者管理
* 患者列表查询
* 患者信息查看/编辑
* 患者订单统计
* 患者状态管理(启用/禁用)
- 陪护人员管理
* 陪护人员列表查询
* 陪护人员信息查看/编辑
* 陪护人员认证审核
* 陪护人员服务统计
* 陪护人员状态管理(启用/禁用)
* 陪护人员等级管理
3.3.2 订单管理
- 订单列表
* 全部订单查询
* 按订单状态筛选
* 按服务类型筛选
* 按时间范围筛选
* 按医院筛选
* 订单搜索(订单号、患者姓名、手机号)
- 订单详情
* 查看订单完整信息
* 订单状态修改
* 订单金额调整
* 订单备注
- 订单操作
* 手动分配订单
* 取消订单
* 退款审核
* 订单结算
- 订单统计
* 订单数量统计
* 订单金额统计
* 订单状态分布
* 服务类型统计
3.3.3 医院管理
- 医院信息管理
* 添加医院
* 编辑医院信息
* 删除医院
* 医院状态管理
- 医院信息字段
* 医院名称
* 医院地址
* 联系电话
* 医院等级
* 医院简介
* 医院图片
3.3.4 服务类型管理
- 服务类型配置
* 服务类型列表
* 添加服务类型
* 编辑服务类型
* 删除服务类型
- 价格管理
* 服务价格设置
* 价格调整
* 价格历史记录
3.3.5 财务管理
- 收入统计
* 平台收入统计
* 按时间统计
* 按服务类型统计
- 退款管理
* 退款申请列表
* 退款审核
* 退款处理
* 退款统计
- 结算管理
* 陪护人员结算
* 结算记录
* 结算统计
3.3.6 数据统计
- 用户统计
* 用户数量统计
* 用户增长趋势
* 用户活跃度
- 订单统计
* 订单量统计
* 订单金额统计
* 订单完成率
- 服务统计
* 服务类型分布
* 医院服务量统计
* 陪护人员服务量统计
3.3.7 系统配置
- 参数配置
* 系统参数设置
* 业务参数配置
- 字典管理
* 数据字典维护
- 通知公告
* 发布系统公告
* 公告管理
3.3.8 权限管理
- 角色管理
* 角色创建
* 角色权限分配
- 管理员管理
* 管理员账号管理
* 权限分配
四、业务流程
-----------
4.1 陪诊服务完整流程
【流程1患者下单流程】
1. 患者打开微信小程序
2. 选择服务类型(全程陪诊/诊前约号/取送结果/代办问诊)
3. 选择目标医院
4. 填写订单信息(就诊人信息、服务时间、特殊要求等)
5. 提交订单,生成订单号
6. 订单状态待接单status=0
7. 跳转支付页面
8. 选择支付方式(微信支付)
9. 完成支付
10. 订单状态:已支付/待服务status=2
【流程2陪护人员接单流程】
1. 陪护人员打开Android应用
2. 查看待接订单列表
3. 查看订单详情(服务类型、医院、时间、患者信息)
4. 选择接单或拒单
5. 如果接单:
- 订单状态已接单status=1
- 患者端收到接单通知
6. 如果拒单:
- 订单状态拒绝接单status=-1
- 订单重新进入待接单状态,等待其他陪护接单
【流程3服务执行流程】
1. 陪护人员到达医院
2. 在应用中点击"开始服务"
3. 订单状态服务中status=3
4. 患者端显示服务中状态
5. 陪护人员执行服务内容
6. 服务过程中可上传照片、联系患者
7. 服务完成后,陪护人员点击"完成服务"
8. 订单状态已完成status=4
9. 患者确认服务完成
10. 患者可对服务进行评价
【流程4退款流程】
1. 患者申请退款
2. 选择退款原因
3. 上传退款凭证(如需要)
4. 提交退款申请
5. 订单状态申请退款status=5
6. 后台管理员审核退款申请
7. 审核通过:
- 订单状态退款中status=6
- 执行退款操作
- 订单状态已退款status=7
8. 审核不通过:
- 订单状态恢复原状态
- 通知患者审核结果
【流程5订单结算流程】
1. 订单完成后,系统自动或手动结算
2. 计算陪护人员收入(扣除平台服务费)
3. 订单状态已结算status=8
4. 陪护人员可申请提现
4.2 订单状态流转图
待接单(0)
↓ [陪护接单]
已接单(1)
↓ [患者支付]
已支付/待服务(2)
↓ [陪护开始服务]
服务中(3)
↓ [陪护完成服务]
已完成(4)
↓ [系统结算]
已结算(8)
异常流程:
- 待接单(0) → [陪护拒单] → 拒绝接单(-1) → [重新分配] → 待接单(0)
- 待接单(0) → [患者取消] → 已取消(-2)
- 已支付(2) → [患者申请退款] → 申请退款(5) → [审核通过] → 退款中(6) → 已退款(7)
- 服务中(3) → [患者申请退款] → 申请退款(5) → [审核通过] → 退款中(6) → 已退款(7)
五、非功能性需求
---------------
5.1 性能需求
- 系统响应时间
* 页面加载时间 < 3秒
* API接口响应时间 < 1秒
* 支付接口响应时间 < 2秒
- 并发处理
* 支持1000+并发用户
* 订单处理能力 > 100单/分钟
- 数据容量
* 支持10万+用户数据
* 支持100万+订单数据
5.2 安全需求
- 数据安全
* 用户敏感信息加密存储
* 支付信息加密传输
* 数据库定期备份
- 接口安全
* JWT Token认证
* API接口权限控制
* 防SQL注入、XSS攻击
- 支付安全
* 微信支付官方SDK
* 支付回调验证
* 订单金额校验
5.3 可用性需求
- 系统可用性
* 系统可用率 > 99.5%
* 7×24小时服务
- 容错处理
* 异常情况友好提示
* 自动重试机制
* 降级方案
5.4 兼容性需求
- 微信小程序
* 支持微信7.0+版本
* 适配iOS和Android系统
- Android应用
* 支持Android 8.0+API 26+
* 适配主流Android手机品牌
- 后台管理系统
* 支持Chrome、Firefox、Safari、Edge等主流浏览器
* 响应式设计支持PC和移动端
5.5 可维护性需求
- 代码规范
* 遵循Java、JavaScript代码规范
* 代码注释完整
- 日志记录
* 关键操作日志记录
* 错误日志记录和告警
- 文档完善
* API接口文档
* 数据库设计文档
* 部署运维文档
六、技术架构
-----------
6.1 后端技术栈
- 框架Spring Boot 2.5.14
- 安全Spring Security + JWT
- 数据库MySQL 5.7+
- 缓存Redis
- 持久层MyBatis
- API文档Swagger 3.0
- 定时任务Quartz
- 构建工具Maven
6.2 前端技术栈(后台管理)
- 框架Vue 2.6.12
- UI组件Element UI 2.15.8
- 状态管理Vuex 3.6.0
- 路由Vue Router 3.4.9
- HTTP客户端Axios 0.24.0
6.3 客户端技术栈(微信小程序)
- 开发框架:微信小程序原生框架
- UI组件Vant Weapp 1.10.0
- 网络请求wx.request
- 支付微信支付SDK
6.4 陪护端技术栈Android
- 开发语言Java
- 最低SDKAndroid 8.0 (API 26)
- 目标SDKAndroid 14 (API 34)
- 网络框架Retrofit 2.4.0 + OkHttp 3.5.0
- 响应式编程RxJava 2.2.6
- 图片加载Glide 4.9.0
- 数据库OrmLite 5.1
- 架构模式MVP
6.5 数据库设计
- 用户表sys_user
* 患者和陪护人员共用
* 通过userType区分C=患者B=陪护)
- 订单表rlz_order
* 订单基本信息
* 订单状态
* 金额信息
- 医院表sys_hospital
* 医院基本信息
- 服务类型配置表
* 服务类型和价格配置
6.6 第三方服务集成
- 微信服务
* 微信登录
* 微信支付
* 微信小程序
- 短信服务
* 验证码发送
- 地图服务(可选)
* 高德地图定位
* 导航功能
七、数据模型
-----------
7.1 核心实体
【用户实体SysUser
- userId: 用户ID主键
- userName: 用户名
- nickName: 昵称
- phonenumber: 手机号
- email: 邮箱
- sex: 性别0男 1女 2未知
- avatar: 头像
- userType: 用户类型00系统用户 C患者 B陪护
- openid: 微信openid
- status: 状态0正常 1停用
- createTime: 创建时间
【订单实体RlzOrder
- orderId: 订单ID主键
- orderNumber: 订单号
- bId: 陪护人员ID
- cId: 患者ID
- hospitalId: 医院ID
- startTime: 服务开始时间
- endTime: 服务结束时间
- status: 订单状态
* -2: 已取消
* -1: 拒绝接单
* 0: 待接单
* 1: 已接单
* 2: 已支付(待服务)
* 3: 服务中
* 4: 已完成
* 5: 申请退款
* 6: 退款中
* 7: 已退款
* 8: 已结算
- yuguMoney: 预估金额
- jiesuanMoney: 结算金额
- kouchuMoney: 扣费金额
- fanxianMoney: 返现给陪护金额
- tuihuiMoney: 退回给患者金额
- yuliu9: 订单大类1-陪护 2-陪诊)
- yuliu10: 订单类型1-全程陪诊 2-诊前约号 3-取送结果 4-代办问诊)
- yuliu11: 患者电话
- yuliu12: 特殊要求/备注
- yuliu13: 送达地址
- yuliu14: 患者身份证号
- createTime: 创建时间
- updateTime: 更新时间
【医院实体SysHospital
- hospitalId: 医院ID主键
- hospitalName: 医院名称
- hospitalAddress: 医院地址
- hospitalPhone: 联系电话
- hospitalLevel: 医院等级
- hospitalDesc: 医院简介
- status: 状态0正常 1停用
7.2 数据关系
- 一个患者可以创建多个订单1:N
- 一个陪护人员可以接多个订单1:N
- 一个订单对应一个医院N:1
- 一个订单对应一个服务类型N:1
八、接口设计
-----------
8.1 客户端接口(微信小程序)
【用户相关】
- 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 - 获取价格类型配置
8.2 陪护端接口Android
【登录相关】
- POST /appLogin - APP登录
- POST /smsLogin - 短信登录
【订单相关】
- GET /system/view/list - 获取订单列表(陪护端)
- GET /system/view/getInfo - 获取订单详情
- POST /system/view/startServiceWithOrder - 开始服务
- POST /system/view/completeOrder - 完成服务
【收入相关】
- GET /system/user/getAppIndexInfo - 获取首页信息(收入统计)
8.3 后台管理接口
【用户管理】
- 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 - 修改订单
- POST /system/order/refundOrder/{orderId} - 处理退款
九、部署要求
-----------
9.1 服务器要求
- 操作系统LinuxCentOS 7+ / Ubuntu 18.04+
- CPU4核+
- 内存8GB+
- 硬盘100GB+
- 网络带宽10Mbps+
9.2 软件环境
- JDK1.8+
- MySQL5.7+
- Redis3.0+
- Nginx1.18+(反向代理)
9.3 域名和证书
- 后台API域名api.ruilaizi.com示例
- 小程序服务器域名:需在微信公众平台配置
- SSL证书HTTPS访问
9.4 数据库要求
- 字符集utf8mb4
- 支持事务
- 定期备份
十、项目里程碑
-------------
10.1 第一阶段基础功能开发2个月
- 用户注册登录
- 订单创建和支付
- 陪护接单功能
- 基础订单管理
10.2 第二阶段核心功能完善1.5个月)
- 服务执行流程
- 退款功能
- 收入结算
- 后台管理基础功能
10.3 第三阶段功能优化和扩展1个月
- 消息通知
- 评价系统
- 数据统计
- 性能优化
10.4 第四阶段测试和上线0.5个月)
- 功能测试
- 性能测试
- 安全测试
- 上线部署
十一、风险评估
-------------
11.1 技术风险
- 微信支付集成复杂度
- 高并发订单处理
- 数据一致性保证
11.2 业务风险
- 陪护人员服务质量控制
- 退款纠纷处理
- 医疗责任界定
11.3 运营风险
- 用户获取成本
- 陪护人员招募
- 医院合作拓展
十二、后续规划
-------------
12.1 功能扩展
- 在线客服系统
- 服务评价和评分系统
- 会员等级和优惠券
- 推荐陪护人员算法
- 服务轨迹跟踪
12.2 技术优化
- 微服务架构改造
- 消息队列引入
- 分布式缓存
- 大数据分析
12.3 业务拓展
- 多城市覆盖
- 更多服务类型
- 企业客户服务
- 保险合作
========================================
文档版本v1.0
文档生成时间2024年
项目名称陪诊SAAS系统
========================================