结合上篇的内容,我们基本实现了整合微信公众号的开发
以用户提交申请为例,最好的情况下审批人应该能够看到公众号发过来的推送!!!所以下面我们来实现一下消息推送功能
一、添加消息模板
在上篇提到的公众号测试平台中可以找到如下 模板消息接口,点击新增测试模板就可以自定义
二、编写后端接口
@Autowired
private ProcessServiceImpl processService;
@Autowired
private SysUserServiceImpl sysUserService;
@Autowired
private ProcessTemplateServiceImpl processTemplateService;
@Autowired
private WxMpService wxMpService;
//推送审批人员
@SneakyThrows
@Override
public void pushPendingMessage(Long processId, Long userId, String taskId) {
//获取对应process
Process process = processService.getById(processId);
//获取要推送给的用户
SysUser sysUser = sysUserService.getById(userId);
//和区域当前任务模板
ProcessTemplate processTemplate = processTemplateService.getById(process.getProcessTemplateId());
//获取发送请求的用户
SysUser submitSysUser = sysUserService.getById(process.getUserId());
//生成微信消息模板
WxMpTemplateMessage wxMpTemplateMessage = WxMpTemplateMessage.builder()
.toUser(sysUser.getOpenId()) //微信号唯一标识
.templateId("//在微信定义消息的模板")
.url("http://oa.charles.free.idcfengye.com/#/show/" + processId + "/" + taskId) //点击模板消息要访问的网址
.build();
StringBuffer content = getBuffer(process.getFormValues());
System.out.println("content " + content);
wxMpTemplateMessage.addData(new WxMpTemplateData("process", submitSysUser.getName() + "提交了" + processTemplate.getName() + "审批申请,请注意查看。", ""));
wxMpTemplateMessage.addData(new WxMpTemplateData("keyword1", process.getProcessCode(), ""));
wxMpTemplateMessage.addData(new WxMpTemplateData("keyword2", new DateTime(process.getCreateTime()).toString("yyyy-MM-dd HH:mm:ss"), "#E47833"));
wxMpTemplateMessage.addData(new WxMpTemplateData("content", content.toString(), "#E47833"));
//发送提示
wxMpService.getTemplateMsgService().sendTemplateMsg(wxMpTemplateMessage);
}
后续开发中只要调用该接口,传入相关参数就可以成功通过公众号向用户推送消息!!
由于该项目中没有使用到支付等高级功能,所以本篇在项目中整合微信公众号开发的知识点就讲到这,谢谢各位观看👍
2万+

被折叠的 条评论
为什么被折叠?



