feat(mq): 添加云主题消息类和模板
- 创建 CloudTopicMessage 类继承 BaseMessage,包含 guid、devId、frontId、node 和 detail 字段 - 添加 Detail 内部类,包含 type 和 msg 字段 - 使用 SerializedName 注解支持序列化和反序列化兼容性 - 创建 CloudTopicMessageTemplate 消息发送模板类 - 实现 sendMember 方法用于发送云主题消息到 CLOUD_TOPIC 主题 - 集成 RocketMQEnhanceTemplate 基础功能
This commit is contained in:
@@ -0,0 +1,64 @@
|
|||||||
|
package com.njcn.mq.message;
|
||||||
|
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
import com.njcn.middle.rocket.domain.BaseMessage;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xy
|
||||||
|
* @data 2026-07-15
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CloudTopicMessage extends BaseMessage {
|
||||||
|
/**
|
||||||
|
* 消息请求的唯一标识
|
||||||
|
*/
|
||||||
|
@SerializedName("guid")
|
||||||
|
private String guid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备Mac
|
||||||
|
*/
|
||||||
|
@SerializedName("Dev_id")
|
||||||
|
private String devId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 前置Id
|
||||||
|
* 序列化输出 "FrontId",反序列化兼容 "frontId"
|
||||||
|
*/
|
||||||
|
@SerializedName("FrontId")
|
||||||
|
private String frontId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 前置进程号
|
||||||
|
* 序列化输出 "Node",反序列化兼容 "node"
|
||||||
|
*/
|
||||||
|
@SerializedName("Node")
|
||||||
|
private Integer node;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 详情
|
||||||
|
* 序列化输出 "Detail",反序列化兼容 "detail"
|
||||||
|
*/
|
||||||
|
@SerializedName("Detail")
|
||||||
|
private Detail detail;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class Detail {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类型
|
||||||
|
* 序列化输出 "Type",反序列化兼容 "type"
|
||||||
|
*/
|
||||||
|
@SerializedName("Type")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息内容
|
||||||
|
* 序列化输出 "Msg",反序列化兼容 "msg"
|
||||||
|
*/
|
||||||
|
@SerializedName("Msg")
|
||||||
|
private Object msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.njcn.mq.template;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.njcn.middle.rocket.domain.BaseMessage;
|
||||||
|
import com.njcn.middle.rocket.template.RocketMQEnhanceTemplate;
|
||||||
|
import com.njcn.mq.constant.BusinessResource;
|
||||||
|
import com.njcn.mq.constant.BusinessTopic;
|
||||||
|
import com.njcn.mq.message.CloudTopicMessage;
|
||||||
|
import org.apache.rocketmq.client.producer.SendResult;
|
||||||
|
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类的介绍:读取装置版本配置信息
|
||||||
|
*
|
||||||
|
* @author xuyang
|
||||||
|
* @version 1.0.0
|
||||||
|
* @createTime 2026/7/15
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class CloudTopicMessageTemplate extends RocketMQEnhanceTemplate {
|
||||||
|
|
||||||
|
public CloudTopicMessageTemplate(RocketMQTemplate template) {
|
||||||
|
super(template);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SendResult sendMember(CloudTopicMessage message, String tag) {
|
||||||
|
BaseMessage baseMessage = new BaseMessage();
|
||||||
|
baseMessage.setSource(BusinessResource.WEB_RESOURCE);
|
||||||
|
baseMessage.setMessageBody(new Gson().toJson(message));
|
||||||
|
return send(BusinessTopic.CLOUD_TOPIC,tag,baseMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user