预约挂号系统 后端开发 2022.6-2022.9
项目架构:SpringBoot+ SpringCloud+ MyBatisPlus+ Redis+ MongoDb +nginx + RocketMq
项目描述:本项目主要包括后台管理部分,预约系统部分,后台管理部分功能包括:用户的注
册认证以及用户权限的管理,医院的认证管理,预约部分功能包括:用户登录注册以及认证,
预约挂单及取消,支付功能以及退款功能;
项目技术点:在预约模块中结合了第三方支付接口实现支付以及查询支付状态,用 redis 来实
现可预约人数的扣减,通过 lua 脚本来实现 redis 中组合操作的原子性
项目难点:高流量情况下已预约人数大于可预约人数,以及一人重复预约挂号的问题
解决在开放预约挂号前将预约数量先加载进 redis 同时再建立一个存储已经预约挂单过的 set
集合,在预约挂号前先去redis中查询是否还有订单以及查询set集合中是否以及存在该用户,
如果上面条件都满足了,然后再结合 rocketmq 消息队列异步修改数据库中订单的状态,