一、系统架构设计
- 微服务架构
- 技术栈:Spring Boot + Spring Cloud Alibaba(Nacos、Sentinel、Seata) + MyBatis-Plus
- 模块拆分:
- 用户服务:管理老人、家属、护理员、医生等角色信息
- 订单服务:处理护理代办、陪诊预约、紧急救援等订单
- 健康服务:集成智能设备数据(血压、血糖、心率等)
- 支付服务:支持医保结算、第三方支付、家属代付
- 通知服务:短信、APP 推送、语音电话等多渠道提醒
- AI 服务:基于 NLP 的智能问诊、风险预测模型
- 高并发与容灾设计
- Redis 缓存:缓存高频访问数据(如护理员位置、服务价格)
- MQ 异步处理:使用 RocketMQ 解耦订单创建与通知发送
- 多活部署:主从数据库 + 分布式文件存储(如 MinIO)保障数据安全
二、核心功能实现
1. 护理代办服务
- 功能场景:
- 代买药品、生活用品
- 家政清洁、做饭送餐
- 银行办事、医院取报告
技术实现:
// 护理任务匹配算法(基于距离 + 评分 + 技能标签)
public List<Nurse> matchNurses(Task task) {
// 1. 筛选符合技能要求的护理员(如会注射、懂方言)
List<Nurse> candidates = nurseRepository.findBySkills(task.getRequiredSkills());
// 2. 计算加权距离(考虑交通拥堵因子)
candidates.sort((n1, n2) -> {
double distance1 = calculateWeightedDistance(task.getLocation(), n1.getCurrentLocation());
double distance2 = calculateWeightedDistance(task.getLocation(), n2.getCurrentLocation());
return Double.compare(distance1, distance2);
});
// 3. 结合历史评分排序
return candidates.stream()
.sorted(Comparator.comparingDouble(Nurse::getAvgRating).reversed())
.limit(5)
.collect(Collectors.toList());
}

