|
|
@ -3,6 +3,7 @@ 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; |
|
|
@ -235,6 +236,18 @@ public class MessageServiceImpl implements MessageService { |
|
|
|
@Override |
|
|
|
public Result sendMessage(SendMessageFormDTO formDto) { |
|
|
|
|
|
|
|
// 模板ID
|
|
|
|
String value = ""; |
|
|
|
if(1 == formDto.getType()){ |
|
|
|
//通知
|
|
|
|
value = "您有新的通知,请登录小程序查看!"; |
|
|
|
}else if(2 == formDto.getType()){ |
|
|
|
//话题
|
|
|
|
value = "您有新的话题,请登录小程序查看!"; |
|
|
|
}else{ |
|
|
|
throw new RenException("消息推送类型错误!"); |
|
|
|
} |
|
|
|
|
|
|
|
// 获取openID
|
|
|
|
Result<UserWorkAndAnalyOpenIdDTO> userIdsResult = adminFeignClient.userRelationWorkAndAnalyOpenId(); |
|
|
|
if(userIdsResult == null || userIdsResult.getData() == null){ |
|
|
@ -251,7 +264,7 @@ public class MessageServiceImpl implements MessageService { |
|
|
|
String analysis_access_token = WxSendMessageUtils.getAccess_token(analysisAppId, analysisSecret); |
|
|
|
// 拼接URL
|
|
|
|
String analysis_url = url + analysis_access_token; |
|
|
|
Integer analysisResult = sendOpenIdListMessage(analyOpenIdList, analysisTemplate,analysis_url); |
|
|
|
Integer analysisResult = sendOpenIdListMessage(analyOpenIdList, analysisTemplate,analysis_url,value); |
|
|
|
log.info("本次小程序消息推送数据端共【" + analyOpenIdList.size() + "】接收者,发送成功【" + analysisResult + "】条。"); |
|
|
|
} |
|
|
|
if(null != workOpenIdList && workOpenIdList.size() > 0){ |
|
|
@ -259,14 +272,14 @@ public class MessageServiceImpl implements MessageService { |
|
|
|
String work_access_token = WxSendMessageUtils.getAccess_token(workAppId, workSecret); |
|
|
|
// 拼接URL
|
|
|
|
String work_url = url + work_access_token; |
|
|
|
Integer workResult = sendOpenIdListMessage(workOpenIdList,workTemplate,work_url); |
|
|
|
Integer workResult = sendOpenIdListMessage(workOpenIdList,workTemplate,work_url,value); |
|
|
|
log.info("本次小程序消息推送工作端共【" + workOpenIdList.size() + "】接收者,发送成功【" + workResult + "】条。"); |
|
|
|
} |
|
|
|
|
|
|
|
return new Result().ok("消息推送成功!"); |
|
|
|
} |
|
|
|
|
|
|
|
private Integer sendOpenIdListMessage(List<String> openIdList,String templateId,String url){ |
|
|
|
private Integer sendOpenIdListMessage(List<String> openIdList,String templateId,String url,String value){ |
|
|
|
AtomicInteger ai = new AtomicInteger(0); |
|
|
|
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
List<Future<Integer>> list = new ArrayList<>(); |
|
|
@ -277,7 +290,7 @@ public class MessageServiceImpl implements MessageService { |
|
|
|
// 配置模板内容
|
|
|
|
Map<String, TemplateData> m = new HashMap<>(5); |
|
|
|
TemplateData keyword1 = new TemplateData(); |
|
|
|
keyword1.setValue("您有新的话题,请登录小程序查看!"); |
|
|
|
keyword1.setValue(value); |
|
|
|
m.put("thing1", keyword1); |
|
|
|
TemplateData keyword2 = new TemplateData(); |
|
|
|
String dateStr = sdf.format(new Date()); |
|
|
|