基于JAVA+SpringBoot的线上智能问诊就医平台
✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取项目下载方式🍅
一、项目背景介绍:
智慧医药系统(smart-medicine)是一个基于 SpringBoot 开发的标准 Java Web 项目。整体页面非常的简约大气,整合了目前非常火爆的 AIGC 生成式 AI(选用的阿里的通义千问大语言模型)技术充当智能医生,以此提升系统的 B 格,整体来看是一个偏向百科查询类的系统,功能设计的较为简单,便于初学者理解和学习,也适合学校中的项目答辩或者毕业设计。
系统共设计了三个角色:游客、用户、管理员。
游客:尚未进行注册和登录。具备登录注册、疾病、药品的搜索、查询详情等权限。
用户:除了游客的功能权限外,还具备登录、个人资料的修改、登录密码修改、意见反馈、智能医生咨询等权限。
管理员:除了用户的功能权限外,还具备疾病管理、药品管理、反馈管理等权限。
二、项目技术简介:
- JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
- SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
- Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
- Thymeleaf:thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库,基于Apache License 2.0许可,由Daniel Fernández创建,该作者还是Java加密库Jasypt的作者。
Thymeleaf提供了一个用于整合Spring MVC的可选模块,在应用开发中,你可以使用Thymeleaf来完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。
5. Bootstrap:Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。 国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。
三、系统功能模块介绍:

四、数据库设计:
1:feedback(feedback)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | int | NULL | 主键ID |
| name | varchar | NULL | 反馈用户 |
| varchar | NULL | 邮箱地址 | |
| title | varchar | NULL | 反馈标题 |
| content | text | NULL | 反馈内容 |
| create_time | datetime | NULL | 创建时间 |
| update_time | datetime | NULL | 更新时间 |
2:history(history)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | int | NULL | 用户搜索历史主键id |
| user_id | int | NULL | 用户ID |
| keyword | varchar | NULL | 搜索关键字 |
| operate_type | int | NULL | 类型:1搜索,2科目,3药品 |
| create_time | datetime | NULL | 创建时间 |
| update_time | datetime | NULL | 更新时间 |
3:illness(illness)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | int | NULL | 疾病id |
| kind_id | int | NULL | 疾病分类ID |
| illness_name | varchar | NULL | 疾病名字 |
| include_reason | mediumtext | NULL | 诱发因素 |
| illness_symptom | mediumtext | NULL | 疾病症状 |
| special_symptom | mediumtext | NULL | 特殊症状 |
| create_time | datetime | NULL | 创建时间 |
| update_time | datetime | NULL | 更新时间 |
4:illness_kind(illness_kind)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | int | NULL | 主键ID |
| name | varchar | NULL | 分类名称 |
| info | varchar | NULL | 描述 |
| create_time | datetime | NULL | 创建时间 |
| update_time | datetime | NULL | 更新时间 |
5:illness_medicine(illness_medicine)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | int | NULL | 病和药品关联id |
| illness_id | int | NULL | 病id |
| medicine_id | int | NULL | 药品id |
| create_time | datetime | NULL | 创建时间 |
| update_time | datetime | NULL | 更新时间 |
6:medicine(medicine)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | int | NULL | 药品主键ID |
| medicine_name | varchar | NULL | 药的名字 |
| keyword | varchar | NULL | 关键字搜索 |
| medicine_effect | mediumtext | NULL | 药的功效 |
| medicine_brand | varchar | NULL | 药的品牌 |
| interaction | mediumtext | NULL | 药的相互作用 |
| taboo | mediumtext | NULL | 禁忌 |
| us_age | mediumtext | NULL | 用法用量 |
| medicine_type | int | NULL | 药的类型,0西药,1中药,2中成药 |
| img_path | varchar | NULL | 相关图片路径 |
| medicine_price | decimal | NULL | 药的价格 |
| create_time | datetime | NULL | 创建时间 |
| update_time | datetime | NULL | 更新时间 |
7:pageview(pageview)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | int | NULL | 主键id |
| pageviews | int | NULL | 浏览量 |
| illness_id | int | NULL | 病的id |
8:user(user)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | int | NULL | 用户主键id |
| user_account | varchar | NULL | 用户账号 |
| user_name | varchar | NULL | 用户的真实名字 |
| user_pwd | varchar | NULL | 用户密码 |
| user_age | int | NULL | 用户年龄 |
| user_sex | varchar | NULL | 用户性别 |
| user_email | varchar | NULL | 用户邮箱 |
| user_tel | varchar | NULL | 手机号 |
| role_status | int | NULL | 角色状态,1管理员,0普通用户 |
| img_path | varchar | NULL | 用户头像 |
| create_time | datetime | NULL | 创建时间 |
| update_time | datetime | NULL | 更新时间 |
五、功能模块:
-
系统主页:

