健康医疗项目

一、技术架构

健康医疗项目-编程知识网

二、功能架构

健康医疗项目-编程知识网

三、技术特色

1.maven分模块开发

健康医疗项目-编程知识网

2.mybatis代码生成插件

mybatis-generator是一款在使用mybatis框架时,自动生成model、dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间。

3.七牛云存储

使用七牛云存储图片
健康医疗项目-编程知识网

4.Quartz

健康医疗项目-编程知识网
利用该工具清理垃圾图片,即上传预览的图片会上传到七牛云服务器,但是如果不新增套餐信息则是垃圾图片。

5.阿里云短信服务

健康医疗项目-编程知识网

6.页面静态化

页面静态化其实就是将原来的动态网页(例如通过ajax请求动态获取数据库中的数据并展示的网页)改为通过静态化技术生成的静态网页,这样用户在访问网页时,服务器直接给用户响应静态html页面,没有了动态查询数据库的过程。

FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成 XML,JSP 或 Java 等。

7.Spring Security

Spring Security是 Spring提供的安全认证服务的框架。 使用Spring Security可以帮助我们来简化认证和授权的过程。

8.ECharts

ECharts缩写来自Enterprise Charts,商业级数据图表,是百度的一个开源的使用JavaScript实现的数据可视化工具,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观、交互丰富、可高度个性化定制的数据可视化图表。

9.生成pdf报表

iText

iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。

JasperReports

JasperReports是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。一般情况下,JasperReports会结合Jaspersoft Studio(模板设计器)使用导出PDF报表。

模板设计器Jaspersoft Studio

Jaspersoft Studio是一个图形化的报表设计工具,可以非常方便的设计出PDF报表模板文件(其实就是一个xml文件),再结合JasperReports使用,就可以渲染出PDF文件。

四、项目总结

采用分布式架构分模块开发的方式,前端主要利用vue+elementui,后端主要是ssm+dubbo的设计架构,项目开发过程中使用了mysql和redis数据库,采用了页面静态化技术减轻服务器的压力。

1.健康管理后台在新增体检套餐数据时需要上传图片,传统做法需要自己搭建图片服务器,本项目使用云存储服务,采用七牛云存储服务器。

2.健康管理后台进行体检预约设置时使用Excel批量导入,提升效率。

3.健康管理后台进行体检预约设置时使用日历控件对预约人数调整,方便操作。

4.通过定时任务定时清理垃圾图片,节约云存储空间。

5.健康管理后台提供各种报表,可以直观查看运营情况。

6.用户前台可以在公众号进行体检预约,使用阿里云短信服务给用户发送验证码,预约成功后短信提醒用户。

7.用户前台使用手机号验证码快速登录。

8.用户前台在进行体检预约时,使用乐观锁保证高并发下预约人数数据的一致性。

9.在后台进行体检数据修改后,通过Freemarker生成移动端静态页面,提高用户浏览页面时的响应速度。

10.使用RabbitMQ将生成静态页面的工作进行异步处理,使后台系统和用户前台进行解耦。

11.在健康管理系统后台使用JasperReports + Jaspersoft Studio技术生成运营pdf报表。