基于SpringBoot+Vue的药物咨询平台

浏览 10 次

Drug Consultation Platform Based on SpringBoot+Vue

基于SpringBoot+Vue的药物咨询平台是一个集在线咨询、药品信息管理及用户交互于一体的系统开发项目。平台提供药物查询、专业咨询、用药提醒等核心功能,旨在提升药物信息管理效率与用户体验。该系统适合作为毕业设计或实际项目实现,采用前后端分离架构,确保系统稳定性和可扩展性。

SpringBootVue前后端分离PC端

项目简介

基于SpringBoot+Vue的药物咨询平台是一个集在线咨询、药品信息管理及用户交互于一体的系统开发项目。平台提供药物查询、专业咨询、用药提醒等核心功能,旨在提升药物信息管理效率与用户体验。该系统适合作为毕业设计或实际项目实现,采用前后端分离架构,确保系统稳定性和可扩展性。

项目基础信息

适合专业计算机科学与技术 / 软件工程 / 信息管理
技术栈SpringBoot + Vue + MySQL + Redis
系统架构前后端分离
项目类型医疗健康 / 咨询平台
运行环境JDK1.8、MySQL5.7+、Node14+
开发工具IntelliJ IDEA、VSCode、Git

项目包含内容

  • 前后端完整源码
  • 数据库完整脚本
  • 参考论文(如有)
  • 部署软件及部署说明
  • 项目介绍文档(如有)

项目详细介绍

一、项目背景介绍:

1.1 研究目的及意义

随着新药品越来越丰富,不同药物间相互作用的不确定性以及患者健康安全理念的逐步建立,患者越来越重视药品的安全性,渴望了解药物相互作用及不良反应。通过开展药物咨询服务平台,最大限度地避免了医疗纠纷的发生以及潜在的用药隐患,对用药安全、康复治疗,以及解决医患纠纷的发生,发挥着积极的重要性[1]。

专业的用药服务使中国患者明白药师的重要性,以此提升中国药师的社会地位,同时也能方便出院患者咨询药物[2]。在中国互联网医疗发展的步伐中建立和其他医疗服务不一样的服务方向。

由此可见,在中国还未成型的互联网医疗市场上打下基础,以待中国互联网医疗大潮涌来时趁势而上。

二、项目技术简介:

  1. JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

  2. Vue:Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助开发者高效地开发用户界面。

Vue是一个独立的社区驱动的项目,它是由尤雨溪在2014年作为其个人项目创建, 是一个成熟的、经历了无数实战考验的框架,它是目前生产环境中使用最广泛的JavaScript框架之一,可以轻松处理大多数web应用的场景,并且几乎不需要手动优化,并且Vue完全有能力处理大规模的应用。

  1. Element-UI:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。

  2. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

  3. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。

  4. Spring-Mvc:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框。

三、系统功能模块介绍:

功能模块图

四、数据库设计:

五、功能模块:

  1. 注册登录:当用户输入访问网页的网址后就会进入到平台的登录注册中,如果是新用户可以选择自己专属账号的注册,注册号账号后就可以进行登录

注册账号时会对密码进行确认验证,如果两次输入的密码不一致,系统将会给予提示

注册登录

  1. 药物问题咨询:该模块主要是介绍用户对于相关药品不熟悉,需要通过资讯平台向药师进行提问的介绍

    药物问题咨询

  2. 药物基本信息查询:该模块主要是介绍系统中的所有药品基本信息,如药品的编码、名称、服用要求、禁忌症等情况。

    药物基本信息查询

  3. 咨询评论页面:该模块主要是用户对于药品的了解程度不够,需要向药师进行提问的记录,当药师收到用户的提问留言后,会第一时间进行回复。

    咨询评论页面

  4. 管理员后台:该模块主要是管理员(药师)登录系统后,可以对系统进行的相关操作,具体有用户信息管理、通知公告管理、药品维护、咨询问题解答等。

    管理员后台

  5. 通知公告管理:该模块主要是管理员发布每日的通知,更新每天系统中的药品信息通知,同时也可以进行通知公告分类的选择。

    通知公告管理

六、代码示例:

注册登录

注册核心代码如下:

@RequestMapping(value = /user/insert)

public ControllerResultData<User> insert(User user){

   ControllerResultData<User> controllerResultData = new ControllerResultData<>();

   try {

      int id = userService.insert(user);

      if (id == 0){

         controllerResultData.setDefaultFail();

         controllerResultData.setMsg(ResultConstant.USER_NAME_EXIST);

         return controllerResultData;

      }

      controllerResultData.setDefaultSuccess();

      controllerResultData.setData(user);

   }catch(Exception ex) {

      ex.printStackTrace();

      controllerResultData.setCode(ResultConstant.CONTROLLER_RES_CODE_V1);

      controllerResultData.setMsg(ResultConstant.DEFAULT_FAIL_MSG);

   }

   return controllerResultData;

}

