支付通知消息内容
在微信支付的官方文档中(https://pay.weixin.qq.com/doc/v3/merchant/4012791861),介绍了微信服务器发送的支付结果通知消息包含了哪些内容。其中比较重要的几个参数,我列到下面的表格中了。

111
在微信支付的官方文档中(https://pay.weixin.qq.com/doc/v3/merchant/4012791861),介绍了微信服务器发送的支付结果通知消息包含了哪些内容。其中比较重要的几个参数,我列到下面的表格中了。
111
其实商品快照就是订单商品的当前信息,我们把该商品信息从 tb_goods 表中读取出来,然后存储到快照表中。你用MSQL中的数据表存储快照也是可以的,但是日积月累快照记录越来越多(2000万以上),MySQL数据表就显得很吃力了。因此我们可以选择适合存储海量数据(TB级别)的MongoDB数据库,而且它的读写速度比MySQL快多了。当然了,还有比MongoDB存储更多数据(PB级别)的HBase数据库,但是用在我们的项目上就显得大材小用了。
由于MongoDB没有数据表结构,也不支持SQL语句。它里面的数据是JSON格式的,被称作文档,然后保存在集合中。也就是说,集合相当于MySQL的数据表,文档相当于数据记录。
把下载的 apiclient cert.p12 数字证书文件,放入后端Java项目的 resources 目录中。
在Java项目的 application.yml 文件中,填写微信支付接口的相关配置信息。
1 | wechat: |
也许有的同学觉得前后端项目都部署在同一台服务器主机上面,前后端项目之间不需要使用HTTPS协议,其实不然。如果前后端项目都部署在同一台主机上面,该主机的负载会偏大,所以通常的做法是把前后端项目部署在不同主机上面。这种情况下,局域网之内的数据传输也应该加密,所以给后端项目配置HTTPS协议是必要的。
我们将来要写很多Web方法,而且这些方法都要向前端返回JSON格式的数据。那么我们能不能约定好JSON对象中的公共属性呢?
给后端Java项目添加线程池功能,将来有些复杂耗时的任务,我们可以交给线程池去做。比如说生成体检报告这种事情就非常耗时,如果用上了线程池,每天的体检报告用多线程去生成,速度肯定比单线程快很多。
我们都知道Redis的功能是用来缓存数据的,如果我们把数据库中常用的数据缓存到Redis中,是不是就可以减少数据库调用了呢。