
项目介绍医脉通达 - AI 智能医生Spring Boot 2.6.6 / Java 8 一个面向大众的医疗健康科普与智能问诊 Web 平台用户按疾病 / 症状 / 药品搜索查看疾病详情及对应药品可通过通义千问大模型进行健康问答提供邮箱验证码注册、登录、浏览历史、意见反馈管理员可维护疾病、药品、分类数据。前端采用 Thymeleaf 服务端渲染基于Ayurvedic医疗主题模板改造。项目地址https://github.com/JiaHaowei-it/AI-medical.git项目演示视频https://www.bilibili.com/video/BV1LAaG6rEeR/?share_sourcecopy_webvd_sourcede7ad747ef2f4bce1f7ee57c67a234ba技术栈与依赖类别技术核心框架Spring Boot 2.6.6、Spring MVC、Thymeleaf数据层MyBatis Plus 3.2.0、MySQL 8 Druid 连接池AI阿里 DashScope SDK 2.14通义千问 qwen-turbo云 / 消息阿里云 OSS、QQ 邮箱 SMTP验证码工具库Hutool、FastJSON、Commons、Lombok声明但未见使用百度人脸 SDK、腾讯云短信 SDKpom.xml已声明控制器 / 服务层均未引用核心业务流程注册 / 登录邮箱 →EmailClient发送 6 位验证码存 session5 分钟有效→ 校验后注册明文密码入库登录用 sessionloginUser标记。注意拦截器已写好但未注册登录态校验依赖SystemController里零散的if(loginUsernull) redirect。疾病搜索findIllness按疾病名 / 症状 / 诱发因素模糊搜索 科室筛选 每页 9 条分页记录浏览历史findIllnessOne展示疾病详情、关联药品并给pageview浏览量自增。智能医生MessageController/query→ApiService.query→ DashScope系统提示词限定为 科普、不替代诊断。管理维护管理员通过all-illness/all-medical 泛型save/delete增删改疾病、药品、分类分层架构src/main/java/com/medical采用经典三层 泛型基类Controller 层12 个BaseControllerT提供通用save/delete并借助ModelAttribute统一注入 request/session/loginUser/ 分类列表LoginController注册 / 登录 / 验证码、UserController改资料 / 密码、SystemController全部页面路由 搜索、MessageController调用 AI、FileControllerOSS 上传承担真实逻辑。Service 层IServiceT接口 BaseServiceT抽象类注入全部 DAO各实体 Service 实现统一 CRUDquery通过 Bean→Map→驼峰转下划线构造QueryWrapper动态等值查询并含业务方法IllnessService.findIllness分页搜索 浏览量、findIllnessOne疾病 关联药品 浏览量自增、MedicineService.getMedicineList、HistoryService.findList历史去重前 10。DAO 层*Dao均为BaseMapperT接口MyBatis Plus 自动实现无 XML。支撑config/MvcConfig视图 / 错误页映射、component/EmailClient邮件验证码、component/LoginHandlerInterceptor定义了但未注册、constant/MedicalConstants、dto/RespResult、utils/OssUtil/Assert/BeanUtils/VariableNameUtils。数据模型8 张表 user含角色 role_status、illness_kind科室分类、illness疾病含诱发 / 症状 / 特殊症状、medicine药品含功效 / 禁忌 / 用法 / 价格、illness_medicine疾病↔药品多对多关联、history用户搜索历史类型 1 搜索 / 2 疾病 / 3 药品、feedback、pageview疾病浏览量。项目架构