feat(wm-config): #72 阈值管理+信息发布+设备管理

This commit is contained in:
2026-06-14 15:37:16 +08:00
parent 1870171e45
commit 4a0fc1bf42
24 changed files with 1398 additions and 0 deletions
@@ -0,0 +1,30 @@
server:
port: 8090
spring:
application:
name: wm-config
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:water}?currentSchema=public
username: ${DB_USER:postgres}
password: ${DB_PASS:postgres}
cloud:
nacos:
discovery:
server-addr: ${NACOS_ADDR:localhost:8848}
mybatis-plus:
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
logic-delete-field: deleted
logic-delete-value: 1
logic-not-delete-value: 0
sa-token:
token-name: Authorization
timeout: 86400
active-timeout: 1800
+102
View File
@@ -0,0 +1,102 @@
-- ============================================================
-- wm-config DDL: 阈值管理 + 信息发布 + 设备管理
-- ============================================================
-- 阈值配置表
CREATE TABLE IF NOT EXISTS config_threshold (
id BIGSERIAL PRIMARY KEY,
metric_code VARCHAR(64) NOT NULL,
metric_name VARCHAR(128) NOT NULL,
device_id BIGINT,
level SMALLINT NOT NULL DEFAULT 1, -- 1-预警 2-报警 3-紧急
min_value NUMERIC(12,4),
max_value NUMERIC(12,4),
unit VARCHAR(32),
status SMALLINT NOT NULL DEFAULT 1, -- 0-禁用 1-启用
remark VARCHAR(500),
deleted SMALLINT NOT NULL DEFAULT 0,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE config_threshold IS '阈值配置表';
CREATE INDEX idx_threshold_metric ON config_threshold(metric_code);
CREATE INDEX idx_threshold_device ON config_threshold(device_id);
-- 阈值变更记录表
CREATE TABLE IF NOT EXISTS config_threshold_change_log (
id BIGSERIAL PRIMARY KEY,
threshold_id BIGINT NOT NULL,
old_min_value NUMERIC(12,4),
old_max_value NUMERIC(12,4),
new_min_value NUMERIC(12,4),
new_max_value NUMERIC(12,4),
old_level SMALLINT,
new_level SMALLINT,
operator VARCHAR(64),
reason VARCHAR(500),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE config_threshold_change_log IS '阈值变更记录表';
CREATE INDEX idx_change_log_threshold ON config_threshold_change_log(threshold_id);
-- 公告通知表
CREATE TABLE IF NOT EXISTS config_announcement (
id BIGSERIAL PRIMARY KEY,
title VARCHAR(256) NOT NULL,
content TEXT,
type SMALLINT NOT NULL DEFAULT 1, -- 1-系统公告 2-维护通知 3-紧急通知
publish_status SMALLINT NOT NULL DEFAULT 0, -- 0-草稿 1-已发布 2-已撤回
channels VARCHAR(256), -- JSON: ["sms","push","site"]
publisher VARCHAR(64),
publish_time TIMESTAMP,
withdraw_time TIMESTAMP,
deleted SMALLINT NOT NULL DEFAULT 0,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE config_announcement IS '公告通知表';
CREATE INDEX idx_announcement_status ON config_announcement(publish_status);
-- 设备台账表
CREATE TABLE IF NOT EXISTS config_device_info (
id BIGSERIAL PRIMARY KEY,
device_code VARCHAR(64) NOT NULL UNIQUE,
device_name VARCHAR(128) NOT NULL,
category SMALLINT NOT NULL DEFAULT 9, -- 1-水表 2-压力传感器 3-流量计 4-水质监测仪 5-阀门 9-其他
brand VARCHAR(64),
model VARCHAR(64),
location VARCHAR(256),
longitude DOUBLE PRECISION,
latitude DOUBLE PRECISION,
device_status SMALLINT NOT NULL DEFAULT 0, -- 0-离线 1-在线 2-故障 3-维修中
install_date TIMESTAMP,
last_maintenance_time TIMESTAMP,
responsible_person VARCHAR(64),
remark VARCHAR(500),
deleted SMALLINT NOT NULL DEFAULT 0,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE config_device_info IS '设备台账表';
CREATE INDEX idx_device_code ON config_device_info(device_code);
CREATE INDEX idx_device_category ON config_device_info(category);
CREATE INDEX idx_device_status ON config_device_info(device_status);
-- 设备维保记录表
CREATE TABLE IF NOT EXISTS config_device_maintenance (
id BIGSERIAL PRIMARY KEY,
device_id BIGINT NOT NULL,
maintenance_type SMALLINT NOT NULL DEFAULT 1, -- 1-日常巡检 2-定期保养 3-故障维修 4-更换配件
description TEXT,
operator VARCHAR(64),
start_time TIMESTAMP,
end_time TIMESTAMP,
result SMALLINT NOT NULL DEFAULT 0, -- 0-未完成 1-已完成 2-需要返修
cost DOUBLE PRECISION,
attachments TEXT, -- JSON
deleted SMALLINT NOT NULL DEFAULT 0,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE config_device_maintenance IS '设备维保记录表';
CREATE INDEX idx_maintenance_device ON config_device_maintenance(device_id);