企业微信之消息推送(菜鸟一枚,勿喷)

前几天公司让我去写个这个功能,在网上借鉴了很多大神的例子,最终还是做出来了

下面是大神博客的地址:https://www.cnblogs.com/shirui/p/7402128.html,大家可以去看看写了很多功能,好废话不多说 直接上图

大家一定要仔细看需求文档 我因为没有仔细看需求文档踩了许多坑

大家一定要仔细看需求文档 我因为没有仔细看需求文档踩了许多坑

大家一定要仔细看需求文档 我因为没有仔细看需求文档踩了许多坑

企业微信之消息推送(菜鸟一枚,勿喷)_第1张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第2张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第3张图片

我们消息类型比较多,但是我们老大只让我做了文本,可是当我把所有的都写好了,他才告诉我,所以有最后一步没有写,不过我的java基础比较差,所以还是挺难的,最后做好了,还改了很多版,最终版是我们把所以的人员放在数据库,定义了一个接口去调用,所有的公共参数都写在配置文件中,因为这个和需求文档稍微有点不同,我就没有把最终版放上去了,只把文档的代码放上去

企业微信之消息推送(菜鸟一枚,勿喷)_第4张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第5张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第6张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第7张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第8张图片

好了这是比较重要的几张图其实文档都是差不多的 ,大家自己看自己的 下面上代码

1: 首先本项目用的是spootBoot…我一个大数据开发工程师,尽然让我写springboot!!! springboot我之前没有学过,所以很多东西都是临时上网学的,大家不喜勿喷啊,我就是一个菜鸟,欢迎大家一起来交流,不多说,上代码,这个是一开始普通的maven,后来改成了springBoot

企业微信之消息推送(菜鸟一枚,勿喷)_第9张图片

我把每种消息格式否封装成一个类,类太多了,后面看看有么有时间上代码,这个类的里面的属性就是文档里面的,如下图:

企业微信之消息推送(菜鸟一枚,勿喷)_第10张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第11张图片

AccessToken.class(这个版本代码并没有去缓存token,不过也很简单,获取token的时候,同时也获取当时的时间,然后将token,expiresIn,time放进配置文件里,下次获取token的时候,先获取现在的时间和之前获取token的时间+失效时间去对比,就行了,在用Perproties的时候,也出现了一些问题,主要是项目项目运行了,一开始设置的token,expiresIn,time初始值为null,然后将得到token,expiresIn,time,将获取到的值设进Perproties,发现target下面编译的class文件中的Perproties没有办法设进去,大家应该不会遇到这个问题吧 哈哈哈哈哈哈哈哈哈哈或)

企业微信之消息推送(菜鸟一枚,勿喷)_第12张图片

WeiXinParamsUtil.class(这里应该还有一个应用id,因为是最初版,没写进去,不好意思)

企业微信之消息推送(菜鸟一枚,勿喷)_第13张图片

MyX509TrustManager.class 因为是https请求,所以要一个证书信任器,具体干嘛的 百度

企业微信之消息推送(菜鸟一枚,勿喷)_第14张图片

WeiXinUtil.class 这个类比较重要,方法基本都在这个类中

方法一 :发起https请求并获取结果

企业微信之消息推送(菜鸟一枚,勿喷)_第15张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第16张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第17张图片

方法二: 获取token

企业微信之消息推送(菜鸟一枚,勿喷)_第18张图片

方法三: https 上传临时素材请求(因为后来才知道我们只要文本的消息格式就可以了,所以这个方法和方法四都没没有测试,大家谨慎哈)

企业微信之消息推送(菜鸟一枚,勿喷)_第19张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第20张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第21张图片

方法四: https 获取临时上传素材

企业微信之消息推送(菜鸟一枚,勿喷)_第22张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第23张图片

SendMessageService.class

企业微信之消息推送(菜鸟一枚,勿喷)_第24张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第25张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第26张图片

测试类:SendMessage001.class

企业微信之消息推送(菜鸟一枚,勿喷)_第27张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第28张图片

FindMeaasgeServlet.class(这个是我们自己改的,大家不用写这个)

企业微信之消息推送(菜鸟一枚,勿喷)_第29张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第30张图片
企业微信之消息推送(菜鸟一枚,勿喷)_第31张图片

好了就是这样了,下面我把我最终版的展示给大家看看

企业微信之消息推送(菜鸟一枚,勿喷)_第32张图片

你可能感兴趣的:(项目)