微信群控的服务器怎么用,微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端...
微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端
case RequestTalkContentTaskResultNotice: {// 返回聊天消息的原始内容
log.debug("socket:msgtype=RequestTalkContentTaskResultNotice");
requestTalkContentTaskResultNoticeHandler.handleMsg(ctx, msgVo);
break;
}
package com.jubotech.framework.netty.handler.socket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.google.protobuf.util.JsonFormat;
import com.jubotech.business.web.domain.AccountInfo;
import com.jubotech.business.web.domain.WeChatAccountInfo;
import com.jubotech.business.web.service.AccountService;
import com.jubotech.business.web.service.WeChatAccountService;
import com.jubotech.framework.netty.common.Constant;
import com.jubotech.framework.netty.utils.MessageUtil;
import com.jubotech.framework.netty.utils.NettyConnectionUtil;
import Jubo.JuLiao.IM.Wx.Proto.RequestTalkContentTaskResultNotice.RequestTalkContentTaskResultNoticeMessage;
import Jubo.JuLiao.IM.Wx.Proto.TransportMessageOuterClass.EnumErrorCode;
import Jubo.JuLiao.IM.Wx.Proto.TransportMessageOuterClass.EnumMsgType;
import Jubo.JuLiao.IM.Wx.Proto.TransportMessageOuterClass.TransportMessage;
import io.netty.channel.ChannelHandlerContext;
@Service
public class RequestTalkContentTaskResultNoticeHandler{
private final Logger log = LoggerFactory.getLogger(getClass());
@Autowired
private WeChatAccountService weChatAccountService;
@Autowired
private AccountService accountService;
/**
* 返回聊天消息的原始内容
* @author wechatno:tangjinjinwx
* @param ctx
* @param vo
*/
public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
try {
RequestTalkContentTaskResultNoticeMessage req = vo.getContent().unpack(RequestTalkContentTaskResultNoticeMessage.class);
log.info(JsonFormat.printer().print(req));
WeChatAccountInfo account = weChatAccountService.findWeChatAccountInfoByWeChatId(req.getWeChatId());
if (null != account && null != account.getAccountid() && 1 != account.getIslogined()) {
AccountInfo accInfo = accountService.findAccountInfoByid(account.getAccountid());
if (null != accInfo) {
// 转发给pc端
ChannelHandlerContext chx = NettyConnectionUtil.getClientChannelHandlerContextByUserId(accInfo.getAccount());
if (null != chx) {
MessageUtil.sendJsonMsg(chx, EnumMsgType.RequestTalkContentTaskResultNotice,NettyConnectionUtil.getNettyId(chx), null, req);
}
}
// 告诉客户端消息已收到
MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
} else {
// 对方不在线
MessageUtil.sendErrMsg(ctx, EnumErrorCode.TargetNotOnline, Constant.ERROR_MSG_NOTONLINE);
}
} catch (Exception e) {
e.printStackTrace();
MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
}
}
}
项目地址:https://github.com/tangjinjinwx/Public.WeChat.CRM.SDK
接口参考:http://www.yunlauncher.com/Blog/articles/119.html
微信群控的服务器怎么用,微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端...相关推荐
- 微信二次开发SDK使用教程--手机检测到有人点赞/取消点赞通知服务端
微信二次开发SDK使用教程--手机检测到有人点赞/取消点赞通知服务端 case CircleLikeNotice : {//手机检测到有人点赞/取消点赞通知 log.debug("socke ...
- 微信云控开发SDK使用教程--手机机端回传检测清粉好友数通知服务端
微信云控开发SDK使用教程--手机机端回传检测清粉好友数通知服务端 case PostFriendDetectCountNotice : {//手机机端回传检测清粉好友数 log.debug(&quo ...
- 微信开发SDK使用教程--手机微信好友发来聊天消息通知服务端
微信开发SDK使用教程--手机微信好友发来聊天消息通知服务端 case FriendTalkNotice: {// 微信好友发来聊天消息 log.debug("socket:msgtype= ...
- 微信开发SDK使用教程--手机微信个人号新增好友通知服务端
微信开发SDK使用教程--手机微信个人号新增好友通知服务端 case FriendAddNotice: {// 微信个人号新增好友通知 log.debug("socket:msgtype=F ...
- 微信机器人开发SDK使用教程--养号任务停止
微信机器人开发SDK使用教程--养号任务停止 case "PostStopWeChatMaintenanceTask": {// 养号任务停止 log.debug("we ...
- 微信机器人开发SDK使用教程--删除朋友圈
微信机器人开发SDK使用教程--删除朋友圈 case "DeleteSNSNewsTask": {// 删除朋友圈 log.debug("websocket:msgtyp ...
- 微信机器人开发SDK使用教程--群发消息任务
微信机器人开发SDK使用教程--群发消息任务 case "WeChatGroupSendTask": {// 群发消息任务 log.debug("websocket:ms ...
- 聚播微信多开客服系统二次开发SDK服务端接口
聚播微信多开客服系统二次开发SDK服务端接口 case HeartBeatReq: {// 客户端发送的心跳包heartBeatReqHandler.handleMsg(ctx, msgVo);bre ...
- 微信机器人开发SDK使用教程--执行养号动作命令
微信机器人开发SDK使用教程--执行养号动作命令 case "WeChatMaintenanceTask": {// 执行养号动作命令 log.debug("websoc ...
最新文章
- Firefox 的一个HTTP分析器扩展
- 哪位有方法把 dd/mm/yyyy的字符串 格式化成yyyy-mm-dd
- C++primer :const限定符
- C++:22 再议const的作用(上)
- Spring Boot 热部署 devtools模块
- 「旁门右道」CURL持久连接技巧
- 实验一 线性表的顺序存储与实现_程序员:数据结构与算法,线性表介绍
- 21天Jmeter打卡day16参数传递token传递,接口关联
- java字符串计数从零还是从一,java – 计数和所有字符相同的最大字符串的起始索引...
- html5快手视频播放源码,快手视频解析源码
- 高德地图----经纬度转地理位置,地理位置获取经纬度
- Springboot学习-MD5盐值密码加密 DigestUtils 和 BCryptPasswordEncoder
- 政府普及政务工作邮箱的难题
- Word数学公式编辑器怎么用
- 淘宝四大经典骗局及防骗技巧
- mysql partition 语法,MySQL与瀚高数据库的范围分区的语法及实例(APP)
- 网络库libevent、libev、libuv、libhv对比
- 下载谷歌play应用_在Google Play控制台上为应用设置发布并发布到内部曲目
- 学会给你的笔记本电池换“芯”
- (石头、剪刀、布)shell脚本,随机对比,case的应用
热门文章
- 致刚就业迷茫的你和寄语大学毕业生--技术读者
- Oracle OR条件的优化与改写
- 成吉思汗陵举行戊戌年成吉思汗嗣火祭祀
- matlab面元法计算naca翼型的升力系数(关于攻角的曲线)
- HC-SR505人体红外报警系统
- 低频理疗按摩仪8种常用基本波形
- python表情包多样化图形化聊天室_Python还有这功能:自动生成表情包,从此斗图无敌手!...
- 利用数据集在水晶报表中显示图像的 .NET 程序教程
- 用C++编写一个简易数学计算器
- 非常规方法彻底删除System Volume Information.exe