Browse Source

feate:sql

jackzhou 7 tháng trước cách đây
mục cha
commit
93be2a24b2

+ 4 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/listener/JfcloudColdChainDefaultDataListener.java

@@ -48,7 +48,8 @@ public class JfcloudColdChainDefaultDataListener implements IDataListener {
 
     @Override
     public void receiveLoginData(LoginData data) {
-        log.info("接收到设备登录信息: 设备ID = {}", data.getDeviceId());
+        //添加设备,或者更新设备,添加设备登录日志表
+        log.info("接收到设备登录信息: 设备ID = {}\n{}", data.getDeviceId(),JSONUtil.toJsonStr(data));
     }
 
     @Override
@@ -59,6 +60,8 @@ public class JfcloudColdChainDefaultDataListener implements IDataListener {
 
     @Override
     public void receiveParam(ParamData data) {
+        //判断设备是否存在
+        //插入或者更新设备参数
         log.info("接收到设备参数信息: \n{}",JSONUtil.toJsonStr(data));
     }
 

+ 137 - 0
snowy-web-app/src/main/resources/_sql/冷链管理系统.sql

@@ -0,0 +1,137 @@
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+
+-- ----------------------------
+-- Table structure for device_type
+-- ----------------------------
+DROP TABLE IF EXISTS `device_type`;
+CREATE TABLE `device_type`  (
+  `id` VARCHAR(50) NOT NULL,
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
+  `remarks` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
+  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型(0:监控设备,1:目标设备)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备类型' ROW_FORMAT = Dynamic;
+
+
+-- ----------------------------
+-- Table structure for monitor_device 监控设备表
+-- ----------------------------
+DROP TABLE IF EXISTS `monitor_device`;
+CREATE TABLE `monitor_device` (
+  `id` VARCHAR(50) NOT NULL COMMENT '设备唯一标识符,UUID',  -- 设备唯一标识符,UUID
+  `device_name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备名称',  -- 设备名称
+  `device_code` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备编码',  -- 设备编码
+  `model_name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备型号',  -- 设备型号
+  `last_heartbeat_time` DATETIME NULL DEFAULT NULL COMMENT '最后心跳时间',  -- 设备最后心跳时间
+  `status` CHAR(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备状态(1:正常,2:闲置)',  -- 设备状态
+  `sensor_count` INT NULL DEFAULT NULL COMMENT '传感器路数',  -- 传感器的路数
+  `last_login_time` TIMESTAMP NULL DEFAULT NULL COMMENT '最近登录时间',  -- 最近登录时间
+  `sort_code` INT NULL DEFAULT NULL COMMENT '排序码',  -- 排序码
+  `extra_info` LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '扩展信息,存储额外的JSON数据',  -- 扩展信息,存储JSON
+  `is_deleted` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志,标记是否删除',  -- 删除标志
+  `created_at` DATETIME NULL DEFAULT NULL COMMENT '记录创建时间',  -- 记录的创建时间
+  `created_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录创建用户',  -- 创建用户
+  `updated_at` DATETIME NULL DEFAULT NULL COMMENT '记录修改时间',  -- 记录的修改时间
+  `updated_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录修改用户',  -- 修改用户
+  PRIMARY KEY (`device_id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '监控设备管理表,存储设备信息及其状态管理' ROW_FORMAT = Dynamic;
+
+
+
+-- ----------------------------
+-- Table structure for monitor_target  监控目标
+-- ----------------------------
+DROP TABLE IF EXISTS `monitor_target`;
+CREATE TABLE `monitor_target`  (
+  `id` VARCHAR(50) NOT NULL,
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称001',
+  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(1:正常,2:闲置)',
+  `monitor_point` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '监控位置区域',
+  `sensor_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '传感器类型',
+  `device_type_id` VARCHAR(50) NULL DEFAULT NULL COMMENT '设备类型id',
+  `monitor_device_id` VARCHAR(50) NULL DEFAULT NULL COMMENT '监控设备编号',  -- 监控目标设备的UUID
+  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '冷链编号',
+  `limit_up` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报警上限',
+  `limit_down` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报警下限',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '目标设备管理' ROW_FORMAT = Dynamic;
+
+
+
+DROP TABLE IF EXISTS `monitor_target_region`;
+CREATE TABLE `monitor_target_region` (
+  `id` VARCHAR(50) NOT NULL COMMENT '区域唯一标识符,UUID',  -- 区域唯一标识符
+  `name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区域名称',  -- 区域名称
+  `parent_id` VARCHAR(50) NULL DEFAULT NULL COMMENT '上级区域ID,若无则为NULL',  -- 上级区域ID
+  `monitor_target_id` VARCHAR(50) NULL DEFAULT NULL COMMENT '监控目标设备',
+  `sensor_code` VARCHAR(50) NOT NULL COMMENT '传感器编号,如:X001、C001',
+  `sensor_type` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '传感器类型,如:温湿度传感器、二氧化碳传感器',
+  `sensor_route` INT NOT NULL COMMENT '传感器路数,如:路数1、路数2',
+  `created_at` DATETIME NULL DEFAULT NULL COMMENT '记录创建时间',  -- 记录创建时间
+  `created_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录创建用户',  -- 创建用户
+  `updated_at` DATETIME NULL DEFAULT NULL COMMENT '记录修改时间',  -- 记录修改时间
+  `updated_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录修改用户',  -- 修改用户
+  PRIMARY KEY (`region_id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '区域管理表,用于管理设备区域结构' ROW_FORMAT = Dynamic;
+
+
+DROP TABLE IF EXISTS `monitor_monitor_target`;
+CREATE TABLE `monitor_monitor_target` (
+  `monitor_device_id` VARCHAR(50) NOT NULL COMMENT '监控设备ID(外键,来自monitor_device表)',  -- 监控设备ID
+  `monitor_target_id` VARCHAR(50) NOT NULL COMMENT '目标设备ID(外键,来自monitor_target表)',  -- 目标设备ID
+  `monitor_target_region_id` VARCHAR(50) NULL COMMENT '目标设备区域ID(外键,来自monitor_target表)',  -- 目标设备ID
+  `sensor_route` INT NULL DEFAULT NULL COMMENT '传感器路数',  -- 传感器的路数(例如路数1、路数2等)
+  `created_at` DATETIME NULL DEFAULT NULL COMMENT '记录创建时间',  -- 记录创建时间
+  `created_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录创建用户',  -- 创建用户
+  `updated_at` DATETIME NULL DEFAULT NULL COMMENT '记录修改时间',  -- 记录修改时间
+  `updated_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录修改用户'
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '监控设备与目标设备关系表,管理传感器监控的目标设备' ROW_FORMAT = Dynamic;
+
+
+CREATE TABLE monitor_device_parameters (
+    id VARCHAR(50) PRIMARY KEY COMMENT '主键,唯一标识每个记录',        -- 主键,唯一标识每个记录
+    monitor_device_id INT NOT NULL COMMENT '监控设备ID,关联到设备',                   -- 设备ID,关联到设备
+    param_id INT NOT NULL COMMENT '参数ID,每个参数的唯一标识',                    -- 参数ID
+    param_type VARCHAR(20) NOT NULL COMMENT '参数类型 (如 STRING, INT16U, IP, FLOAT)',          -- 参数类型
+    description VARCHAR(255) NOT NULL COMMENT '参数描述,简短的参数解释',        -- 参数描述
+    value VARCHAR(255) NOT NULL COMMENT '参数值,存储该参数的当前值',              -- 参数值
+    length INT DEFAULT 0 COMMENT '参数长度,通常用于表示字符串的长度',                     -- 参数长度
+    min_value INT DEFAULT 0 COMMENT '参数的最小值,用于数值类型的参数',                  -- 最小值
+    max_value INT DEFAULT 0 COMMENT '参数的最大值,用于数值类型的参数',                  -- 最大值
+    value_description TEXT COMMENT '可选的值描述,存储该参数可能的取值描述或枚举值',                   -- 可选的值描述 (如关联继电器)
+    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', -- 创建时间
+    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间', -- 更新时间
+    UNIQUE KEY(device_id, param_id) COMMENT '确保每个设备的每个参数唯一'           -- 唯一约束,确保每个设备的每个参数唯一
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='存储设备参数及其配置的数据表';  -- 表级注释
+
+
+
+INSERT INTO monitor_device_parameters (id, device_id, param_id, param_type, description, value, length, min_value, max_value, value_description, created_at, updated_at)
+VALUES
+('1', 30067080, 2, 'STRING', '网口服务器1URL地址', '10.0.1.125', 64, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('2', 30067080, 3, 'INT16U', '网口服务器1源端口', '-25132', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('3', 30067080, 13, 'IP', '网口静态IP', '55.1.168.192', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('4', 30067080, 14, 'IP', '网口子网掩码', '0.255.255.255', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('5', 30067080, 15, 'IP', '网口网关', '0.1.168.192', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('6', 30067080, 16, 'INT8U', '网口IP获取方式', '1', 0, 0, 0, '{"0":"静态IP", "1":"自动获取IP"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('7', 30067080, 30, 'INT16U', '网口登陆帧间隔(秒)', '2', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('8', 30067080, 31, 'INT16U', '网口心跳帧间隔(秒)', '10', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('9', 30067080, 32, 'INT16U', '网口数据帧间隔(秒)', '5', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('10', 30067080, 33, 'FLOAT', '标识设备坐标经度 其中-180-0代表西经', '0.0', 0, -180, 180, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('11', 30067080, 34, 'FLOAT', '标识设备坐标维度 其中-90-0代表南纬', '0.0', 0, -90, 90, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('12', 30067080, 38, 'INT16U', '主机正常数据记录间隔(分)', '1', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('13', 30067080, 39, 'INT16U', '主机报警数据记录间隔(分)', '2', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('14', 30067080, 40, 'INT8U', '主机数据存储配型', '2', 0, 0, 0, '{"0":"关闭", "1":"关闭", "2":"开启", "3":"自动"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('15', 30067080, 44, 'INT8U', '主机存储数据是否主动上传', '0', 0, 0, 0, '{"0":"否", "1":"是"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('16', 30067080, 247, 'INT16U', '通道1报警延时(秒)', '0', 0, 0, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('17', 30067080, 248, 'FLOAT', '通道1模拟量1上限', '80.0', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('18', 30067080, 249, 'FLOAT', '通道1模拟量1下限', '-80.0', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('19', 30067080, 250, 'FLOAT', '通道1模拟量1控制回差', '0.0', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('20', 30067080, 257, 'INT8U', '通道1模拟量1上限关联继电器', '0', 0, 0, 0, '{"0":"不关联","1":"关联1号继电器","2":"关联2号继电器","3":"关联3号继电器","4":"关联4号继电器","5":"关联5号继电器","6":"关联6号继电器","7":"关联7号继电器","8":"关联8号继电器"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('21', 30067080, 258, 'INT8U', '通道1模拟量1下限关联继电器', '0', 0, 0, 0, '{"0":"不关联","1":"关联1号继电器","2":"关联2号继电器","3":"关联3号继电器","4":"关联4号继电器","5":"关联5号继电器","6":"关联6号继电器","7":"关联7号继电器","8":"关联8号继电器"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
+('22', 30067080, 252, 'FLOAT', '通道1模拟量1系数B', '0.0', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
+
+
+SET FOREIGN_KEY_CHECKS = 1;