imeeting/backend/design/db_schema.md

21 KiB
Raw Blame History

鏁版嵁搴撶粨鏋勬枃妗紙PostgreSQL锛?

鏈枃妗f牴鎹?backend/design/db_schema_pgsql.sql 鐢熸垚锛屾弿杩板綋鍓嶆牳蹇冭〃缁撴瀯銆佸瓧娈点€佺害鏉熶笌绱㈠紩銆?

0. 绉熸埛涓庣粍缁?

0.1 sys_tenant锛堢鎴疯〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGSERIAL | PK | 绉熸埛ID | | tenant_code | VARCHAR(64) | NOT NULL, UNIQUE | 绉熸埛缂栫爜 | | tenant_name | VARCHAR(128) | NOT NULL | 绉熸埛鍚嶇О | | status | SMALLINT | NOT NULL, DEFAULT 1 | 鐘舵€?| | expire_time | TIMESTAMP(6) | | 杩囨湡鏃堕棿 | | contact_name | VARCHAR(64) | | 鑱旂郴浜?| | contact_phone | VARCHAR(32) | | 鑱旂郴鐢佃瘽 | | remark | VARCHAR(255) | | 澶囨敞 | | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT CURRENT_TIMESTAMP | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP(6) | NOT NULL, DEFAULT CURRENT_TIMESTAMP | 鏇存柊鏃堕棿 | | is_deleted | SMALLINT | DEFAULT 0 | 閫昏緫鍒犻櫎鏍囪 |

绱㈠紩锛?- uk_tenant_code锛歚UNIQUE (tenant_code) WHERE is_deleted = FALSE`

0.2 sys_org锛堢粍缁囨灦鏋勮〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGSERIAL | PK | 缁勭粐ID | | tenant_id | BIGINT | NOT NULL | 绉熸埛ID | | parent_id | BIGINT | | 鐖剁骇缁勭粐ID | | org_name | VARCHAR(128) | NOT NULL | 缁勭粐鍚嶇О | | org_code | VARCHAR(64) | | 缁勭粐缂栫爜 | | org_path | VARCHAR(512) | | 缁勭粐璺緞 | | sort_order | INTEGER | DEFAULT 0 | 鎺掑簭 | | status | SMALLINT | DEFAULT 1 | 鐘舵€?| | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT CURRENT_TIMESTAMP | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP(6) | NOT NULL, DEFAULT CURRENT_TIMESTAMP | 鏇存柊鏃堕棿 | | is_deleted | SMALLINT | DEFAULT 0 | 閫昏緫鍒犻櫎鏍囪 |

澶栭敭锛?- fk_org_parent锛歚parent_id -> sys_org(id)`

  • fk_org_tenant锛歚tenant_id -> sys_tenant(id)`

绱㈠紩锛?- idx_org_tenant锛歚(tenant_id)`

1. 鐢ㄦ埛涓庤鑹?

1.1 sys_user锛堢敤鎴疯〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | user_id | BIGSERIAL | PK | 鐢ㄦ埛ID | | username | VARCHAR(50) | NOT NULL, UNIQUE | 鐧诲綍鍚?| | display_name | VARCHAR(50) | NOT NULL | 鏄剧ず鍚?| | email | VARCHAR(100) | | 閭 | | phone | VARCHAR(30) | UNIQUE | 鎵嬫満鍙?| | password_hash | VARCHAR(255) | NOT NULL | 瀵嗙爜鍝堝笇 | | status | SMALLINT | NOT NULL, DEFAULT 1 | 鐘舵€?| | pwd_reset_required | SMALLINT | DEFAULT 1 | 棣栨鐧诲綍鏄惁闇€鏀瑰瘑 | | is_deleted | SMALLINT | NOT NULL, DEFAULT 0 | 閫昏緫鍒犻櫎鏍囪 | | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鏇存柊鏃堕棿 | | is_platform_admin | BOOLEAN | DEFAULT false | 鏄惁骞冲彴绠$悊鍛?|

