-- 企业部门表
DROP TABLE IF EXISTS `corp_department`;

CREATE TABLE `corp_department` (
    `id` BIGINT(20) NOT NULL COMMENT '部门ID（企业微信部门ID）',
    `parentid` BIGINT(20) DEFAULT NULL COMMENT '父部门ID',
    `order_no` BIGINT(20) DEFAULT NULL COMMENT '部门排序',
    `name` VARCHAR(200) NOT NULL COMMENT '部门名称',
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    PRIMARY KEY (`id`),
    INDEX `idx_parentid` (`parentid`),
    INDEX `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业部门表';


-- 企业员工表
DROP TABLE IF EXISTS `corp_user`;

CREATE TABLE `corp_user` (
    `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `userid` VARCHAR(100) NOT NULL COMMENT '员工ID（企业微信userid）',
    `depart_id` BIGINT(20) DEFAULT NULL COMMENT '主部门ID',
    `department_ids` VARCHAR(500) DEFAULT NULL COMMENT '所属部门ID列表（JSON格式）',
    `department_name` VARCHAR(500) DEFAULT NULL COMMENT '部门名称',
    `name` VARCHAR(100) NOT NULL COMMENT '员工姓名',
    `mobile` VARCHAR(50) DEFAULT NULL COMMENT '手机号',
    `email` VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
    `alias` VARCHAR(100) DEFAULT NULL COMMENT '别名',
    `open_userid` VARCHAR(100) DEFAULT NULL COMMENT '全局唯一ID',
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_userid` (`userid`),
    INDEX `idx_depart_id` (`depart_id`),
    INDEX `idx_name` (`name`),
    INDEX `idx_mobile` (`mobile`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业员工表';
