| @Component |
| public class MsgPubMqttUtil { |
| |
| @Resource |
| private EmqClient emqClient; |
| |
| @Resource |
| private MqttProperties mqttProperties; |
| |
| @Resource |
| private TMessageTemplateMapper tMessageTemplateMapper; |
| |
| @Resource |
| private TMessageMapper tMessageMapper; |
| |
| private static MsgPubMqttUtil msgPubMqttUtil; |
| |
| @PostConstruct |
| public void init(){ |
| msgPubMqttUtil = this; |
| msgPubMqttUtil.emqClient = this.emqClient; |
| msgPubMqttUtil.mqttProperties = this.mqttProperties; |
| msgPubMqttUtil.tMessageTemplateMapper = this.tMessageTemplateMapper; |
| msgPubMqttUtil.tMessageMapper = this.tMessageMapper; |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| public void sendMqttMessage(String templateId, String pubId, String userType) { |
| |
| emqClient.connect(mqttProperties.getUsername(),mqttProperties.getPassword()); |
| |
| StringBuffer result = new StringBuffer(); |
| result.append("testtopic"); |
| result.append("/"); |
| result.append(pubId); |
| |
| TMessageTemplate tMessageTemplate = msgPubMqttUtil.tMessageTemplateMapper.selectById(templateId); |
| Map<String,String> map = new HashMap<String,String>(); |
| map.put("msgTemplateTitle",tMessageTemplate.getMsgTemplateTitle()); |
| map.put("templateContent",tMessageTemplate.getTemplateContent()); |
| String str = ConverUitl.getMapToString(map); |
| |
| emqClient.publish(result.toString(), str, QosEnum.QoS2,false); |
| |
| TMessage tMessage = new TMessage(); |
| tMessage.setId(SnowflakeIdWorkerUtil.nextId()); |
| tMessage.setCreated(new Date()); |
| tMessage.setUpdated(new Date()); |
| tMessage.setReadStatus("1"); |
| tMessage.setMsgTitle(map.get("msgTemplateTitle")); |
| tMessage.setMsgContent(map.get("templateContent")); |
| tMessage.setUserType(userType); |
| tMessage.setUserId(pubId); |
| tMessage.setMtId(templateId); |
| tMessageMapper.insert(tMessage); |
| } |
| |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
2021-07-22 ubuntu入门