绱㈠紩锛?- uk_user_username锛歚UNIQUE (username) WHERE is_deleted = FALSE`

1.2 sys_role锛堣鑹茶〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | role_id | BIGSERIAL | PK | 瑙掕壊ID | | tenant_id | BIGINT | NOT NULL | 绉熸埛ID | | role_code | VARCHAR(50) | NOT NULL | 瑙掕壊缂栫爜锛堢鎴峰唴鍞竴锛?| | role_name | VARCHAR(50) | NOT NULL | 瑙掕壊鍚嶇О | | status | SMALLINT | NOT NULL, DEFAULT 1 | 鐘舵€?| | remark | TEXT | | 澶囨敞 | | is_deleted | SMALLINT | NOT NULL, DEFAULT 0 | 閫昏緫鍒犻櫎鏍囪 | | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鏇存柊鏃堕棿 |

绱㈠紩锛?- idx_sys_role_tenant锛歚(tenant_id)`

  • uk_role_code锛歚UNIQUE (tenant_id, role_code) WHERE is_deleted = FALSE`

1.3 sys_user_role锛堢敤鎴?瑙掕壊鍏宠仈琛紝绉熸埛寮虹害鏉燂級

瀛楁 绫诲瀷 绾︽潫 璇存槑
id BIGSERIAL PK 鍏宠仈ID
tenant_id BIGINT NOT NULL 绉熸埛ID
user_id BIGINT NOT NULL 鐢ㄦ埛ID
role_id BIGINT NOT NULL 瑙掕壊ID
is_deleted SMALLINT NOT NULL, DEFAULT 0 閫昏緫鍒犻櫎鏍囪
created_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鍒涘缓鏃堕棿
updated_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鏇存柊鏃堕棿

鍞竴绾︽潫锛?- UNIQUE (tenant_id, user_id, role_id) WHERE is_deleted = 0

1.4 sys_tenant_user锛堢鎴锋垚鍛樺叧鑱旇〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGSERIAL | PK | 鍏宠仈ID | | user_id | BIGINT | NOT NULL | 鐢ㄦ埛ID | | tenant_id | BIGINT | NOT NULL | 绉熸埛ID | | org_id | BIGINT | | 缁勭粐ID | | status | SMALLINT | DEFAULT 1 | 鐘舵€?| | is_deleted | SMALLINT | DEFAULT 0 | 閫昏緫鍒犻櫎鏍囪 | | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鏇存柊鏃堕棿 |

绱㈠紩锛?- uk_tenant_user锛歚UNIQUE (user_id, tenant_id) WHERE is_deleted = 0`

2. 鏉冮檺/瀛楀吀/鍙傛暟锛堝叏灞€鍏变韩锛?

2.1 sys_permission锛堟潈闄愯〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | perm_id | BIGSERIAL | PK | 鏉冮檺ID | | parent_id | BIGINT | | 鐖剁骇鏉冮檺ID | | name | VARCHAR(100) | NOT NULL | 鏉冮檺鍚嶇О | | code | VARCHAR(100) | NOT NULL, UNIQUE | 鏉冮檺缂栫爜 | | perm_type | VARCHAR(20) | NOT NULL | 鏉冮檺绫诲瀷 | | level | INTEGER | NOT NULL | 灞傜骇 | | path | VARCHAR(255) | | 璺緞 | | component | VARCHAR(255) | | 缁勪欢 | | icon | VARCHAR(100) | | 鍥炬爣 | | sort_order | INTEGER | NOT NULL, DEFAULT 0 | 鎺掑簭 | | is_visible | SMALLINT | NOT NULL, DEFAULT 1 | 鏄惁鍙 | | status | SMALLINT | NOT NULL, DEFAULT 1 | 鐘舵€?| | description | TEXT | | 鎻忚堪 | | meta | JSONB | | 鎵╁睍淇℃伅 | | is_deleted | SMALLINT | NOT NULL, DEFAULT 0 | 閫昏緫鍒犻櫎鏍囪 | | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鏇存柊鏃堕棿 |

