-- 用户表
CREATE TABLE `portal_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `username` varchar(50) NOT NULL COMMENT '用户名',
  `password` varchar(100) NOT NULL COMMENT '密码',
  `token` varchar(100) DEFAULT NULL COMMENT '登录token',
  `creator` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '创建者',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '更新者',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' NOT NULL COMMENT '是否删除',
  `tenant_id` bigint(20) DEFAULT 0 NOT NULL COMMENT '租户编号',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

-- 职位表
CREATE TABLE `portal_job_post` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `title` varchar(100) NOT NULL COMMENT '职位标题',
  `description` text COMMENT '职位描述',
  `requirement` text COMMENT '职位要求',
  `city_id` bigint(20) NOT NULL COMMENT '城市ID',
  `job_category_id` bigint(20) NOT NULL COMMENT '职位类别ID',
  `publish_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
  `creator` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '创建者',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '更新者',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' NOT NULL COMMENT '是否删除',
  `tenant_id` bigint(20) DEFAULT 0 NOT NULL COMMENT '租户编号',
  PRIMARY KEY (`id`),
  KEY `idx_city` (`city_id`),
  KEY `idx_category` (`job_category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='职位表';

-- 城市表
CREATE TABLE `portal_city` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `name` varchar(50) NOT NULL COMMENT '城市名称',
  `code` varchar(20) NOT NULL COMMENT '城市编码',
  `creator` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '创建者',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '更新者',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' NOT NULL COMMENT '是否删除',
  `tenant_id` bigint(20) DEFAULT 0 NOT NULL COMMENT '租户编号',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='城市表';

-- 职位类别表
CREATE TABLE `portal_job_category` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `name` varchar(50) NOT NULL COMMENT '类别名称',
  `parent_id` bigint(20) DEFAULT NULL COMMENT '父类别ID',
  `creator` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '创建者',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '更新者',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' NOT NULL COMMENT '是否删除',
  `tenant_id` bigint(20) DEFAULT 0 NOT NULL COMMENT '租户编号',
  PRIMARY KEY (`id`),
  KEY `idx_parent` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='职位类别表';

-- 新闻表
CREATE TABLE `portal_news` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `news_title` varchar(200) NOT NULL COMMENT '新闻标题',
  `news_desc` varchar(500) DEFAULT NULL COMMENT '新闻描述',
  `news_content` text NOT NULL COMMENT '新闻内容',
  `news_path` varchar(100) NOT NULL COMMENT '新闻路径',
  `cover_img` varchar(255) DEFAULT NULL COMMENT '封面图片',
  `news_type_id` bigint(20) NOT NULL COMMENT '新闻类型ID',
  `publish_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
  `creator` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '创建者',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '更新者',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' NOT NULL COMMENT '是否删除',
  `tenant_id` bigint(20) DEFAULT 0 NOT NULL COMMENT '租户编号',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_path` (`news_path`),
  KEY `idx_type` (`news_type_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='新闻表';

-- 新闻类型表
CREATE TABLE `portal_news_type` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `type_name` varchar(50) NOT NULL COMMENT '类型名称',
  `creator` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '创建者',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_bin DEFAULT '' NULL COMMENT '更新者',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' NOT NULL COMMENT '是否删除',
  `tenant_id` bigint(20) DEFAULT 0 NOT NULL COMMENT '租户编号',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='新闻类型表'; 