云控微信开发SDK使用教程--手机微信朋友圈图片上传服务端
云控微信开发SDK使用教程--手机微信朋友圈图片上传服务端
case CircleDetailNotice : {//朋友圈图片上传
log.debug("socket:msgtype=CircleDetailNotice");
circleDetailNoticeHandler.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.BusinessWechatFriends;
import com.jubotech.business.web.domain.WeChatAccountInfo;
import com.jubotech.business.web.service.AccountService;
import com.jubotech.business.web.service.BusinessWechatFriendsService;
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.CircleDetailNotice.CircleDetailNoticeMessage;
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 CircleDetailNoticeHandler{
private final Logger log = LoggerFactory.getLogger(getClass());
@Autowired
private WeChatAccountService weChatAccountService;
@Autowired
private AccountService accountService;
@Autowired
private BusinessWechatFriendsService businessWechatFriendsService;
/*** 朋友圈图片上传* @author wechatno:tangjinjinwx* @param ctx* @param vo*/
public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {try {CircleDetailNoticeMessage req = vo.getContent().unpack(CircleDetailNoticeMessage.class);log.info(JsonFormat.printer().print(req));// 把消息转发给pc端// a、根据wechatId找到accountid// b、通过accountid找到account// c、通过account账号找到通道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.CircleDetailNotice, NettyConnectionUtil.getNettyId(chx),null, req);}}}//转发给商务app端BusinessWechatFriends buiness = businessWechatFriendsService.getBusinessWechatFriendsByFriendWechatid(req.getWeChatId());if(null != buiness){String nettyName = buiness.getCid()+"_"+buiness.getB_number();ChannelHandlerContext cx_netty = NettyConnectionUtil.getClientChannelHandlerContextByUserId(nettyName);if(null != cx_netty){MessageUtil.sendJsonMsg(cx_netty, EnumMsgType.CircleDetailNotice, NettyConnectionUtil.getNettyId(ctx), null, req);}}// 告诉客户端消息已收到MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);} catch (Exception e) {e.printStackTrace();MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);}
}
}
项目地址 https://www.wuliaokankan.cn/url301/138.html
云控微信开发SDK使用教程--手机微信朋友圈图片上传服务端相关推荐
- 微信开发SDK使用教程--手机微信好友发来聊天消息通知服务端
微信开发SDK使用教程--手机微信好友发来聊天消息通知服务端 case FriendTalkNotice: {// 微信好友发来聊天消息 log.debug("socket:msgtype= ...
- 微信开发SDK使用教程--手机微信个人号新增好友通知服务端
微信开发SDK使用教程--手机微信个人号新增好友通知服务端 case FriendAddNotice: {// 微信个人号新增好友通知 log.debug("socket:msgtype=F ...
- 微信云控开发SDK使用教程--手机机端回传检测清粉好友数通知服务端
微信云控开发SDK使用教程--手机机端回传检测清粉好友数通知服务端 case PostFriendDetectCountNotice : {//手机机端回传检测清粉好友数 log.debug(&quo ...
- 微信二次开发SDK使用教程--手机检测到有人点赞/取消点赞通知服务端
微信二次开发SDK使用教程--手机检测到有人点赞/取消点赞通知服务端 case CircleLikeNotice : {//手机检测到有人点赞/取消点赞通知 log.debug("socke ...
- 微信群控的服务器怎么用,微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端...
微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端 case RequestTalkContentTaskResultNotice: {// 返回聊天消息的原始内容 log.deb ...
- Vue使用微信录音并上传服务端
在微信公众号或者微信h5的网页开发中,会用到录音等功能,在微信里面使用微信录音会比较好一点,不用去设置ios和android的h5录音兼容性,并且h5的其他录音js文件可能不兼容微信浏览器等,所以vu ...
- Android仿微信朋友圈图片上传选择器布局
标题有点绕口,直接上一个效果图,如果符合你的需求的请在往下看,避免浪费你的时间 当当当当,标红的区域就是今天我们要干的活了 ,搞起来! 思路: 对android有点了解的人都知道在列表显示中我们可以使 ...
- [转载红鱼儿]Delphi实现微信开发(3)如何使用multipart/form-data格式上传文件
开始前,先看下要实现的微信接口,上传多媒体文件,这个接口是用Form表单形式上传的文件.对我来说,对http的Form表单一知半解,还好,查到这个资料,如果你也和我一样,必须看看这篇文章. 在xali ...
- 仿微信朋友圈图片上传
先贴上地址 项目地址 介绍 仿微信朋友圈的图片上传,图片上传缓存,断网后重新连接网络或者APP重启,自动上传未上传的图片 Config的阿里云配置需要自己添加 public class Config ...
- android 高仿朋友圈title,Android之高仿微信朋友圈图片上传
碰到过很多上传图片的功能,大多都是要求是仿微信,不论是单图还是多图,更不知道是出于什么原因要去仿微信,总之,作为开发人员,很无奈,今天就把这种需求总结出来了,方便以后使用,下面就开始撸...... 一 ...
最新文章
- 【Unity/Kinect】获取预制的手势信息KinectInterop.HandState
- WEB前端--HTML
- MySQL——数据库的增删改操作
- bootsect.s文件阅读问题集
- hexo的yelee主题本地搜索故障
- figma下载_不用担心Figma中的间距
- 【模板】可持久化线段树
- 【Linux小技巧】开启关闭蜂鸣声
- 第十二期:常用的几种大数据架构剖析
- mac电脑快捷键(持续更新)
- hadoop单机配置(非分布式)
- ApacheCN 大数据译文集(二) 20211206 更新
- Idea启动报错 Error:java: System Java Compiler was not found in classpath
- 2015年最好的员工心态培养 -- 我们需要把简单的事情做到极致
- axios 取消请求_封装 axios 取消重复请求
- Asp.net页面生命周期详解任我行(3)-服务器处理请求详细过程
- 最好用的Redis客户端
- php和apache配置 LoadModule php5_module D:/php/php5apache2.dll
- JVM基础知识1---尚硅谷视频笔记整理
- VUE PDF上传预览下载(vue-pdf)
热门文章
- python stm32f401_STM32学习之GPIO配置 (STM32F401ZGT6)
- Bootstrap 导航/滑动门(nav)
- 计算机应用bsp什么意思,bsp文件是什么?bsp文件怎么打开?
- 安卓3d游戏引擎_万达院线游戏、莉莉丝推新作;《天龙八部手游》不限号不删档测试开启...
- 猿创征文|弃文从工,从小白到蚂蚁工程师,我的 Java 成长之路
- 解决Not all parameters were used in the SQL statement问题
- 知名大企业的愿景和使命
- 个人免签支付接口二维码扫码支付
- UnityShader语法英文入门
- i++和++i哪个效率高