微信公众号+web后台的工资条发放功能后端接口逻辑实现
1.业务整体流程以及接口文档展示
功能核心还是调用微信公众号发送模板消息,然后配合公司后台对工资条进行发送的,模板消息发送我会写的详细点,其他的就讲一下流程
首先基本业务流程如下
1.导入公众条到数据库(这里复杂表单的导入 item做了加密存储是其中内容就是工资构成什么的需要渲染是单个用户查看的时候解密就行了)
这个是传统财务给的工资条内容,不管导入的表单内容是什么样的,你做一个导入筛选的逻辑存入数据库的item就行了,要的你就显示,不要的你就不显示,方便之后的拓展
导入和存取数据的方式网上一大堆,做好加密。然后这里我是通过身份证去系统user表中找到用户的openId
的然后进行模板消息发送的,你也可以去收集公司所有人的openId直接导入,我这里是后台微信人脸识别登录时存入的####openId很重要!!!!发给谁,openId是用户在公众号的唯一Id。
导入这里大家可以参考思路,抄代码可能就不是重点了(导入工资excel,筛选需要的表头字段,加密工资构成私密内容)
2.发送模板消息***********这个是重点了兄弟们
在这里插入实现图片及其详细实现代码

发送模板消息的详细步骤以及代码(1.申请使用模板Id,2.拿到适合工资条内容的模板id就可以配置模板内容,3.配置模板消息 4.拿到微信公众号的全局token 5调用微信模板消息发送的api 6.模板id配置的url跳转到后台index,传code查询获取用户openId,openId跟时间可以确定后台数据库中的当月工资条记录)
具体实现代码如下
模板消息实体
/**
* <p>
* 微信公众好模板对象
* </p>
*
* @author SongJiaHao
* @since 2022-06-10
*/
@Data
public class WxTemplateMsg {
/**
* 接收者openId
*/
private String touser;
/**
* 模板ID
*/
private String template_id;
/**
* 模板跳转链接
*/
private String url;
/**
* data数据
*/
private TreeMap<String, TreeMap<String, String>> data;
/**
* 参数
*
* @param value 值
* @param color 颜色 可不填
* @return params
*/
public static TreeMap<String, String> item(String value, String color) {
TreeMap<String, String> params = new TreeMap<String, String>();
params.put("value", value);
params.put("color", color);
return params;
}
}
方法中会调用的静态变量 调用api 和redis缓存key
获取微信的全局token和模板消息发送api路径(如何获取微信全局token自己百度,我参数写死了打码了)
获取全局token
/**
* 微信公众号获取全局token
*/
public String accessToken()