云前置改造-新增mq信息

This commit is contained in:
xy
2025-10-14 11:40:44 +08:00
parent 102bab7430
commit 0cec471ce2
9 changed files with 311 additions and 6 deletions

View File

@@ -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";

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<CldDeviceDto> 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<CldMonitorDto> 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;
}
}

View File

@@ -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;
}

View File

@@ -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<HandleData> data;
@Data
public static class HandleData implements Serializable {
@ApiModelProperty("设备id")
private String deviceId;
@ApiModelProperty("响应码")
private Integer code;
@ApiModelProperty("结果描述")
private String result;
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}