基于前后端分离java的网约家庭医生管理系统(源码+文档+部署讲解等)

博主主页:猫头鹰源码
博主简介: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("操作成功");
    }

其他优秀案例

 



案例3

项目获取

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫头鹰源码(同名B站)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值