From 1e5acdd21459ccf388a28504c817f088bdefa0f7 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Thu, 11 Jun 2026 19:55:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(mq):=20=E6=B7=BB=E5=8A=A0=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=B6=88=E6=81=AF=E5=A4=84=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在BusinessTopic中新增ZL_LOG_TOPIC常量 - 添加LogTag接口用于日志标签定义 - 创建LogMessage类定义日志消息结构 - 实现LogMessageTemplate用于发送日志消息 - 集成RocketMQ增强模板支持日志消息发送 - 定义日志消息的数据类型和操作字段 --- .../com/njcn/mq/constant/BusinessTopic.java | 8 ++++ .../java/com/njcn/mq/message/LogMessage.java | 43 +++++++++++++++++++ .../njcn/mq/template/LogMessageTemplate.java | 28 ++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 pqs-common/common-mq/src/main/java/com/njcn/mq/message/LogMessage.java create mode 100644 pqs-common/common-mq/src/main/java/com/njcn/mq/template/LogMessageTemplate.java diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/constant/BusinessTopic.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/constant/BusinessTopic.java index 896cc731e..57e40f368 100644 --- a/pqs-common/common-mq/src/main/java/com/njcn/mq/constant/BusinessTopic.java +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/constant/BusinessTopic.java @@ -110,6 +110,8 @@ public interface BusinessTopic { String CLOUD_REPLY_TOPIC = "Cloud_Reply_Topic"; + String ZL_LOG_TOPIC = "ZL_LOG_Topic"; + interface AppDataTag { @@ -166,4 +168,10 @@ public interface BusinessTopic { String CLD_TAG = "cld"; } + interface LogTag { + + //日志 + String LOG_TAG = "log"; + } + } diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/LogMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/LogMessage.java new file mode 100644 index 000000000..961c4018a --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/LogMessage.java @@ -0,0 +1,43 @@ +package com.njcn.mq.message; + +import com.njcn.middle.rocket.domain.BaseMessage; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2025/9/29 15:06 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LogMessage extends BaseMessage { + + @ApiModelProperty("唯一标识") + private String guid; + + @ApiModelProperty("日志类型 0:设备接入日志") + private String dataType; + + @ApiModelProperty("操作人员") + private String userIndex; + + @ApiModelProperty("用户登录名") + private String loginName; + + @ApiModelProperty("当前操作") + private String operate; + + @ApiModelProperty("结果") + private Integer result; + + @ApiModelProperty("失败原因") + private String failReason; +} diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/template/LogMessageTemplate.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/template/LogMessageTemplate.java new file mode 100644 index 000000000..42919e39e --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/template/LogMessageTemplate.java @@ -0,0 +1,28 @@ +package com.njcn.mq.template; + +import com.njcn.middle.rocket.template.RocketMQEnhanceTemplate; +import com.njcn.mq.constant.BusinessResource; +import com.njcn.mq.constant.BusinessTopic; +import com.njcn.mq.message.LogMessage; +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 + */ +@Component +public class LogMessageTemplate extends RocketMQEnhanceTemplate { + + public LogMessageTemplate(RocketMQTemplate template) { + super(template); + } + + public SendResult sendMember(LogMessage logMessage) { + logMessage.setSource(BusinessResource.APP_RESOURCE); + return send(BusinessTopic.ZL_LOG_TOPIC, BusinessTopic.LogTag.LOG_TAG, logMessage); + } +}