ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

企业微信群聊机器人发送群聊消息

2021-07-16 14:32:57  阅读:209  来源: 互联网

标签:robotMsg 群聊 String missionId 微信 机器人 jsonData memberList getMsgType


@Override
public WxResponse robotMsgSend(String missionId, RobotMsg robotMsg) {
try {
log.info("机器人发送群聊消息开始,missionId:{},robotMsg:{}", missionId, robotMsg);
List<String> memberList = robotMsg.getMemberList();
String jsonData = "";
String mobileList = "";
String strMember = "";
if (robotMsg.getMsgType().equals(AppMsgType.TEXT.value())) {
if (!Strings.isNullOrEmpty(robotMsg.getMobileList())) {
mobileList = robotMsg.getMobileList();
} else {
mobileList = "";
}
for (int i = 0; i < memberList.size(); i++) {
if (i == memberList.size() - 1) {
strMember += "\"" + memberList.get(i) + "\"";
} else {
strMember += "\"" + memberList.get(i) + "\"" + ",";
}
}
String[] members = new String[memberList.size()];
for (int i = 0; i < memberList.size(); i++) {
members[i] = memberList.get(i);
}
jsonData = "{\n" +
"\t\"msgtype\": \"" + robotMsg.getMsgType() + "\",\n" +
" \"text\": {\n" +
" \"content\": \"" + robotMsg.getContent() + "\",\n" +
" \"mentioned_list\":[" + strMember + "],\n" +
" \"mentioned_mobile_list\":[\"" + mobileList + "\"]\n" +
" }\n" +
"}";

} else if (robotMsg.getMsgType().equals(AppMsgType.IMAGE.value())) {
//图片base64加密的值
robotMsg.setImageBase64Value(ImageUtil.getImageStr(robotMsg.getSavePath()));
//图片md5加密的值
robotMsg.setImageMd5Value(DigestUtils.md5Hex(new FileInputStream(robotMsg.getSavePath())));
jsonData = "{\n" +
" \"msgtype\": \"" + robotMsg.getMsgType() + "\",\n" +
" \"image\": {\n" +
" \"base64\": \"" + robotMsg.getImageBase64Value() + "\",\n" +
" \"md5\": \"" + robotMsg.getImageMd5Value() + "\"\n" +
" }\n" +
"}";
} else if (robotMsg.getMsgType().equals(AppMsgType.NEWS.value())) {
//图文消息
robotMsg.setTitle(!Strings.isNullOrEmpty(robotMsg.getTitle()) ? robotMsg.getTitle() : "");
jsonData = "{\n" +
" \"msgtype\": \"" + robotMsg.getMsgType() + "\",\n" +
" \"news\": {\n" +
" \"articles\" : [\n" +
" {\n" +
" \"title\" : \"" + robotMsg.getTitle() + "\",\n" +
" \"description\" : \"" + robotMsg.getDescription() + "\",\n" +
" \"url\" : \"" + robotMsg.getUrl() + "\",\n" +
" \"picurl\" : \"" + robotMsg.getImageUrl() + "\"\n" +
" }\n" +
" ]\n" +
" }\n" +
"}";
}
log.info("missionId:{},企业微信发送应用消息请求报文:{},Webhook:{}", missionId, jsonData, robotMsg.getWebhookAddress());
String res = HttpUtil.postJson(robotMsg.getWebhookAddress(), jsonData);
log.info("missionId:{},企业微信发送应用消息返回报文:{}", res);
WxResponse wxResponse = JSON.parseObject(res, WxResponse.class);
return wxResponse;
} catch (Exception e) {
log.info("发送机器人消息失败:{}", e.getMessage());
return new WxResponse(-1, e.getMessage());
}

标签:robotMsg,群聊,String,missionId,微信,机器人,jsonData,memberList,getMsgType
来源: https://www.cnblogs.com/Marlo/p/15019963.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有