2.2 sys_dict_type锛堝瓧鍏哥被鍨嬭〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | dict_type_id | BIGSERIAL | PK | 绫诲瀷ID | | type_code | VARCHAR(50) | NOT NULL, UNIQUE | 绫诲瀷缂栫爜 | | type_name | VARCHAR(50) | NOT NULL | 绫诲瀷鍚嶇О | | status | SMALLINT | DEFAULT 1 | 鐘舵€?| | remark | TEXT | | 澶囨敞 | | created_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | 鏇存柊鏃堕棿 | | is_deleted | SMALLINT | DEFAULT 0 | 閫昏緫鍒犻櫎鏍囪 |

鍒濆鍖栨暟鎹細

  • sys_common_status: 閫氱敤鐘舵€?(鍚敤/绂佺敤)
  • sys_permission_type: 鏉冮檺绫诲瀷 (鐩綍/鑿滃崟/鎸夐挳)
  • sys_common_visibility: 鍙鎬?(鏄剧ず/闅愯棌)
  • sys_permission_level: 鏉冮檺灞傜骇 (1, 2, 3)
  • sys_log_type: 鏃ュ織绫诲瀷 (LOGIN/OPERATION)
  • sys_param_type: 鍙傛暟绫诲瀷 (String/Number/Boolean/JSON)
  • sys_log_status: 鎿嶄綔鐘舵€?(鎴愬姛/澶辫触)

2.3 sys_dict_item锛堝瓧鍏搁」琛級

瀛楁 绫诲瀷 绾︽潫 璇存槑
dict_item_id BIGSERIAL PK 瀛楀吀椤笽D
type_code VARCHAR(50) NOT NULL 瀛楀吀绫诲瀷缂栫爜
item_label VARCHAR(100) NOT NULL 灞曠ず鏂囨湰
item_value VARCHAR(100) NOT NULL 瀛樺偍鍊?
sort_order INT DEFAULT 0 鎺掑簭
status SMALLINT DEFAULT 1 鐘舵€?
created_at TIMESTAMP NOT NULL, DEFAULT NOW() 鍒涘缓鏃堕棿
updated_at TIMESTAMP NOT NULL, DEFAULT NOW() 鏇存柊鏃堕棿
is_deleted SMALLINT DEFAULT 0 閫昏緫鍒犻櫎鏍囪

绱㈠紩锛?- idx_dict_item_type锛歚(type_code)`

  • uk_dict_item_value锛歚UNIQUE (type_code, item_value)`

2.4 sys_param锛堢郴缁熷弬鏁拌〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGSERIAL | PK | 鍙傛暟ID | | param_key | VARCHAR(100) | NOT NULL, UNIQUE | 鍙傛暟閿?| | param_value | TEXT | NOT NULL | 鍙傛暟鍊?| | param_type | VARCHAR(20) | NOT NULL | 鍙傛暟绫诲瀷 | | is_system | SMALLINT | DEFAULT 0 | 鏄惁绯荤粺鍐呯疆 | | status | SMALLINT | DEFAULT 1 | 鐘舵€?| | description | TEXT | | 鎻忚堪 | | created_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | 鍒涘缓鏃堕棿 |

3. 鏃ュ織锛堢鎴烽殧绂伙級

3.1 sys_log锛堢郴缁熸棩蹇楄〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGSERIAL | PK | 鏃ュ織ID | | tenant_id | BIGINT | NOT NULL, DEFAULT 0 | 绉熸埛ID | | user_id | BIGINT | | 鐢ㄦ埛ID | | username | VARCHAR(50) | | 鐢ㄦ埛鍚?| | log_type | VARCHAR(20) | | 鏃ュ織绫诲瀷锛堝 LOGIN銆丱PERATION锛?| | operation | VARCHAR(100) | NOT NULL | 鎿嶄綔鎻忚堪 | | method | VARCHAR(200) | | 鏂规硶 | | params | TEXT | | 璇锋眰鍙傛暟 | | status | SMALLINT | DEFAULT 1 | 鐘舵€?| | ip | VARCHAR(50) | | IP | | duration | BIGINT | | 鑰楁椂锛坢s锛?| | created_at | TIMESTAMP | NOT NULL, DEFAULT NOW() | 鍒涘缓鏃堕棿 |

