使用RabbitMQ发送短信
创始人
2024-05-30 22:20:39
0

1、在项目中分别创建模块financial-core、financial-mq、financial-sms,如图:

在这里插入图片描述

模块构成

  financial-commonfinancial-basefinancial-corefinancial-gateway       financial-smsfinancial-mq        

2、搭建RabbitMQ服务,参考下面文章

https://lovoo.blog.csdn.net/article/details/119174146

3、MQ模块financial-mq

在这里插入图片描述

3.1 在pom.xml添加依赖


koo-financial-parentcom.koo1.0.04.0.0financial-mq88UTF-8org.springframework.bootspring-boot-starter-amqpcom.alibabafastjsonorg.projectlomboklombok

3.2 MQ Json字符串转换 配置

@Configuration
public class MQConfig {@Beanpublic MessageConverter messageConverter(){//json字符串转换器return new Jackson2JsonMessageConverter();}
}

3.3 定义交换机、路由、队列常量

public class MQConst {public static final String EXCHANGE_TOPIC_SMS = "exchange.topic.sms";//交换机public static final String ROUTING_SMS_ITEM = "routing.sms.item";//路由public static final String QUEUE_SMS_ITEM = "queue.sms.item";//消息队列}

3.4 定义发送方法

@Service
@Slf4j
public class MQService {@Resourceprivate AmqpTemplate amqpTemplate;public boolean sendMessage(String exchange, String routingKey, Object message) {log.info("发送消息。。。。。。");amqpTemplate.convertAndSend(exchange, routingKey, message);return true;}
}

4、业务模块financial-core

4.1 在pom.xml中引入financial-mq模块

com.koofinancial-base1.0.0com.koofinancial-mq1.0.0     

4.2 在application.yml配置rabbitMQ信息

  #spring:rabbitmq:host: 127.0.0.1port: 5672virtual-host: /financial

4.3 发送信息

String mobile = userInfoService.getMobileByBindCode(bindCode);
SmsDTO smsDTO = new SmsDTO();
smsDTO.setMobile(mobile);
smsDTO.setMessage("充值成功");
mqService.sendMessage(MQConst.EXCHANGE_TOPIC_SMS,MQConst.ROUTING_SMS_ITEM,smsDTO
);

5、短信发送模块financial-sms

5.1 引入依赖

 com.koofinancial-mq1.0.0

5.2 在application.yml配置rabbitMQ信息

  #spring:rabbitmq:host: 127.0.0.1port: 5672virtual-host: /financial

5.3 监听MQ消息,并发送短信

@Component
@Slf4j
public class SmsReceiver {@Resourceprivate SmsService smsService;@RabbitListener(bindings = @QueueBinding(value = @Queue(value = MQConst.QUEUE_SMS_ITEM, durable = "true"),exchange = @Exchange(value = MQConst.EXCHANGE_TOPIC_SMS),key = {MQConst.ROUTING_SMS_ITEM}))public void send(SmsDTO smsDTO) {log.info("SmsReceiver消息监听。。。。。。");HashMap param = new HashMap<>();param.put("code", smsDTO.getMessage());try {Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}smsService.send(smsDTO.getMobile(), SmsProperties.TEMPLATE_CODE, param);}
}

相关内容

热门资讯

修改工具教程版!欢乐茶馆智能插... 欢乐茶馆这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这款游...
修改工具教程版!达达麻将智能插... 您好:达达麻将确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发...
修改工具教程版!乐禧棋牌智能插... 亲,乐禧棋牌这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,乐禧棋牌的开挂软件,名...
修改工具教程版!甘孜娱乐中心智... 亲,甘孜娱乐中心这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,甘孜娱乐中心的开挂...
修改工具教程版!老铁十三水智能... 修改工具教程版!老铁十三水智能插件是真的,分享详细开挂攻略一、老铁十三水AI软件牌型概率发牌机制”必...
修改工具教程版!抢庄牛牛智能插... 您好:抢庄牛牛确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发...
修改工具教程版!欢乐谷智能插件... 您好:欢乐谷确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发现...
修改工具教程版!红龙扑克智能插... 您好:红龙扑克确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发...
修改工具教程版!椰岛常胜麻将智... 椰岛常胜麻将这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这...
修改工具教程版!乐虎棋牌智能插... 修改工具教程版!乐虎棋牌智能插件是真的,分享详细开挂攻略1、让任何用户在无需AI插件第三方神器的情况...
修改工具教程版!乐太坊智能插件... 您好,乐太坊这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打牌...
修改工具教程版!渝都亲友圈智能... 亲,渝都亲友圈这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,渝都亲友圈的开挂软件...
修改工具教程版!经典山西智能插... 经典山西这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这款游...
修改工具教程版!红中会馆智能插... 修改工具教程版!红中会馆智能插件是真的,分享详细开挂攻略是一款可以让一直输的玩家,快速成为一个“必胜...
修改工具教程版!牛魔王新版智能... 您好:牛魔王新版确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会...
修改工具教程版!甘孜娱乐中心智... 修改工具教程版!甘孜娱乐中心智能插件是真的,分享详细开挂攻略一、甘孜娱乐中心AI软件牌型概率发牌机制...
修改工具教程版!必中娱乐智能插... 您好,必中娱乐这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
修改工具教程版!德扑之星俱乐部... 修改工具教程版!德扑之星俱乐部智能插件是真的,分享详细开挂攻略1、让任何用户在无需AI插件第三方神器...
修改工具教程版!胡乐邯郸麻将智... 胡乐邯郸麻将这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这...
修改工具教程版!Newpk俱乐... 亲,Newpk俱乐部这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,Newpk俱乐...