消息服务客户端
组件编码
hzero-boot-message
一、简介
1.1 概述
消息服务接口集成,使用feign调用实现
1.2 特性
- 基于消息服务实现:hzero-message
1.3 组件坐标
<dependency>
<groupId>org.hzero.boot</groupId>
<artifactId>hzero-boot-message</artifactId>
<version>${hzero.boot.version}</version>
</dependency>
二、使用指南
2.1 使用方法
1.在代码中自动注入消息客户端:org.hzero.boot.message.MessageClient
2.消息生成:
// ----------------------------- 平台级
/**
* 生成消息内容
*
* @param templateCode 消息模板编码
* @param args 自定义参数
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(String templateCode, Map<String, String> args)
/**
* 生成消息内容
*
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param lang 语言
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(String templateCode, Map<String, String> args, String lang)
/**
* 生成消息内容
*
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param sqlEnable 是否使用sqlValue
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(String templateCode, Map<String, String> args, boolean sqlEnable)
/**
* 生成消息内容
*
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param sqlEnable 是否使用sqlValue
* @param lang 语言
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(String templateCode, Map<String, String> args, boolean sqlEnable, String lang)
/**
* 生成消息内容
*
* @param templateCode 消息模板编码
* @param args 自定义参数
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(String templateCode, String serverTypeCode, Map<String, String> args)
/**
* 生成消息内容
*
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param lang 语言
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(String templateCode, String serverTypeCode, Map<String, String> args, String lang)
/**
* 生成消息内容
*
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param sqlEnable 是否使用sqlValue
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(String templateCode, String serverTypeCode, Map<String, String> args, boolean sqlEnable)
/**
* 生成消息内容
*
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param sqlEnable 是否使用sqlValue
* @param lang 语言
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(String templateCode, String serverTypeCode, Map<String, String> args, boolean sqlEnable, String lang)
// ----------------------------- 租户级
/**
* 生成消息内容
*
* @param tenantId 租户ID
* @param templateCode 消息模板编码
* @param args 自定义参数
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(long tenantId, String templateCode, Map<String, String> args)
/**
* 生成消息内容
*
* @param tenantId 租户ID
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param lang 语言
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(long tenantId, String templateCode, Map<String, String> args, String lang)
/**
* 生成消息内容
*
* @param tenantId 租户ID
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param sqlEnable 是否使用sqlValue
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(long tenantId, String templateCode, Map<String, String> args, boolean sqlEnable)
/**
* 生成消息内容
*
* @param tenantId 租户ID
* @param templateCode 消息模板编码
* @param args 自定义参数
* @param sqlEnable 是否使用sqlValue
* @param lang 语言
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(long tenantId, String templateCode, Map<String, String> args, boolean sqlEnable, String lang)
/**
* 生成消息内容
*
* @param tenantId 租户ID
* @param templateCode 消息模板编码
* @param serverTypeCode 服务类型编码,短信
* @param args 自定义参数
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(long tenantId, String templateCode, String serverTypeCode, Map<String, String> args)
/**
* 生成消息内容
*
* @param tenantId 租户ID
* @param templateCode 消息模板编码
* @param serverTypeCode 服务类型编码,短信
* @param args 自定义参数
* @param lang 语言
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(long tenantId, String templateCode, String serverTypeCode, Map<String, String> args, String lang)
/**
* 生成消息内容
*
* @param tenantId 租户ID
* @param templateCode 消息模板编码
* @param serverTypeCode 服务类型编码,短信
* @param args 自定义参数
* @param sqlEnable 是否使用sqlValue
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(long tenantId, String templateCode, String serverTypeCode, Map<String, String> args, boolean sqlEnable)
/**
* 生成消息内容
*
* @param tenantId 租户ID
* @param templateCode 消息模板编码
* @param serverTypeCode 服务类型编码,短信
* @param args 自定义参数
* @param sqlEnable 是否使用sqlValue
* @param lang 语言
* @return 消息内容,返回消息主题,消息内容
*/
Message generateMessage(long tenantId, String templateCode, String serverTypeCode, Map<String, String> args, boolean sqlEnable, String lang)
3.获取接收人:
/**
* 获取消息接收人
*
* @param receiverTypeCode 消息接收人编码
* @param args 自定义参数
* @return 消息接收人
*/
List<Receiver> receiver(String receiverTypeCode, Map<String, String> args)
/**
* 获取消息接收人
*
* @param tenantId 租户ID
* @param receiverTypeCode 消息接收人编码
* @param args 自定义参数
* @return 消息接收人
*/
List<Receiver> receiver(long tenantId, String receiverTypeCode, Map<String, String> args)
4.发送站内消息:
/**
* 发送站内消息
*
* @param messageTemplateCode 消息模板编码
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @return 发送结果
*/
Message sendWebMessage(String messageTemplateCode, String receiverGroupCode, Map<String, String> args)
/**
* 发送站内消息
*
* @param messageTemplateCode 消息模板编码
* @param receiverList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendWebMessage(String messageTemplateCode, List<Receiver> receiverList, Map<String, String> args)
/**
* 发送站内消息
*
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @return 发送结果
*/
Message sendWebMessage(String messageTemplateCode, String lang, String receiverGroupCode, Map<String, String> args)
/**
* 发送站内消息
*
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendWebMessage(String messageTemplateCode, String lang, List<Receiver> receiverList, Map<String, String> args)
/**
* 发送站内消息
*
* @param tenantId 租户ID(平台默认0)
* @param messageTemplateCode 消息模板编码
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @return 发送结果
*/
Message sendWebMessage(long tenantId, String messageTemplateCode, String receiverGroupCode, Map<String, String> args)
/**
* 发送站内消息
*
* @param tenantId 租户ID(平台默认0)
* @param messageTemplateCode 消息模板编码
* @param receiverList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendWebMessage(long tenantId, String messageTemplateCode, List<Receiver> receiverList, Map<String, String> args)
/**
* 发送站内消息
*
* @param tenantId 租户ID(平台默认0)
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @return 发送结果
*/
Message sendWebMessage(long tenantId, String messageTemplateCode, String lang, String receiverGroupCode, Map<String, String> args)
/**
* 发送站内消息
*
* @param tenantId 租户ID(平台默认0)
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendWebMessage(long tenantId, String messageTemplateCode, String lang, List<Receiver> receiverList, Map<String, String> args)
代码案例:
public class Test {
private final MessageClient messageClient;
@Autowired
public Test(MessageClient messageClient) {
this.messageClient = messageClient;
}
public void sentMyMessage() {
long tenantId = 0L;
String messageTemplateCode = "HIAM.MODIFY_PASSWORD";
String lang = "zh_CN";
String receiverGroupCode = "TEST01";
Map<String, String> args = new HashMap<>(4);
args.put("password", "123");
args.put("captcha", "123");
args.put("loginName", "123");
args.put("identifycode", "123");
//发送站内消息,默认同步
messageClient.sendWebMessage(tenantId, messageTemplateCode, lang, receiverGroupCode, args);
messageClient.sync().sendWebMessage(tenantId, messageTemplateCode, lang, receiverGroupCode, args);
//异步发送站内消息
messageClient.async().sendWebMessage(tenantId, messageTemplateCode, lang, receiverGroupCode, args);
}
}
5.发送邮件:
/**
* 发送邮件
*
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(String serverCode, String messageTemplateCode, String receiverGroupCode, Map<String, String> args, Attachment... attachments)
/**
* 发送邮件
*
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverList 接收人列表
* @param args 参数
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(String serverCode, String messageTemplateCode, List<Receiver> receiverList, Map<String, String> args, Attachment... attachments)
/**
* 发送邮件
*
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(String serverCode, String messageTemplateCode, String lang, String receiverGroupCode, Map<String, String> args, Attachment... attachments)
/**
* 发送邮件
*
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverList 接收人列表
* @param args 参数
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(String serverCode, String messageTemplateCode, String lang, List<Receiver> receiverList, Map<String, String> args, Attachment... attachments)
/**
* 发送邮件
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(long tenantId, String serverCode, String messageTemplateCode, String receiverGroupCode, Map<String, String> args, Attachment... attachments)
/**
* 发送邮件(指定抄送,密送)
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @param ccList 抄送
* @param bccList 密送
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(long tenantId, String serverCode, String messageTemplateCode, String receiverGroupCode, Map<String, String> args, List<String> ccList, List<String> bccList, Attachment... attachments)
/**
* 发送邮件
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverList 接收人列表
* @param args 参数
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(long tenantId, String serverCode, String messageTemplateCode, List<Receiver> receiverList, Map<String, String> args, Attachment... attachments)
/**
* 发送邮件(指定抄送,密送)
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverList 接收人列表
* @param args 参数
* @param ccList 抄送
* @param bccList 密送
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(long tenantId, String serverCode, String messageTemplateCode, List<Receiver> receiverList, Map<String, String> args, List<String> ccList, List<String> bccList, Attachment... attachments)
/**
* 发送邮件
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(long tenantId, String serverCode, String messageTemplateCode, String lang, String receiverGroupCode, Map<String, String> args, Attachment... attachments)
/**
* 发送邮件(指定抄送,密送)
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @param ccList 抄送
* @param bccList 密送
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(long tenantId, String serverCode, String messageTemplateCode, String lang, String receiverGroupCode, Map<String, String> args, List<String> ccList, List<String> bccList, Attachment... attachments)
/**
* 发送邮件
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverList 接收人列表
* @param args 参数
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(long tenantId, String serverCode, String messageTemplateCode, String lang, List<Receiver> receiverList, Map<String, String> args, Attachment... attachments)
/**
* 发送邮件(指定抄送,密送)
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverList 接收人列表
* @param args 参数
* @param ccList 抄送
* @param bccList 密送
* @param attachments 附件
* @return 发送结果
*/
Message sendEmail(long tenantId, String serverCode, String messageTemplateCode, String lang, List<Receiver> receiverList, Map<String, String> args, List<String> ccList, List<String> bccList, Attachment... attachments)
/**
* 不使用消息模板,发送邮件
*
* @param tenantId 租户
* @param serverCode 邮箱账户编码
* @param subject 标题
* @param content 内容
* @param receiverList 接收人
* @param ccList 抄送地址
* @param bccList 密送地址
* @param attachments 附件
* @return 发送结果
*/
Message sendCustomEmail(Long tenantId, String serverCode, String subject, String content, List<Receiver> receiverList, List<String> ccList, List<String> bccList, Attachment... attachments)
代码案例:
public class Test {
private final MessageClient messageClient;
@Autowired
public Test(MessageClient messageClient) {
this.messageClient = messageClient;
}
public void sentMyMessage() {
long tenantId = 0L;
String serverCode = "TEST001";
String messageTemplateCode = "HIAM.MODIFY_PASSWORD";
Receiver receiver = new Receiver();
receiver.setUserId(1L);
receiver.setTargetUserTenantId(1L);
receiver.setEmail("hzero@hand-china.com");
receiver.setPhone("15123423412");
receiver.setIdd("00");
List<Receiver> receiverList = new ArrayList<>();
receiverList.add(receiver);
Map<String, String> args = new HashMap<>(4);
args.put("password", "123");
args.put("captcha", "123");
args.put("loginName", "123");
args.put("identifycode", "123");
//发送邮件,默认同步
messageClient.sendEmail(tenantId, serverCode, messageTemplateCode, receiverList, args);
messageClient.sync().sendEmail(tenantId, serverCode, messageTemplateCode, receiverList, args);
//异步发送邮件
messageClient.async().sendEmail(tenantId, serverCode, messageTemplateCode, receiverList, args);
}
}
6.发送短信:
/**
* 发送短信
*
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @return 发送结果
*/
Message sendSms(String serverCode, String messageTemplateCode, String receiverGroupCode, Map<String, String> args)
/**
* 发送短信
*
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendSms(String serverCode, String messageTemplateCode, List<Receiver> receiverList, Map<String, String> args)
/**
* 发送短信
*
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @return 发送结果
*/
Message sendSms(String serverCode, String messageTemplateCode, String lang, String receiverGroupCode, Map<String, String> args)
/**
* 发送短信
*
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendSms(String serverCode, String messageTemplateCode, String lang, List<Receiver> receiverList, Map<String, String> args)
/**
* 发送短信
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @return 发送结果
*/
Message sendSms(long tenantId, String serverCode, String messageTemplateCode, String receiverGroupCode, Map<String, String> args)
/**
* 发送短信
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param receiverList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendSms(long tenantId, String serverCode, String messageTemplateCode, List<Receiver> receiverList, Map<String, String> args)
/**
* 发送短信
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverGroupCode 接收人组编码
* @param args 参数
* @return 发送结果
*/
Message sendSms(long tenantId, String serverCode, String messageTemplateCode, String lang, String receiverGroupCode, Map<String, String> args)
/**
* 发送短信
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 服务编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param receiverList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendSms(long tenantId, String serverCode, String messageTemplateCode, String lang, List<Receiver> receiverList, Map<String, String> args)
代码案例:
public class Test {
private final MessageClient messageClient;
@Autowired
public Test(MessageClient messageClient) {
this.messageClient = messageClient;
}
public void sentMyMessage() {
long tenantId = 0L;
String serverCode = "123123";
String messageTemplateCode = "HIAM.MODIFY_PASSWORD";
String lang = "zh_CN";
Receiver receiver = new Receiver();
receiver.setUserId(1L);
receiver.setTargetUserTenantId(1L);
receiver.setEmail("hzero@hand-china.com");
receiver.setPhone("15123423412");
receiver.setIdd("00");
List<Receiver> receiverList = new ArrayList<>();
receiverList.add(receiver);
Map<String, String> args = new HashMap<>(4);
args.put("password", "123");
args.put("captcha", "123");
args.put("loginName", "123");
args.put("identifycode", "123");
//发送短信,默认同步
messageClient.sendSms(tenantId, serverCode, messageTemplateCode, lang, receiverList, args);
messageClient.sync().sendSms(tenantId, serverCode, messageTemplateCode, lang, receiverList, args);
//异步发送短信
messageClient.async().sendSms(tenantId, serverCode, messageTemplateCode, lang, receiverList, args);
}
}
7.发送长连接消息:
/**
* 指定sessionId发送webSocket消息
*
* @param sessionId sessionId
* @param key 自定义的key
* @param message 消息内容
*/
void sendBySession(String sessionId, String key, String message)
/**
* 指定用户发送webSocket消息
*
* @param userId 用户Id
* @param key 自定义的key
* @param message 消息内容
*/
void sendByUserId(Long userId, String key, String message)
/**
* 向所有用户发送webSocket消息
*
* @param key 自定义的key
* @param message 消息内容
*/
void sendToAll(String key, String message)
代码案例:
public class Test {
private final MessageClient messageClient;
@Autowired
public Test(MessageClient messageClient) {
this.messageClient = messageClient;
}
public void sentMyMessage() {
String sessionId = "123";
String key = "123";
String message = "message!";
//发送长连接信息,默认同步
//指定sessionId发送webSocket消息
messageClient.sendBySession(sessionId, key, message);
messageClient.sync().sendBySession(sessionId, key, message);
//异步发送
messageClient.async().sendBySession(sessionId, key, message);
}
}
8.获取在线用户:
/**
* 获取在线用户信息
*
* @return 在线用户信息
*/
List<OnLineUserDTO> getUser()
9.处理前端websocket消息
实现org.hzero.boot.message.handler.ISocketHandler
接口,类添加@SocketHandler
注解,指定话题的key
import org.hzero.boot.message.annotation.SocketHandler;
import org.hzero.boot.message.entity.Msg;
import org.hzero.boot.message.handler.ISocketHandler;
@SocketHandler("hzero-demo")
public class MessageHandlerDemo implements ISocketHandler {
@Override
public void processMessage(Msg msg) {
System.out.println("接收到前端socket消息:" + msg.getMessage());
}
}
10.发送微信公众号模板消息
/**
* 发送微信公众号消息
*
* @param messageTemplateCode 消息模板编码
* @param userList 接收人列表
* @param data 参数
* @return 发送结果
*/
Message sendWeChatOfficialMessage(String serverCode, String messageTemplateCode, List<String> userList, Map<String, WeChatFont> data)
/**
* 发送微信公众号消息
*
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param userList 接收人列表
* @param data 参数
* @return 发送结果
*/
Message sendWeChatOfficialMessage(String serverCode, String messageTemplateCode, String lang, List<String> userList, Map<String, WeChatFont> data, String url, Miniprogram miniprogram)
/**
* 发送微信公众号消息
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 公众号配置编码
* @param messageTemplateCode 消息模板编码
* @param userList 接收人列表
* @param data 参数
* @return 发送结果
*/
Message sendWeChatOfficialMessage(long tenantId, String serverCode, String messageTemplateCode, List<String> userList, Map<String, WeChatFont> data)
/**
* 发送微信公众号消息
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 公众号配置编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param userList 接收人列表
* @param data 参数
* @param url 跳转地址
* @param miniprogram 小程序参数
* @return 发送结果
*/
Message sendWeChatOfficialMessage(long tenantId, String serverCode, String messageTemplateCode, String lang, List<String> userList, Map<String, WeChatFont> data, String url, Miniprogram miniprogram)
代码案例:
public class Test {
private final MessageClient messageClient;
@Autowired
public Test(MessageClient messageClient) {
this.messageClient = messageClient;
}
public void sentMyMessage() {
long tenantId = 0L;
String serverCode = "TEST007";
String messageTemplateCode = "HIAM.MODIFY_PASSWORD";
List<String> userList = new ArrayList<>();
userList.add("123");
Map<String, WeChatFont> data = new HashMap<>(4);
WeChatFont weChatFont = new WeChatFont();
weChatFont.setValue("HAND");
weChatFont.setColor("#000000");
data.put("one", weChatFont);
//发送微信公众号消息,默认同步
messageClient.sendWeChatOfficialMessage(tenantId, serverCode, messageTemplateCode, userList, data);
messageClient.sync().sendWeChatOfficialMessage(tenantId, serverCode, messageTemplateCode, userList, data);
//异步发送微信公众号消息
messageClient.async().sendWeChatOfficialMessage(tenantId, serverCode, messageTemplateCode, userList, data);
}
}
11.发送企业微信应用消息
/**
* 发送企业微信应用消息
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 企业微信号配置编码
* @param messageTemplateCode 消息模板编码
* @param agentId 企业应用ID
* @param userList 接收人列表
* @param args 参数
* @return 发送结果
*/
Message sendWeChatEnterpriseMessage(long tenantId, String serverCode, String messageTemplateCode, Long agentId, List<String> userList, Map<String, String> args)
/**
* 发送企业微信应用消息
*
* @param tenantId 租户ID(平台默认0)
* @param serverCode 企业微信号配置编码
* @param messageTemplateCode 消息模板编码
* @param lang 语言(为空取默认语言)
* @param agentId 企业应用ID
* @param userList 接收人列表
* @param partyList 企业微信部门ID列表
* @param tagList 本企业的标签ID列表,最多支持100个。
* @param safe 企业微信表示是否是保密消息,0表示否,1表示是,默认0
* @param args 参数
* @return 发送结果
*/
Message sendWeChatEnterpriseMessage(long tenantId, String serverCode, String messageTemplateCode, String lang, Long agentId, List<String> userList, List<String> partyList, List<String> tagList, Integer safe, Map<String, String> args)
代码案例:
public class Test {
private final MessageClient messageClient;
@Autowired
public Test(MessageClient messageClient) {
this.messageClient = messageClient;
}
public void sentMyMessage() {
long tenantId = 0L;
String serverCode = "TEST";
String messageTemplateCode = "HIAM.MODIFY_PASSWORD";
String lang = "zh_CN";
Long agentId = 1L;
List<String> userList = new ArrayList<>();
userList.add("123");
List<String> partyList = new ArrayList<>();
partyList.add("1");
List<String> tagList = new ArrayList<>();
tagList.add("1");
Integer safe = 0;
Map<String, String> args = new HashMap<>(4);
args.put("password", "123");
args.put("captcha", "123");
args.put("loginName", "123");
args.put("identifycode", "123");
//发送微信公众号消息,默认同步
messageClient.sendWeChatEnterpriseMessage(tenantId, serverCode, messageTemplateCode, lang, agentId, userList, partyList, tagList, safe, args);
messageClient.sync().sendWeChatEnterpriseMessage(tenantId, serverCode, messageTemplateCode, lang, agentId, userList, partyList, tagList, safe, args);
//异步发送微信公众号消息
messageClient.async().sendWeChatEnterpriseMessage(tenantId, serverCode, messageTemplateCode, lang, agentId, userList, partyList, tagList, safe, args);
}
}
2.3 配置维护
属性 | 描述 | 类型 | 默认值 |
---|
三、版本更新日志
0.10.0.RELEASE [2019-06-23]
- 新增socket消息发送API
- 邮件新增附件参数
1.0.0.RELEASE [2019-09-06]
- 新增邮件发送抄送、密送支持
- 新增scoket前端消息处理