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 5a6dfc57c..6e29211a6 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 @@ -47,6 +47,26 @@ public interface BusinessTopic { */ String DEVICE_RUN_FLAG_TOPIC = "Device_Run_Flag_Topic"; + /** + * 云前置日志主题 + */ + String LOG_TOPIC = "log_Topic"; + + /** + * 台账更新下发 + */ + String CONTROL_TOPIC = "control_Topic"; + + /** + * 台账更新前置端响应 + */ + String REPLY_TOPIC = "Reply_Topic"; + + /** + * 前置进程控制 + */ + String PROCESS_TOPIC = "process_Topic"; + /********************************数据中心*********************************/ String RMP_EVENT_DETAIL_TOPIC = "rmpEventDetailTopic"; diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/AppFileMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/AppFileMessage.java index 2b2d2688a..f5d7648c4 100644 --- a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/AppFileMessage.java +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/AppFileMessage.java @@ -28,14 +28,14 @@ public class AppFileMessage extends BaseMessage { private Integer code; - private AppFileMessage.Msg msg; + private Msg msg; @Data public static class Msg{ private String type; - private AppFileMessage.FileInfo fileInfo; + private FileInfo fileInfo; private String data; diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldControlMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldControlMessage.java new file mode 100644 index 000000000..e76dbeb4d --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldControlMessage.java @@ -0,0 +1,35 @@ +package com.njcn.mq.message; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 类的介绍:日志信息 + * + * @author xuyang + * @version 1.0.0 + * @createTime 2025/9/18 15:06 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CldControlMessage { + + @ApiModelProperty("请求的guid") + private String guid; + + @ApiModelProperty("功能代号") + private String code; + + @ApiModelProperty("指定处理的进程号") + private Integer processNo; + + @ApiModelProperty("delete用于杀死进程") + private String fun; + + @ApiModelProperty("进程数") + private Integer processNum; + +} diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldLogMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldLogMessage.java new file mode 100644 index 000000000..eb550f162 --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldLogMessage.java @@ -0,0 +1,47 @@ +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/18 15:06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AllArgsConstructor +@NoArgsConstructor +public class CldLogMessage extends BaseMessage { + + @ApiModelProperty("前置id") + private String nodeId; + + @ApiModelProperty("进程id") + private String processNo; + + @ApiModelProperty("监测点id、装置id") + private String businessId; + + @ApiModelProperty("级别(process进程、terminal装置、measurepoint监测点)") + private String level; + + @ApiModelProperty("日志等级") + private String grade; + + @ApiModelProperty("告警码") + private String code; + + @ApiModelProperty("告警时间") + private String time; + + @ApiModelProperty("日志信息") + private String log; + +} diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldUpdateLedgerMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldUpdateLedgerMessage.java new file mode 100644 index 000000000..e5827e31f --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldUpdateLedgerMessage.java @@ -0,0 +1,93 @@ +package com.njcn.mq.message; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * cld设备更新台账实体 + * @author xy + */ +@Data +public class CldUpdateLedgerMessage implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("消息唯一标识") + private String guid; + + @ApiModelProperty("add_terminal/delete_terminal/ledger_modify") + private String code; + + @ApiModelProperty("进程号") + private Integer processNo; + + @ApiModelProperty("数据") + private List data; + + @Data + public static class CldDeviceDto implements Serializable { + + @ApiModelProperty("最大进程数") + private Integer maxProcessNum; + + @ApiModelProperty("进程号") + private Integer node; + + @ApiModelProperty("设备id") + private String id; + + @ApiModelProperty("设备MAC") + private String ip; + + @ApiModelProperty("设备型号") + private String devType; + + @ApiModelProperty("设备名称") + private String name; + + @ApiModelProperty("监测点信息集合") + private List monitorData; + } + + @Data + public static class CldMonitorDto implements Serializable { + + @ApiModelProperty("监测点id") + private String id; + + @ApiModelProperty("监测点名称") + private String name; + + @ApiModelProperty("监测点线路号") + private String lineNo; + + @ApiModelProperty("电压等级") + private String voltageLevel; + + @ApiModelProperty("status") + private Integer status; + + @ApiModelProperty("接线方式") + private String ptType; + + @ApiModelProperty("设备id") + private String deviceId; + + @ApiModelProperty("pt一次变比") + private Double pt1; + + @ApiModelProperty("pt二次变比") + private Double pt2; + + @ApiModelProperty("ct一次变比") + private Double ct1; + + @ApiModelProperty("ct二次变比") + private Double ct2; + } + + +} diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/RealDataMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/RealDataMessage.java index 949445634..cad160b45 100644 --- a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/RealDataMessage.java +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/RealDataMessage.java @@ -1,14 +1,10 @@ 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; -import java.util.List; - /** * 类的介绍: * @@ -39,4 +35,7 @@ public class RealDataMessage { @ApiModelProperty("限制") private Integer count; + @ApiModelProperty("idx") + private Integer idx; + } diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/UpdateLedgerMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/UpdateLedgerMessage.java new file mode 100644 index 000000000..f59ca4aae --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/UpdateLedgerMessage.java @@ -0,0 +1,45 @@ +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; + +import java.io.Serializable; +import java.util.List; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2025/9/29 15:06 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UpdateLedgerMessage extends BaseMessage { + + @ApiModelProperty("唯一标识") + private String guid; + + @ApiModelProperty("数据") + private List data; + + @Data + public static class HandleData implements Serializable { + + @ApiModelProperty("设备id") + private String deviceId; + + @ApiModelProperty("响应码") + private Integer code; + + @ApiModelProperty("结果描述") + private String result; + } + +} diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/template/CldControlMessageTemplate.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/template/CldControlMessageTemplate.java new file mode 100644 index 000000000..12c58517e --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/template/CldControlMessageTemplate.java @@ -0,0 +1,33 @@ +package com.njcn.mq.template; + +import com.alibaba.nacos.shaded.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.CldControlMessage; +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 2023/8/11 15:28 + */ +@Component +public class CldControlMessageTemplate extends RocketMQEnhanceTemplate { + + public CldControlMessageTemplate(RocketMQTemplate template) { + super(template); + } + + public SendResult sendMember(CldControlMessage message, String tag) { + BaseMessage baseMessage = new BaseMessage(); + baseMessage.setSource(BusinessResource.WEB_RESOURCE); + baseMessage.setMessageBody(new Gson().toJson(message)); + return send(BusinessTopic.PROCESS_TOPIC,tag,baseMessage); + } +} diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/template/CldUpdateLedgerMessageTemplate.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/template/CldUpdateLedgerMessageTemplate.java new file mode 100644 index 000000000..b8b90be09 --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/template/CldUpdateLedgerMessageTemplate.java @@ -0,0 +1,33 @@ +package com.njcn.mq.template; + +import com.alibaba.nacos.shaded.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.CldUpdateLedgerMessage; +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 2023/8/11 15:28 + */ +@Component +public class CldUpdateLedgerMessageTemplate extends RocketMQEnhanceTemplate { + + public CldUpdateLedgerMessageTemplate(RocketMQTemplate template) { + super(template); + } + + public SendResult sendMember(CldUpdateLedgerMessage cldUpdateLedgerMessage, String tag) { + BaseMessage baseMessage = new BaseMessage(); + baseMessage.setSource(BusinessResource.WEB_RESOURCE); + baseMessage.setMessageBody(new Gson().toJson(cldUpdateLedgerMessage)); + return send(BusinessTopic.CONTROL_TOPIC,tag,baseMessage); + } +}