Browse Source

【书记在线】【微信通知推送工具以及demo】

feature/dangjian
wanggongfeng 5 years ago
parent
commit
4ba95ebbfb
  1. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml
  2. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/MessageService.java
  3. 24
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java
  4. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/utils/WxSendMessageUtils.java
  5. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml

@ -194,9 +194,11 @@
<!--工作端小程序-->
<work.wx.ma.appId>wx29b074840ef4bfd9</work.wx.ma.appId>
<work.wx.ma.secret>4adb1afccc69f205cdf5b521d74e2aca</work.wx.ma.secret>
<work.wx.ma.template>cwjaIk2GMxKQcSqISFaxsGQYfQwf2V7ercQLEEzFdDQ</work.wx.ma.template>
<!--数据分析端小程序-->
<analysis.wx.ma.appId>wxfa4afaa2b5f9c876</analysis.wx.ma.appId>
<analysis.wx.ma.secret>7db9f049c78c9a6cafa673deebe8330d</analysis.wx.ma.secret>
<analysis.wx.ma.template>wagGg4eAeHu1N2N0o8Vhyan41Gr3DqFBD81o5Lv7XnQ</analysis.wx.ma.template>
</properties>
</profile>
@ -236,11 +238,13 @@
<wx.ma.appId>wx5d3e97461d248397</wx.ma.appId>
<wx.ma.secret>bfed51b731e53db9affb9e6131e7ae12</wx.ma.secret>
<!--工作端小程序-->
<work.wx.ma.appId>wx9f20a46906ab2c3e</work.wx.ma.appId>
<work.wx.ma.secret>dc13065f79429979d9f687d249eb5c4e</work.wx.ma.secret>
<work.wx.ma.appId>wx29b074840ef4bfd9</work.wx.ma.appId>
<work.wx.ma.secret>4adb1afccc69f205cdf5b521d74e2aca</work.wx.ma.secret>
<work.wx.ma.template>cwjaIk2GMxKQcSqISFaxsGQYfQwf2V7ercQLEEzFdDQ</work.wx.ma.template>
<!--数据分析端小程序-->
<analysis.wx.ma.appId>wxfa4afaa2b5f9c876</analysis.wx.ma.appId>
<analysis.wx.ma.secret>7db9f049c78c9a6cafa673deebe8330d</analysis.wx.ma.secret>
<analysis.wx.ma.template>wagGg4eAeHu1N2N0o8Vhyan41Gr3DqFBD81o5Lv7XnQ</analysis.wx.ma.template>
</properties>
</profile>
@ -281,11 +285,13 @@
<!-- <wx.ma.appId>wx5d3e97461d248397</wx.ma.appId>-->
<!-- <wx.ma.secret>bfed51b731e53db9affb9e6131e7ae12</wx.ma.secret>-->
<!--工作端小程序-->
<work.wx.ma.appId>wx9f20a46906ab2c3e</work.wx.ma.appId>
<work.wx.ma.secret>dc13065f79429979d9f687d249eb5c4e</work.wx.ma.secret>
<work.wx.ma.appId>wx29b074840ef4bfd9</work.wx.ma.appId>
<work.wx.ma.secret>4adb1afccc69f205cdf5b521d74e2aca</work.wx.ma.secret>
<work.wx.ma.template>cwjaIk2GMxKQcSqISFaxsGQYfQwf2V7ercQLEEzFdDQ</work.wx.ma.template>
<!--数据分析端小程序-->
<analysis.wx.ma.appId>wxfa4afaa2b5f9c876</analysis.wx.ma.appId>
<analysis.wx.ma.secret>7db9f049c78c9a6cafa673deebe8330d</analysis.wx.ma.secret>
<analysis.wx.ma.template>wagGg4eAeHu1N2N0o8Vhyan41Gr3DqFBD81o5Lv7XnQ</analysis.wx.ma.template>
</properties>
</profile>
</profiles>

5
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/MessageService.java

@ -36,7 +36,7 @@ public interface MessageService {
* @author wanggonfeng
* @date 2020/05/26 14:18
*/
Result sendMessage(SendMessageFormDTO formDto);
Result sendMessage();
/**
* 小程序消息推送
@ -45,5 +45,6 @@ public interface MessageService {
* @author wanggonfeng
* @date 2020/05/26 14:18
*/
Result sendMessage();
Result sendMessage(SendMessageFormDTO formDto);
}

