🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
435 lines
26 KiB
SQL
435 lines
26 KiB
SQL
-- 光明科学城科技成果转化平台数据库初始化脚本
|
|
-- 创建时间: 2024-10-07
|
|
-- 版本: 1.0.0
|
|
|
|
SET NAMES utf8mb4;
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- 创建数据库(如果不存在)
|
|
CREATE DATABASE IF NOT EXISTS `gmc_platform`
|
|
DEFAULT CHARACTER SET utf8mb4
|
|
DEFAULT COLLATE utf8mb4_unicode_ci;
|
|
|
|
USE `gmc_platform`;
|
|
|
|
-- =============================================================================
|
|
-- 1. 系统基础表
|
|
-- =============================================================================
|
|
|
|
-- 系统用户表
|
|
DROP TABLE IF EXISTS `sys_user`;
|
|
CREATE TABLE `sys_user` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
|
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
|
|
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '密码(加密)',
|
|
`real_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '真实姓名',
|
|
`email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '邮箱',
|
|
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '手机号',
|
|
`avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '头像URL',
|
|
`gender` tinyint DEFAULT '0' COMMENT '性别(0:未知,1:男,2:女)',
|
|
`birthday` date COMMENT '生日',
|
|
`status` tinyint DEFAULT '1' COMMENT '状态(0:禁用,1:启用)',
|
|
`user_type` tinyint NOT NULL COMMENT '用户类型(1:管理员,2:机构用户,3:企业用户,4:个人用户)',
|
|
`sso_user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'SSO系统用户ID',
|
|
`last_login_time` timestamp NULL DEFAULT NULL COMMENT '最后登录时间',
|
|
`last_login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '最后登录IP',
|
|
`login_count` int DEFAULT '0' COMMENT '登录次数',
|
|
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '备注',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_username` (`username`),
|
|
UNIQUE KEY `uk_email` (`email`),
|
|
UNIQUE KEY `uk_phone` (`phone`),
|
|
KEY `idx_sso_user_id` (`sso_user_id`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_user_type` (`user_type`),
|
|
KEY `idx_created_at` (`created_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统用户表';
|
|
|
|
-- 系统角色表
|
|
DROP TABLE IF EXISTS `sys_role`;
|
|
CREATE TABLE `sys_role` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID',
|
|
`role_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色编码',
|
|
`role_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色名称',
|
|
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '角色描述',
|
|
`status` tinyint DEFAULT '1' COMMENT '状态(0:禁用,1:启用)',
|
|
`sort_order` int DEFAULT '0' COMMENT '排序',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_role_code` (`role_code`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_sort_order` (`sort_order`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统角色表';
|
|
|
|
-- 用户角色关联表
|
|
DROP TABLE IF EXISTS `sys_user_role`;
|
|
CREATE TABLE `sys_user_role` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '关联ID',
|
|
`user_id` bigint NOT NULL COMMENT '用户ID',
|
|
`role_id` bigint NOT NULL COMMENT '角色ID',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_user_role` (`user_id`,`role_id`),
|
|
KEY `idx_user_id` (`user_id`),
|
|
KEY `idx_role_id` (`role_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户角色关联表';
|
|
|
|
-- 系统权限表
|
|
DROP TABLE IF EXISTS `sys_permission`;
|
|
CREATE TABLE `sys_permission` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '权限ID',
|
|
`parent_id` bigint DEFAULT '0' COMMENT '父权限ID',
|
|
`permission_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '权限编码',
|
|
`permission_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '权限名称',
|
|
`permission_type` tinyint NOT NULL COMMENT '权限类型(1:菜单,2:按钮,3:接口)',
|
|
`menu_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '菜单URL',
|
|
`menu_icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '菜单图标',
|
|
`api_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'API地址',
|
|
`api_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'HTTP方法',
|
|
`status` tinyint DEFAULT '1' COMMENT '状态(0:禁用,1:启用)',
|
|
`sort_order` int DEFAULT '0' COMMENT '排序',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_permission_code` (`permission_code`),
|
|
KEY `idx_parent_id` (`parent_id`),
|
|
KEY `idx_permission_type` (`permission_type`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_sort_order` (`sort_order`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统权限表';
|
|
|
|
-- 角色权限关联表
|
|
DROP TABLE IF EXISTS `sys_role_permission`;
|
|
CREATE TABLE `sys_role_permission` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '关联ID',
|
|
`role_id` bigint NOT NULL COMMENT '角色ID',
|
|
`permission_id` bigint NOT NULL COMMENT '权限ID',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_role_permission` (`role_id`,`permission_id`),
|
|
KEY `idx_role_id` (`role_id`),
|
|
KEY `idx_permission_id` (`permission_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色权限关联表';
|
|
|
|
-- 系统字典表
|
|
DROP TABLE IF EXISTS `sys_dict`;
|
|
CREATE TABLE `sys_dict` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典ID',
|
|
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典类型',
|
|
`dict_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典键',
|
|
`dict_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典值',
|
|
`dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典标签',
|
|
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '描述',
|
|
`sort_order` int DEFAULT '0' COMMENT '排序',
|
|
`status` tinyint DEFAULT '1' COMMENT '状态(0:禁用,1:启用)',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_dict_type_key` (`dict_type`,`dict_key`),
|
|
KEY `idx_dict_type` (`dict_type`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_sort_order` (`sort_order`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统字典表';
|
|
|
|
-- =============================================================================
|
|
-- 2. 机构相关表
|
|
-- =============================================================================
|
|
|
|
-- 系统机构表
|
|
DROP TABLE IF EXISTS `sys_institution`;
|
|
CREATE TABLE `sys_institution` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '机构ID',
|
|
`parent_id` bigint DEFAULT '0' COMMENT '上级机构ID',
|
|
`institution_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '机构编码',
|
|
`institution_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '机构名称',
|
|
`institution_type` tinyint NOT NULL COMMENT '机构类型(1:科研院所,2:高等院校,3:企业,4:服务机构)',
|
|
`legal_representative` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '法定代表人',
|
|
`contact_person` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '联系人',
|
|
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '联系电话',
|
|
`contact_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '联系邮箱',
|
|
`address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '机构地址',
|
|
`postal_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '邮政编码',
|
|
`website` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '官方网站',
|
|
`logo` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '机构logo',
|
|
`introduction` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '机构简介',
|
|
`business_scope` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '业务范围',
|
|
`registered_capital` decimal(15,2) COMMENT '注册资本',
|
|
`established_date` date COMMENT '成立日期',
|
|
`certification_status` tinyint DEFAULT '0' COMMENT '认证状态(0:未认证,1:认证中,2:已认证,3:认证失败)',
|
|
`certification_time` timestamp NULL DEFAULT NULL COMMENT '认证时间',
|
|
`status` tinyint DEFAULT '1' COMMENT '状态(0:禁用,1:启用)',
|
|
`sort_order` int DEFAULT '0' COMMENT '排序',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_institution_code` (`institution_code`),
|
|
KEY `idx_parent_id` (`parent_id`),
|
|
KEY `idx_institution_type` (`institution_type`),
|
|
KEY `idx_certification_status` (`certification_status`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_created_at` (`created_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统机构表';
|
|
|
|
-- =============================================================================
|
|
-- 3. 分类相关表
|
|
-- =============================================================================
|
|
|
|
-- 系统分类表
|
|
DROP TABLE IF EXISTS `sys_category`;
|
|
CREATE TABLE `sys_category` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类ID',
|
|
`parent_id` bigint DEFAULT '0' COMMENT '父分类ID',
|
|
`category_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类编码',
|
|
`category_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类名称',
|
|
`category_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类类型',
|
|
`level` int DEFAULT '1' COMMENT '分类层级',
|
|
`icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '分类图标',
|
|
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '分类描述',
|
|
`sort_order` int DEFAULT '0' COMMENT '排序',
|
|
`status` tinyint DEFAULT '1' COMMENT '状态(0:禁用,1:启用)',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_category_code` (`category_code`),
|
|
KEY `idx_parent_id` (`parent_id`),
|
|
KEY `idx_category_type` (`category_type`),
|
|
KEY `idx_level` (`level`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_sort_order` (`sort_order`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统分类表';
|
|
|
|
-- =============================================================================
|
|
-- 4. 科技成果相关表
|
|
-- =============================================================================
|
|
|
|
-- 科技成果表
|
|
DROP TABLE IF EXISTS `tech_achievement`;
|
|
CREATE TABLE `tech_achievement` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '成果ID',
|
|
`title` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '成果名称',
|
|
`subtitle` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '副标题',
|
|
`abstract` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '成果摘要',
|
|
`description` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '详细描述',
|
|
`category_id` bigint COMMENT '一级分类ID',
|
|
`sub_category_id` bigint COMMENT '二级分类ID',
|
|
`tech_fields` json COMMENT '技术领域标签',
|
|
`industry_fields` json COMMENT '应用行业标签',
|
|
`keywords` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '关键词',
|
|
`maturity_level` tinyint COMMENT '技术成熟度(1-9级)',
|
|
`innovation_level` tinyint COMMENT '创新程度(1-5级)',
|
|
`application_scope` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '应用范围',
|
|
`patent_count` int DEFAULT '0' COMMENT '相关专利数量',
|
|
`paper_count` int DEFAULT '0' COMMENT '相关论文数量',
|
|
`institution_id` bigint NOT NULL COMMENT '所属机构ID',
|
|
`principal_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '负责人姓名',
|
|
`principal_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '负责人职务',
|
|
`contact_person` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '联系人',
|
|
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '联系电话',
|
|
`contact_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '联系邮箱',
|
|
`investment_need` decimal(15,2) COMMENT '所需投资金额',
|
|
`cooperation_mode` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '合作方式',
|
|
`market_prospect` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '市场前景',
|
|
`expected_revenue` decimal(15,2) COMMENT '预期收益',
|
|
`cover_image` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '封面图片',
|
|
`images` json COMMENT '相关图片',
|
|
`videos` json COMMENT '相关视频',
|
|
`attachments` json COMMENT '附件信息',
|
|
`status` tinyint DEFAULT '0' COMMENT '状态(0:草稿,1:待审核,2:已发布,3:已下架)',
|
|
`audit_status` tinyint DEFAULT '0' COMMENT '审核状态(0:未审核,1:审核中,2:审核通过,3:审核拒绝)',
|
|
`audit_comment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '审核意见',
|
|
`auditor_id` bigint COMMENT '审核人ID',
|
|
`audit_time` timestamp NULL DEFAULT NULL COMMENT '审核时间',
|
|
`view_count` int DEFAULT '0' COMMENT '浏览次数',
|
|
`favorite_count` int DEFAULT '0' COMMENT '收藏次数',
|
|
`match_count` int DEFAULT '0' COMMENT '匹配次数',
|
|
`cooperation_count` int DEFAULT '0' COMMENT '合作次数',
|
|
`embedding_vector` json COMMENT '向量表示',
|
|
`ai_score` decimal(5,3) COMMENT 'AI评估分数',
|
|
`ai_analysis` json COMMENT 'AI分析结果',
|
|
`creator_id` bigint NOT NULL COMMENT '创建人ID',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`published_at` timestamp NULL DEFAULT NULL COMMENT '发布时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_title` (`title`(100)),
|
|
KEY `idx_category` (`category_id`,`sub_category_id`),
|
|
KEY `idx_institution` (`institution_id`),
|
|
KEY `idx_maturity` (`maturity_level`),
|
|
KEY `idx_status` (`status`,`audit_status`),
|
|
KEY `idx_creator` (`creator_id`),
|
|
KEY `idx_published` (`published_at` DESC),
|
|
KEY `idx_stats` (`view_count` DESC,`favorite_count` DESC),
|
|
FULLTEXT KEY `idx_content` (`title`,`abstract`,`description`,`keywords`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='科技成果表';
|
|
|
|
-- =============================================================================
|
|
-- 5. 技术需求相关表
|
|
-- =============================================================================
|
|
|
|
-- 技术需求表
|
|
DROP TABLE IF EXISTS `tech_requirement`;
|
|
CREATE TABLE `tech_requirement` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '需求ID',
|
|
`title` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '需求标题',
|
|
`description` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '需求详细描述',
|
|
`technical_requirement` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '技术要求',
|
|
`expected_effect` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '预期效果',
|
|
`category_id` bigint COMMENT '技术领域ID',
|
|
`sub_category_id` bigint COMMENT '子领域ID',
|
|
`tech_fields` json COMMENT '技术领域标签',
|
|
`industry` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '所属行业',
|
|
`application_scenario` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '应用场景',
|
|
`keywords` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '关键词',
|
|
`urgency_level` tinyint NOT NULL COMMENT '紧急程度(1-5级)',
|
|
`difficulty_level` tinyint COMMENT '技术难度(1-5级)',
|
|
`expected_maturity` tinyint COMMENT '期望成熟度(1-9级)',
|
|
`cooperation_mode` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '期望合作方式',
|
|
`budget_min` decimal(15,2) COMMENT '预算下限',
|
|
`budget_max` decimal(15,2) COMMENT '预算上限',
|
|
`budget_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '预算说明',
|
|
`expected_duration` int COMMENT '期望完成周期(天)',
|
|
`deadline` date COMMENT '最后期限',
|
|
`milestone_requirements` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '里程碑要求',
|
|
`company_id` bigint NOT NULL COMMENT '发布企业ID',
|
|
`contact_person` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '联系人',
|
|
`contact_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '联系人职务',
|
|
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '联系电话',
|
|
`contact_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '联系邮箱',
|
|
`region_preference` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '地域偏好',
|
|
`location_requirement` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '地点要求',
|
|
`status` tinyint DEFAULT '1' COMMENT '状态(0:草稿,1:发布中,2:匹配中,3:进行中,4:已完成,5:已关闭)',
|
|
`audit_status` tinyint DEFAULT '0' COMMENT '审核状态',
|
|
`close_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '关闭原因',
|
|
`view_count` int DEFAULT '0' COMMENT '浏览次数',
|
|
`apply_count` int DEFAULT '0' COMMENT '申请次数',
|
|
`match_count` int DEFAULT '0' COMMENT '匹配次数',
|
|
`embedding_vector` json COMMENT '向量表示',
|
|
`ai_analysis` json COMMENT 'AI分析结果',
|
|
`creator_id` bigint NOT NULL COMMENT '创建人ID',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`published_at` timestamp NULL DEFAULT NULL COMMENT '发布时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_title` (`title`(100)),
|
|
KEY `idx_category` (`category_id`,`sub_category_id`),
|
|
KEY `idx_company` (`company_id`),
|
|
KEY `idx_urgency` (`urgency_level`),
|
|
KEY `idx_budget` (`budget_min`,`budget_max`),
|
|
KEY `idx_deadline` (`deadline`),
|
|
KEY `idx_status` (`status`,`audit_status`),
|
|
KEY `idx_creator` (`creator_id`),
|
|
FULLTEXT KEY `idx_content` (`title`,`description`,`technical_requirement`,`keywords`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='技术需求表';
|
|
|
|
-- =============================================================================
|
|
-- 6. 匹配相关表
|
|
-- =============================================================================
|
|
|
|
-- 匹配记录表
|
|
DROP TABLE IF EXISTS `matching_record`;
|
|
CREATE TABLE `matching_record` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '匹配记录ID',
|
|
`requirement_id` bigint NOT NULL COMMENT '需求ID',
|
|
`achievement_id` bigint NOT NULL COMMENT '成果ID',
|
|
`match_type` tinyint NOT NULL COMMENT '匹配类型(1:AI推荐,2:用户搜索,3:人工匹配)',
|
|
`match_algorithm` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '匹配算法版本',
|
|
`semantic_score` decimal(5,3) COMMENT '语义相似度得分',
|
|
`technical_score` decimal(5,3) COMMENT '技术匹配得分',
|
|
`business_score` decimal(5,3) COMMENT '商业匹配得分',
|
|
`final_score` decimal(5,3) NOT NULL COMMENT '最终综合得分',
|
|
`match_reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '匹配原因说明',
|
|
`match_details` json COMMENT '详细匹配信息',
|
|
`confidence_level` decimal(5,3) COMMENT '置信度',
|
|
`cooperation_stage` tinyint DEFAULT '1' COMMENT '合作阶段(1:推荐,2:关注,3:接触,4:洽谈,5:签约,6:合作,7:完成,8:终止)',
|
|
`stage_update_time` timestamp NULL DEFAULT NULL COMMENT '阶段更新时间',
|
|
`broker_id` bigint COMMENT '技术经纪人ID',
|
|
`requirement_user_id` bigint COMMENT '需求方用户ID',
|
|
`achievement_user_id` bigint COMMENT '成果方用户ID',
|
|
`first_contact_time` timestamp NULL DEFAULT NULL COMMENT '首次联系时间',
|
|
`last_contact_time` timestamp NULL DEFAULT NULL COMMENT '最后联系时间',
|
|
`contact_count` int DEFAULT '0' COMMENT '联系次数',
|
|
`communication_notes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '沟通备注',
|
|
`requirement_feedback` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '需求方反馈',
|
|
`achievement_feedback` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '成果方反馈',
|
|
`satisfaction_score` tinyint COMMENT '满意度评分(1-5)',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
`deleted` tinyint DEFAULT '0' COMMENT '是否删除(0:否,1:是)',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_requirement_achievement` (`requirement_id`,`achievement_id`),
|
|
KEY `idx_requirement` (`requirement_id`),
|
|
KEY `idx_achievement` (`achievement_id`),
|
|
KEY `idx_score` (`final_score` DESC),
|
|
KEY `idx_stage` (`cooperation_stage`),
|
|
KEY `idx_broker` (`broker_id`),
|
|
KEY `idx_created` (`created_at` DESC)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='匹配记录表';
|
|
|
|
-- =============================================================================
|
|
-- 7. 行为分析表
|
|
-- =============================================================================
|
|
|
|
-- 用户行为分析表
|
|
DROP TABLE IF EXISTS `user_behavior`;
|
|
CREATE TABLE `user_behavior` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '行为ID',
|
|
`user_id` bigint NOT NULL COMMENT '用户ID',
|
|
`behavior_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '行为类型',
|
|
`target_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '目标类型',
|
|
`target_id` bigint COMMENT '目标ID',
|
|
`behavior_data` json COMMENT '行为详细数据',
|
|
`session_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '会话ID',
|
|
`ip_address` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'IP地址',
|
|
`user_agent` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '用户代理',
|
|
`referrer` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '来源页面',
|
|
`duration` int COMMENT '持续时间(秒)',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发生时间',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_behavior` (`user_id`,`behavior_type`),
|
|
KEY `idx_target` (`target_type`,`target_id`),
|
|
KEY `idx_session` (`session_id`),
|
|
KEY `idx_created` (`created_at` DESC)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户行为分析表';
|
|
|
|
-- =============================================================================
|
|
-- 8. 系统日志表
|
|
-- =============================================================================
|
|
|
|
-- 系统操作日志表
|
|
DROP TABLE IF EXISTS `sys_operation_log`;
|
|
CREATE TABLE `sys_operation_log` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID',
|
|
`user_id` bigint COMMENT '操作用户ID',
|
|
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '用户名',
|
|
`operation_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作类型',
|
|
`operation_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作名称',
|
|
`method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '请求方法',
|
|
`request_uri` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '请求URI',
|
|
`request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'HTTP方法',
|
|
`request_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '请求参数',
|
|
`response_result` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '响应结果',
|
|
`error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '错误信息',
|
|
`execution_time` int COMMENT '执行时间(毫秒)',
|
|
`ip_address` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'IP地址',
|
|
`user_agent` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '用户代理',
|
|
`status` tinyint DEFAULT '1' COMMENT '状态(0:失败,1:成功)',
|
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`),
|
|
KEY `idx_operation_type` (`operation_type`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_created_at` (`created_at` DESC)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统操作日志表';
|
|
|
|
SET FOREIGN_KEY_CHECKS = 1; |