数据库表结构
数据库:MySQL 8.0+,字符集:utf8mb4,初始化脚本:sql/haoyu_admin.sql
系统管理
| 字段 | 类型 | 说明 |
id | bigint PK | 用户ID,自增 |
dept_id | bigint | 部门ID |
username | varchar(50) | 用户账号,唯一 |
nick_name | varchar(50) | 用户昵称 |
email | varchar(50) | 用户邮箱 |
phonenumber | varchar(20) | 手机号码 |
sex | char(1) | 性别(0男 1女 2未知) |
password | varchar(100) | 密码(BCrypt 加密) |
status | char(1) | 状态(0正常 1停用) |
del_flag | char(1) | 删除标志(0存在 2删除) |
login_ip | varchar(128) | 最后登录IP |
login_date | varchar(50) | 最后登录时间 |
| create_by, create_time, update_by, update_time, remark(公共审计字段) |
| 字段 | 类型 | 说明 |
id | bigint PK | 角色ID |
role_name | varchar(50) | 角色名称 |
role_key | varchar(100) | 角色权限字符串,唯一 |
order_num | int | 显示顺序 |
data_scope | int | 数据权限(1全部 2本部门及以下 3本部门 4仅本人 5自定义) |
status | char(1) | 状态(0正常 1停用) |
del_flag | char(1) | 删除标志 |
| 字段 | 类型 | 说明 |
id | bigint PK | 菜单ID |
menu_name | varchar(50) | 菜单名称 |
parent_id | bigint | 父菜单ID |
order_num | int | 显示顺序 |
path | varchar(200) | 路由地址 |
component | varchar(255) | 组件路径 |
menu_type | char(1) | 类型(M目录 C菜单 F按钮) |
perms | varchar(100) | 权限标识 |
icon | varchar(100) | 菜单图标 |
visible | char(1) | 是否显示(0显示 1隐藏) |
| 字段 | 类型 | 说明 |
id | bigint PK | 部门ID |
parent_id | bigint | 父部门ID |
ancestors | varchar(500) | 祖级列表(逗号分隔) |
dept_name | varchar(50) | 部门名称 |
leader | varchar(50) | 负责人 |
phone / email | varchar | 联系电话 / 邮箱 |
| 字段 | 类型 | 说明 |
id | bigint PK | 岗位ID |
post_code | varchar(64) | 岗位编码,唯一 |
post_name | varchar(50) | 岗位名称 |
order_num | int | 显示顺序 |
status | char(1) | 状态(0正常 1停用) |
| 表名 | 字段 | 说明 |
sys_user_role | user_id, role_id | 用户角色关联(联合主键) |
sys_role_menu | role_id, menu_id | 角色菜单关联(联合主键) |
sys_role_dept | role_id, dept_id | 角色部门关联(联合主键) |
sys_user_post | user_id, post_id | 用户岗位关联(联合主键) |
日志管理
| 字段 | 类型 | 说明 |
id | bigint PK | 日志主键 |
title | varchar(50) | 操作标题 |
business_type | int | 业务类型(0其它 1新增 2修改 3删除 ...) |
request_method | varchar(10) | 请求方法 |
request_url | varchar(255) | 请求URL |
oper_user_id / oper_user_name | bigint / varchar | 操作人 |
oper_ip | varchar(128) | 操作IP |
oper_param / json_result | text | 请求参数 / 返回参数 |
status | int | 状态(0正常 1异常) |
| 字段 | 类型 | 说明 |
id | bigint PK | 日志主键 |
username | varchar(50) | 用户账号 |
ip_addr | varchar(128) | 登录IP |
login_location | varchar(255) | 登录地点 |
browser / os | varchar(50) | 浏览器 / 操作系统 |
status | int | 登录状态(0成功 1失败) |
msg | varchar(255) | 提示消息 |
工作流引擎
| 字段 | 类型 | 说明 |
id | bigint PK | 流程ID |
name | varchar(100) | 流程名称 |
icon | varchar(50) | 图标 |
form_config | text | 表单设计 JSON |
flow_config | text | 流程节点 JSON |
print_config | text | 打印配置 JSON |
status | char(1) | 0启用 1停用 |
version | int | 版本号 |
| 字段 | 类型 | 说明 |
id | bigint PK | 实例ID |
process_def_id | bigint | 关联流程定义ID |
form_data | text | 表单提交数据 JSON |
status | varchar(20) | running / completed / rejected / cancelled |
initiator_id / initiator_name | bigint / varchar | 发起人 |
current_node_id | varchar(50) | 当前节点ID |
| 字段 | 类型 | 说明 |
id | bigint PK | 任务ID |
instance_id | bigint | 关联流程实例ID |
node_id / node_name | varchar | 节点ID / 名称 |
task_type | varchar(20) | approval / countersign / notify |
assignee_id / assignee_name | bigint / varchar | 处理人 |
status | varchar(20) | pending / approved / rejected |
| 表名 | 关键字段 | 说明 |
wf_task_comment | instance_id, task_id, user_id, action, comment | 审批记录(approve/reject/transfer/addSign) |
wf_process_copy | instance_id, user_id | 流程抄送关系 |
报表模块
| 字段 | 类型 | 说明 |
id | bigint PK | 数据源ID |
name | varchar(100) | 数据源名称 |
db_type | varchar(20) | 数据库类型(mysql/postgresql/sqlserver/oracle) |
host / port / database_name | varchar / int | 连接信息 |
username / password | varchar | 认证信息(密码 AES 加密) |
status | tinyint | 状态(0停用 1正常) |
| 字段 | 类型 | 说明 |
id | bigint PK | 查询ID |
name | varchar(200) | 查询名称 |
datasource_id | bigint | 数据源ID |
sql_content | text | SQL 语句 |
query_mode | varchar(20) | 查询模式(visual / sql) |
visual_config | text | 可视化查询配置 JSON |
| 表名 | 关键字段 | 说明 |
report_definition | name, query_id, columns, filters, custom_rows, print_config | 报表列配置、筛选、自定义行、打印配置均为 JSON |
report_screen | name, config, cover, status | 大屏布局配置 JSON、封面截图、状态 |
代码生成
| 字段 | 类型 | 说明 |
id | bigint PK | 配置ID |
table_name | varchar(200) | 数据库表名,唯一 |
class_name | varchar(100) | 实体类名 |
module_name | varchar(30) | 模块名 |
package_path | varchar(100) | 包路径 |
permission_prefix | varchar(100) | 权限前缀 |
design_json | text | 拖拽设计器 JSON 配置 |
sub_table_id / sub_fk_column | bigint / varchar | 主子表关联配置 |
| 字段 | 类型 | 说明 |
id | bigint PK | 字段ID |
table_id | bigint | 所属表ID |
column_name / column_type | varchar | 数据库字段名 / 类型 |
java_type / java_field | varchar | Java 字段类型 / 名称 |
is_pk / is_list / is_query | tinyint | 是否主键 / 列表显示 / 查询字段 |
query_type | varchar(20) | 查询方式(EQ / LIKE / GT / LT / BETWEEN) |
html_type | varchar(20) | 表单控件(input / select / radio / checkbox 等) |
表关系说明
-- 用户-角色(多对多)
sys_user 1──N sys_user_role N──1 sys_role
-- 角色-菜单(多对多)
sys_role 1──N sys_role_menu N──1 sys_menu
-- 角色-部门(多对多,自定义数据权限)
sys_role 1──N sys_role_dept N──1 sys_dept
-- 用户-岗位(多对多)
sys_user 1──N sys_user_post N──1 sys_post
-- 用户-部门(多对一)
sys_user N──1 sys_dept
-- 流程实例-流程定义(多对一)
wf_process_instance N──1 wf_process_def
-- 流程任务-流程实例(多对一)
wf_task N──1 wf_process_instance
-- 报表定义-查询定义(多对一)
report_definition N──1 report_query
-- 查询定义-数据源(多对一)
report_query N──1 report_datasource