绱㈠紩锛?- idx_log_tenant_type锛歚(tenant_id, log_type, created_at)`

4. 骞冲彴閰嶇疆

4.1 sys_platform_config锛堝钩鍙扮鐞嗚〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGINT | PK | 鍥哄畾涓?1 | | project_name | VARCHAR(128) | NOT NULL | 椤圭洰鍚嶇О | | logo_url | VARCHAR(512) | | Logo URL | | icon_url | VARCHAR(512) | | Icon URL | | login_bg_url | VARCHAR(512) | | 鐧诲綍椤佃儗鏅?| | icp_info | VARCHAR(128) | | 澶囨淇℃伅 | | copyright_info | VARCHAR(255) | | 鐗堟潈淇℃伅 | | system_description | TEXT | | 绯荤粺鎻忚堪 | | created_at | TIMESTAMP | NOT NULL | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP | NOT NULL | 鏇存柊鏃堕棿 |

5. 涓氬姟妯″潡

5.1 biz_speakers锛堝0绾瑰彂瑷€浜鸿〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGSERIAL | PK | 涓婚敭ID | | tenant_id | BIGINT | NOT NULL | 绉熸埛ID | | creator_id | BIGINT | NOT NULL | 鍒涘缓浜篒D锛岀敤浜庡绾瑰簱褰掑睘 | | user_id | BIGINT | | 鍏宠仈绯荤粺鐢ㄦ埛ID | | external_speaker_id | VARCHAR(100) | | 绗笁鏂瑰绾瑰簱涓殑浜哄憳ID | | name | VARCHAR(100) | NOT NULL | 鍙戣█浜哄鍚?| | voice_path | VARCHAR(512) | | 鍘熷澹扮汗鏂囦欢璺緞 | | voice_ext | VARCHAR(10) | | 鏂囦欢鍚庣紑 | | voice_size | BIGINT | | 鏂囦欢澶у皬 | | status | SMALLINT | DEFAULT 1 | 鐘舵€侊紙1=宸蹭繚瀛橈紝2=娉ㄥ唽涓紝3=宸叉敞鍐岋紝4=澶辫触锛?| | embedding | VECTOR(512) | | 澹扮汗鐗瑰緛鍚戦噺 | | remark | TEXT | | 澶囨敞 | | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鏇存柊鏃堕棿 | | is_deleted | SMALLINT | NOT NULL, DEFAULT 0 | 閫昏緫鍒犻櫎 |

绱㈠紩锛?- idx_speaker_tenant锛歚(tenant_id) WHERE is_deleted = 0`

  • idx_speaker_creator锛歚(creator_id) WHERE is_deleted = 0`
  • idx_speaker_user锛歚(user_id) WHERE is_deleted = 0`
  • idx_speaker_external锛歚(external_speaker_id) WHERE is_deleted = 0`
  • uk_speaker_tenant_name锛歚UNIQUE (tenant_id, name) WHERE is_deleted = 0`

5.2 biz_hot_word_groups锛堢儹璇嶇粍琛級

瀛楁 绫诲瀷 绾︽潫 璇存槑
id BIGSERIAL PK 涓婚敭ID
tenant_id BIGINT NOT NULL 绉熸埛ID
group_name VARCHAR(100) NOT NULL 鐑瘝缁勫悕绉?
creator_id BIGINT 鍒涘缓浜篒D
status SMALLINT DEFAULT 1 鐘舵€侊紙1:鍚敤锛?:绂佺敤锛?
remark VARCHAR(255) 澶囨敞
created_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鍒涘缓鏃堕棿
updated_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鏇存柊鏃堕棿
is_deleted SMALLINT NOT NULL, DEFAULT 0 閫昏緫鍒犻櫎

