1. 简单 redis stream 的 StreamMessage 和对应的消费者

2. 跑通 Redis Stream 的流程
This commit is contained in:
YunaiV
2021-03-20 20:39:01 +08:00
parent f5331ce6ac
commit be3fac7542
13 changed files with 458 additions and 3 deletions

View File

@@ -0,0 +1,15 @@
package cn.iocoder.dashboard.modules.system.mq.consumer.mail;
import cn.iocoder.dashboard.framework.redis.core.stream.AbstractStreamMessageListener;
import cn.iocoder.dashboard.modules.system.mq.message.mail.SysMailSendMessage;
import org.springframework.stereotype.Component;
@Component
public class SysMailSendConsumer extends AbstractStreamMessageListener<SysMailSendMessage> {
@Override
public void onMessage(SysMailSendMessage message) {
}
}

View File

@@ -0,0 +1,15 @@
package cn.iocoder.dashboard.modules.system.mq.consumer.sms;
import cn.iocoder.dashboard.framework.redis.core.stream.AbstractStreamMessageListener;
import cn.iocoder.dashboard.modules.system.mq.message.sms.SysSmsSendMessage;
import org.springframework.stereotype.Component;
@Component
public class SysSmsSendConsumer extends AbstractStreamMessageListener<SysSmsSendMessage> {
@Override
public void onMessage(SysSmsSendMessage message) {
System.out.println(message);
}
}

View File

@@ -0,0 +1,46 @@
package cn.iocoder.dashboard.modules.system.mq.message.mail;
import cn.iocoder.dashboard.framework.redis.core.stream.StreamMessage;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Map;
/**
* 邮箱发送消息
*
* @author 芋道源码
*/
@Data
public class SysMailSendMessage implements StreamMessage {
/**
* 邮箱地址
*/
@NotNull(message = "邮箱地址不能为空")
private String address;
/**
* 短信模板编号
*/
@NotNull(message = "短信模板编号不能为空")
private String templateCode;
/**
* 短信模板参数
*/
private Map<String, Object> templateParams;
/**
* 用户编号,允许空
*/
private Integer userId;
/**
* 用户类型,允许空
*/
private Integer userType;
@Override
public String getStreamKey() {
return "system.mail.send";
}
}

View File

@@ -0,0 +1,46 @@
package cn.iocoder.dashboard.modules.system.mq.message.sms;
import cn.iocoder.dashboard.framework.redis.core.stream.StreamMessage;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Map;
/**
* 短信发送消息
*
* @author 芋道源码
*/
@Data
public class SysSmsSendMessage implements StreamMessage {
/**
* 手机号
*/
@NotNull(message = "手机号不能为空")
private String mobile;
/**
* 短信模板编号
*/
@NotNull(message = "短信模板编号不能为空")
private String templateCode;
/**
* 短信模板参数
*/
private Map<String, Object> templateParams;
/**
* 用户编号,允许空
*/
private Integer userId;
/**
* 用户类型,允许空
*/
private Integer userType;
@Override
public String getStreamKey() {
return "system.sms.send";
}
}