65 lines
2.8 KiB
SQL
65 lines
2.8 KiB
SQL
-- =============================================
|
|
-- 智慧水务管理系统 - 营收管理平台与报装管理系统增强
|
|
-- 版本: V4 (Issue #6)
|
|
-- =============================================
|
|
|
|
-- 平台运维审计日志
|
|
CREATE TABLE IF NOT EXISTS rev_audit_log (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
user_id VARCHAR(50) NOT NULL,
|
|
user_name VARCHAR(100) NOT NULL,
|
|
action VARCHAR(50) NOT NULL, -- CREATE/UPDATE/DELETE/LOGIN/EXPORT
|
|
target_type VARCHAR(50), -- customer/meter/bill/app
|
|
target_id VARCHAR(50),
|
|
detail TEXT,
|
|
ip VARCHAR(50),
|
|
created_at TIMESTAMP DEFAULT NOW()
|
|
);
|
|
COMMENT ON TABLE rev_audit_log IS '平台运维审计日志表';
|
|
CREATE INDEX IF NOT EXISTS idx_audit_user ON rev_audit_log(user_id);
|
|
CREATE INDEX IF NOT EXISTS idx_audit_action ON rev_audit_log(action);
|
|
CREATE INDEX IF NOT EXISTS idx_audit_created ON rev_audit_log(created_at);
|
|
|
|
-- 应用接入注册表
|
|
CREATE TABLE IF NOT EXISTS rev_app_registry (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
app_id VARCHAR(50) UNIQUE NOT NULL,
|
|
app_secret VARCHAR(100) NOT NULL,
|
|
app_name VARCHAR(100) NOT NULL,
|
|
redirect_uris TEXT, -- JSON array of redirect URIs
|
|
enabled SMALLINT DEFAULT 1, -- 0:disabled 1:enabled
|
|
created_at TIMESTAMP DEFAULT NOW(),
|
|
updated_at TIMESTAMP DEFAULT NOW()
|
|
);
|
|
COMMENT ON TABLE rev_app_registry IS '应用接入注册表';
|
|
CREATE INDEX IF NOT EXISTS idx_app_enabled ON rev_app_registry(enabled);
|
|
|
|
-- 报装任务表
|
|
CREATE TABLE IF NOT EXISTS rev_install_task (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
task_id VARCHAR(50) UNIQUE NOT NULL,
|
|
apply_no VARCHAR(50) NOT NULL,
|
|
task_type VARCHAR(50) NOT NULL, -- design/construction/inspection
|
|
assignee_id BIGINT,
|
|
assignee_name VARCHAR(100),
|
|
description TEXT,
|
|
status VARCHAR(20) DEFAULT 'pending', -- pending/in_progress/completed/cancelled
|
|
remark TEXT,
|
|
completed_at TIMESTAMP,
|
|
created_at TIMESTAMP DEFAULT NOW(),
|
|
updated_at TIMESTAMP DEFAULT NOW()
|
|
);
|
|
COMMENT ON TABLE rev_install_task IS '报装任务表';
|
|
CREATE INDEX IF NOT EXISTS idx_task_apply ON rev_install_task(apply_no);
|
|
CREATE INDEX IF NOT EXISTS idx_task_assignee ON rev_install_task(assignee_id);
|
|
CREATE INDEX IF NOT EXISTS idx_task_status ON rev_install_task(status);
|
|
|
|
-- 增强报装表(添加缺失的时间戳字段)
|
|
ALTER TABLE rev_installation ADD COLUMN IF NOT EXISTS dispatched_at TIMESTAMP;
|
|
ALTER TABLE rev_installation ADD COLUMN IF NOT EXISTS construction_started_at TIMESTAMP;
|
|
ALTER TABLE rev_installation ADD COLUMN IF NOT EXISTS customer_type VARCHAR(20);
|
|
|
|
COMMENT ON COLUMN rev_installation.dispatched_at IS '派单时间';
|
|
COMMENT ON COLUMN rev_installation.construction_started_at IS '施工开始时间';
|
|
COMMENT ON COLUMN rev_installation.customer_type IS '客户类型';
|