绱㈠紩锛?- idx_hot_word_group_tenant锛歚(tenant_id) WHERE is_deleted = 0`

  • uk_hot_word_group_name_scope锛歚UNIQUE (tenant_id, group_name) WHERE is_deleted = 0`

5.3 biz_hot_words锛堢儹璇嶇鐞嗚〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGSERIAL | PK | 涓婚敭ID | | tenant_id | BIGINT | NOT NULL | 绉熸埛ID | | word | VARCHAR(100) | NOT NULL | 鐑瘝鍘熸枃 | | is_public | SMALLINT | DEFAULT 0 | 鏄惁绉熸埛鍏紑锛?:鍏紑锛?:涓汉绉佹湁锛?| | creator_id | BIGINT | | 鍒涘缓鑰匢D | | pinyin_list | TEXT | | 鎷奸煶鏁扮粍 | | match_strategy | SMALLINT | DEFAULT 1 | 鍖归厤绛栫暐锛?:绮剧‘鍖归厤锛?:鎷奸煶妯$硦鍖归厤锛?| | category | VARCHAR(50) | | 绫诲埆锛堜汉鍚嶃€佹湳璇€佸湴鍚嶏級 | | hot_word_group_id | BIGINT | | 鎵€灞炵儹璇嶇粍ID | | weight | INTEGER | DEFAULT 10 | 鏉冮噸锛?-100锛?| | status | SMALLINT | DEFAULT 1 | 鐘舵€侊紙1:鍚敤锛?:绂佺敤锛?| | is_synced | SMALLINT | DEFAULT 0 | 鏄惁宸插悓姝ョ涓夋柟寮曟搸锛?:鏈悓姝ワ紝1:宸插悓姝ワ級 | | remark | TEXT | | 澶囨敞 | | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鍒涘缓鏃堕棿 | | updated_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鏇存柊鏃堕棿 | | is_deleted | SMALLINT | NOT NULL, DEFAULT 0 | 閫昏緫鍒犻櫎 |

绱㈠紩锛?- idx_hotword_tenant锛歚(tenant_id)`

  • idx_hotword_word锛歚(word) WHERE is_deleted = 0`
  • idx_hotword_group锛歚(hot_word_group_id) WHERE is_deleted = 0`

5.4 biz_prompt_templates锛堟彁绀鸿瘝妯℃澘琛級

瀛楁 绫诲瀷 绾︽潫 璇存槑
id BIGSERIAL PK 涓婚敭ID
tenant_id BIGINT NOT NULL, DEFAULT 0 绉熸埛ID锛? 涓虹郴缁熺骇锛?
template_name VARCHAR(100) NOT NULL 妯℃澘鍚嶇О
description VARCHAR(255) 妯℃澘鎻忚堪
category VARCHAR(20) 鍒嗙被锛堝瓧鍏革細biz_prompt_category锛?
is_system SMALLINT DEFAULT 0 鏄惁绯荤粺棰勭疆锛?:鏄紝0:鍚︼級
creator_id BIGINT 鍒涘缓浜篒D
tags TEXT 鏍囩鏁扮粍
hot_word_group_id BIGINT 缁戝畾鐑瘝缁処D
usage_count INTEGER DEFAULT 0 浣跨敤娆℃暟
prompt_content TEXT NOT NULL 鎻愮ず璇嶅唴瀹?
status SMALLINT DEFAULT 1 鐘舵€侊紙1:鍚敤锛?:绂佺敤锛?
remark VARCHAR(255) 澶囨敞
created_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鍒涘缓鏃堕棿
updated_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鏇存柊鏃堕棿
is_deleted SMALLINT NOT NULL, DEFAULT 0 閫昏緫鍒犻櫎

绱㈠紩锛?- idx_prompt_tenant锛歚(tenant_id)`

  • idx_prompt_system锛歚(is_system) WHERE is_deleted = 0`
  • idx_prompt_group锛歚(hot_word_group_id) WHERE is_deleted = 0`