24
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java

@ -3,7 +3,6 @@ package com.elink.esua.epdc.service.impl;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import cn.binarywang.wx.miniapp.bean.WxMaUniformMessage;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -82,12 +81,18 @@ public class MessageServiceImpl implements MessageService {
@Value("${wx.message.analysisSecret}")
private String analysisSecret;
@Value("${wx.message.analysisTemplate}")
private String analysisTemplate;
@Value("${wx.message.workAppId}")
private String workAppId;
@Value("${wx.message.workSecret}")
private String workSecret;
@Value("${wx.message.workTemplate}")
private String workTemplate;
/**
* 注册审核失败服务消息模版
*/
@ -191,7 +196,7 @@ public class MessageServiceImpl implements MessageService {
}
/**
* 小程序消息推送
* 小程序消息推送demo
*
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author wanggonfeng
@ -232,15 +237,6 @@ public class MessageServiceImpl implements MessageService {
@Override
public Result sendMessage(SendMessageFormDTO formDto) {
// 模板ID
String templateId = "";
if(1 == formDto.getType()){//通知
templateId = WxSendMessageUtils.notice_template_id;
}else if(2 == formDto.getType()){//话题
templateId = WxSendMessageUtils.topic_template_id;
}else{
throw new RenException("消息推送类型错误!");
}
// 获取openID
Result<UserWorkAndAnalyOpenIdDTO> userIdsResult = adminFeignClient.userRelationWorkAndAnalyOpenId();
@ -258,7 +254,7 @@ public class MessageServiceImpl implements MessageService {
String analysis_access_token = WxSendMessageUtils.getAccess_token(analysisAppId, analysisSecret);
// 拼接URL
String analysis_url = WxSendMessageUtils.url + analysis_access_token;
Integer analysisResult = sendOpenIdListMessage(analyOpenIdList, templateId,analysis_url);
Integer analysisResult = sendOpenIdListMessage(analyOpenIdList, analysisTemplate,analysis_url);
log.info("本次小程序消息推送数据端共【" + analyOpenIdList.size() + "】接收者,发送成功【" + analysisResult + "】条。");
}
if(null != workOpenIdList && workOpenIdList.size() > 0){
@ -266,8 +262,8 @@ public class MessageServiceImpl implements MessageService {
String work_access_token = WxSendMessageUtils.getAccess_token(workAppId, workSecret);
// 拼接URL
String work_url = WxSendMessageUtils.url + work_access_token;
Integer workResult = sendOpenIdListMessage(workOpenIdList,templateId,work_url);
log.info("本次小程序消息推送数据端共【" + workOpenIdList.size() + "】接收者,发送成功【" + workResult + "】条。");
Integer workResult = sendOpenIdListMessage(workOpenIdList,workTemplate,work_url);
log.info("本次小程序消息推送工作端共【" + workOpenIdList.size() + "】接收者,发送成功【" + workResult + "】条。");
}
return new Result().ok("消息推送成功!");

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/utils/WxSendMessageUtils.java

@ -46,12 +46,6 @@ public class WxSendMessageUtils {
// 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
public static String miniprogram_state = "trial";
// 通知模板ID
public static String notice_template_id = "wagGg4eAeHu1N2N0o8Vhyan41Gr3DqFBD81o5Lv7XnQ";
// 话题模板ID
public static String topic_template_id = "wagGg4eAeHu1N2N0o8Vhyan41Gr3DqFBD81o5Lv7XnQ";
// 进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
public static String lang = "zh_CN";

4
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml

@ -162,12 +162,16 @@ wx:
analysisAppId: @analysis.wx.ma.appId@
# 秘钥
analysisSecret: @analysis.wx.ma.secret@
# 模板
analysisTemplate: @analysis.wx.ma.template@
# 工作端小程序
# 消息推送的appId
workAppId: @work.wx.ma.appId@
# 秘钥
workSecret: @work.wx.ma.secret@
# 模板
workTemplate: @work.wx.ma.template@

Loading…
Cancel
Save