• 云控微信开发SDK使用教程--微信联系人标签新增,修改通知服务端


    云控微信开发SDK使用教程--微信联系人标签新增,修改通知服务端

    case ContactLabelAddNotice : {//联系人标签新增,修改通知
    log.debug("socket:msgtype=ContactLabelAddNotice");
    contactLabelAddNoticeHandler.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.ContactLabelAddNotic.ContactLabelAddNoticeMessage;
    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 ContactLabelAddNoticeHandler{
    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 {
        	ContactLabelAddNoticeMessage req = vo.getContent().unpack(ContactLabelAddNoticeMessage.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.ContactLabelAddNotice,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://www.wuliaokankan.cn/url301/138.html
    接口参考:http://www.yunlauncher.com/Blog/articles/119.html

  • 相关阅读:
    iOS中Zbar二维码扫描的使用
    SOJ 1135. 飞跃原野
    SOJ 1048.Inverso
    SOJ 1219. 新红黑树
    SOJ 1171. The Game of Efil
    SOJ 1180. Pasting Strings
    1215. 脱离地牢
    1317. Sudoku
    SOJ 1119. Factstone Benchmark
    soj 1099. Packing Passengers
  • 原文地址:https://www.cnblogs.com/wuliaokankan/p/10607995.html
Copyright © 2020-2023  润新知