5.5 biz_asr_models锛圓SR 妯″瀷閰嶇疆琛級

瀛楁 绫诲瀷 绾︽潫 璇存槑
id BIGSERIAL PK 涓婚敭ID
tenant_id BIGINT NOT NULL, DEFAULT 0 绉熸埛ID
model_name VARCHAR(100) NOT NULL 妯″瀷鏄剧ず鍚嶇О
provider VARCHAR(50) 鎻愪緵鍟?
base_url VARCHAR(255) 鎺ュ彛鍩虹鍦板潃
api_key VARCHAR(255) API 瀵嗛挜
model_code VARCHAR(100) 妯″瀷浠g爜
ws_url VARCHAR(255) WebSocket 鍦板潃
media_config TEXT 濯掍綋鍙傛暟
is_default SMALLINT DEFAULT 0 榛樿妯″瀷鏍囪
sort_order INTEGER NOT NULL, DEFAULT 0 鎺掑簭鍊硷紝瓒婂皬瓒婇潬鍓?
status SMALLINT DEFAULT 1 鐘舵€?
remark VARCHAR(255) 澶囨敞
created_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鍒涘缓鏃堕棿
updated_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鏇存柊鏃堕棿
is_deleted SMALLINT NOT NULL, DEFAULT 0 閫昏緫鍒犻櫎

绱㈠紩锛?- idx_asr_model_tenant锛歚(tenant_id)`

  • idx_asr_model_default锛歚(is_default) WHERE is_deleted = 0`
  • idx_asr_model_sort_order锛歚(tenant_id, is_default, sort_order) WHERE is_deleted = 0`
  • uk_asr_model_default_enabled_tenant锛歚(tenant_id) WHERE is_deleted = 0 AND status = 1 AND is_default = 1`

5.6 biz_llm_models锛圠LM 妯″瀷閰嶇疆琛級

瀛楁 绫诲瀷 绾︽潫 璇存槑
id BIGSERIAL PK 涓婚敭ID
tenant_id BIGINT NOT NULL, DEFAULT 0 绉熸埛ID
model_name VARCHAR(100) NOT NULL 妯″瀷鏄剧ず鍚嶇О
provider VARCHAR(50) 鎻愪緵鍟?
base_url VARCHAR(255) 鎺ュ彛鍩虹鍦板潃
api_path VARCHAR(100) API 璺緞
api_key VARCHAR(255) API 瀵嗛挜
model_code VARCHAR(100) 妯″瀷浠g爜
temperature DECIMAL(3,2) DEFAULT 0.7 娓╁害鍙傛暟
top_p DECIMAL(3,2) DEFAULT 0.9 Top P 鍙傛暟
is_default SMALLINT DEFAULT 0 榛樿妯″瀷鏍囪
sort_order INTEGER NOT NULL, DEFAULT 0 鎺掑簭鍊硷紝瓒婂皬瓒婇潬鍓?
status SMALLINT DEFAULT 1 鐘舵€?
remark VARCHAR(255) 澶囨敞
created_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鍒涘缓鏃堕棿
updated_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鏇存柊鏃堕棿
is_deleted SMALLINT NOT NULL, DEFAULT 0 閫昏緫鍒犻櫎

绱㈠紩锛?- idx_llm_model_tenant锛歚(tenant_id)`

  • idx_llm_model_default锛歚(is_default) WHERE is_deleted = 0`
  • idx_llm_model_sort_order锛歚(tenant_id, is_default, sort_order) WHERE is_deleted = 0`
  • uk_llm_model_default_enabled_tenant锛歚(tenant_id) WHERE is_deleted = 0 AND status = 1 AND is_default = 1`

