

CREATE TABLE `TB_U_USER` (
  `ID` VARCHAR(100) NOT NULL COMMENT '',
  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
  `DELETED` INT(1) COMMENT '是否删除',
  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
  `ADD_TIME` DATETIME COMMENT '创建时间',
  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
  `EDIT_TIME` DATETIME COMMENT '修改时间',
  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
  `DELETE_TIME` DATETIME COMMENT '删除时间',

  `USERNAME` VARCHAR(200) NOT NULL COMMENT '账号',
  `PASSWORD` VARCHAR(200) NOT NULL COMMENT '密码',

  `ENABLED` INT(11) NOT NULL COMMENT '是否可用，1 可用，0 不可用，默认：1',
  `ACCOUNT_NON_EXPIRED` INT(11) NOT NULL COMMENT '账号未过期，1 未过期，0 过期，默认：1',
  `ACCOUNT_NON_LOCKED` INT(11) NOT NULL COMMENT '账号未锁定，1 未锁定，0 锁定，默认：1',
  `CREDENTIALS_NON_EXPIRED` INT(11) NOT NULL COMMENT '密码未过期，1 未过期，0 过期，默认：1',

  `NAME` VARCHAR(200) NOT NULL COMMENT '姓名',
  `STATUS` VARCHAR(10) NOT NULL COMMENT '状态（1 启用，0 停用）',

  `MOBILE` VARCHAR(100) COMMENT '登录手机',
  `EMAIL` VARCHAR(100) COMMENT '登录邮箱',

  PRIMARY KEY (`ID`),
  UNIQUE KEY `UQ_USERNAME` (`USERNAME`)
)
COMMENT = '用户表';



CREATE TABLE `TB_U_GROUP` (
  `ID` VARCHAR(100) NOT NULL COMMENT '',
  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
  `DELETED` INT(1) COMMENT '是否删除',
  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
  `ADD_TIME` DATETIME COMMENT '创建时间',
  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
  `EDIT_TIME` DATETIME COMMENT '修改时间',
  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
  `DELETE_TIME` DATETIME COMMENT '删除时间',

  `CODE` VARCHAR(200) NOT NULL COMMENT '代码',
  `NAME` VARCHAR(200) NOT NULL COMMENT '名称',
  `MEMO` VARCHAR(500) COMMENT '备注',
  `STATUS` VARCHAR(10) NOT NULL COMMENT '状态（1 启用，0 停用）',

  PRIMARY KEY (`ID`),
  UNIQUE KEY `UQ_CODE` (`COMPANY_ID`,`CODE`)
)
COMMENT = '用户组表';



CREATE TABLE `TB_U_ROLE` (
  `ID` VARCHAR(100) NOT NULL COMMENT '',
  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
  `DELETED` INT(1) COMMENT '是否删除',
  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
  `ADD_TIME` DATETIME COMMENT '创建时间',
  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
  `EDIT_TIME` DATETIME COMMENT '修改时间',
  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
  `DELETE_TIME` DATETIME COMMENT '删除时间',

  `CODE` VARCHAR(200) NOT NULL COMMENT '代码',
  `NAME` VARCHAR(200) NOT NULL COMMENT '名称',
  `MEMO` VARCHAR(500) COMMENT '备注',
  `STATUS` VARCHAR(10) NOT NULL COMMENT '状态（1 启用，0 停用）',

  PRIMARY KEY (`ID`),
  UNIQUE KEY `UQ_CODE` (`COMPANY_ID`,`CODE`)
)
COMMENT = '角色表';



CREATE TABLE `TB_U_USER_GROUP` (
  `ID` VARCHAR(100) NOT NULL COMMENT '',
  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
  `DELETED` INT(1) COMMENT '是否删除',
  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
  `ADD_TIME` DATETIME COMMENT '创建时间',
  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
  `EDIT_TIME` DATETIME COMMENT '修改时间',
  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
  `DELETE_TIME` DATETIME COMMENT '删除时间',

  `USERNAME` VARCHAR(200) NOT NULL COMMENT '用户名',
  `GROUP_ID` VARCHAR(200) NOT NULL COMMENT '用户组ID',

  PRIMARY KEY (`ID`)
)
COMMENT = '用户组 - 用户表';


