YLT

type
status
date
slug
summary
tags
category
icon
password
基于微服务架构的在线医疗预约挂号平台,采用前后端分离设计,实现用户端预约挂号和管理端运营管理的完整功能。

📖 项目简介

医路通是一个完整的医疗预约挂号系统,支持用户在线预约医生、查看排班、管理预约订单,以及管理员端的医生管理、排班管理、数据统计等功能。系统采用微服务架构,支持高并发预约场景。

核心功能

用户端
  • 用户注册/登录(手机号+密码)
  • 医生列表查询(支持科室筛选)
  • 医生详情与排班查看
  • 在线预约挂号
  • 我的预约管理(查看、取消)
  • AI智能客服(阿里云通义千问)
  • 就诊指南
管理端
  • 管理员登录
  • 工作台数据统计(预约数、热门科室/医生排行)
  • 医生管理(增删改查、启用/停用)
  • 排班管理(新增、批量生成、修改)
  • 预约订单管理(筛选、查看)
  • 科室管理
  • 用户管理

技术亮点

  • 高并发预约:Redisson分布式锁 + Redis库存 + RabbitMQ异步处理
  • 微服务架构:Dubbo RPC + Nacos服务注册与发现
  • 安全认证:JWT Token + BCrypt密码加密
  • 智能客服:集成阿里云通义千问AI大模型
  • 自动化运维:定时任务自动生成未来7天排班

🛠️ 技术栈

后端技术

技术
版本
说明
Spring Boot
3.1.5
基础框架
Dubbo
3.2.9
RPC微服务框架
Nacos
2.3.0
服务注册与配置中心
MySQL
8.x
关系型数据库
MyBatis-Plus
3.5.5
ORM框架
Redis
5.0+
缓存与分布式锁
Redisson
3.25.0
分布式锁实现
RabbitMQ
3.x
消息队列
Druid
1.2.20
数据库连接池
JWT
0.11.5
Token认证

前端技术

技术
版本
说明
Vue
3.5.22
前端框架
Vite
7.1.11
构建工具
Vue Router
4.6.3
路由管理
Pinia
3.0.3
状态管理
Element Plus
2.11.7
UI组件库
Axios
1.13.1
HTTP客户端

📁 项目结构


📊 数据库设计

核心表说明

表名
说明
关键字段
user
用户表
phone(手机号), password(BCrypt加密)
doctor
医生表
name, title, department, specialty
schedule
排班表
doctor_id, work_date, time_slot, available_stock
appointment
预约订单表
user_id, schedule_id, order_no, status
department
科室表
name, description, sort
admin
管理员表
username, password(BCrypt加密)
doctor_schedule_rule
排班规则表
doctor_id, work_days, work_time_slots, default_stock

🔐 安全说明

已实现的安全措施

  • 密码加密:使用BCrypt单向加密,不可逆
  • JWT认证:Token有效期7天,请求头自动携带
  • SQL注入防护:MyBatis-Plus参数化查询
  • 配置脱敏:敏感信息使用模板文件,不上传真实配置
  • 分布式锁:Redisson保证预约库存一致性

生产环境建议

  • ⚠️ 修改默认密码:管理员密码、RabbitMQ密码、MySQL密码
  • ⚠️ 启用Redis密码:生产环境务必为Redis设置密码
  • ⚠️ 配置Nacos鉴权:防止未授权访问
  • ⚠️ 使用HTTPS:前后端通信加密
  • ⚠️ 配置CORS:限制跨域访问来源

🎯 核心业务流程

预约流程(高并发场景)


📝 API接口文档

用户相关接口

接口
方法
说明
/api/user/register
POST
用户注册
/api/user/login
POST
用户登录
/api/user/info
GET
获取用户信息

医生相关接口

接口
方法
说明
/api/doctor/list
GET
医生列表(支持科室筛选)
/api/doctor/{id}
GET
医生详情

预约相关接口

接口
方法
说明
/api/appointment/book
POST
预约挂号
/api/appointment/my
GET
我的预约列表
/api/appointment/cancel/{id}
PUT
取消预约
更多接口详见代码注释。

🐛 已知问题与改进计划

待优化项

N+1查询问题(我的预约列表)
前端路由懒加载
全局异常处理器
定时任务分布式锁
Redis缓存穿透防护
单元测试覆盖

未来功能

短信验证码登录
在线支付(微信/支付宝)
电子病历管理
视频问诊
Docker容器化部署
Prometheus + Grafana监控

👨‍💻 开发者

Lip233

🙏 致谢

感谢以下开源项目:

 
 
上一篇
随机
下一篇
AI Resume Master
Loading...