在品优购中介绍过微信支付,在传智健康中也使用了Echarts实现数据统计。这里纯当作复习,或者另一种层面来说,本篇介绍微服务架构下的微信支付和统计分析。
微信支付
1.开发订单模块
在service模块下创建子模块service_order
1.1订单controller
1 |
|
1.2Feign实现远程调用
在service_edu创建接口实现根据课程id获取课程信息,返回课程信息对象
1 | //根据课程id查询课程信息 |
在service_ucenter创建接口实现用户id获取用户信息,返回用户信息对象
1 | //根据token字符串获取用户信息 |
在service_order模块创建接口,实现远程调用
1 |
|
1 |
|
1.3订单service
1 |
|
1.4总结
2.微信支付接口
2.1生成微信支付二维码
引入微信支付依赖
1 | <dependencies> |
编写TPayLogController
1 |
|
编写service实现方法
1 |
|
2.2获取支付状态接口
编写Controller
1 | //获取支付状态 |
实现Service
1 |
|
统计分析
1.生成统计数据
1.1功能实现
在service模块下创建子模块service_statistics
(1)在service_ucenter模块创建接口,统计某一天的注册人数
controller:
1 |
|
Service:
1 |
|
Mapper:
1 | <select id="selectRegisterCount" resultType="java.lang.Integer"> |
(2)在service_statistics模块创建远程调用接口
1 |
|
(3)生成数据接口Controller
1 | //新增 |
(4)Service实现方法
1 |
|
1.2定时任务
我们没必要每次都去手动生成统计数据,我们可以设置一个定时任务,当项目运行时,每天凌晨1点自动统计上一天的数据。
这就需要Spring定时任务的支持。
(1)在启动类上添加注解@EnableScheduling
(2)创建定时任务类,使用cron表达式
1 |
|
2.统计数据图表显示
2.1后端接口实现
Controller:
1 | //根据条件返回图表需要的数据用于显示 |
Service:
1 |
|
2.2ECharts
ECharts是百度的一个项目,后来百度把Echart捐给apache,用于图表展示,提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。
官方网站:https://echarts.baidu.com/
安装ECharts:npm install —save echarts@4.1.0
前端实现:
1 | <template> |
实现js方法
1 | showChart() { |