@Override

public int insert(User user) throws Exception {

    //判断用户是否存在

    User user1 = new User();

    user1.setUserName(user.getUserName());

    List<User> list = userDao.findList(user1);

    if (list.size() > 0){

        return 0;

    }

    user.setUserHead(ResultConstant.IMAGE);

    user.setVip(0);

    user.setNickName(root);

    user.setTime(DateUtil.defaultFormatDate());

    user.setStatus(1);

    return userDao.insert(user);

}

登录核心代码如下:

@RequestMapping(/user/login)

	public ControllerResultData<User> login(User user){

		ControllerResultData<User> controllerResultData = new ControllerResultData<>();

		User login = userService.login(user);

		if(login != null){

			//把token存入redis中

			redisUtil.set(login.getToken(),login);

			controllerResultData.setDefaultSuccess();

			controllerResultData.setData(login);

		}else{

			controllerResultData.setDefaultFail();

			controllerResultData.setMsg(ResultConstant.USERINFO_NOT_EXISTS);

		}

		return controllerResultData;

	}

@Override

    public User login(User user) {

        User userFind = userDao.find(user);

        if (userFind != null){

            if(!0.equals(userFind.getStatus())){

                userFind.setToken(TokenUtil.getToken(userFind.getId()));

                return userFind;

            }

        }

        return userFind;

    }
药物问题咨询

/**

 * 查询药物问题咨询列表

 */

@GetMapping(/list)

public TableDataInfo list(TDrugQuestion tDrugQuestion,String userName)

{

    startPage();

    if(StringUtils.isNotEmpty(userName)){

        SysUser sysUser = sysUserService.selectUserByUserName(userName);

        tDrugQuestion.setRemindWho(sysUser.getUserId());

    }

    List<TDrugQuestion> list = tDrugQuestionService.selectTDrugQuestionList(tDrugQuestion);

    return getDataTable(list);

}
药物基本信息查询

/**

 * 获取药物信息详细信息

 */

@GetMapping(value = /{id})

public AjaxResult getInfo(@PathVariable(id) Long id)

{

    return AjaxResult.success(tGrugsService.selectTGrugsById(id));

}
咨询评论页面

/**

 * 获取咨询评论详细信息

 */

@GetMapping(value = /{id})

public AjaxResult getInfo(@PathVariable(id) Long id)

{

    return AjaxResult.success(tQuestionCommentService.selectTQuestionCommentById(id));

}
管理员后台

@GetMapping(/list)

public TableDataInfo list(TDrugQuestion tDrugQuestion,String userName)

{

    startPage();

    if(StringUtils.isNotEmpty(userName)){

        SysUser sysUser = sysUserService.selectUserByUserName(userName);

        tDrugQuestion.setRemindWho(sysUser.getUserId());

    }

    List<TDrugQuestion> list = tDrugQuestionService.selectTDrugQuestionList(tDrugQuestion);

    return getDataTable(list);

}
通知公告管理

/**

 * 获取通知公告列表

 */

@GetMapping(/list)

public TableDataInfo list(SysNotice notice)

{

    startPage();

    List<SysNotice> list = noticeService.selectNoticeList(notice);

    return getDataTable(list);

}

七、论文参考:

论文参考···论文参考图

八、项目总结:

在目前的咨询平台中主要是借助计算机系统,想要解决传统药物咨询不能够解决的问题,需要将WEB技术与现有的药物资源结合起来,这样就能够提高药物系统的服务质量和水平,在WEB开发的过程中能够综合的利用Java、springboot、CS等WEB相关技术,将多种技术能够有机的结合起来使用,使系统能够将诸多的因素相结合起来,相互作用的整体功能等。如何建立一个测试软件的过程,首先搭建基本框架,按照功能需求完善功能模块;如何完善硬件设施以及动态开发。

该系统总的来说没什么太大的Bug,但是在页面设计、业务流程上还需要更加精确。首先是数据的缓存问题,数据库的设计有些不合理,比如药物商品的规格应该存放在对应数据字典表中,但由于自己刚开始设计时没有考虑到,导致商品规格另外新建了一张表。之后的系统需要扩展方面,面向将会是更多的业务需求,表的字段需要适当进行添加,同时数据库处理批量数据时。如果自己能够将上述功能进行优化,相信系统的可用性会更强。

程序设计需要态度严谨、逻辑思维敏捷、良好的编程习惯和系统设计实力。通过这次做项目,也学习到许多宝贵的经验,如何更好的去设计实现系统的业务逻辑、完善界面、设计数据库,写代码也变得更严谨,对一些框架搭建和方法的使用也更加熟练。

联系咨询区

可沟通项目方向、预算、交付周期与答辩时间安排,支持按学校要求定制交付内容。

为你推荐

根据你的浏览兴趣与热门趋势,精选可能适合你的毕业设计项目。

基于JAVA+SpringBoot+Vue+uniapp的微信小程序点餐平台

SpringBootVue微信小程序UniAppMySQL前后端分离支付功能小程序端

该系统是一个基于Java+SpringBoot后端、Vue+Uniapp前端的微信小程序点餐平台。平台实现了在线菜单浏览、购物车管理、订单提交与支付、后台数据统计等核心功能,为餐饮商家提供高效便捷的数字化点餐解决方案。项目采用前后端分离架构,适合作为毕业设计或实际项目开发,展示了现代Web与移动应用系统的完整实现流程。

基于JAVA+SpringBoot+Vue+uniapp+协同过滤算法+爬虫+AI的减肥小程序

SpringBootVueUniAppAI智能推荐算法小程序端

该项目是一个集成了协同过滤推荐算法、网络爬虫与AI技术的智能减肥小程序。系统采用JAVA+SpringBoot构建后端服务,Vue+uniapp实现跨平台前端,旨在为用户提供个性化的饮食与运动方案。核心功能包括基于用户行为的智能推荐、健康数据管理及社区互动,适合作为毕业设计或实际项目开发,展示了现代Web与移动应用在信息管理与系统开发中的综合实践。

基于JAVA+SpringBoot+Vue的自动阅卷分析系统

SpringBootVueMySQLAI智能数据可视化前后端分离PC端

该系统是一个基于JAVA+SpringBoot后端与Vue前端的自动阅卷分析系统,旨在实现高效、准确的试卷批改与学习数据分析。核心功能包括智能识别与评分、错题统计分析、成绩报告生成以及教学效果评估。该系统开发专注于提升阅卷效率与信息管理深度,适用于在线教育、考试机构及毕业设计项目实现,为教学管理与学习分析提供一体化解决方案。

基于JAVA+SpringBoot+Vue+uniApp小程序的心理健康测试平台

SpringBootVue微信小程序UniAppMySQL前后端分离小程序端

该心理健康测试平台是一个集前端小程序与后端管理系统于一体的综合系统开发项目。平台采用JAVA与SpringBoot构建稳健后端,结合Vue与uniApp实现跨端小程序开发,为用户提供便捷的心理测评与报告服务。系统核心功能包括题库管理、在线测试、数据分析及报告生成,旨在通过信息化手段提升心理健康服务的可及性与专业性,适用于毕业设计或实际项目实现。

基于JAVA+SpringBoot+Vue+uniapp的前后端分离的微信小程序的艺术品陶瓷商城

SpringBootVue微信小程序UniAppMySQL前后端分离小程序端

该项目是一个基于JAVA+SpringBoot+Vue+uniapp技术栈的前后端分离微信小程序艺术品陶瓷商城系统。系统开发实现了艺术品陶瓷的在线展示、商品管理、用户订单处理及支付集成等核心功能,为陶瓷艺术品的数字化交易提供了完整的信息管理解决方案,适合作为毕业设计或商业项目实现。

基于JAVA+SpringBoot+Vue的二手车交易系统

SpringBootVueMySQL前后端分离PC端

该系统是一个基于Java+SpringBoot+Vue的二手车交易管理系统,旨在为用户提供便捷的在线车辆买卖平台。核心功能包括车辆信息发布、智能搜索、在线咨询、交易管理及用户评价等模块。通过前后端分离的系统开发模式,实现了高效的信息管理和流畅的用户体验,适合作为毕业设计或实际项目实现,帮助提升二手车交易效率与透明度。

基于JAVA+SpringBoot+Vue的故障报修平台

SpringBootVueMySQL前后端分离PC端

该项目是一个基于Java、SpringBoot和Vue的故障报修平台,旨在实现高效的设备故障管理与维修流程。系统提供用户在线报修、工单分配、进度跟踪及数据统计等核心功能,适用于企业或校园的日常运维。通过前后端分离架构,确保了系统的可扩展性和维护性,适合作为毕业设计或实际项目实现,展示了现代Web信息管理系统的开发实践。

基于JAVA+SpringBoot+Vue的前后端分离的学校请假管理系统

SpringBootVueMySQL权限控制多角色系统前后端分离PC端

这是一个基于JAVA+SpringBoot+Vue的前后端分离学校请假管理系统,旨在实现学生请假流程的数字化与高效管理。系统开发涵盖了学生在线提交申请、辅导员与院系审批、请假记录统计等核心功能,优化了传统纸质流程。该项目可作为信息管理系统的毕业设计或实际应用案例,展示了前后端分离架构在项目实现中的优势。