java给朋友发微信_微信api接口,给微信好友收发消息

本文介绍如何通过Java实现微信API接口,从而实现在微信中给好友发送和接收消息的功能。代码示例展示了如何处理消息记录、消息转发以及异常处理。
摘要由CSDN通过智能技术生成

微信api接口,给微信好友收发消息

/**

* 给微信好友发消息

* @author wechatno:tangjinjinwx

* @blog http://www.wlkankan.cn

*/

@Async

public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) {

try {

log.debug(contentJsonStr);

TalkToFriendTaskMessage.Builder bd = TalkToFriendTaskMessage.newBuilder();

JsonFormat.parser().merge(contentJsonStr, bd);

TalkToFriendTaskMessage req = bd.build();

// 消息记录数据库

asyncTaskService.savePcMessage(req);

// 将消息转发送给手机客户端

asyncTaskService.msgSend2Phone(ctx, req.getWeChatId(), EnumMsgType.TalkToFriendTask, vo, req);

} catch (Exception e) {

e.printStackTrace();

MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);

}

}

/**

* 微信好友发来聊天消息通知

* @author wechatno:tangjinjinwx

* @blog http://www.wlkankan.cn

*/

@Async

public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {

try {

FriendTalkNoticeMessage req = vo.getContent().unpack(FriendTalkNoticeMessage.class);

log.debug(JsonFormat.printer().print(req));

log.debug(LocalDateTime.now()+" 微信好友发来聊天消息 对应的线程名: "+Thread.currentThread().getName());

//拦截消息

asyncTaskService.msgAopTask(ctx,req,vo.getAccessToken(), vo.getId());

//消息转发到pc端

asyncTaskService.msgSend2pc(req.getWeChatId(), EnumMsgType.FriendTalkNotice, req);

// 告诉客户端消息已收到

MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);

WxAccountInfo account = weChatAccountService.findWeChatAccountInfoByWeChatId(req.getWeChatId());

//消息记录数据库

if (null != account){

asyncTaskService.saveMessage(account, req);

}

} catch (Exception e) {

e.printStackTrace();

MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), e.getMessage());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值