feat(wm-config): #72 阈值管理+信息发布+设备管理
This commit is contained in:
@@ -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
|
||||
@@ -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);
|
||||
Reference in New Issue
Block a user