云控微信开发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使用教程--手机微信朋友圈图片上传服务端相关推荐

  1. 微信开发SDK使用教程--手机微信好友发来聊天消息通知服务端

    微信开发SDK使用教程--手机微信好友发来聊天消息通知服务端 case FriendTalkNotice: {// 微信好友发来聊天消息 log.debug("socket:msgtype= ...

  2. 微信开发SDK使用教程--手机微信个人号新增好友通知服务端

    微信开发SDK使用教程--手机微信个人号新增好友通知服务端 case FriendAddNotice: {// 微信个人号新增好友通知 log.debug("socket:msgtype=F ...

  3. 微信云控开发SDK使用教程--手机机端回传检测清粉好友数通知服务端

    微信云控开发SDK使用教程--手机机端回传检测清粉好友数通知服务端 case PostFriendDetectCountNotice : {//手机机端回传检测清粉好友数 log.debug(&quo ...

  4. 微信二次开发SDK使用教程--手机检测到有人点赞/取消点赞通知服务端

    微信二次开发SDK使用教程--手机检测到有人点赞/取消点赞通知服务端 case CircleLikeNotice : {//手机检测到有人点赞/取消点赞通知 log.debug("socke ...

  5. 微信群控的服务器怎么用,微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端...

    微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端 case RequestTalkContentTaskResultNotice: {// 返回聊天消息的原始内容 log.deb ...

  6. Vue使用微信录音并上传服务端

    在微信公众号或者微信h5的网页开发中,会用到录音等功能,在微信里面使用微信录音会比较好一点,不用去设置ios和android的h5录音兼容性,并且h5的其他录音js文件可能不兼容微信浏览器等,所以vu ...

  7. Android仿微信朋友圈图片上传选择器布局

    标题有点绕口,直接上一个效果图,如果符合你的需求的请在往下看,避免浪费你的时间 当当当当,标红的区域就是今天我们要干的活了 ,搞起来! 思路: 对android有点了解的人都知道在列表显示中我们可以使 ...

  8. [转载红鱼儿]Delphi实现微信开发(3)如何使用multipart/form-data格式上传文件

    开始前,先看下要实现的微信接口,上传多媒体文件,这个接口是用Form表单形式上传的文件.对我来说,对http的Form表单一知半解,还好,查到这个资料,如果你也和我一样,必须看看这篇文章. 在xali ...

  9. 仿微信朋友圈图片上传

    先贴上地址 项目地址 介绍 仿微信朋友圈的图片上传,图片上传缓存,断网后重新连接网络或者APP重启,自动上传未上传的图片 Config的阿里云配置需要自己添加 public class Config ...

  10. android 高仿朋友圈title,Android之高仿微信朋友圈图片上传

    碰到过很多上传图片的功能,大多都是要求是仿微信,不论是单图还是多图,更不知道是出于什么原因要去仿微信,总之,作为开发人员,很无奈,今天就把这种需求总结出来了,方便以后使用,下面就开始撸...... 一 ...

最新文章

  1. 【Unity/Kinect】获取预制的手势信息KinectInterop.HandState
  2. WEB前端--HTML
  3. MySQL——数据库的增删改操作
  4. bootsect.s文件阅读问题集
  5. hexo的yelee主题本地搜索故障
  6. figma下载_不用担心Figma中的间距
  7. 【模板】可持久化线段树
  8. 【Linux小技巧】开启关闭蜂鸣声
  9. 第十二期:常用的几种大数据架构剖析
  10. mac电脑快捷键(持续更新)
  11. hadoop单机配置(非分布式)
  12. ApacheCN 大数据译文集(二) 20211206 更新
  13. Idea启动报错 Error:java: System Java Compiler was not found in classpath
  14. 2015年最好的员工心态培养 -- 我们需要把简单的事情做到极致
  15. axios 取消请求_封装 axios 取消重复请求
  16. Asp.net页面生命周期详解任我行(3)-服务器处理请求详细过程
  17. 最好用的Redis客户端
  18. php和apache配置 LoadModule php5_module D:/php/php5apache2.dll
  19. JVM基础知识1---尚硅谷视频笔记整理
  20. VUE PDF上传预览下载(vue-pdf)

热门文章

  1. python stm32f401_STM32学习之GPIO配置 (STM32F401ZGT6)
  2. Bootstrap 导航/滑动门(nav)
  3. 计算机应用bsp什么意思,bsp文件是什么?bsp文件怎么打开?
  4. 安卓3d游戏引擎_万达院线游戏、莉莉丝推新作;《天龙八部手游》不限号不删档测试开启...
  5. 猿创征文|弃文从工,从小白到蚂蚁工程师,我的 Java 成长之路
  6. 解决Not all parameters were used in the SQL statement问题
  7. 知名大企业的愿景和使命
  8. 个人免签支付接口二维码扫码支付
  9. UnityShader语法英文入门
  10. i++和++i哪个效率高