java调用个人微信API接口进行群发好友,群发群

547 阅读1分钟

java调用个人微信API接口进行群发好友,群发群

/**

  • 群发好友消息任务
  • @author wechatno:tangjinjinwx
  • @param ctx
  • @param vo
    */
    @Async
    public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) {
    try {
    log.debug(contentJsonStr);
    WeChatGroupSendTaskMessage.Builder bd = WeChatGroupSendTaskMessage.newBuilder();
    JsonFormat.parser().merge(contentJsonStr, bd);
    WeChatGroupSendTaskMessage req = bd.build();

asyncTaskService.msgSend2Phone(ctx, req.getWeChatId(), EnumMsgType.WeChatGroupSendTask, vo, req);
} catch (Exception e) {
e.printStackTrace();
MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
}
}

//接口参考www.wlkankan.cn/cate40/247.…

/**

  • 群发群消息任务
  • @author wechatno:tangjinjinwx
    */

private static void talkMsgToFriend(TaskTimeInfo info, TimeTaskDetailsDao timeTaskDetailsDao,List friends) {
for(String friend:friends){
ByteString byteString = ByteString.copyFromUtf8(info.getContent());
TalkToFriendTaskMessage.Builder build=TalkToFriendTaskMessage.newBuilder();
build.setWeChatId(info.getWechatId());
build.setFriendId(friend);
build.setContent(byteString);
build.setMsgId(MsgIdBuilder.getId());
if(info.getRestype()==1){//文本类型
build.setContentType(EnumContentType.Text);
}else if(info.getRestype()==2){//图片类型
build.setContentType(EnumContentType.Picture);
}else if(info.getRestype()==3){//语音类型
build.setContentType(EnumContentType.Voice);
}else if(info.getRestype()==4){//视频类型
build.setContentType(EnumContentType.Video);
}else if(info.getRestype()==6){//链接类型
build.setContentType(EnumContentType.Link);
}else if(info.getRestype()==13){//小程序
build.setContentType(EnumContentType.WeApp);
}
TalkToFriendTaskMessage msg = build.build();
if (null != msg) {
try {
String json = JsonFormat.printer().print(msg);
if(!StringUtils.isEmpty(json)){
TimeTaskDetails detail = new TimeTaskDetails();
detail.setTid(info.getId());
detail.setExecute_time(info.getExecute_time());
detail.setJson_content(json);
timeTaskDetailsDao.insert(detail);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}