package com.ruoyi.web.test;
|
|
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONObject;
|
import com.smartor.domain.WeChatSendVo;
|
import me.chanjar.weixin.common.exception.WxErrorException;
|
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
|
import me.chanjar.weixin.mp.api.WxMpService;
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
|
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
|
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
public class WeChatService {
|
private WxMpService wxMpService;
|
|
public WeChatService(String appId, String appSecret) {
|
wxMpService = new WxMpServiceImpl();
|
wxMpService.setWxMpConfigStorage(new WxMpInMemoryConfigStorage());
|
WxMpInMemoryConfigStorage wxMpConfigStorage = (WxMpInMemoryConfigStorage) wxMpService.getWxMpConfigStorage();
|
wxMpConfigStorage.setAppId(appId);
|
wxMpConfigStorage.setSecret(appSecret);
|
}
|
|
public void sendMessageToFollowers(String messageContent) {
|
try {
|
// 获取所有关注者的OpenID列表
|
List<String> openIdList = wxMpService.getUserService().userList(null).getOpenids();
|
for (String openId : openIdList) {
|
WxMpKefuMessage wxMpKefuMessage = WxMpKefuMessage.TEXT().toUser(openId).content("利湖公众号测试").build();
|
// try {
|
// boolean b = wxMpService.getKefuService().sendKefuMessage(wxMpKefuMessage);
|
// if(b==false){
|
// continue;
|
// }
|
// }catch (WxErrorException e){
|
// continue;
|
// }
|
|
WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder().toUser(openId).templateId("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4").url("www.baidu.com").build();
|
templateMessage.addData(new WxMpTemplateData("{first", "你好,根据你的记录信息,为你生成近期的康复报告", "#FFB6C1"));
|
templateMessage.addData(new WxMpTemplateData("keyword1", "2023-05-15-2023-05-16", "#B95EA6"));
|
templateMessage.addData(new WxMpTemplateData("keyword2", "共测量血糖10次,其中正常7次、偏高2次、偏低1次;平均每日饮食摄入热量1578大卡,在每日热量控制范围内;平均每日散步1小时,满足康复需要", "#173177"));
|
templateMessage.addData(new WxMpTemplateData("remark", "213456", "#87cefa"));
|
// templateMessage.addData(new WxMpTemplateData("low","AA","#FF6347"));
|
// templateMessage.addData(new WxMpTemplateData("scq_day","AA","#FF1493"));
|
// templateMessage.addData(new WxMpTemplateData("bir_day","AA","#FF00FF" ));
|
// templateMessage.addData(new WxMpTemplateData("daily_english_cn","AA","#800080"));
|
// templateMessage.addData(new WxMpTemplateData("daily_english_en","AA","#FFA500"));
|
wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
|
}
|
} catch (WxErrorException e) {
|
e.printStackTrace();
|
}
|
}
|
|
}
|