消息服务客户端
组件编码
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)
代码案例:
@Service
public class MessageServiceImpl implements MessageService {
private final MessageClient messageClient;
@Autowired
public MessageServiceImpl(MessageClient messageClient) {
this.messageClient = messageClient;
}
@Override
public void sendWebMessage() {
long tenantId = 0L;
String messageTemplateCode = "HWFP.REMIND";
String lang = "zh_CN";
Receiver receiver = new Receiver().setUserId(1L).setTargetUserTenantId(0L);
Map<String, String> args = new HashMap<>(16);
args.put("processName", "测试消息");
args.put("processDescription", "测试消息");
// 同步发送站内消息
messageClient.sendWebMessage(tenantId, messageTemplateCode, lang, Collections.singletonList(receiver), args);
// 异步发送站内消息
messageClient.async().sendWebMessage(tenantId, messageTemplateCode, lang, Collections.singletonList(receiver), 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)
代码案例:
@Service
public class MessageServiceImpl implements MessageService {
private final MessageClient messageClient;
@Autowired
public MessageServiceImpl(MessageClient messageClient) {
this.messageClient = messageClient;
}
@Override
public void sendEmail() {
long tenantId = 0L;
String serverCode = "HZERO";
String messageTemplateCode = "HWFP.REMIND";
Receiver receiver = new Receiver().setEmail("hzero@hand-china.com");
Map<String, String> args = new HashMap<>(16);
args.put("processName", "测试消息");
args.put("processDescription", "测试消息");
// 同步发送站内消息
messageClient.sendEmail(tenantId, serverCode, messageTemplateCode, Collections.singletonList(receiver), args);
// 异步发送站内消息
messageClient.async().sendEmail(tenantId, serverCode, messageTemplateCode, Collections.singletonList(receiver), 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)
代码案例:
@Service
public class MessageServiceImpl implements MessageService {
private final MessageClient messageClient;
@Autowired
public MessageServiceImpl(MessageClient messageClient) {
this.messageClient = messageClient;
}
@Override
public void sendSms() {
long tenantId = 0L;
String serverCode = "HZERO";
String messageTemplateCode = "HIAM.CAPTCHA";
Receiver receiver = new Receiver().setIdd("+86").setPhone("18866886688");
Map<String, String> args = new HashMap<>(16);
args.put("captcha", "123456");
// 同步发送站内消息
messageClient.sendSms(tenantId, serverCode, messageTemplateCode, Collections.singletonList(receiver), args);
// 异步发送站内消息
messageClient.async().sendSms(tenantId, serverCode, messageTemplateCode, Collections.singletonList(receiver), 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)
代码案例:
@Service
public class MessageServiceImpl implements MessageService {
private final MessageClient messageClient;
@Autowired
public MessageServiceImpl(MessageClient messageClient) {
this.messageClient = messageClient;
}
@Override
public void sendSockMessage() {
long userId = 1L;
String key = "sock-demo";
String message = "Hello World";
// 指定用户,发送长连接消息
messageClient.sendByUserId(userId, 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)
代码案例:
@Service
public class MessageServiceImpl implements MessageService {
private final MessageClient messageClient;
@Autowired
public MessageServiceImpl(MessageClient messageClient) {
this.messageClient = messageClient;
}
@Override
public void sendWeChatOfficial() {
long tenantId = 0L;
String serverCode = "HZERO";
String messageTemplateCode = "DEMO";
List<String> userList = new ArrayList<>();
userList.add("oZjfCs4W9gU2qsD6CiuKGtfPzDPE");
Map<String, WeChatFont> data = new HashMap<>(4);
data.put("name", new WeChatFont().setValue("开发人员").setColor("#173177"));
// 同步发送微信公众号消息
messageClient.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)
代码案例:
@Service
public class MessageServiceImpl implements MessageService {
private final MessageClient messageClient;
@Autowired
public MessageServiceImpl(MessageClient messageClient) {
this.messageClient = messageClient;
}
@Override
public void sendWeChatEnterprise() {
long tenantId = 0L;
String serverCode = "HZERO";
String messageTemplateCode = "DEMO";
// 应用ID
Long agentId = 334455L;
List<String> userList = new ArrayList<>();
userList.add("20999");
Map<String, String> data = new HashMap<>(4);
data.put("name", "开发人员");
// 同步发送企业微信消息
messageClient.sendWeChatEnterpriseMessage(tenantId, serverCode, messageTemplateCode, agentId, userList, data);
// 异步发送企业微信消息
messageClient.async().sendWeChatEnterpriseMessage(tenantId, serverCode, messageTemplateCode, agentId, userList, data);
}
}
三、版本更新日志
0.10.0.RELEASE [2019-06-23]
- 新增socket消息发送API
- 邮件新增附件参数
1.0.0.RELEASE [2019-09-06]
- 新增邮件发送抄送、密送支持
- 新增scoket前端消息处理
1.1.0.RELEASE [2019-11-10]
- 新增微信公众号消息支持
- 新增企业微信消息支持
1.2.0.RELEASE [2020-01-06]
- 新增钉钉消息支持