企业微信api,企业微信sdk接口java调用源码

简介: 企业微信api,企业微信sdk接口java调用源码

企业微信api,企业微信sdk接口

1、企业微信SDK接口API调用-企业微信好友收发消息

/**
 * 给企业微信好友发消息
 * @author wechat:happybabby110
 * @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.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TalkToFriendTask, vo, req);
 
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
    }
}
 
/**
 * 企业微信好友发来聊天消息
 * @author wechat:happybabby110
 * @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());
           
        //消息转发到pc端
        asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.FriendTalkNotice, req);
         
        // 告诉客户端消息已收到
        MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
         
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), e.getMessage());
    }
}

2、企业微信SDK接口API调用-通过手机号或微信好友添加客户

/** 
 * 企业微信搜索手机号添加微信
 * @author wechat:happybabby110
 * @blog http://www.wlkankan.cn
 */
public  void handleMsg(ChannelHandlerContext ctx ,TransportMessage vo, String contentJsonStr) {
    try {
        log.debug(contentJsonStr);
        AddCustomerFromSearchTaskMessage.Builder bd = AddCustomerFromSearchTaskMessage.newBuilder();
        JsonFormat.parser().merge(contentJsonStr, bd);
        AddCustomerFromSearchTaskMessage req = bd.build();
    
        // 将消息转发送给手机客户端
        asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.AddCustomerFromSearchTask, vo, req);
 
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
    }
}
 
 
/** 
 * 从企业微信好友中添加客户
 * @author wechat:happybabby110
 * @blog http://www.wlkankan.cn
 */
public  void handleMsg(ChannelHandlerContext ctx ,TransportMessage vo, String contentJsonStr) {
    try {
        log.debug(contentJsonStr);
        AddCustomerFromWxTaskMessage.Builder bd = AddCustomerFromWxTaskMessage.newBuilder();
        JsonFormat.parser().merge(contentJsonStr, bd);
        AddCustomerFromWxTaskMessage req = bd.build();
    
        // 将消息转发送给手机客户端
        asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.AddCustomerFromWxTask, vo, req);
 
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
    }
}

3、企业微信SDK接口API调用-触发企业微信推送联系人列表

/**
 * 触发推送企业微信联系人列表任务
 * @author wechat:happybabby110
 * @blog http://www.wlkankan.cn
 */
@Async
public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
    try {
        log.debug(contentJsonStr);
        CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
        JsonFormat.parser().merge(contentJsonStr, bd);
        CommonTriggerTaskMessage req = bd.build();
         
        //将消息转发送给手机客户端
        asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerContactPushTask, vo, req);
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
    }
}
 
/**
 * 企业微信推送联系人列表
 * @author wechat:happybabby110
 * @blog http://www.wlkankan.cn
 */
@Async
public  void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
    try {
        ContactPushNoticeMessage req = vo.getContent().unpack(ContactPushNoticeMessage.class);
        log.debug(JsonFormat.printer().print(req)); 
    
        asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.ContactPushNotice, req);
        
        // 告诉客户端消息已收到
        MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
    }
}

4、企业微信SDK接口API调用-触发企业微信推送会话列表

/**
 * 触发企业微信推送会话列表任务
 * @author wechat:happybabby110
 * @blog http://www.wlkankan.cn
 */
@Async
public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
    try {
        log.debug(contentJsonStr);
        CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
        JsonFormat.parser().merge(contentJsonStr, bd);
        CommonTriggerTaskMessage req = bd.build();
         
        //将消息转发送给手机客户端
        asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerConversationPushTask, vo, req);
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
    }
}
/**
* 企业微信聊天会话列表推送
* @author wechat:happybabby110
* @blog http://www.wlkankan.cn
*/
@Async
public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
try {
ConversationPushNoticeMessage req = vo.getContent().unpack(ConversationPushNoticeMessage.class);
log.debug(JsonFormat.printer().print(req));
asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.ConversationPushNotice, req);
        
        // 告诉客户端消息已收到
        MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
    }
}

5、企业微信SDK接口API调用-触发推送企业微信微信好友

/**
 * 触发企业微信推送微信好友列表
 * @author wechat:happybabby110
 * @blog http://www.wlkankan.cn
 */
@Async
public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
    try {
        log.debug(contentJsonStr);
        CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
        JsonFormat.parser().merge(contentJsonStr, bd);
        CommonTriggerTaskMessage req = bd.build();
         
        //将消息转发送给手机客户端
        asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerWechatFriendPushTask, vo, req);
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
    }
}
/**
* 企业微信好友列表推送,用于从微信好友中添加客户
* @author wechat:happybabby110
* @blog http://www.wlkankan.cn
*/
@Async
public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
try {
WxFriendPushNoticeMessage req = vo.getContent().unpack(WxFriendPushNoticeMessage.class);
log.debug(JsonFormat.printer().print(req));
asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.WxFriendPushNotice, req);
        
        // 告诉客户端消息已收到
        MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
    } catch (Exception e) {
        e.printStackTrace();
        MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
    }
}


相关文章
|
12月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
12月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
467 100
|
12月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
446 101
|
12月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
550 101
|
12月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
630 116
|
12月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
302 11
|
11月前
|
Java Go 开发工具
【Java】(9)抽象类、接口、内部的运用与作用分析,枚举类型的使用
抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接 口、枚举)5种成分。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类abstract static不能同时修饰一个方法。
401 1
|
12月前
|
算法 iOS开发 CDN
“企业微信iPad协议”第 0x04 天:当朋友圈接口在凌晨 2:14 突然返回 404
新品上线紧急任务:300位经销商朋友圈同步海报。突破官方限制,利用企业微信iPad协议私有接口,自动化上传发布。凌晨遭遇404,迅速定位并修复算法版本问题,最终高效完成推送,点赞超4200。技术在文档之外,也在边界之内。
509 0
|
存储 数据可视化 Java
Java Stream API 的强大功能
Java Stream API 是 Java 8 引入的重要特性,它改变了集合数据的处理方式。通过声明式语法,开发者可以更简洁地进行过滤、映射、聚合等操作。Stream API 支持惰性求值和并行处理,提升了代码效率和可读性,是现代 Java 开发不可或缺的工具。
252 0
Java Stream API 的强大功能
|
12月前
|
iOS开发
“企业微信iPad协议”第0x0B次编译:当朋友圈接口在凌晨悄然返回空数组
新品海报发布失败,排查发现企业微信iPad端因本地时间偏差超60秒,导致`ext_ticket`校验失败。NTP校准后恢复正常。问题根源:独立加签逻辑对时间敏感,且错误不提示。精准时间成合规关键。
617 0