diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java new file mode 100644 index 0000000..79b3f7e --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceFrameLogMapper; +import com.casic.missiles.model.DeviceFrameLog; +import com.casic.missiles.service.IDeviceFrameLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备消息日志 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceFrameLogServiceImpl extends ServiceImpl implements IDeviceFrameLogService { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java new file mode 100644 index 0000000..79b3f7e --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceFrameLogMapper; +import com.casic.missiles.model.DeviceFrameLog; +import com.casic.missiles.service.IDeviceFrameLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备消息日志 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceFrameLogServiceImpl extends ServiceImpl implements IDeviceFrameLogService { + +} diff --git a/pom.xml b/pom.xml index a194074..c260019 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 2.0.0.alpha 2.5.4 2.5.6 - 1.2.62 + 1.2.83 2.0.0.alpha diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java new file mode 100644 index 0000000..79b3f7e --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceFrameLogMapper; +import com.casic.missiles.model.DeviceFrameLog; +import com.casic.missiles.service.IDeviceFrameLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备消息日志 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceFrameLogServiceImpl extends ServiceImpl implements IDeviceFrameLogService { + +} diff --git a/pom.xml b/pom.xml index a194074..c260019 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 2.0.0.alpha 2.5.4 2.5.6 - 1.2.62 + 1.2.83 2.0.0.alpha diff --git a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java index 49d5afa..faf5f84 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java @@ -1,9 +1,15 @@ package com.casic.missiles.controller; +import cn.hutool.core.lang.generator.UUIDGenerator; import com.alibaba.fastjson.JSONObject; import com.casic.missiles.frame.BirmmBaseFrame; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import com.casic.missiles.service.IGeneralService; +import com.casic.missiles.util.SnowflakeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.buf.HexUtils; import org.springframework.web.bind.annotation.RequestBody; @@ -12,6 +18,7 @@ import javax.annotation.Resource; import java.util.Base64; +import java.util.List; import java.util.Map; @RestController @@ -21,6 +28,12 @@ @Resource IGeneralService defaultService; + @Resource + IDeviceFrameLogService frameLogService; + + @Resource + IDeviceBizDataService bizDataService; + @RequestMapping("/aep/data/string") public Object aepDataString(@RequestBody Map dataMap) { log.info("收到AEP平台推送消息:{}", JSONObject.toJSONString(dataMap)); @@ -44,17 +57,38 @@ BirmmBaseFrame birmmFrame = defaultService.doFrameParse(frameBytes); if (birmmFrame != null) { - log.info("HEX字节消息解析成功:{}", birmmFrame); + log.info("HEX字节消息解析成功:{}", birmmFrame.getClass().getSimpleName()); // 处理业务数据 birmmFrame.doParseBizTag(); // 保存日志 + DeviceFrameLog frameLog = new DeviceFrameLog(); + frameLog.setId(new SnowflakeUtil().nextId()); + frameLog.setDevcode(birmmFrame.getDevCode()); + frameLog.setRawFrame(HexUtils.toHexString(frameBytes).toUpperCase()); + frameLog.setRawBizFrame(birmmFrame.getRawBizFrameString()); + frameLog.setDataJson(birmmFrame.toJSON().toJSONString()); + frameLog.setLogtime(birmmFrame.getLogTime()); + frameLogService.save(frameLog); // 保存业务数据 + if (birmmFrame.isBizDataFrame()) { + List bizDataList = birmmFrame.convertToBizDataList(); + for (DeviceBizData bizData : bizDataList) { + // 设置其他的属性 + bizData.setId(new SnowflakeUtil().nextId()); + bizData.setFrameLogId(frameLog.getId()); // 关联日志记录id + bizData.setDevcode(birmmFrame.getDevCode()); + bizData.setDeviceType(Integer.valueOf(birmmFrame.getDeviceType())); + bizData.setLogtime(birmmFrame.getLogTime()); + } + + bizDataService.saveBatch(bizDataList); + } // 创建回复消息 -// String replyFrame = protocol + String replyMessage = defaultService.replyMessage(birmmFrame); birmmFrame.reply(); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java new file mode 100644 index 0000000..79b3f7e --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceFrameLogMapper; +import com.casic.missiles.model.DeviceFrameLog; +import com.casic.missiles.service.IDeviceFrameLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备消息日志 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceFrameLogServiceImpl extends ServiceImpl implements IDeviceFrameLogService { + +} diff --git a/pom.xml b/pom.xml index a194074..c260019 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 2.0.0.alpha 2.5.4 2.5.6 - 1.2.62 + 1.2.83 2.0.0.alpha diff --git a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java index 49d5afa..faf5f84 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java @@ -1,9 +1,15 @@ package com.casic.missiles.controller; +import cn.hutool.core.lang.generator.UUIDGenerator; import com.alibaba.fastjson.JSONObject; import com.casic.missiles.frame.BirmmBaseFrame; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import com.casic.missiles.service.IGeneralService; +import com.casic.missiles.util.SnowflakeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.buf.HexUtils; import org.springframework.web.bind.annotation.RequestBody; @@ -12,6 +18,7 @@ import javax.annotation.Resource; import java.util.Base64; +import java.util.List; import java.util.Map; @RestController @@ -21,6 +28,12 @@ @Resource IGeneralService defaultService; + @Resource + IDeviceFrameLogService frameLogService; + + @Resource + IDeviceBizDataService bizDataService; + @RequestMapping("/aep/data/string") public Object aepDataString(@RequestBody Map dataMap) { log.info("收到AEP平台推送消息:{}", JSONObject.toJSONString(dataMap)); @@ -44,17 +57,38 @@ BirmmBaseFrame birmmFrame = defaultService.doFrameParse(frameBytes); if (birmmFrame != null) { - log.info("HEX字节消息解析成功:{}", birmmFrame); + log.info("HEX字节消息解析成功:{}", birmmFrame.getClass().getSimpleName()); // 处理业务数据 birmmFrame.doParseBizTag(); // 保存日志 + DeviceFrameLog frameLog = new DeviceFrameLog(); + frameLog.setId(new SnowflakeUtil().nextId()); + frameLog.setDevcode(birmmFrame.getDevCode()); + frameLog.setRawFrame(HexUtils.toHexString(frameBytes).toUpperCase()); + frameLog.setRawBizFrame(birmmFrame.getRawBizFrameString()); + frameLog.setDataJson(birmmFrame.toJSON().toJSONString()); + frameLog.setLogtime(birmmFrame.getLogTime()); + frameLogService.save(frameLog); // 保存业务数据 + if (birmmFrame.isBizDataFrame()) { + List bizDataList = birmmFrame.convertToBizDataList(); + for (DeviceBizData bizData : bizDataList) { + // 设置其他的属性 + bizData.setId(new SnowflakeUtil().nextId()); + bizData.setFrameLogId(frameLog.getId()); // 关联日志记录id + bizData.setDevcode(birmmFrame.getDevCode()); + bizData.setDeviceType(Integer.valueOf(birmmFrame.getDeviceType())); + bizData.setLogtime(birmmFrame.getLogTime()); + } + + bizDataService.saveBatch(bizDataList); + } // 创建回复消息 -// String replyFrame = protocol + String replyMessage = defaultService.replyMessage(birmmFrame); birmmFrame.reply(); } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java index 6a14f09..1b25138 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java @@ -1,8 +1,12 @@ package com.casic.missiles.frame; +import com.alibaba.fastjson.JSONObject; +import com.casic.missiles.model.DeviceBizData; import lombok.Data; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -21,6 +25,9 @@ // 设备编号 String devCode; + // 设备类型 + String deviceType; + // 通信方式 String communicationType; @@ -36,7 +43,6 @@ // 业务字段List String tagListString; -// List tagList; Map tagList; // CRC @@ -44,6 +50,23 @@ LocalDateTime logTime; + String rawBizFrameString; + + public boolean isBizDataFrame() { + return false; + } + + public List convertToBizDataList() { + return new ArrayList<>(); + } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("devCode", getDevCode()); + json.put("ts", getLogTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); + return json; + } + public void doParseBizTag() {} public void reply() {} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java new file mode 100644 index 0000000..79b3f7e --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceFrameLogMapper; +import com.casic.missiles.model.DeviceFrameLog; +import com.casic.missiles.service.IDeviceFrameLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备消息日志 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceFrameLogServiceImpl extends ServiceImpl implements IDeviceFrameLogService { + +} diff --git a/pom.xml b/pom.xml index a194074..c260019 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 2.0.0.alpha 2.5.4 2.5.6 - 1.2.62 + 1.2.83 2.0.0.alpha diff --git a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java index 49d5afa..faf5f84 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java @@ -1,9 +1,15 @@ package com.casic.missiles.controller; +import cn.hutool.core.lang.generator.UUIDGenerator; import com.alibaba.fastjson.JSONObject; import com.casic.missiles.frame.BirmmBaseFrame; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import com.casic.missiles.service.IGeneralService; +import com.casic.missiles.util.SnowflakeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.buf.HexUtils; import org.springframework.web.bind.annotation.RequestBody; @@ -12,6 +18,7 @@ import javax.annotation.Resource; import java.util.Base64; +import java.util.List; import java.util.Map; @RestController @@ -21,6 +28,12 @@ @Resource IGeneralService defaultService; + @Resource + IDeviceFrameLogService frameLogService; + + @Resource + IDeviceBizDataService bizDataService; + @RequestMapping("/aep/data/string") public Object aepDataString(@RequestBody Map dataMap) { log.info("收到AEP平台推送消息:{}", JSONObject.toJSONString(dataMap)); @@ -44,17 +57,38 @@ BirmmBaseFrame birmmFrame = defaultService.doFrameParse(frameBytes); if (birmmFrame != null) { - log.info("HEX字节消息解析成功:{}", birmmFrame); + log.info("HEX字节消息解析成功:{}", birmmFrame.getClass().getSimpleName()); // 处理业务数据 birmmFrame.doParseBizTag(); // 保存日志 + DeviceFrameLog frameLog = new DeviceFrameLog(); + frameLog.setId(new SnowflakeUtil().nextId()); + frameLog.setDevcode(birmmFrame.getDevCode()); + frameLog.setRawFrame(HexUtils.toHexString(frameBytes).toUpperCase()); + frameLog.setRawBizFrame(birmmFrame.getRawBizFrameString()); + frameLog.setDataJson(birmmFrame.toJSON().toJSONString()); + frameLog.setLogtime(birmmFrame.getLogTime()); + frameLogService.save(frameLog); // 保存业务数据 + if (birmmFrame.isBizDataFrame()) { + List bizDataList = birmmFrame.convertToBizDataList(); + for (DeviceBizData bizData : bizDataList) { + // 设置其他的属性 + bizData.setId(new SnowflakeUtil().nextId()); + bizData.setFrameLogId(frameLog.getId()); // 关联日志记录id + bizData.setDevcode(birmmFrame.getDevCode()); + bizData.setDeviceType(Integer.valueOf(birmmFrame.getDeviceType())); + bizData.setLogtime(birmmFrame.getLogTime()); + } + + bizDataService.saveBatch(bizDataList); + } // 创建回复消息 -// String replyFrame = protocol + String replyMessage = defaultService.replyMessage(birmmFrame); birmmFrame.reply(); } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java index 6a14f09..1b25138 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java @@ -1,8 +1,12 @@ package com.casic.missiles.frame; +import com.alibaba.fastjson.JSONObject; +import com.casic.missiles.model.DeviceBizData; import lombok.Data; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -21,6 +25,9 @@ // 设备编号 String devCode; + // 设备类型 + String deviceType; + // 通信方式 String communicationType; @@ -36,7 +43,6 @@ // 业务字段List String tagListString; -// List tagList; Map tagList; // CRC @@ -44,6 +50,23 @@ LocalDateTime logTime; + String rawBizFrameString; + + public boolean isBizDataFrame() { + return false; + } + + public List convertToBizDataList() { + return new ArrayList<>(); + } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("devCode", getDevCode()); + json.put("ts", getLogTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); + return json; + } + public void doParseBizTag() {} public void reply() {} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java index 43f75af..e6de7b7 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java @@ -1,5 +1,6 @@ package com.casic.missiles.frame.methane; +import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.time.LocalDateTime; @@ -16,4 +17,11 @@ public String toString() { return "[" + uptime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) + "][" + value + "][" + bizType + "]"; } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("gas", String.format("%.3f", value)); + json.put("uptime", uptime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); + return json; + } } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java new file mode 100644 index 0000000..79b3f7e --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceFrameLogMapper; +import com.casic.missiles.model.DeviceFrameLog; +import com.casic.missiles.service.IDeviceFrameLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备消息日志 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceFrameLogServiceImpl extends ServiceImpl implements IDeviceFrameLogService { + +} diff --git a/pom.xml b/pom.xml index a194074..c260019 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 2.0.0.alpha 2.5.4 2.5.6 - 1.2.62 + 1.2.83 2.0.0.alpha diff --git a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java index 49d5afa..faf5f84 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java @@ -1,9 +1,15 @@ package com.casic.missiles.controller; +import cn.hutool.core.lang.generator.UUIDGenerator; import com.alibaba.fastjson.JSONObject; import com.casic.missiles.frame.BirmmBaseFrame; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import com.casic.missiles.service.IGeneralService; +import com.casic.missiles.util.SnowflakeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.buf.HexUtils; import org.springframework.web.bind.annotation.RequestBody; @@ -12,6 +18,7 @@ import javax.annotation.Resource; import java.util.Base64; +import java.util.List; import java.util.Map; @RestController @@ -21,6 +28,12 @@ @Resource IGeneralService defaultService; + @Resource + IDeviceFrameLogService frameLogService; + + @Resource + IDeviceBizDataService bizDataService; + @RequestMapping("/aep/data/string") public Object aepDataString(@RequestBody Map dataMap) { log.info("收到AEP平台推送消息:{}", JSONObject.toJSONString(dataMap)); @@ -44,17 +57,38 @@ BirmmBaseFrame birmmFrame = defaultService.doFrameParse(frameBytes); if (birmmFrame != null) { - log.info("HEX字节消息解析成功:{}", birmmFrame); + log.info("HEX字节消息解析成功:{}", birmmFrame.getClass().getSimpleName()); // 处理业务数据 birmmFrame.doParseBizTag(); // 保存日志 + DeviceFrameLog frameLog = new DeviceFrameLog(); + frameLog.setId(new SnowflakeUtil().nextId()); + frameLog.setDevcode(birmmFrame.getDevCode()); + frameLog.setRawFrame(HexUtils.toHexString(frameBytes).toUpperCase()); + frameLog.setRawBizFrame(birmmFrame.getRawBizFrameString()); + frameLog.setDataJson(birmmFrame.toJSON().toJSONString()); + frameLog.setLogtime(birmmFrame.getLogTime()); + frameLogService.save(frameLog); // 保存业务数据 + if (birmmFrame.isBizDataFrame()) { + List bizDataList = birmmFrame.convertToBizDataList(); + for (DeviceBizData bizData : bizDataList) { + // 设置其他的属性 + bizData.setId(new SnowflakeUtil().nextId()); + bizData.setFrameLogId(frameLog.getId()); // 关联日志记录id + bizData.setDevcode(birmmFrame.getDevCode()); + bizData.setDeviceType(Integer.valueOf(birmmFrame.getDeviceType())); + bizData.setLogtime(birmmFrame.getLogTime()); + } + + bizDataService.saveBatch(bizDataList); + } // 创建回复消息 -// String replyFrame = protocol + String replyMessage = defaultService.replyMessage(birmmFrame); birmmFrame.reply(); } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java index 6a14f09..1b25138 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java @@ -1,8 +1,12 @@ package com.casic.missiles.frame; +import com.alibaba.fastjson.JSONObject; +import com.casic.missiles.model.DeviceBizData; import lombok.Data; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -21,6 +25,9 @@ // 设备编号 String devCode; + // 设备类型 + String deviceType; + // 通信方式 String communicationType; @@ -36,7 +43,6 @@ // 业务字段List String tagListString; -// List tagList; Map tagList; // CRC @@ -44,6 +50,23 @@ LocalDateTime logTime; + String rawBizFrameString; + + public boolean isBizDataFrame() { + return false; + } + + public List convertToBizDataList() { + return new ArrayList<>(); + } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("devCode", getDevCode()); + json.put("ts", getLogTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); + return json; + } + public void doParseBizTag() {} public void reply() {} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java index 43f75af..e6de7b7 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java @@ -1,5 +1,6 @@ package com.casic.missiles.frame.methane; +import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.time.LocalDateTime; @@ -16,4 +17,11 @@ public String toString() { return "[" + uptime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) + "][" + value + "][" + bizType + "]"; } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("gas", String.format("%.3f", value)); + json.put("uptime", uptime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); + return json; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java index 34a4cd9..5160fc2 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -1,14 +1,18 @@ package com.casic.missiles.frame.methane; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.enums.BirmmTagAttributeEnums; import com.casic.missiles.frame.BirmmBaseFrame; -import com.casic.missiles.frame.commanTag.DateTag; -import com.casic.missiles.frame.commanTag.SensorStateTag; -import com.casic.missiles.frame.commanTag.UploadTag; +import com.casic.missiles.frame.commanTag.*; +import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.util.BytesUtil; +import javafx.scene.control.Cell; import lombok.extern.slf4j.Slf4j; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; @@ -23,6 +27,83 @@ } @Override + public JSONObject toJSON() { + JSONObject json = super.toJSON(); + json.put("devType", "Methane"); + json.put("mType", "Data"); + + JSONObject body = new JSONObject(); + body.put("bType", "MethaneData"); + body.put("logtime", getLogTime().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); + if (getTagList().containsKey(CellTag.class.getSimpleName())) { + CellTag cellTag = (CellTag) getTagList().get(CellTag.class.getSimpleName()); + body.put("cell", cellTag.getCellVal()); + } + if (getTagList().containsKey(PCITag.class.getSimpleName())) { + PCITag pciTag = (PCITag) getTagList().get(PCITag.class.getSimpleName()); + body.put("pci", pciTag.getPci()); + } + if (getTagList().containsKey(RSRPTag.class.getSimpleName())) { + RSRPTag rsrpTag = (RSRPTag) getTagList().get(RSRPTag.class.getSimpleName()); + body.put("rsrp", rsrpTag.getRsrp()); + } + if (getTagList().containsKey(SNRTag.class.getSimpleName())) { + SNRTag snrTag = (SNRTag) getTagList().get(SNRTag.class.getSimpleName()); + body.put("snr", snrTag.getSnr()); + } + + JSONArray datas = new JSONArray(); + for (MethaneBizData bizData : bizDataList) { + datas.add(bizData.toJSON()); + } + body.put("datas", datas); + + json.put("mBody", body); + + return json; + } + + @Override + public boolean isBizDataFrame() { + return true; + } + + @Override + public List convertToBizDataList() { + List resultList = new ArrayList<>(); + for (MethaneBizData data : this.bizDataList) { + DeviceBizData bizData = new DeviceBizData(); + bizData.setBizType(String.valueOf(data.getBizType())); + bizData.setValue(String.format("%.3f", data.getValue())); + bizData.setUptime(data.getUptime()); + + // 电量 + if (getTagList().containsKey(CellTag.class.getSimpleName())) { + CellTag cellTag = (CellTag) getTagList().get(CellTag.class.getSimpleName()); + bizData.setCell(cellTag.getCellVal()); + } + + // 信号质量 + if (getTagList().containsKey(PCITag.class.getSimpleName())) { + PCITag pciTag = (PCITag) getTagList().get(PCITag.class.getSimpleName()); + bizData.setPci(pciTag.getPci()); + } + if (getTagList().containsKey(RSRPTag.class.getSimpleName())) { + RSRPTag rsrpTag = (RSRPTag) getTagList().get(RSRPTag.class.getSimpleName()); + bizData.setRsrp(rsrpTag.getRsrp()); + } + if (getTagList().containsKey(SNRTag.class.getSimpleName())) { + SNRTag snrTag = (SNRTag) getTagList().get(SNRTag.class.getSimpleName()); + bizData.setSnr(snrTag.getSnr()); + } + + resultList.add(bizData); + } + + return resultList; + } + + @Override public void doParseBizTag() { if (getTagList().containsKey(UploadTag.class.getSimpleName())) { handleUploadTag(); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java new file mode 100644 index 0000000..79b3f7e --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceFrameLogMapper; +import com.casic.missiles.model.DeviceFrameLog; +import com.casic.missiles.service.IDeviceFrameLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备消息日志 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceFrameLogServiceImpl extends ServiceImpl implements IDeviceFrameLogService { + +} diff --git a/pom.xml b/pom.xml index a194074..c260019 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 2.0.0.alpha 2.5.4 2.5.6 - 1.2.62 + 1.2.83 2.0.0.alpha diff --git a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java index 49d5afa..faf5f84 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java @@ -1,9 +1,15 @@ package com.casic.missiles.controller; +import cn.hutool.core.lang.generator.UUIDGenerator; import com.alibaba.fastjson.JSONObject; import com.casic.missiles.frame.BirmmBaseFrame; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import com.casic.missiles.service.IGeneralService; +import com.casic.missiles.util.SnowflakeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.buf.HexUtils; import org.springframework.web.bind.annotation.RequestBody; @@ -12,6 +18,7 @@ import javax.annotation.Resource; import java.util.Base64; +import java.util.List; import java.util.Map; @RestController @@ -21,6 +28,12 @@ @Resource IGeneralService defaultService; + @Resource + IDeviceFrameLogService frameLogService; + + @Resource + IDeviceBizDataService bizDataService; + @RequestMapping("/aep/data/string") public Object aepDataString(@RequestBody Map dataMap) { log.info("收到AEP平台推送消息:{}", JSONObject.toJSONString(dataMap)); @@ -44,17 +57,38 @@ BirmmBaseFrame birmmFrame = defaultService.doFrameParse(frameBytes); if (birmmFrame != null) { - log.info("HEX字节消息解析成功:{}", birmmFrame); + log.info("HEX字节消息解析成功:{}", birmmFrame.getClass().getSimpleName()); // 处理业务数据 birmmFrame.doParseBizTag(); // 保存日志 + DeviceFrameLog frameLog = new DeviceFrameLog(); + frameLog.setId(new SnowflakeUtil().nextId()); + frameLog.setDevcode(birmmFrame.getDevCode()); + frameLog.setRawFrame(HexUtils.toHexString(frameBytes).toUpperCase()); + frameLog.setRawBizFrame(birmmFrame.getRawBizFrameString()); + frameLog.setDataJson(birmmFrame.toJSON().toJSONString()); + frameLog.setLogtime(birmmFrame.getLogTime()); + frameLogService.save(frameLog); // 保存业务数据 + if (birmmFrame.isBizDataFrame()) { + List bizDataList = birmmFrame.convertToBizDataList(); + for (DeviceBizData bizData : bizDataList) { + // 设置其他的属性 + bizData.setId(new SnowflakeUtil().nextId()); + bizData.setFrameLogId(frameLog.getId()); // 关联日志记录id + bizData.setDevcode(birmmFrame.getDevCode()); + bizData.setDeviceType(Integer.valueOf(birmmFrame.getDeviceType())); + bizData.setLogtime(birmmFrame.getLogTime()); + } + + bizDataService.saveBatch(bizDataList); + } // 创建回复消息 -// String replyFrame = protocol + String replyMessage = defaultService.replyMessage(birmmFrame); birmmFrame.reply(); } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java index 6a14f09..1b25138 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java @@ -1,8 +1,12 @@ package com.casic.missiles.frame; +import com.alibaba.fastjson.JSONObject; +import com.casic.missiles.model.DeviceBizData; import lombok.Data; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -21,6 +25,9 @@ // 设备编号 String devCode; + // 设备类型 + String deviceType; + // 通信方式 String communicationType; @@ -36,7 +43,6 @@ // 业务字段List String tagListString; -// List tagList; Map tagList; // CRC @@ -44,6 +50,23 @@ LocalDateTime logTime; + String rawBizFrameString; + + public boolean isBizDataFrame() { + return false; + } + + public List convertToBizDataList() { + return new ArrayList<>(); + } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("devCode", getDevCode()); + json.put("ts", getLogTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); + return json; + } + public void doParseBizTag() {} public void reply() {} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java index 43f75af..e6de7b7 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java @@ -1,5 +1,6 @@ package com.casic.missiles.frame.methane; +import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.time.LocalDateTime; @@ -16,4 +17,11 @@ public String toString() { return "[" + uptime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) + "][" + value + "][" + bizType + "]"; } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("gas", String.format("%.3f", value)); + json.put("uptime", uptime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); + return json; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java index 34a4cd9..5160fc2 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -1,14 +1,18 @@ package com.casic.missiles.frame.methane; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.enums.BirmmTagAttributeEnums; import com.casic.missiles.frame.BirmmBaseFrame; -import com.casic.missiles.frame.commanTag.DateTag; -import com.casic.missiles.frame.commanTag.SensorStateTag; -import com.casic.missiles.frame.commanTag.UploadTag; +import com.casic.missiles.frame.commanTag.*; +import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.util.BytesUtil; +import javafx.scene.control.Cell; import lombok.extern.slf4j.Slf4j; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; @@ -23,6 +27,83 @@ } @Override + public JSONObject toJSON() { + JSONObject json = super.toJSON(); + json.put("devType", "Methane"); + json.put("mType", "Data"); + + JSONObject body = new JSONObject(); + body.put("bType", "MethaneData"); + body.put("logtime", getLogTime().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); + if (getTagList().containsKey(CellTag.class.getSimpleName())) { + CellTag cellTag = (CellTag) getTagList().get(CellTag.class.getSimpleName()); + body.put("cell", cellTag.getCellVal()); + } + if (getTagList().containsKey(PCITag.class.getSimpleName())) { + PCITag pciTag = (PCITag) getTagList().get(PCITag.class.getSimpleName()); + body.put("pci", pciTag.getPci()); + } + if (getTagList().containsKey(RSRPTag.class.getSimpleName())) { + RSRPTag rsrpTag = (RSRPTag) getTagList().get(RSRPTag.class.getSimpleName()); + body.put("rsrp", rsrpTag.getRsrp()); + } + if (getTagList().containsKey(SNRTag.class.getSimpleName())) { + SNRTag snrTag = (SNRTag) getTagList().get(SNRTag.class.getSimpleName()); + body.put("snr", snrTag.getSnr()); + } + + JSONArray datas = new JSONArray(); + for (MethaneBizData bizData : bizDataList) { + datas.add(bizData.toJSON()); + } + body.put("datas", datas); + + json.put("mBody", body); + + return json; + } + + @Override + public boolean isBizDataFrame() { + return true; + } + + @Override + public List convertToBizDataList() { + List resultList = new ArrayList<>(); + for (MethaneBizData data : this.bizDataList) { + DeviceBizData bizData = new DeviceBizData(); + bizData.setBizType(String.valueOf(data.getBizType())); + bizData.setValue(String.format("%.3f", data.getValue())); + bizData.setUptime(data.getUptime()); + + // 电量 + if (getTagList().containsKey(CellTag.class.getSimpleName())) { + CellTag cellTag = (CellTag) getTagList().get(CellTag.class.getSimpleName()); + bizData.setCell(cellTag.getCellVal()); + } + + // 信号质量 + if (getTagList().containsKey(PCITag.class.getSimpleName())) { + PCITag pciTag = (PCITag) getTagList().get(PCITag.class.getSimpleName()); + bizData.setPci(pciTag.getPci()); + } + if (getTagList().containsKey(RSRPTag.class.getSimpleName())) { + RSRPTag rsrpTag = (RSRPTag) getTagList().get(RSRPTag.class.getSimpleName()); + bizData.setRsrp(rsrpTag.getRsrp()); + } + if (getTagList().containsKey(SNRTag.class.getSimpleName())) { + SNRTag snrTag = (SNRTag) getTagList().get(SNRTag.class.getSimpleName()); + bizData.setSnr(snrTag.getSnr()); + } + + resultList.add(bizData); + } + + return resultList; + } + + @Override public void doParseBizTag() { if (getTagList().containsKey(UploadTag.class.getSimpleName())) { handleUploadTag(); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java index b452bc0..4b2c6be 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java @@ -67,6 +67,9 @@ BirmmBaseFrame birmmFrame = BirmmFrameBuilderFactory.createBirmmFrame(deviceType, operaType); if (birmmFrame != null) { birmmFrame.setLogTime(LocalDateTime.now()); // 记录日志时间 取服务器本地时间 + birmmFrame.setDevCode(devCode); + birmmFrame.setDeviceType(deviceType); + birmmFrame.setRawBizFrameString(plainTagListStr); birmmFrame.setTagList(tagList); return birmmFrame; @@ -75,4 +78,15 @@ return null; } + + @Override + public String replyMessage(BirmmBaseFrame frameObj) { + // 从数据库中查询需要下发配置项 + + // 设置校时Tag + + // 调用协议组装 + + return null; + } } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java new file mode 100644 index 0000000..383ed59 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备业务数据 Mapper 接口 + *

+ */ +public interface DeviceBizDataMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java new file mode 100644 index 0000000..da0e861 --- /dev/null +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceFrameLogMapper.java @@ -0,0 +1,21 @@ +package com.casic.missiles.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceDataListRequest; +import com.casic.missiles.dto.data.DeviceDataListVO; +import com.casic.missiles.model.DeviceData; +import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 设备消息日志 数据报文 Mapper 接口 + *

+ */ +public interface DeviceFrameLogMapper extends BaseMapper { + +} diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml new file mode 100644 index 0000000..7f0a356 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml new file mode 100644 index 0000000..7f95322 --- /dev/null +++ b/casic-iot-dao/src/main/resources/mapper/DeviceFrameLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, devcode, raw_frame, raw_biz_frame, data_json, logtime + + + diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java new file mode 100644 index 0000000..c25574f --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceBizData.java @@ -0,0 +1,97 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 设备数据 数据报文 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_biz_data") +public class DeviceBizData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 编号 + */ + @TableField("frame_log_id") + private Long frameLogId; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 设备类型 + */ + @TableField("device_type") + private Integer deviceType; + + /** + * 电量 + */ + @TableField("cell") + private Integer cell; + + /** + * PCI + */ + @TableField("pci") + private Integer pci; + + /** + * RSRP + */ + @TableField("rsrp") + private Integer rsrp; + + /** + * SNR + */ + @TableField("snr") + private Integer snr; + + /** + * 业务类型 + */ + @TableField("biz_type") + private String bizType; + + /** + * 数值 + */ + @TableField("value") + private String value; + + /** + * 采集时间 + */ + @TableField("uptime") + private LocalDateTime uptime; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + private LocalDateTime logtime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java new file mode 100644 index 0000000..fc61333 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceFrameLog.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +@Data +@TableName("device_frame_log") +public class DeviceFrameLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @TableId("id") + private Long id; + + /** + * 设备编号 + */ + @TableField("devcode") + private String devcode; + + /** + * 原始报文 + */ + @TableField("raw_frame") + private String rawFrame; + /** + * 业务报文 + */ + @TableField("raw_biz_frame") + private String rawBizFrame; + + /** + * json消息 + */ + @TableField("data_json") + private String dataJson; + + /** + * 记录日期 默认为当前时间 + */ + @TableField("logtime") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime logtime; + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java new file mode 100644 index 0000000..700de62 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceBizData; + +/** + *

+ * 设备业务数据 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceBizDataService extends IService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java new file mode 100644 index 0000000..c317233 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceFrameLogService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.DeviceFrameLog; + +/** + *

+ * 设备消息日志 + *

+ * + * @author tanyue + * @since 2024-07-16 + */ +public interface IDeviceFrameLogService extends IService { + + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java new file mode 100644 index 0000000..9f3b5e6 --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceBizDataMapper; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.service.IDeviceBizDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备业务数据 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + +} diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java new file mode 100644 index 0000000..79b3f7e --- /dev/null +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceFrameLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.DeviceFrameLogMapper; +import com.casic.missiles.model.DeviceFrameLog; +import com.casic.missiles.service.IDeviceFrameLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 设备消息日志 服务实现 + */ +@Service +@RequiredArgsConstructor +public class DeviceFrameLogServiceImpl extends ServiceImpl implements IDeviceFrameLogService { + +} diff --git a/pom.xml b/pom.xml index a194074..c260019 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 2.0.0.alpha 2.5.4 2.5.6 - 1.2.62 + 1.2.83 2.0.0.alpha diff --git a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java index 49d5afa..faf5f84 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/controller/GeneralDataReceiver.java @@ -1,9 +1,15 @@ package com.casic.missiles.controller; +import cn.hutool.core.lang.generator.UUIDGenerator; import com.alibaba.fastjson.JSONObject; import com.casic.missiles.frame.BirmmBaseFrame; +import com.casic.missiles.model.DeviceBizData; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import com.casic.missiles.service.IGeneralService; +import com.casic.missiles.util.SnowflakeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.buf.HexUtils; import org.springframework.web.bind.annotation.RequestBody; @@ -12,6 +18,7 @@ import javax.annotation.Resource; import java.util.Base64; +import java.util.List; import java.util.Map; @RestController @@ -21,6 +28,12 @@ @Resource IGeneralService defaultService; + @Resource + IDeviceFrameLogService frameLogService; + + @Resource + IDeviceBizDataService bizDataService; + @RequestMapping("/aep/data/string") public Object aepDataString(@RequestBody Map dataMap) { log.info("收到AEP平台推送消息:{}", JSONObject.toJSONString(dataMap)); @@ -44,17 +57,38 @@ BirmmBaseFrame birmmFrame = defaultService.doFrameParse(frameBytes); if (birmmFrame != null) { - log.info("HEX字节消息解析成功:{}", birmmFrame); + log.info("HEX字节消息解析成功:{}", birmmFrame.getClass().getSimpleName()); // 处理业务数据 birmmFrame.doParseBizTag(); // 保存日志 + DeviceFrameLog frameLog = new DeviceFrameLog(); + frameLog.setId(new SnowflakeUtil().nextId()); + frameLog.setDevcode(birmmFrame.getDevCode()); + frameLog.setRawFrame(HexUtils.toHexString(frameBytes).toUpperCase()); + frameLog.setRawBizFrame(birmmFrame.getRawBizFrameString()); + frameLog.setDataJson(birmmFrame.toJSON().toJSONString()); + frameLog.setLogtime(birmmFrame.getLogTime()); + frameLogService.save(frameLog); // 保存业务数据 + if (birmmFrame.isBizDataFrame()) { + List bizDataList = birmmFrame.convertToBizDataList(); + for (DeviceBizData bizData : bizDataList) { + // 设置其他的属性 + bizData.setId(new SnowflakeUtil().nextId()); + bizData.setFrameLogId(frameLog.getId()); // 关联日志记录id + bizData.setDevcode(birmmFrame.getDevCode()); + bizData.setDeviceType(Integer.valueOf(birmmFrame.getDeviceType())); + bizData.setLogtime(birmmFrame.getLogTime()); + } + + bizDataService.saveBatch(bizDataList); + } // 创建回复消息 -// String replyFrame = protocol + String replyMessage = defaultService.replyMessage(birmmFrame); birmmFrame.reply(); } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java index 6a14f09..1b25138 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/BirmmBaseFrame.java @@ -1,8 +1,12 @@ package com.casic.missiles.frame; +import com.alibaba.fastjson.JSONObject; +import com.casic.missiles.model.DeviceBizData; import lombok.Data; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -21,6 +25,9 @@ // 设备编号 String devCode; + // 设备类型 + String deviceType; + // 通信方式 String communicationType; @@ -36,7 +43,6 @@ // 业务字段List String tagListString; -// List tagList; Map tagList; // CRC @@ -44,6 +50,23 @@ LocalDateTime logTime; + String rawBizFrameString; + + public boolean isBizDataFrame() { + return false; + } + + public List convertToBizDataList() { + return new ArrayList<>(); + } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("devCode", getDevCode()); + json.put("ts", getLogTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); + return json; + } + public void doParseBizTag() {} public void reply() {} diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java index 43f75af..e6de7b7 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneBizData.java @@ -1,5 +1,6 @@ package com.casic.missiles.frame.methane; +import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.time.LocalDateTime; @@ -16,4 +17,11 @@ public String toString() { return "[" + uptime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) + "][" + value + "][" + bizType + "]"; } + + public JSONObject toJSON() { + JSONObject json = new JSONObject(); + json.put("gas", String.format("%.3f", value)); + json.put("uptime", uptime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); + return json; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java index 34a4cd9..5160fc2 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/frame/methane/MethaneTrapRequestFrame.java @@ -1,14 +1,18 @@ package com.casic.missiles.frame.methane; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.enums.BirmmTagAttributeEnums; import com.casic.missiles.frame.BirmmBaseFrame; -import com.casic.missiles.frame.commanTag.DateTag; -import com.casic.missiles.frame.commanTag.SensorStateTag; -import com.casic.missiles.frame.commanTag.UploadTag; +import com.casic.missiles.frame.commanTag.*; +import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.util.BytesUtil; +import javafx.scene.control.Cell; import lombok.extern.slf4j.Slf4j; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; @@ -23,6 +27,83 @@ } @Override + public JSONObject toJSON() { + JSONObject json = super.toJSON(); + json.put("devType", "Methane"); + json.put("mType", "Data"); + + JSONObject body = new JSONObject(); + body.put("bType", "MethaneData"); + body.put("logtime", getLogTime().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); + if (getTagList().containsKey(CellTag.class.getSimpleName())) { + CellTag cellTag = (CellTag) getTagList().get(CellTag.class.getSimpleName()); + body.put("cell", cellTag.getCellVal()); + } + if (getTagList().containsKey(PCITag.class.getSimpleName())) { + PCITag pciTag = (PCITag) getTagList().get(PCITag.class.getSimpleName()); + body.put("pci", pciTag.getPci()); + } + if (getTagList().containsKey(RSRPTag.class.getSimpleName())) { + RSRPTag rsrpTag = (RSRPTag) getTagList().get(RSRPTag.class.getSimpleName()); + body.put("rsrp", rsrpTag.getRsrp()); + } + if (getTagList().containsKey(SNRTag.class.getSimpleName())) { + SNRTag snrTag = (SNRTag) getTagList().get(SNRTag.class.getSimpleName()); + body.put("snr", snrTag.getSnr()); + } + + JSONArray datas = new JSONArray(); + for (MethaneBizData bizData : bizDataList) { + datas.add(bizData.toJSON()); + } + body.put("datas", datas); + + json.put("mBody", body); + + return json; + } + + @Override + public boolean isBizDataFrame() { + return true; + } + + @Override + public List convertToBizDataList() { + List resultList = new ArrayList<>(); + for (MethaneBizData data : this.bizDataList) { + DeviceBizData bizData = new DeviceBizData(); + bizData.setBizType(String.valueOf(data.getBizType())); + bizData.setValue(String.format("%.3f", data.getValue())); + bizData.setUptime(data.getUptime()); + + // 电量 + if (getTagList().containsKey(CellTag.class.getSimpleName())) { + CellTag cellTag = (CellTag) getTagList().get(CellTag.class.getSimpleName()); + bizData.setCell(cellTag.getCellVal()); + } + + // 信号质量 + if (getTagList().containsKey(PCITag.class.getSimpleName())) { + PCITag pciTag = (PCITag) getTagList().get(PCITag.class.getSimpleName()); + bizData.setPci(pciTag.getPci()); + } + if (getTagList().containsKey(RSRPTag.class.getSimpleName())) { + RSRPTag rsrpTag = (RSRPTag) getTagList().get(RSRPTag.class.getSimpleName()); + bizData.setRsrp(rsrpTag.getRsrp()); + } + if (getTagList().containsKey(SNRTag.class.getSimpleName())) { + SNRTag snrTag = (SNRTag) getTagList().get(SNRTag.class.getSimpleName()); + bizData.setSnr(snrTag.getSnr()); + } + + resultList.add(bizData); + } + + return resultList; + } + + @Override public void doParseBizTag() { if (getTagList().containsKey(UploadTag.class.getSimpleName())) { handleUploadTag(); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java index b452bc0..4b2c6be 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/service/GeneralServiceImpl.java @@ -67,6 +67,9 @@ BirmmBaseFrame birmmFrame = BirmmFrameBuilderFactory.createBirmmFrame(deviceType, operaType); if (birmmFrame != null) { birmmFrame.setLogTime(LocalDateTime.now()); // 记录日志时间 取服务器本地时间 + birmmFrame.setDevCode(devCode); + birmmFrame.setDeviceType(deviceType); + birmmFrame.setRawBizFrameString(plainTagListStr); birmmFrame.setTagList(tagList); return birmmFrame; @@ -75,4 +78,15 @@ return null; } + + @Override + public String replyMessage(BirmmBaseFrame frameObj) { + // 从数据库中查询需要下发配置项 + + // 设置校时Tag + + // 调用协议组装 + + return null; + } } diff --git a/sensorhub-core/src/main/java/com/casic/missiles/service/IGeneralService.java b/sensorhub-core/src/main/java/com/casic/missiles/service/IGeneralService.java index 93cc332..6c876a7 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/service/IGeneralService.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/service/IGeneralService.java @@ -10,4 +10,11 @@ * @return */ BirmmBaseFrame doFrameParse(byte[] frame); + + /** + * 查找需要下发的配置 + * 组装下发消息帧 + * @return + */ + String replyMessage(BirmmBaseFrame frameObj); }