diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/BmdDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/BmdDto.java index d325b22..24ab302 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/BmdDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/BmdDto.java @@ -30,6 +30,10 @@ public class BmdDto implements Serializable { @NotNull(message = "数据编号,不为空") private Integer idx; + @SerializedName("Phase") + @NotNull(message = "相别,不为空") + private String phase; + @SerializedName("Type") @NotNull(message = "数据类型,不为空") private String type; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsAlmPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsAlmPO.java new file mode 100644 index 0000000..38f1485 --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsAlmPO.java @@ -0,0 +1,67 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + *
+ * 设备告警数据表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_alm") +public class CsAlmPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 读写操作属性:“r” + */ + private String opAttr; + + /** + * 告警事件名称 + */ + @MppMultiId(value = "name") + private String name; + + /** + * 告警事件编号 + */ + private Integer idx; + + /** + * 告警事件类别“1”“2” + */ + private String type; + + /** + * 别名 + */ + private String anotherName; + + /** + * 数据分类,唯一类别 + */ + private String classId; + + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsCtrlPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsCtrlPO.java new file mode 100644 index 0000000..632ef23 --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsCtrlPO.java @@ -0,0 +1,121 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + *+ * 控制表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_ctrl") +public class CsCtrlPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 读写操作属性:“r” + */ + private String opAttr; + + /** + * 参数名称 + */ + @TableId(value = "name") + private String name; + + /** + * 别名 + */ + private String anotherName; + + /** + * 参数编号 + */ + private Integer idx; + + /** + * 下发数据类型 “string”“float”“enum” + */ + private String type; + + /** + * 是否需遥控校验 “1”“0” + */ + private Integer check; + + /** + * 是否支持自动控制 “1”“0” + */ + private Integer auto; + + /** + * 设置最大值 + */ + private Integer maxNum; + + /** + * 设置最小值 + */ + private Integer minNum; + + /** + * 参数为enum可设置的所有值序列 + */ + private String ctlValue; + + /** + * 参数string可设置字符串的长度上限 + */ + private Integer strlen; + + /** + * 是否加密,“1”“0” + */ + private Integer encode; + + /** + * 数据分类,唯一类别 + */ + private String classId; + + /** + * 创建用户 + */ + private String createBy; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新用户 + */ + private String updateBy; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDiPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDiPO.java new file mode 100644 index 0000000..8b3e05e --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDiPO.java @@ -0,0 +1,82 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + *+ * 开入表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_di") +public class CsDiPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * Id + */ + private String id; + + /** + * 读写操作属性:“r” + */ + private String opAttr; + + /** + * 开入信号名称 + */ + @MppMultiId(value = "name") + private String name; + + /** + * 开入编号 + */ + private Integer idx; + + /** + * 是否存储“1”“0” + */ + private Integer storeFlag; + + /** + * 当前值“1”“0” + */ + private Integer curSts; + + /** + * 数据分类,唯一类别 + */ + private String classId; + + /** + * 数据是否上送 “1”“0” + */ + private Integer tranFlag; + + /** + * 上送规则 变化:“change”周期:“period” + */ + private String tranRule; + + /** + * 别名 + */ + private String anotherName; + + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDict.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDict.java new file mode 100644 index 0000000..6c08fa3 --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDict.java @@ -0,0 +1,49 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + *+ * + *
+ * + * @author xuyang + * @since 2023-05-18 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_dict") +public class CsDict extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String id; + + private String pid; + + private String name; + + private String anotherName; + + private Boolean status; + + private Integer sort; + + private String createBy; + + private LocalDateTime createTime; + + private String updateBy; + + private LocalDateTime updateTime; + + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDoPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDoPO.java new file mode 100644 index 0000000..f03d468 --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsDoPO.java @@ -0,0 +1,92 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + *+ * 开出表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_do") +public class CsDoPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * Id + */ + private String id; + + /** + * 读写操作属性:“r” + */ + private String opAttr; + + /** + * 开出信号名称 + */ + @MppMultiId(value = "name") + private String name; + + /** + * DO编号 + */ + private Integer idx; + + /** + * 当前值/设定值“1”“0” + */ + private Integer curSts; + + /** + * 是否可远程控制 “1”“0” + */ + private Integer ctlSts; + + /** + * 创建用户 + */ + private String createBy; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新用户 + */ + private String updateBy; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 别名 + */ + private String anotherName; + + /** + * 数据分类,唯一类别 + */ + private String classId; + + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsEvtPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsEvtPO.java new file mode 100644 index 0000000..f8d8671 --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsEvtPO.java @@ -0,0 +1,84 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +/** + *+ * 事件表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_evt") +public class CsEvtPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 读写操作属性:“r” + */ + private String opAttr; + + /** + * 事件信息名称 + */ + @MppMultiId(value = "name") + private String name; + + /** + * 事件编号 + */ + private Integer idx; + + /** + * 事件类别“1”“2” + */ + private String type; + + /** + * 创建用户 + */ + private String createBy; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新用户 + */ + private String updateBy; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 别名 + */ + private String anotherName; + + /** + * 数据分类,唯一类别 + */ + private String classId; + + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsEvtParmPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsEvtParmPO.java new file mode 100644 index 0000000..53bca8f --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsEvtParmPO.java @@ -0,0 +1,62 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + *+ * 事件参数表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_evt_parm") +public class CsEvtParmPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * pid + */ + @MppMultiId(value = "pid") + private String pid; + + /** + * 事件信息名称 + */ + @MppMultiId(value = "name") + private String name; + + /** + * 参数类型“string”“float” + */ + private String type; + + /** + * 参数单位 + */ + private String unit; + + /** + * 参数值 + */ + private String data; + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsParmPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsParmPO.java new file mode 100644 index 0000000..c2dce31 --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsParmPO.java @@ -0,0 +1,111 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + *+ * 参数表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@Data +@TableName("cs_parm") +public class CsParmPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String id; + + /** + * 读写操作属性:“r” + */ + private String opAttr; + + /** + * 参数名称 + */ + @TableId(value = "name") + private String name; + + /** + * 别名 + */ + private String anotherName; + + /** + * 参数编号 + */ + private Integer idx; + + /** + * 系统参数:“sys”运行参数:“run” 功能参数:“fun” + */ + private String type; + + /** + * 参数数据类型 “string”“float”“enum” + */ + private String dataType; + + /** + * 是否可修改 “1”“0” + */ + private Integer modifyFlag; + + /** + * 设置最大值 + */ + private Integer maxNum; + + /** + * 设置最小值 + */ + private Integer minNum; + + /** + * 参数为enum可设置的所有值序列 + */ + private String setValue; + + /** + * 参数string可设置字符串的长度上限 + */ + private Integer strlen; + + /** + * 参数缺省值 + */ + private String defaultValue; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新用户 + */ + private String updateBy; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 数据分类,唯一类别 + */ + private String classId; + + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsSetPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsSetPO.java new file mode 100644 index 0000000..c58f7aa --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsSetPO.java @@ -0,0 +1,101 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + *+ * 设备定值数据表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_set") +public class CsSetPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 读写操作属性:“r” + */ + private String opAttr; + + /** + * 参数名称 + */ + @TableId(value = "name") + private String name; + + /** + * 别名 + */ + private String anotherName; + + /** + * 参数编号 + */ + private Integer idx; + + /** + * 定值数据类型 “hex”“number” + */ + private String dataType; + + /** + * 设置最大值 + */ + private Integer maxNum; + + /** + * 设置最小值 + */ + private Integer minNum; + + /** + * 定值缺省值 + */ + private String defaultValue; + + /** + * 数据分类,唯一类别 + */ + private String classId; + + /** + * 创建用户 + */ + private String createBy; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新用户 + */ + private String updateBy; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + +} diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsStsPO.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsStsPO.java new file mode 100644 index 0000000..8c09d3b --- /dev/null +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/po/CsStsPO.java @@ -0,0 +1,77 @@ +package com.njcn.access.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import java.io.Serializable; +import java.time.LocalDateTime; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + *+ * 状态表 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("cs_sts") +public class CsStsPO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 读写操作属性:“r” + */ + private String opAttr; + + /** + * 状态名称 + */ + @MppMultiId(value = "name") + private String name; + + /** + * 状态编号 + */ + private Integer idx; + + /** + * 是否存储“1”“0” + */ + private Integer storeFlag; + + /** + * 当前值“1”“0” + */ + private Integer curSts; + + /** + * 数据分类,唯一类别 + */ + private String classId; + + /** + * 上送规则 变化:“change”周期:“period” + */ + private String tranRule; + + /** + * 别名 + */ + private String anotherName; + + +} diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java b/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java index e681321..1d3d049 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java @@ -153,7 +153,7 @@ public class MqttMessageHandler { ModelDto modelDto = gson.fromJson(new String(message.getPayload(), StandardCharsets.UTF_8), ModelDto.class); HttpResult+ * 设备告警数据表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsAlmMapper extends MppBaseMapper+ * 控制表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsCtrlMapper extends BaseMapper+ * 开入表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsDiMapper extends MppBaseMapper+ * 开出表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsDoMapper extends MppBaseMapper+ * 事件表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsEvtMapper extends MppBaseMapper+ * 事件参数表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsEvtParmMapper extends MppBaseMapper+ * 参数表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsParmMapper extends BaseMapper+ * 设备定值数据表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsSetMapper extends BaseMapper+ * 状态表 Mapper 接口 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface CsStsMapper extends MppBaseMapper+ * 设备告警数据表 服务类 + *
+ * + * @author xuyang + * @since 2023-05-19 + */ +public interface ICsAlmService { + + void saveData(List
@@ -11,6 +14,8 @@ import com.njcn.access.pojo.po.CsBmdPO;
* @author xuyang
* @since 2023-05-11
*/
-public interface ICsBmdService extends IService
+ * 控制表 服务类
+ *
+ * 开入表 服务类
+ *
+ * 开出表 服务类
+ *
+ * 事件参数表 服务类
+ *
+ * 事件表 服务类
+ *
+ * 参数表 服务类
+ *
+ * 设备定值数据表 服务类
+ *
+ * 状态表 服务类
+ *
+ * 设备告警数据表 服务实现类
+ *
* 服务实现类
@@ -15,6 +17,10 @@ import org.springframework.stereotype.Service;
* @since 2023-05-11
*/
@Service
-public class CsBmdServiceImpl extends ServiceImpl
+ * 控制表 服务实现类
+ *
+ * 开入表 服务实现类
+ *
+ * 开出表 服务实现类
+ *
+ * 事件参数表 服务实现类
+ *
+ * 事件表 服务实现类
+ *
+ * 参数表 服务实现类
+ *
+ * 设备定值数据表 服务实现类
+ *
+ * 状态表 服务实现类
+ *