博主主页:猫头鹰源码
博主简介:Java领域优质创作者、优快云博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作
主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP等)、简历模板、学习资料、面试题库、技术咨询、文档编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩
☑️ 文末联系获取👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2024年最新计算机软件毕业设计选题大全:数百热门选题推荐✅
2024最新精品毕业设计项目,已整理自取
感兴趣可以先收藏起来,以防走丢,有任何选题、文档编写、代码问题也可以咨询我们
项目不是烂大街的模板项目,手写,代码适合学生学习和二次开发其它优秀案例看文末
项目介绍
本系统为最新原创项目,采用前后端分离,项目代码工整,结构清晰,适合选题:网约、家庭医生、医生、医生管理、前后端分离类其他医生话题等。系统采用springboot+vue整合开发,前端主要使用了vue、项目后端主要使用了springboot,数据层采用mybatis。
功能详情
一.管理员功能
医生管理:审核医生的注册请求。管理医生的个人信息,包括姓名、职称、专业、执业地点等,对违规医生进行封禁。
用户管理:管理患者的个人信息,对违规用户进行封禁。
线上药局管理: 对药物品类、价格、规格、库存、是否处方药等字段进行维护
订单管理:处理药品订单(发货,退款等),跟踪预约挂号订单状态等。
公告信息管理:发布系统公告,如系统更新通知,轮播图等,
AI咨询模块。
二、医生
注册登陆:(医生注册后要上传一些认证材料供管理员审核,审核通过才能正常登陆)
个人中心:查看自己的个人信息,如主治方向,医龄,联系方式、执业地点,头像,账户余额(用户挂号接收用户挂号费,用户取消预约退回挂号费)。
线上药局:查看药物信息
患者管理:医生可以查看自己的患者列表,包括患者的基本信息、预约记录和历史聊天记录。
预约管理:医生可以进行排班,自行设定出诊日期(例如一月中只设定某某天出诊)。设定出诊时间段.查看和管理自己的预约时间表,可以接受、拒绝预约请求。
在线沟通:医生同意用户的申请后,在预约时间段内,医生与患者之间可以进行实时的线上沟通。
处方开具: 根据患者病情提供诊断结果,给出治疗方案,开具处方等
我的评价:查看用户对我的评论信息
AI咨询模块。
三、用户
注册登陆
个人中心:修改和删除自己的个人信息,如姓名、年龄、性别、联系方式,我的收货地址等,查看钱包余额(集成支付宝沙箱支付,通过沙箱支付充值)。
查询医生:用户可以根据自己的需求搜索合适的家庭医生,并查看医生的详细信息,如专业资质和服务评价以及主治方向。
预约挂号:选择医生并预约挂号,系统将显示该医生当天的可用时间段,也可以预约后面几天的号。用户可以选择一个合适的时间段进行预约(被预约后的时间段即为不可用状态,取消预约后恢复),支付挂号费(通过余额),用户可以取消预约挂号(取消挂号后退款应退入钱包余额)。
在线沟通:在预约时间段内,用户可以与医生进行实时的线上沟通。
我的处方:查看医生开具的处方和处方药品
订单管理:查看自己的处方药品订单,了解订单状态:未支付,已支付,已发货(随机生成一个快递单号),已完成,已退款(退款应退回钱包余额),已取消(支付订单通过钱包余额)。
我的评价:用户可以对医生的服务进行评价(1-5星评分),为其他用户提供参考。
我的病史:查看我的所有往期病历
AI咨询模块。
系统包含技术
后端:springboot,mybatis
前端:vue2、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8
部分截图
登录

首页

医生管理

药局管理

AI问答

排班

查询医生

聊天

部分代码
/**
* 分页查询
*/
@PostMapping("/selectPage")
public Result selectPage(@RequestBody Map<String,String> mp) {
PageHelper.startPage(Integer.parseInt(mp.get("currentPage").toString()), Integer.parseInt(mp.get("pagesize").toString()));
List<Appointment> list = appointmentService.queryAllByLimit(mp);
PageInfo<Appointment> pageInfo = new PageInfo<Appointment>(list);
return Result.success(pageInfo);
}
/**
* 查询所有
*/
@PostMapping("/queryAll")
public Result queryAll(@RequestBody Appointment appointment) {
List<Appointment> list = appointmentService.queryCondition(appointment);
return Result.success(list);
}
/**
* 通过主键查询单条数据
*/
@GetMapping("/selectOne")
public Result selectOne(Integer id) {
Appointment appointment = appointmentService.queryById(id);
return Result.success(appointment);
}
/**
* 新增
*/
@PostMapping("/add")
public Result add(@RequestBody Appointment appointment) {
Date date = new Date();
appointment.setCreateTime(date);
appointmentService.insert(appointment);
//更新排班状态
DoctorSchedule doctorSchedule = doctorScheduleService.queryById(appointment.getScheduleId());
if(doctorSchedule!=null){
DoctorSchedule doctorSchedule1 = new DoctorSchedule();
doctorSchedule1.setId(appointment.getScheduleId());
doctorSchedule1.setStatus("01");
doctorScheduleService.update(doctorSchedule1);
}
//更新用户和医生余额
User user = userService.queryById(appointment.getUserId());
if(user!=null){
User user1 = new User();
user1.setId(appointment.getUserId());
if(user.getWallet()<appointment.getFee()){
return Result.error("用户余额不足");
}
user1.setWallet(user.getWallet()-appointment.getFee());
userService.update(user1);
}
Doctor doctor = doctorService.queryById(appointment.getDoctorId());
if(doctor!=null){
Doctor doctor1 = new Doctor();
doctor1.setId(appointment.getDoctorId());
doctor1.setWallet(doctor.getWallet()+appointment.getFee());
doctorService.update(doctor1);
}
return Result.success("操作成功");
}
/**
* 修改
*/
@PostMapping("/edit")
public Result edit(@RequestBody Appointment params) {
appointmentService.update(params);
Appointment appointment = appointmentService.queryById(params.getId());
//更新排班状态
DoctorSchedule doctorSchedule = doctorScheduleService.queryById(appointment.getScheduleId());
if(doctorSchedule!=null){
DoctorSchedule doctorSchedule1 = new DoctorSchedule();
doctorSchedule1.setId(appointment.getScheduleId());
doctorSchedule1.setStatus("02");
doctorScheduleService.update(doctorSchedule1);
}
//更新用户和医生余额
User user = userService.queryById(appointment.getUserId());
if(user!=null){
User user1 = new User();
user1.setId(appointment.getUserId());
user1.setWallet(user.getWallet()+appointment.getFee());
userService.update(user1);
}
Doctor doctor = doctorService.queryById(appointment.getDoctorId());
if(doctor!=null){
Doctor doctor1 = new Doctor();
doctor1.setId(appointment.getDoctorId());
if(doctor.getWallet()<appointment.getFee()){
return Result.error("医生余额不足");
}
doctor1.setWallet(doctor.getWallet()-appointment.getFee());
doctorService.update(doctor1);
}
return Result.success("操作成功");
}
其他优秀案例





项目获取
项目不是烂大街的模板项目,手写,代码适合学生学习和二次开发
大家点赞、收藏、关注、评论啦 、查看👇🏻下方名片👇🏻
737

被折叠的 条评论
为什么被折叠?