CREATE TABLE `TB_U_USER_ROLE` (
  `ID` VARCHAR(100) NOT NULL COMMENT '',
  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
  `DELETED` INT(1) COMMENT '是否删除',
  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
  `ADD_TIME` DATETIME COMMENT '创建时间',
  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
  `EDIT_TIME` DATETIME COMMENT '修改时间',
  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
  `DELETE_TIME` DATETIME COMMENT '删除时间',

  `USERNAME` VARCHAR(200) NOT NULL COMMENT '用户名',
  `ROLECODE` VARCHAR(200) NOT NULL COMMENT '角色代码',

  PRIMARY KEY (`ID`)
)
COMMENT = '用户 - 角色表';



CREATE TABLE `TB_U_GROUP_ROLE` (
  `ID` VARCHAR(100) NOT NULL COMMENT '',
  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
  `DELETED` INT(1) COMMENT '是否删除',
  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
  `ADD_TIME` DATETIME COMMENT '创建时间',
  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
  `EDIT_TIME` DATETIME COMMENT '修改时间',
  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
  `DELETE_TIME` DATETIME COMMENT '删除时间',

  `GROUP_ID` VARCHAR(200) NOT NULL COMMENT '用户组ID',
  `ROLECODE` VARCHAR(200) NOT NULL COMMENT '角色代码',

  PRIMARY KEY (`ID`)
)
COMMENT = '用户组 - 角色表';



CREATE TABLE `TB_U_PERMISSION` (
  `ID` VARCHAR(100) NOT NULL COMMENT '',
  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
  `DELETED` INT(1) COMMENT '是否删除',
  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
  `ADD_TIME` DATETIME COMMENT '创建时间',
  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
  `EDIT_TIME` DATETIME COMMENT '修改时间',
  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
  `DELETE_TIME` DATETIME COMMENT '删除时间',

  `CODE` VARCHAR(200) NOT NULL COMMENT '代码',
  `NAME` VARCHAR(200) NOT NULL COMMENT '名称',
  `MEMO` VARCHAR(500) COMMENT '备注',
  `STATUS` VARCHAR(10) NOT NULL COMMENT '状态（1 启用，0 停用）',

  `TYPE` VARCHAR(10) NOT NULL COMMENT '类型（1 应用，2 页面，3 操作）',
  `URL` VARCHAR(500) COMMENT 'URL地址',

  `PARENT_ID` VARCHAR(10) NOT NULL COMMENT '父级ID', 
  `LEVEL` VARCHAR(10) NOT NULL COMMENT '层次',
  `LFT` INT(11) COMMENT '左序',
  `RGT` INT(11) COMMENT '右序',

  PRIMARY KEY (`ID`),
  UNIQUE KEY `UQ_CODE` (`COMPANY_ID`,`CODE`)
)
COMMENT = '权限表';



CREATE TABLE `TB_U_ROLE_PERMISSION` (
  `ID` VARCHAR(100) NOT NULL COMMENT '',
  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
  `DELETED` INT(1) COMMENT '是否删除',
  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
  `ADD_TIME` DATETIME COMMENT '创建时间',
  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
  `EDIT_TIME` DATETIME COMMENT '修改时间',
  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
  `DELETE_TIME` DATETIME COMMENT '删除时间',

  `ROLECODE` VARCHAR(200) NOT NULL COMMENT '角色代码',
  `PERMISSION_ID` VARCHAR(200) NOT NULL COMMENT '权限ID',

  PRIMARY KEY (`ID`)
)
COMMENT = '角色 - 权限表';