5.7 biz_meetings锛堜細璁富琛級

瀛楁 绫诲瀷 绾︽潫 璇存槑
id BIGSERIAL PK 涓婚敭ID
tenant_id BIGINT NOT NULL, DEFAULT 0 绉熸埛ID
title VARCHAR(200) NOT NULL 浼氳鏍囬
meeting_time TIMESTAMP(6) 浼氳鏃堕棿
participants TEXT 鍙備細浜轰俊鎭?
tags VARCHAR(255) 鏍囩
audio_url VARCHAR(500) 涓撳睘闊抽璺緞
meeting_type VARCHAR(32) 会议类型OFFLINE / REALTIME
meeting_source VARCHAR(32) 会议来源平台WEB / ANDROID
creator_id BIGINT 鍙戣捣浜篒D
creator_name VARCHAR(100) 鍙戣捣浜哄鍚?
latest_summary_task_id BIGINT 鏈€鏂版垚鍔熸€荤粨浠诲姟ID
status SMALLINT DEFAULT 0 鐘舵€侊紙0:寰呭鐞嗭紝1:澶勭悊涓紝2:鎴愬姛锛?:澶辫触锛?
created_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鍒涘缓鏃堕棿
updated_at TIMESTAMP(6) NOT NULL, DEFAULT now() 鏇存柊鏃堕棿
is_deleted SMALLINT NOT NULL, DEFAULT 0 閫昏緫鍒犻櫎

绱㈠紩锛?- idx_meeting_tenant锛歚(tenant_id)`

5.8 biz_meeting_transcripts锛堣浆褰曟槑缁嗚〃锛?| 瀛楁 | 绫诲瀷 | 绾︽潫 | 璇存槑 |

| --- | --- | --- | --- | | id | BIGSERIAL | PK | 涓婚敭ID | | meeting_id | BIGINT | NOT NULL | 鍏宠仈浼氳ID | | speaker_id | VARCHAR(50) | | ASR 杩斿洖鐨勫彂瑷€浜烘爣璇?| | speaker_name | VARCHAR(100) | | 淇敼鍚庣殑鍙戣█浜哄鍚?| | speaker_label | VARCHAR(50) | | 鍙戣█浜烘爣绛?| | content | TEXT | | 杞綍鍐呭 | | start_time | INTEGER | | 寮€濮嬫椂闂达紙ms锛?| | end_time | INTEGER | | 缁撴潫鏃堕棿锛坢s锛?| | sort_order | INTEGER | | 鎺掑簭 | | created_at | TIMESTAMP(6) | NOT NULL, DEFAULT now() | 鍒涘缓鏃堕棿 |

绱㈠紩锛?- idx_transcript_meeting锛歚(meeting_id)`

5.9 biz_ai_tasks锛圓I 浠诲姟娴佹按琛級

瀛楁 绫诲瀷 绾︽潫 璇存槑
id BIGSERIAL PK 涓婚敭ID
meeting_id BIGINT NOT NULL 鍏宠仈浼氳ID
task_type VARCHAR(20) 浠诲姟绫诲瀷锛圓SR / SUMMARY锛?
status SMALLINT DEFAULT 0 鐘舵€侊紙0:鎺掗槦锛?:鎵ц涓紝2:鎴愬姛锛?:澶辫触锛?
request_data TEXT 璇锋眰涓夋柟鍘熷 JSON
response_data TEXT 涓夋柟杩斿洖鍘熷 JSON
task_config TEXT 浠诲姟閰嶇疆鍙傛暟蹇収
result_file_path VARCHAR(500) 缁撴灉鏂囦欢璺緞
error_msg TEXT 閿欒鍫嗘爤
started_at TIMESTAMP(6) 寮€濮嬫椂闂?
completed_at TIMESTAMP(6) 瀹屾垚鏃堕棿

绱㈠紩锛?- idx_aitask_meeting锛歚(meeting_id)`