💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学习实战项目
本地健康宝微信小程序系统介绍
本地健康宝微信小程序系统是一个面向社区居民的健康服务管理平台,采用SpringBoot框架作为后端核心技术,结合uni-app开发微信小程序前端,实现了完整的健康服务数字化管理。系统涵盖疫苗信息管理、疫苗预约、接种记录跟踪、核酸检测预约、检测结果查询、健康提醒推送等核心功能模块,通过MySQL数据库存储用户健康数据,为社区居民提供便民的健康服务入口。平台支持用户在线预约疫苗接种和核酸检测,医护人员可以通过管理端实时更新接种记录和检测结果,系统还具备交流论坛功能供用户分享健康资讯和经验。整个系统采用前后端分离的架构设计,微信小程序端负责用户交互体验,SpringBoot后端提供稳定的数据接口服务,确保健康数据的准确性和实时性,为构建智慧社区健康管理体系提供了技术支撑。
本地健康宝微信小程序系统演示视频
本地健康宝微信小程序系统演示图片
本地健康宝微信小程序系统代码展示
import org.apache.spark.sql.SparkSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.*;
@RestController
@RequestMapping("/vaccine")
public class VaccineController {
private SparkSession spark = SparkSession.builder().appName("HealthDataAnalysis").master("local").getOrCreate();
@Autowired
private VaccineService vaccineService;
@PostMapping("/appointment")
public ResponseEntity<Map<String, Object>> createVaccineAppointment(@RequestBody VaccineAppointment appointment) {
Map<String, Object> result = new HashMap<>();
if (appointment.getUserId() == null || appointment.getVaccineId() == null) {
result.put("status", "error");
result.put("message", "用户ID和疫苗ID不能为空");
return ResponseEntity.badRequest().body(result);
}
VaccineInfo vaccine = vaccineService.getVaccineById(appointment.getVaccineId());
if (vaccine == null) {
result.put("status", "error");
result.put("message", "疫苗信息不存在");
return ResponseEntity.badRequest().body(result);
}
if (vaccine.getStock() <= 0) {
result.put("status", "error");
result.put("message", "疫苗库存不足,无法预约");
return ResponseEntity.badRequest().body(result);
}
LocalDateTime appointmentTime = appointment.getAppointmentTime();
if (appointmentTime.isBefore(LocalDateTime.now())) {
result.put("status", "error");
result.put("message", "预约时间不能早于当前时间");
return ResponseEntity.badRequest().body(result);
}
List<VaccineAppointment> existingAppointments = vaccineService.getAppointmentsByTimeSlot(appointmentTime);
if (existingAppointments.size() >= 10) {
result.put("status", "error");
result.put("message", "该时间段预约人数已满");
return ResponseEntity.badRequest().body(result);
}
appointment.setStatus("已预约");
appointment.setCreateTime(LocalDateTime.now());
vaccineService.saveAppointment(appointment);
vaccine.setStock(vaccine.getStock() - 1);
vaccineService.updateVaccine(vaccine);
result.put("status", "success");
result.put("message", "疫苗预约成功");
result.put("appointmentId", appointment.getId());
return ResponseEntity.ok(result);
}
}
@RestController
@RequestMapping("/nucleic")
public class NucleicTestController {
@Autowired
private NucleicTestService nucleicTestService;
@PostMapping("/appointment")
public ResponseEntity<Map<String, Object>> createNucleicTestAppointment(@RequestBody NucleicTestAppointment appointment) {
Map<String, Object> result = new HashMap<>();
if (appointment.getUserId() == null || appointment.getHospitalId() == null) {
result.put("status", "error");
result.put("message", "用户ID和医院ID不能为空");
return ResponseEntity.badRequest().body(result);
}
HospitalInfo hospital = nucleicTestService.getHospitalById(appointment.getHospitalId());
if (hospital == null) {
result.put("status", "error");
result.put("message", "医院信息不存在");
return ResponseEntity.badRequest().body(result);
}
LocalDateTime testTime = appointment.getTestTime();
if (testTime.isBefore(LocalDateTime.now())) {
result.put("status", "error");
result.put("message", "检测时间不能早于当前时间");
return ResponseEntity.badRequest().body(result);
}
List<NucleicTestAppointment> sameTimeAppointments = nucleicTestService.getAppointmentsByHospitalAndTime(appointment.getHospitalId(), testTime);
if (sameTimeAppointments.size() >= hospital.getDailyCapacity()) {
result.put("status", "error");
result.put("message", "该医院当日检测预约已满");
return ResponseEntity.badRequest().body(result);
}
appointment.setStatus("已预约");
appointment.setCreateTime(LocalDateTime.now());
appointment.setQueueNumber(sameTimeAppointments.size() + 1);
nucleicTestService.saveAppointment(appointment);
result.put("status", "success");
result.put("message", "核酸检测预约成功");
result.put("queueNumber", appointment.getQueueNumber());
result.put("appointmentId", appointment.getId());
return ResponseEntity.ok(result);
}
@PostMapping("/result")
public ResponseEntity<Map<String, Object>> updateTestResult(@RequestBody NucleicTestResult testResult) {
Map<String, Object> result = new HashMap<>();
if (testResult.getAppointmentId() == null || testResult.getResult() == null) {
result.put("status", "error");
result.put("message", "预约ID和检测结果不能为空");
return ResponseEntity.badRequest().body(result);
}
NucleicTestAppointment appointment = nucleicTestService.getAppointmentById(testResult.getAppointmentId());
if (appointment == null) {
result.put("status", "error");
result.put("message", "预约记录不存在");
return ResponseEntity.badRequest().body(result);
}
if (!"已预约".equals(appointment.getStatus())) {
result.put("status", "error");
result.put("message", "该预约状态不允许录入结果");
return ResponseEntity.badRequest().body(result);
}
testResult.setTestTime(LocalDateTime.now());
testResult.setUserId(appointment.getUserId());
nucleicTestService.saveTestResult(testResult);
appointment.setStatus("已完成");
nucleicTestService.updateAppointment(appointment);
if ("阳性".equals(testResult.getResult())) {
ReminderInfo reminder = new ReminderInfo();
reminder.setUserId(appointment.getUserId());
reminder.setContent("您的核酸检测结果为阳性,请及时联系相关部门");
reminder.setType("紧急提醒");
reminder.setCreateTime(LocalDateTime.now());
nucleicTestService.saveReminder(reminder);
}
result.put("status", "success");
result.put("message", "检测结果录入成功");
return ResponseEntity.ok(result);
}
}
@RestController
@RequestMapping("/statistics")
public class HealthStatisticsController {
@Autowired
private StatisticsService statisticsService;
@GetMapping("/vaccination")
public ResponseEntity<Map<String, Object>> getVaccinationStatistics(@RequestParam String startDate, @RequestParam String endDate) {
Map<String, Object> result = new HashMap<>();
if (startDate == null || endDate == null) {
result.put("status", "error");
result.put("message", "开始日期和结束日期不能为空");
return ResponseEntity.badRequest().body(result);
}
List<VaccinationRecord> records = statisticsService.getVaccinationRecordsByDateRange(startDate, endDate);
Map<String, Integer> vaccineTypeCount = new HashMap<>();
Map<String, Integer> dailyCount = new HashMap<>();
int totalVaccinations = 0;
for (VaccinationRecord record : records) {
String vaccineType = record.getVaccineType();
vaccineTypeCount.put(vaccineType, vaccineTypeCount.getOrDefault(vaccineType, 0) + 1);
String dateStr = record.getVaccinationDate().toLocalDate().toString();
dailyCount.put(dateStr, dailyCount.getOrDefault(dateStr, 0) + 1);
totalVaccinations++;
}
List<HospitalInfo> hospitals = statisticsService.getAllHospitals();
Map<String, Integer> hospitalVaccinationCount = new HashMap<>();
for (HospitalInfo hospital : hospitals) {
int count = statisticsService.getVaccinationCountByHospital(hospital.getId(), startDate, endDate);
hospitalVaccinationCount.put(hospital.getName(), count);
}
double averageDailyVaccinations = records.isEmpty() ? 0 : (double) totalVaccinations / dailyCount.size();
result.put("status", "success");
result.put("totalVaccinations", totalVaccinations);
result.put("vaccineTypeCount", vaccineTypeCount);
result.put("dailyCount", dailyCount);
result.put("hospitalVaccinationCount", hospitalVaccinationCount);
result.put("averageDailyVaccinations", Math.round(averageDailyVaccinations * 100.0) / 100.0);
return ResponseEntity.ok(result);
}
}
本地健康宝微信小程序系统文档展示
💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学习实战项目