You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
6.0 KiB
129 lines
6.0 KiB
-- =============================================
|
|
-- 电话管理系统 - 人大金仓数据库表结构
|
|
-- 创建日期: 2026-06-09
|
|
-- =============================================
|
|
|
|
-- 1. 电话记录表
|
|
CREATE TABLE IF NOT EXISTS t_phone_record (
|
|
id BIGINT PRIMARY KEY,
|
|
call_id VARCHAR(100) NOT NULL,
|
|
caller_number VARCHAR(50),
|
|
caller_name VARCHAR(100),
|
|
callee_number VARCHAR(50),
|
|
callee_name VARCHAR(100),
|
|
call_direction VARCHAR(20),
|
|
call_start_time TIMESTAMP,
|
|
call_end_time TIMESTAMP,
|
|
call_duration INTEGER,
|
|
call_status VARCHAR(20),
|
|
recording_url VARCHAR(500),
|
|
has_recording INTEGER DEFAULT 0,
|
|
call_type VARCHAR(20),
|
|
remark TEXT,
|
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
deleted INTEGER DEFAULT 0
|
|
);
|
|
|
|
COMMENT ON TABLE t_phone_record IS '电话记录表';
|
|
COMMENT ON COLUMN t_phone_record.id IS '主键ID';
|
|
COMMENT ON COLUMN t_phone_record.call_id IS '通话ID(呼叫系统唯一标识)';
|
|
COMMENT ON COLUMN t_phone_record.caller_number IS '主叫号码';
|
|
COMMENT ON COLUMN t_phone_record.caller_name IS '主叫姓名';
|
|
COMMENT ON COLUMN t_phone_record.callee_number IS '被叫号码';
|
|
COMMENT ON COLUMN t_phone_record.callee_name IS '被叫姓名';
|
|
COMMENT ON COLUMN t_phone_record.call_direction IS '通话方向:IN-呼入, OUT-呼出';
|
|
COMMENT ON COLUMN t_phone_record.call_start_time IS '通话开始时间';
|
|
COMMENT ON COLUMN t_phone_record.call_end_time IS '通话结束时间';
|
|
COMMENT ON COLUMN t_phone_record.call_duration IS '通话时长(秒)';
|
|
COMMENT ON COLUMN t_phone_record.call_status IS '通话状态:ANSWERED-已接通, MISSED-未接听, BUSY-忙线, REJECTED-拒接';
|
|
COMMENT ON COLUMN t_phone_record.recording_url IS '录音文件URL';
|
|
COMMENT ON COLUMN t_phone_record.has_recording IS '是否有录音:0-无, 1-有';
|
|
COMMENT ON COLUMN t_phone_record.call_type IS '通话类型:NORMAL-普通, TRANSFER-转接, CONFERENCE-会议';
|
|
COMMENT ON COLUMN t_phone_record.remark IS '备注';
|
|
COMMENT ON COLUMN t_phone_record.create_time IS '创建时间';
|
|
COMMENT ON COLUMN t_phone_record.update_time IS '更新时间';
|
|
COMMENT ON COLUMN t_phone_record.deleted IS '逻辑删除:0-未删除, 1-已删除';
|
|
|
|
-- 创建索引
|
|
CREATE INDEX idx_phone_record_call_id ON t_phone_record(call_id);
|
|
CREATE INDEX idx_phone_record_caller_number ON t_phone_record(caller_number);
|
|
CREATE INDEX idx_phone_record_call_start_time ON t_phone_record(call_start_time);
|
|
CREATE INDEX idx_phone_record_call_status ON t_phone_record(call_status);
|
|
|
|
-- 序列(用于主键自增)
|
|
CREATE SEQUENCE IF NOT EXISTS seq_phone_record_id START WITH 1 INCREMENT BY 1;
|
|
|
|
-- =============================================
|
|
-- 民意调查样本库与评议任务表结构(人大金仓 / PostgreSQL 兼容)
|
|
-- =============================================
|
|
|
|
-- 1. 样本分类分组表
|
|
CREATE TABLE IF NOT EXISTS t_survey_sample_group (
|
|
id BIGINT PRIMARY KEY,
|
|
name VARCHAR(100) NOT NULL,
|
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
COMMENT ON TABLE t_survey_sample_group IS '样本分类分组表';
|
|
COMMENT ON COLUMN t_survey_sample_group.id IS '主键ID';
|
|
COMMENT ON COLUMN t_survey_sample_group.name IS '分组名称 (如:高级精英人才库)';
|
|
COMMENT ON COLUMN t_survey_sample_group.create_time IS '创建时间';
|
|
|
|
-- 2. 样本人员名单表
|
|
CREATE TABLE IF NOT EXISTS t_survey_sample (
|
|
id BIGINT PRIMARY KEY,
|
|
group_id BIGINT NOT NULL,
|
|
name VARCHAR(50) NOT NULL,
|
|
phone VARCHAR(20) NOT NULL,
|
|
remarks VARCHAR(255),
|
|
import_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
COMMENT ON TABLE t_survey_sample IS '样本人员表';
|
|
COMMENT ON COLUMN t_survey_sample.id IS '主键ID';
|
|
COMMENT ON COLUMN t_survey_sample.group_id IS '关联分组ID';
|
|
COMMENT ON COLUMN t_survey_sample.name IS '姓名';
|
|
COMMENT ON COLUMN t_survey_sample.phone IS '联系电话';
|
|
COMMENT ON COLUMN t_survey_sample.remarks IS '分类备注';
|
|
COMMENT ON COLUMN t_survey_sample.import_time IS '导入时间';
|
|
|
|
-- 3. 调查测评任务表
|
|
CREATE TABLE IF NOT EXISTS t_survey_task (
|
|
id BIGINT PRIMARY KEY,
|
|
title VARCHAR(200) NOT NULL,
|
|
name VARCHAR(50) NOT NULL,
|
|
phone VARCHAR(20) NOT NULL,
|
|
sjly_no VARCHAR(50),
|
|
call_count INTEGER DEFAULT 0,
|
|
status INTEGER DEFAULT 0,
|
|
survey_title VARCHAR(200),
|
|
survey_id BIGINT,
|
|
answers TEXT,
|
|
assign_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
COMMENT ON TABLE t_survey_task IS '调查测评任务表';
|
|
COMMENT ON COLUMN t_survey_task.id IS '主键ID';
|
|
COMMENT ON COLUMN t_survey_task.title IS '任务名称';
|
|
COMMENT ON COLUMN t_survey_task.name IS '受访群众姓名';
|
|
COMMENT ON COLUMN t_survey_task.phone IS '联系电话';
|
|
COMMENT ON COLUMN t_survey_task.sjly_no IS '关联警务分类编码';
|
|
COMMENT ON COLUMN t_survey_task.call_count IS '呼叫次数';
|
|
COMMENT ON COLUMN t_survey_task.status IS '状态 (0待调查, 1调查成功, 2无人接听, 3明确拒访, 4已发送短信评议)';
|
|
COMMENT ON COLUMN t_survey_task.survey_title IS '关联问卷模板名称';
|
|
COMMENT ON COLUMN t_survey_task.survey_id IS '关联的问卷模板ID';
|
|
COMMENT ON COLUMN t_survey_task.answers IS '群众填报的答卷JSON详情';
|
|
COMMENT ON COLUMN t_survey_task.assign_time IS '生成时间';
|
|
|
|
-- 预置默认分组与测试样本数据
|
|
INSERT INTO t_survey_sample_group (id, name, create_time) VALUES
|
|
(1001, '高级精英人才库', CURRENT_TIMESTAMP),
|
|
(1002, '警务窗口服务评议库', CURRENT_TIMESTAMP),
|
|
(1003, '110接处警抽样库', CURRENT_TIMESTAMP)
|
|
ON CONFLICT (id) DO NOTHING;
|
|
|
|
INSERT INTO t_survey_sample (id, group_id, name, phone, remarks, import_time) VALUES
|
|
(2001, 1001, '张大胖', '18944445555', '高层次人才领军学者', CURRENT_TIMESTAMP),
|
|
(2002, 1001, '陈科研', '18655556666', '杰出青年科研人才', CURRENT_TIMESTAMP),
|
|
(2003, 1002, '韩梅梅', '13711112222', '户政大厅办事人员', CURRENT_TIMESTAMP),
|
|
(2004, 1002, '李雷', '13633334444', '出入境窗口满意度抽评', CURRENT_TIMESTAMP),
|
|
(2005, 1003, '王有才', '13899998888', '110处警受害者电话', CURRENT_TIMESTAMP)
|
|
ON CONFLICT (id) DO NOTHING;
|