| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- -- =============================================
- -- 智慧水务管理系统 - 营收管理平台与报装管理系统增强
- -- 版本: 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 '客户类型';
|