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 d63ec7633..5a6dfc57c 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 @@ -30,7 +30,22 @@ public interface BusinessTopic { String NJCN_APP_FILE_STREAM_TOPIC = "njcnAppFileStreamTopic"; + /** + * 云前置主题 + */ + String CLD_ASK_REAL_DATA_TOPIC = "ask_real_data_Topic"; + String CLD_HANDLE_REAL_DATA_TOPIC = "Real_Time_Data_Topic"; + + /** + * 云前置心跳主题 + */ + String HEART_BEAT_TOPIC = "Heart_Beat_Topic"; + + /** + * 云前置状态反转主题 + */ + String DEVICE_RUN_FLAG_TOPIC = "Device_Run_Flag_Topic"; /********************************数据中心*********************************/ @@ -79,5 +94,4 @@ public interface BusinessTopic { String STREAM_TAG = "streamInfo"; } - } diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldDeviceRunFlagMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldDeviceRunFlagMessage.java new file mode 100644 index 000000000..242247b8a --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldDeviceRunFlagMessage.java @@ -0,0 +1,31 @@ +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 2023/8/11 15:06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AllArgsConstructor +@NoArgsConstructor +public class CldDeviceRunFlagMessage extends BaseMessage { + + @ApiModelProperty("设备id") + private String id; + + @ApiModelProperty("前置类型") + private String date; + + @ApiModelProperty("状态 0:中断 1:连接") + private String status; +} diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldHeartBeatMessage.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldHeartBeatMessage.java new file mode 100644 index 000000000..a87f0efa4 --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/CldHeartBeatMessage.java @@ -0,0 +1,35 @@ +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 2023/8/11 15:06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AllArgsConstructor +@NoArgsConstructor +public class CldHeartBeatMessage extends BaseMessage { + + @ApiModelProperty("前置类型") + private String frontType; + + @ApiModelProperty("前置id") + private String nodeId; + + @ApiModelProperty("进程id") + private Integer processNo; + + @ApiModelProperty("状态") + private String status; + +} 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 new file mode 100644 index 000000000..949445634 --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/message/RealDataMessage.java @@ -0,0 +1,42 @@ +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; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/8/11 15:06 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RealDataMessage { + + @ApiModelProperty("终端序号") + private String devSeries; + + @ApiModelProperty("监测点序号") + private Integer line; + + @ApiModelProperty("实时数据开启/关闭") + private Boolean realData; + + @ApiModelProperty("Soe开启/关闭") + private Boolean soeData; + + @ApiModelProperty("限制") + private Integer limit; + + @ApiModelProperty("限制") + private Integer count; + +} diff --git a/pqs-common/common-mq/src/main/java/com/njcn/mq/template/RealDataMessageTemplate.java b/pqs-common/common-mq/src/main/java/com/njcn/mq/template/RealDataMessageTemplate.java new file mode 100644 index 000000000..820bc450e --- /dev/null +++ b/pqs-common/common-mq/src/main/java/com/njcn/mq/template/RealDataMessageTemplate.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.RealDataMessage; +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 RealDataMessageTemplate extends RocketMQEnhanceTemplate { + + public RealDataMessageTemplate(RocketMQTemplate template) { + super(template); + } + + public SendResult sendMember(RealDataMessage realDataMessage,String tag) { + BaseMessage baseMessage = new BaseMessage(); + baseMessage.setSource(BusinessResource.WEB_RESOURCE); + baseMessage.setMessageBody(new Gson().toJson(realDataMessage)); + return send(BusinessTopic.CLD_ASK_REAL_DATA_TOPIC,tag,baseMessage); + } +} diff --git a/pqs-common/common-redis/src/main/java/com/njcn/redis/pojo/enums/RedisKeyEnum.java b/pqs-common/common-redis/src/main/java/com/njcn/redis/pojo/enums/RedisKeyEnum.java index 89b915b7d..a6e36b021 100644 --- a/pqs-common/common-redis/src/main/java/com/njcn/redis/pojo/enums/RedisKeyEnum.java +++ b/pqs-common/common-redis/src/main/java/com/njcn/redis/pojo/enums/RedisKeyEnum.java @@ -40,7 +40,12 @@ public enum RedisKeyEnum { /*** * 存放用户的角色关系 */ - USER_ROLE_TYPE_KEY("USER_ROLE_TYPE_KEY", -1L); + USER_ROLE_TYPE_KEY("USER_ROLE_TYPE_KEY", -1L), + + /** + * 云前置心跳 + */ + CLD_HEART_BEAT_KEY("CLD_HEART_BEAT:", 120L); private final String key; diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java index f9ca348f7..d964f8a1d 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java @@ -394,6 +394,7 @@ public enum DicDataEnum { CONNECT_DEV("直连设备", "Direct_Connected_Device"), DEV("装置", "Device"), PORTABLE("便携式设备", "Portable"), + DEV_CLD("云前置", "DEV_CLD"), /**