传智健康管理项目总结
产品分析:
市场分析:如今社会人们越来越注重健康,因此健康数据也越发重要,数据是生成健康档案的基础,是平台个性推荐的的原料。
市场趋势:国家政策的扶持,医疗资源的不足,大数据Ai的入局,众多因素表名医疗市场未来缺口大。
目标人群:有一定专业知识的医师群体,对身体健康关心的中年群体,有慢性病的中老年群体。
产品流程分析:
业务实现分析:
用到的技术: SpringBoot结合zookeeper结合rabbitmq,整体采用分布式架构。
1、SpringBoot:SpringBoot是一个快速构建项目并简化项目配置的工具,内部集成了Tomcat及大多数第三方应用和Spring框架的默认配置。
2、zookeeper:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。其由JAVA编写,支持JAVA 和C两种语言的客户端。
3、rabbitmq:消息队列,即MQ,Message Queue。
消息队列是典型的:生产者、消费者模型。
生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。
项目模块分析:
总架构截图。
health_api: 对象层
功能与作用:封装对象类,提供Service层。
所用技术:mybatisplus+lombok。
mybatisplus:mybatis的增强,封装了增删改的系列sql方法,大大简化了代码。
lombok:以注解的形式提供set和get方法,以及有参空参方法。
dto:展示层与服务层之间的数据传输对象。
pojo:简单无规则的java对性,即在一些O/R 映射工具中,符合Java Bean规范的纯java对象
service:service接口
support:返回给前端所封装的对象,其中定义了前端所需要的数据。
vo:业务层之间的数据传递,和PO一样仅包含数据,但是抽象出的业务对象,可以和表对应,用new 关键字创建,GC回收
health_common:工具类层
所用的技术:redis缓存技术,阿里云oss,jwt token技术,腾讯云滑块技术,poi表格生成技术。
RedisMessageConstant:定义保存到redis的键
listener:监听器,项目启动后,注册redis。
AutoUtil:自动生成滑块验证码与腾讯云二次检验的工具类。
DataUtil:日期工具类,处理Date与String类型的转换。
ExcelTest:表格生成工具类。
FileUtil:套餐图片上传到阿里云oss的工具类。
JwtTokenUtil:创建与Token的工具类。
PayUtils:微信支付的工具类
POIUtils:excel生成与导出的工具类。
RedisUtil:redis定义的方法的工具类。
RsaUtil:密码生成器的工具类。
SMSUtils:阿里云短信验证码工具类。
ValidateCodeUtils:自己测试使用的短信验证码手动生成的工具类。
health_h5: 用户下单的前端。
所用技术:zookeeper与rabbitmq。Springboot。
exception:全局异常处理类。
web:
ordercontroller:下单的接口。paycontroller:支付的接口。setmealcontroller:查看订单的接口。
health_service: 处理具体的业务逻辑,
所用技术:xxl-job,zookeeper与rabbitmq,Springboot,引入health_api,health_common工具类。
config:分页与xxljob的配置类。
job:清理阿里云oss垃圾图片与预约日期的过期数据。
listener:监听器,启动后创建用户到redis中保存。
mapper:自定义sql的接口类。
sevice:具体业务逻辑的sercie实现类。
health_web :
filter: token的过滤器,用户登录后会创建token,如果token没过期,就会放行查看其它页面,如果过期了就要重新登录。
handle: 异常处理类
MyUserDetailsService: 获取登录用户的的权限,登陆成功后有权限对应的功能。
security: 权限配置类。
GlobalExceptionInvoker: 全局异常处理类。
web: web接口
管理后台脚手架的前端页面:
checkgroup:检查组页面。
checkitem:检查项页面。
ordersetting:预约日期的页面。
setmeal:套餐页面。
…,其他页面如图所示。
用户下单业务流程展现:
主页:
点击体检预约:
点击查看套餐详情:
点击发送验证码:
提交预约订单:
扫描二维码进行支付。
后台管理页面: