======================================== 陪诊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 - 最低SDK:Android 8.0 (API 26) - 目标SDK:Android 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 服务器要求 - 操作系统:Linux(CentOS 7+ / Ubuntu 18.04+) - CPU:4核+ - 内存:8GB+ - 硬盘:100GB+ - 网络:带宽10Mbps+ 9.2 软件环境 - JDK:1.8+ - MySQL:5.7+ - Redis:3.0+ - Nginx:1.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系统 ========================================