-
搜索一下:

-
疾病百科:

-
疾病信息:

-
查找药品:

-
我的资料:

-
疾病管理:

-
药品管理:

-
智能医生:与智能医生进行交流聊天

六、代码示例:
/*** 注册** @date 下午1:16 2022/5/1* @author azhou*/@PostMapping("/register")public RespResult register(User user, String code) {String email = user.getUserEmail();if (Assert.isEmpty(email)) {return RespResult.fail("邮箱不能为空");}Map<String, Object> codeData = (Map<String, Object>) session.getAttribute("EMAIL_CODE" + email);if (codeData == null) {return RespResult.fail("尚未发送验证码");}String sentCode = (String) codeData.get("code");Calendar calendar = Calendar.getInstance();calendar.setTime((Date) codeData.get("time"));calendar.add(Calendar.MINUTE, 5);if (System.currentTimeMillis() > calendar.getTime().getTime()) {session.removeAttribute("EMAIL_CODE" + email);return RespResult.fail("验证码已经超时");}if (!sentCode.equals(code)) {return RespResult.fail("验证码错误");}List<User> query = userService.query(User.builder().userAccount(user.getUserAccount()).build());if (Assert.notEmpty(query)) {return RespResult.fail("账户已被注册");}user.setRoleStatus(0);user.setImgPath("https://moti-cloud-v2.oss-cn-beijing.aliyuncs.com/Snipaste_2022-05-01_15-37-01.png");user = userService.save(user);session.setAttribute("loginUser", user);return RespResult.success("注册成功", user);}/*** 登录** @date 下午1:16 2022/5/1* @author azhou*/@PostMapping("/login")public RespResult login(User user) {List<User> users = userService.query(user);if (Assert.notEmpty(users)) {session.setAttribute("loginUser", users.get(0));return RespResult.success("登录成功");}if (Assert.isEmpty(userService.query(User.builder().userAccount(user.getUserAccount()).build()))) {return RespResult.fail("账户尚未注册");}return RespResult.fail("密码错误");}
七、项目总结:
之前在教材内容读书过程中开发设计技术专业知识,对研究过程的认知,对开发设计设计课程学习,及其如何有效开展系统的市场分析和设计。老师还选了更具有标志性管理方案系统来解读教学过程,课下安排工作使们进行练习。在这段时间,老师还应当掌握系统地完成和测试。应对餐厅点餐管理系统的开发,的脑海里的确有一个清晰的认知。在系统制做及配套文本文件撰写中,按照软件开发流程一步步做好本职工作。
从系统的角度看,依据餐厅点餐管理系统生产,其艰难在于功能清楚、系统构造设计、设计使用性能数据库系统、挑选核心技术进行系统功能等,这种都是自己的难题。针对这一艰难,实行了一些防范措施。当也不知道系统的功能时,在网上找到很多相似的系统,做好记录了一些系统的一般功能,并用了这一系统的高效功能的一部分。除此之外,在在网络上得到了很多关于系统设计的前提知识,包含系统模块划分、设计规范、数据库表的设计和创建,及其程序流程编码的专业技能知识,包含撰写与使用数据和信息加上、删掉和变更编码控制器。在系统序号进行相关功能后,认真的试了系统中所有功能,最后发现自己研发的系统符合规定,能接受。系统功能与系统剖析设计高度一致,系统质量稳定。为应对客户的实际操作不正确,还设有不恰当反馈机制,系统性能稳定。唯一的最大的缺点是系统数据报表的设计不健全,字段名称相匹配的引用类型不正确,一部分系统编码很多地方并没有注解,编码不足简易。
从文本文件的角度看,依据基于JAVA+SpringBoot的线上智能问诊就医平台生产后,应叙述生产过程的需求,包含怎样进行数据分析报告、怎样进行系统设计及其系统功能的具体运作实际效果。在这期间,用了接近一个月的时间来做。要实现院校标准化的文档排版标准,多次在老师的建议下学习办公软件使用和排版设计设计。坚持就是收益。经过长时间的的撰写和优化,的文档终于完成。
总而言之,尽管制做经历了太多阶段,但如果认真完成这件事情,们将在每一个环节得到许多知识,在每一个环节的操作过程中锻练们自己的实践技能。根据该项目的制做,开始明白,许多知识不但来源于书籍,来源于教师在课堂教学中讲的知识,还来源于各种网络学习平台和社会实践。到现在为止,将继续努力,维持新知识的深入学习习惯性
八、源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取项目下载链接,博主联系方式👇🏻👇🏻👇🏻
总而言之,尽管制做经历了太多阶段,但如果认真完成这件事情,们将在每一个环节得到许多知识,在每一个环节的操作过程中锻练们自己的实践技能。根据该项目的制做,开始明白,许多知识不但来源于书籍,来源于教师在课堂教学中讲的知识,还来源于各种网络学习平台和社会实践。到现在为止,将继续努力,维持新知识的深入学习习惯性
八、源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取项目下载链接,博主联系方式👇🏻👇🏻👇🏻
链接点击直达:下载链接
相关文章:
基于JAVA+SpringBoot的线上智能问诊就医平台
✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 智慧医药系统…...
adb: error: cannot create file/directory ‘d:/1.png‘: No such file or directory
将文件从设备读取到PC 由于权限问题,不能直接pull到电脑磁盘根目录,否则会报错: adb pull <remote> <local> eg: C:\Users\admin>adb pull /sdcard/server.log C:\Users\admin\Desktop /sdcard/server.log: 1 file pulled.…...
Pelee: A Real-Time Object Detection System on Mobile Devices(CVPR 2019)
文章目录 年三十AbstractIntroductionPeleeNet:一个高效的特征提取网络架构消融实验数据集不同设计选择对性能的影响 在ImageNet ILSVRC 2012上的结果真实设备上的速度 Pelee:实时目标检测系统Overview在VOC 2007上的结果不同设计选择的影响与其他框架的比较真实设备…...
分布式理论 | RPC | Spring Boot 整合 Dubbo + ZooKeeper
一、基础 分布式理论 什么是分布式系统? 在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”; 分布式系统是由一组通过网络进行通信、为了完成共同的…...
局域网其他pc如何访问宿主机虚拟机IP?
文章目录 背景贝瑞蒲公英设置虚拟机网络连接测试 背景 使用贝瑞蒲公英异地组网,将家里的pc作为pgsql服务器在公司使用,但是虚拟机的ip和端口访问不了 贝瑞蒲公英 设置虚拟机网络 就是添加端口转发规则 连接测试 公网内其他pc连接测试 可以看到已经连接成…...
U8 语法制导翻译技术
文章目录 一、总述二、翻译文法1、概念 三、语法制导翻译1、概念2、带属性的翻译文法3)综合属性4)继承属性5)举例 3、 L-属性翻译文法(L-ATG)1)概念2)求值规则 4、简单赋值形式的L-ATGÿ…...
剑指offer A + B
剑指offer A B 题目 输入两个整数,求这两个整数的和是多少。 输入格式 输入两个整数A,B,用空格隔开,0≤A,B≤10的8次幂 输出格式 输出一个整数,表示这两个数的和 样例输入: 3 4样例输出: 7参考答…...
gitlab(gitlab-ce)下载,离线安装
目录 1.下载 2.安装 3.配置 4.启动 5.登录 参考: 1.下载 根据服务器操作系统版本,下载对应的RPM包。 gitlab官网: The DevSecOps Platform | GitLab rpm包官网下载地址: gitlab/gitlab-ce - Results in gitlab/gitlab-ce 国内镜像地…...
Jmeter接口测试断言
一、响应断言 对服务器的响应接口进行断言校验,来判断接口测试得到的接口返回值是否正确。 二、添加断言 1、apply to: 通常发出一个请求只触发一个请求,所以勾选“main sampie only”就可以;若发一个请求可以触发多个服务器请…...
Temu、Shein、OZON测评自养号,IP和指纹浏览器的优缺点分析
随着全球电子商务的飞速发展,跨境电商环境展现出巨大的潜力和机遇。然而,跨境卖家们也面临着更激烈的竞争、更严格的规定和更高的运营成本等挑战。为了在这个环境中脱颖而出,一些卖家尝试使用自动脚本程序进行浏览和下单。然而,这…...
亚信科技AntDB数据库——深入了解AntDB-M元数据锁的相关概念
AntDB-M在架构上分为两层,服务层和存储引擎层。元数据的并发管理集中在服务层,数据的存储访问在存储引擎层。为了保证DDL操作与DML操作之间的一致性,引入了元数据锁(MDL)。 AntDB-M提供了丰富的元数据锁功能ÿ…...
yolov5 deepsort-船舶目标检测+目标跟踪+单目测距+速度测量
目标跟踪是一种计算机视觉技术,通过分析图像或视频数据中的目标,实时追踪目标的位置和运动轨迹。在本文中,我们将详细介绍目标跟踪的原理、方法和应用,并探讨其在各个领域中的潜在价值。 1. 目标跟踪技术的基本原理 目标跟踪技术的…...
Wireshark与其他工具的整合
第一章:Wireshark基础及捕获技巧 1.1 Wireshark基础知识回顾 1.2 高级捕获技巧:过滤器和捕获选项 1.3 Wireshark与其他抓包工具的比较 第二章:网络协议分析 2.1 网络协议分析:TCP、UDP、ICMP等 2.2 高级协议分析:HTTP…...
DDD架构实践
ddd架构浅析 背景介绍 什么是ddd架构,是以ddd思想为参考,做出一份符合ddd思想的框架。 随着技术的迭代升级,越来越多的瓶颈暴露出来,性能瓶颈,系统复杂度瓶颈,这些都逐一被迭代出的技术产物解决。最终的…...
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
近日,Bert-vits2-v2.2如约更新,该新版本v2.2主要把Emotion 模型换用CLAP多模态模型,推理支持输入text prompt提示词和audio prompt提示语音来进行引导风格化合成,让推理音色更具情感特色,并且推出了新的预处理webuI&am…...
认识缓存,一文读懂Cookie,Session缓存机制。
🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…...
关于react native项目中使用react-native-wechat-lib@3.0.4
关于react native项目中使用react-native-wechat-lib3.0.4 插件官网安装依赖包(Android和iOS下载插件完成后记得更新依赖,)Android中配置1.在项目文件夹下面创建文件夹wxapi(如上图)2.在文件MainApplication.java中如下…...
【LeetCode刷题笔记(8-1)】【Python】【接雨水】【动态规划】【困难】
文章目录 引言接雨水题目描述提示 解决方案1:【动态规划】结束语 接雨水 引言 编写通过所有测试案例的代码并不简单,通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的测试案例,但如果不了解代码背后的思考过程,那么这些代…...
pycharm通过ssh连接远程服务器的docker容器进行运行和调试代码
pycharm连接远程服务器的docker容器通常有两种方法: 第一种:pycharm通过ssh连接已在运行中的docker容器 第二种:pycharm连接docker镜像,pycharm运行代码再自动创建容器 第一种方法比较通用简单,作者比较推崇。 条件…...
Chrome2023新版收藏栏UI改回旧版
版本 120.0.6099.109(正式版本)Chrome浏览器菜单新版、旧版的差异 想要将书签、功能内容改回旧版的朋友可以网址栏输入:「chrome://flags」,接着搜寻「Chrome Refresh 2023」。 最后将 Chrome Refresh 2023、Chrome Refresh 2023…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
