✌全网粉丝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)

字段名类型默认值列注释idintNULL主键IDnamevarcharNULL反馈用户emailvarcharNULL邮箱地址titlevarcharNULL反馈标题contenttextNULL反馈内容create_timedatetimeNULL创建时间update_timedatetimeNULL更新时间

2:history(history)

字段名类型默认值列注释idintNULL用户搜索历史主键iduser_idintNULL用户IDkeywordvarcharNULL搜索关键字operate_typeintNULL类型:1搜索,2科目,3药品create_timedatetimeNULL创建时间update_timedatetimeNULL更新时间

3:illness(illness)

字段名类型默认值列注释idintNULL疾病idkind_idintNULL疾病分类IDillness_namevarcharNULL疾病名字include_reasonmediumtextNULL诱发因素illness_symptommediumtextNULL疾病症状special_symptommediumtextNULL特殊症状create_timedatetimeNULL创建时间update_timedatetimeNULL更新时间

4:illness_kind(illness_kind)

字段名类型默认值列注释idintNULL主键IDnamevarcharNULL分类名称infovarcharNULL描述create_timedatetimeNULL创建时间update_timedatetimeNULL更新时间

5:illness_medicine(illness_medicine)

字段名类型默认值列注释idintNULL病和药品关联idillness_idintNULL病idmedicine_idintNULL药品idcreate_timedatetimeNULL创建时间update_timedatetimeNULL更新时间

6:medicine(medicine)

字段名类型默认值列注释idintNULL药品主键IDmedicine_namevarcharNULL药的名字keywordvarcharNULL关键字搜索medicine_effectmediumtextNULL药的功效medicine_brandvarcharNULL药的品牌interactionmediumtextNULL药的相互作用taboomediumtextNULL禁忌us_agemediumtextNULL用法用量medicine_typeintNULL药的类型,0西药,1中药,2中成药img_pathvarcharNULL相关图片路径medicine_pricedecimalNULL药的价格create_timedatetimeNULL创建时间update_timedatetimeNULL更新时间

7:pageview(pageview)

字段名类型默认值列注释idintNULL主键idpageviewsintNULL浏览量illness_idintNULL病的id

8:user(user)

字段名类型默认值列注释idintNULL用户主键iduser_accountvarcharNULL用户账号user_namevarcharNULL用户的真实名字user_pwdvarcharNULL用户密码user_ageintNULL用户年龄user_sexvarcharNULL用户性别user_emailvarcharNULL用户邮箱user_telvarcharNULL手机号role_statusintNULL角色状态,1管理员,0普通用户img_pathvarcharNULL用户头像create_timedatetimeNULL创建时间update_timedatetimeNULL更新时间

五、功能模块:

系统主页: 搜索一下: 疾病百科: 疾病信息: 查找药品: 疾病管理: 药品管理: 智能医生:与智能医生进行交流聊天

六、代码示例:

/**

* 注册

*

* @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 codeData = (Map) 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 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 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的线上智能问诊就医平台生产后,应叙述生产过程的需求,包含怎样进行数据分析报告、怎样进行系统设计及其系统功能的具体运作实际效果。在这期间,用了接近一个月的时间来做。要实现院校标准化的文档排版标准,多次在老师的建议下学习办公软件使用和排版设计设计。坚持就是收益。经过长时间的的撰写和优化,的文档终于完成。

总而言之,尽管制做经历了太多阶段,但如果认真完成这件事情,们将在每一个环节得到许多知识,在每一个环节的操作过程中锻练们自己的实践技能。根据该项目的制做,开始明白,许多知识不但来源于书籍,来源于教师在课堂教学中讲的知识,还来源于各种网络学习平台和社会实践。到现在为止,将继续努力,维持新知识的深入学习习惯性

八、源码获取:

大家点赞、收藏、关注、评论啦 、查看获取项目下载链接,博主联系方式

链接点击直达:下载链接

精彩链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。