first commit

This commit is contained in:
dev
2026-02-22 12:12:02 +08:00
commit b236048a24
1467 changed files with 160403 additions and 0 deletions
+331
View File
@@ -0,0 +1,331 @@
-- ----------------------------
-- App端数据库表结构 (Oracle版本)
-- 适用于 RuoYi-Vue-Plus 5.X 版本
-- ----------------------------
-- 1、App端用户信息表
CREATE TABLE app_user (
user_id NUMBER(20) NOT NULL,
user_name VARCHAR2(30) NOT NULL,
nick_name VARCHAR2(30) NOT NULL,
phone VARCHAR2(11) DEFAULT '',
email VARCHAR2(50) DEFAULT '',
sex CHAR(1) DEFAULT '0',
avatar NUMBER(20),
password VARCHAR2(100) DEFAULT '',
status CHAR(1) DEFAULT '0',
del_flag CHAR(1) DEFAULT '0',
login_ip VARCHAR2(128) DEFAULT '',
login_date DATE,
register_time DATE,
create_by NUMBER(20),
create_time DATE,
update_by NUMBER(20),
update_time DATE,
remark VARCHAR2(500),
CONSTRAINT pk_app_user PRIMARY KEY (user_id)
);
COMMENT ON TABLE app_user IS 'App端用户信息表';
COMMENT ON COLUMN app_user.user_id IS 'App用户ID';
COMMENT ON COLUMN app_user.account IS '用户账号';
COMMENT ON COLUMN app_user.nick_name IS '用户昵称';
COMMENT ON COLUMN app_user.phone IS '手机号码';
COMMENT ON COLUMN app_user.email IS '用户邮箱';
COMMENT ON COLUMN app_user.sex IS '用户性别(0男 1女 2未知)';
COMMENT ON COLUMN app_user.avatar IS '头像地址';
COMMENT ON COLUMN app_user.password IS '密码';
COMMENT ON COLUMN app_user.status IS '帐号状态(0正常 1停用)';
COMMENT ON COLUMN app_user.del_flag IS '删除标志(0代表存在 1代表删除)';
COMMENT ON COLUMN app_user.login_ip IS '最后登录IP';
COMMENT ON COLUMN app_user.login_date IS '最后登录时间';
COMMENT ON COLUMN app_user.register_time IS '注册时间';
COMMENT ON COLUMN app_user.create_by IS '创建者';
COMMENT ON COLUMN app_user.create_time IS '创建时间';
COMMENT ON COLUMN app_user.update_by IS '更新者';
COMMENT ON COLUMN app_user.update_time IS '更新时间';
COMMENT ON COLUMN app_user.remark IS '备注';
INSERT INTO app_user VALUES (1, 'appuser', 'App测试用户', '15888888888', 'appuser@qq.com', '1', NULL,
'$2a$10$7JB720yubVSOfvVMe6LeNOKgEoXAw7tCxJRET6pVuiDDz/LQ4Gqk.',
'0', '0', '127.0.0.1', SYSDATE, SYSDATE, 1, SYSDATE, NULL, NULL, 'App端测试用户');
-- 2、App端角色信息表
CREATE TABLE app_role (
role_id NUMBER(20) NOT NULL,
role_name VARCHAR2(30) NOT NULL,
role_key VARCHAR2(100) NOT NULL,
role_sort NUMBER(4) NOT NULL,
status CHAR(1) NOT NULL,
del_flag CHAR(1) DEFAULT '0',
create_by NUMBER(20),
create_time DATE,
update_by NUMBER(20),
update_time DATE,
remark VARCHAR2(500),
CONSTRAINT pk_app_role PRIMARY KEY (role_id)
);
COMMENT ON TABLE app_role IS 'App端角色信息表';
COMMENT ON COLUMN app_role.role_id IS 'App角色ID';
COMMENT ON COLUMN app_role.role_name IS '角色名称';
COMMENT ON COLUMN app_role.role_key IS '角色权限字符串';
COMMENT ON COLUMN app_role.role_sort IS '显示顺序';
COMMENT ON COLUMN app_role.status IS '角色状态(0正常 1停用)';
COMMENT ON COLUMN app_role.del_flag IS '删除标志(0代表存在 1代表删除)';
COMMENT ON COLUMN app_role.create_by IS '创建者';
COMMENT ON COLUMN app_role.create_time IS '创建时间';
COMMENT ON COLUMN app_role.update_by IS '更新者';
COMMENT ON COLUMN app_role.update_time IS '更新时间';
COMMENT ON COLUMN app_role.remark IS '备注';
INSERT INTO app_role VALUES (1, 'App普通用户', 'app_user', 1, '0', '0', 1, SYSDATE, NULL, NULL, 'App端普通用户');
INSERT INTO app_role VALUES (2, 'App VIP用户', 'app_vip', 2, '0', '0', 1, SYSDATE, NULL, NULL, 'App端VIP用户');
-- 3、App端用户和角色关联表
CREATE TABLE app_user_role (
user_id NUMBER(20) NOT NULL,
role_id NUMBER(20) NOT NULL,
CONSTRAINT pk_app_user_role PRIMARY KEY (user_id, role_id)
);
COMMENT ON TABLE app_user_role IS 'App端用户和角色关联表';
COMMENT ON COLUMN app_user_role.user_id IS 'App用户ID';
COMMENT ON COLUMN app_user_role.role_id IS 'App角色ID';
INSERT INTO app_user_role VALUES (1, 1);
-- 4、App端第三方登录授权表
CREATE TABLE app_social_auth (
id NUMBER(20) NOT NULL,
user_id NUMBER(20) NOT NULL,
platform VARCHAR2(255) NOT NULL,
platform_uid VARCHAR2(255) NOT NULL,
open_id VARCHAR2(255),
union_id VARCHAR2(255),
access_token VARCHAR2(2000) NOT NULL,
expire_in NUMBER,
refresh_token VARCHAR2(255),
scope VARCHAR2(255),
create_by NUMBER(20),
create_time DATE,
update_by NUMBER(20),
update_time DATE,
del_flag CHAR(1) DEFAULT '0',
CONSTRAINT pk_app_social_auth PRIMARY KEY (id)
);
COMMENT ON TABLE app_social_auth IS 'App端第三方登录授权表';
COMMENT ON COLUMN app_social_auth.id IS '主键';
COMMENT ON COLUMN app_social_auth.user_id IS 'App用户ID';
COMMENT ON COLUMN app_social_auth.platform IS '用户来源平台(wechat_mp:微信小程序 wechat_open:微信开放平台 qq:QQ weibo:微博)';
COMMENT ON COLUMN app_social_auth.platform_uid IS '表示平台唯一用户标识';
COMMENT ON COLUMN app_social_auth.open_id IS '微信openid';
COMMENT ON COLUMN app_social_auth.union_id IS '微信unionid';
COMMENT ON COLUMN app_social_auth.access_token IS '用户的授权令牌';
COMMENT ON COLUMN app_social_auth.expire_in IS '用户的授权令牌的有效期';
COMMENT ON COLUMN app_social_auth.refresh_token IS '刷新令牌';
COMMENT ON COLUMN app_social_auth.scope IS '授予的权限';
COMMENT ON COLUMN app_social_auth.create_by IS '创建者';
COMMENT ON COLUMN app_social_auth.create_time IS '创建时间';
COMMENT ON COLUMN app_social_auth.update_by IS '更新者';
COMMENT ON COLUMN app_social_auth.update_time IS '更新时间';
COMMENT ON COLUMN app_social_auth.del_flag IS '删除标志(0代表存在 1代表删除)';
-- 5、App端登录日志表
CREATE TABLE app_login_log (
info_id NUMBER(20) NOT NULL,
user_name VARCHAR2(50) DEFAULT '',
status CHAR(1) DEFAULT '0',
ipaddr VARCHAR2(128) DEFAULT '',
login_location VARCHAR2(255) DEFAULT '',
browser VARCHAR2(50) DEFAULT '',
os VARCHAR2(50) DEFAULT '',
msg VARCHAR2(255) DEFAULT '',
login_time DATE,
CONSTRAINT pk_app_login_log PRIMARY KEY (info_id)
);
COMMENT ON TABLE app_login_log IS 'App端登录日志表';
COMMENT ON COLUMN app_login_log.info_id IS '访问ID';
COMMENT ON COLUMN app_login_log.user_name IS '用户账号';
COMMENT ON COLUMN app_login_log.status IS '登录状态(0成功 1失败)';
COMMENT ON COLUMN app_login_log.ipaddr IS '登录IP地址';
COMMENT ON COLUMN app_login_log.login_location IS '登录地点';
COMMENT ON COLUMN app_login_log.browser IS '浏览器类型';
COMMENT ON COLUMN app_login_log.os IS '操作系统';
COMMENT ON COLUMN app_login_log.msg IS '提示消息';
COMMENT ON COLUMN app_login_log.login_time IS '访问时间';
CREATE INDEX idx_app_login_log_s ON app_login_log (status);
CREATE INDEX idx_app_login_log_lt ON app_login_log (login_time);
-- 6、App端操作日志记录
CREATE TABLE app_oper_log (
oper_id NUMBER(20) NOT NULL,
title VARCHAR2(50) DEFAULT '',
business_type NUMBER(2) DEFAULT 0,
method VARCHAR2(100) DEFAULT '',
request_method VARCHAR2(10) DEFAULT '',
oper_name VARCHAR2(50) DEFAULT '',
oper_url VARCHAR2(255) DEFAULT '',
oper_ip VARCHAR2(128) DEFAULT '',
oper_location VARCHAR2(255) DEFAULT '',
oper_param VARCHAR2(2000) DEFAULT '',
json_result VARCHAR2(2000) DEFAULT '',
status NUMBER(1) DEFAULT 0,
error_msg VARCHAR2(2000) DEFAULT '',
oper_time DATE,
cost_time NUMBER(20) DEFAULT 0,
CONSTRAINT pk_app_oper_log PRIMARY KEY (oper_id)
);
COMMENT ON TABLE app_oper_log IS 'App端操作日志记录';
COMMENT ON COLUMN app_oper_log.oper_id IS '日志主键';
COMMENT ON COLUMN app_oper_log.title IS '模块标题';
COMMENT ON COLUMN app_oper_log.business_type IS '业务类型(0其它 1新增 2修改 3删除)';
COMMENT ON COLUMN app_oper_log.method IS '方法名称';
COMMENT ON COLUMN app_oper_log.request_method IS '请求方式';
COMMENT ON COLUMN app_oper_log.oper_name IS '操作人员';
COMMENT ON COLUMN app_oper_log.oper_url IS '请求URL';
COMMENT ON COLUMN app_oper_log.oper_ip IS '主机地址';
COMMENT ON COLUMN app_oper_log.oper_location IS '操作地点';
COMMENT ON COLUMN app_oper_log.oper_param IS '请求参数';
COMMENT ON COLUMN app_oper_log.json_result IS '返回参数';
COMMENT ON COLUMN app_oper_log.status IS '操作状态(0正常 1异常)';
COMMENT ON COLUMN app_oper_log.error_msg IS '错误消息';
COMMENT ON COLUMN app_oper_log.oper_time IS '操作时间';
COMMENT ON COLUMN app_oper_log.cost_time IS '消耗时间';
CREATE INDEX idx_app_oper_log_bt ON app_oper_log (business_type);
CREATE INDEX idx_app_oper_log_s ON app_oper_log (status);
CREATE INDEX idx_app_oper_log_ot ON app_oper_log (oper_time);
-- 7、App端设备信息表
CREATE TABLE app_device (
device_id NUMBER(20) NOT NULL,
user_id NUMBER(20) NOT NULL,
device_type VARCHAR2(20) NOT NULL,
device_name VARCHAR2(100) DEFAULT '',
device_model VARCHAR2(100) DEFAULT '',
device_brand VARCHAR2(50) DEFAULT '',
os_version VARCHAR2(50) DEFAULT '',
app_version VARCHAR2(50) DEFAULT '',
push_token VARCHAR2(255) DEFAULT '',
is_active CHAR(1) DEFAULT '1',
last_active_time DATE,
create_time DATE,
update_time DATE,
CONSTRAINT pk_app_device PRIMARY KEY (device_id)
);
COMMENT ON TABLE app_device IS 'App端设备信息表';
COMMENT ON COLUMN app_device.device_id IS '设备ID';
COMMENT ON COLUMN app_device.user_id IS 'App用户ID';
COMMENT ON COLUMN app_device.device_type IS '设备类型(ios android h5';
COMMENT ON COLUMN app_device.device_name IS '设备名称';
COMMENT ON COLUMN app_device.device_model IS '设备型号';
COMMENT ON COLUMN app_device.device_brand IS '设备品牌';
COMMENT ON COLUMN app_device.os_version IS '操作系统版本';
COMMENT ON COLUMN app_device.app_version IS 'App版本';
COMMENT ON COLUMN app_device.push_token IS '推送令牌';
COMMENT ON COLUMN app_device.is_active IS '是否活跃(0否 1是)';
COMMENT ON COLUMN app_device.last_active_time IS '最后活跃时间';
COMMENT ON COLUMN app_device.create_time IS '创建时间';
COMMENT ON COLUMN app_device.update_time IS '更新时间';
CREATE INDEX idx_app_device_user_id ON app_device (user_id);
CREATE INDEX idx_app_device_type ON app_device (device_type);
-- 8、App端消息推送表
CREATE TABLE app_message (
message_id NUMBER(20) NOT NULL,
title VARCHAR2(100) NOT NULL,
content CLOB,
message_type VARCHAR2(20) DEFAULT 'system',
target_type VARCHAR2(20) DEFAULT 'all',
target_ids VARCHAR2(1000) DEFAULT '',
send_time DATE,
status CHAR(1) DEFAULT '0',
create_by NUMBER(20),
create_time DATE,
update_by NUMBER(20),
update_time DATE,
CONSTRAINT pk_app_message PRIMARY KEY (message_id)
);
COMMENT ON TABLE app_message IS 'App端消息推送表';
COMMENT ON COLUMN app_message.message_id IS '消息ID';
COMMENT ON COLUMN app_message.title IS '消息标题';
COMMENT ON COLUMN app_message.content IS '消息内容';
COMMENT ON COLUMN app_message.message_type IS '消息类型(system:系统消息 notice:通知 activity:活动)';
COMMENT ON COLUMN app_message.target_type IS '推送目标(all:全部用户 user:指定用户 role:指定角色)';
COMMENT ON COLUMN app_message.target_ids IS '目标ID列表(用户ID或角色ID,逗号分隔)';
COMMENT ON COLUMN app_message.send_time IS '发送时间';
COMMENT ON COLUMN app_message.status IS '状态(0待发送 1已发送 2发送失败)';
COMMENT ON COLUMN app_message.create_by IS '创建者';
COMMENT ON COLUMN app_message.create_time IS '创建时间';
COMMENT ON COLUMN app_message.update_by IS '更新者';
COMMENT ON COLUMN app_message.update_time IS '更新时间';
CREATE INDEX idx_app_message_type ON app_message (message_type);
CREATE INDEX idx_app_message_status ON app_message (status);
-- 9、App端用户消息读取记录表
CREATE TABLE app_user_message (
id NUMBER(20) NOT NULL,
user_id NUMBER(20) NOT NULL,
message_id NUMBER(20) NOT NULL,
is_read CHAR(1) DEFAULT '0',
read_time DATE,
create_time DATE,
CONSTRAINT pk_app_user_message PRIMARY KEY (id)
);
COMMENT ON TABLE app_user_message IS 'App端用户消息读取记录表';
COMMENT ON COLUMN app_user_message.id IS '主键';
COMMENT ON COLUMN app_user_message.user_id IS 'App用户ID';
COMMENT ON COLUMN app_user_message.message_id IS '消息ID';
COMMENT ON COLUMN app_user_message.is_read IS '是否已读(0未读 1已读)';
COMMENT ON COLUMN app_user_message.read_time IS '读取时间';
COMMENT ON COLUMN app_user_message.create_time IS '创建时间';
CREATE INDEX idx_app_user_message_user ON app_user_message (user_id);
CREATE INDEX idx_app_user_message_msg ON app_user_message (message_id);
CREATE INDEX idx_app_user_message_read ON app_user_message (is_read);
-- 10、App版本信息表
CREATE TABLE app_version (
version_id NUMBER(20) NOT NULL,
version_code NUMBER NOT NULL,
version_name VARCHAR2(20) NOT NULL,
update_content CLOB,
download_url VARCHAR2(500) NOT NULL,
is_force CHAR(1) DEFAULT '0',
platform VARCHAR2(10) DEFAULT 'android',
create_time DATE,
CONSTRAINT pk_app_version PRIMARY KEY (version_id)
);
COMMENT ON TABLE app_version IS 'App版本信息表';
COMMENT ON COLUMN app_version.version_id IS '版本ID';
COMMENT ON COLUMN app_version.version_code IS '版本号(数字)';
COMMENT ON COLUMN app_version.version_name IS '版本名(如1.0.0';
COMMENT ON COLUMN app_version.update_content IS '更新内容';
COMMENT ON COLUMN app_version.download_url IS '下载地址';
COMMENT ON COLUMN app_version.is_force IS '是否强制更新(0否 1是)';
COMMENT ON COLUMN app_version.platform IS '平台(android、ios';
COMMENT ON COLUMN app_version.create_time IS '创建时间';
-- 创建序列
CREATE SEQUENCE seq_app_user START WITH 2 INCREMENT BY 1;
CREATE SEQUENCE seq_app_role START WITH 3 INCREMENT BY 1;
CREATE SEQUENCE seq_app_social_auth START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_login_log START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_oper_log START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_device START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_message START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_user_message START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_version START WITH 1 INCREMENT BY 1;
COMMIT;
+924
View File
@@ -0,0 +1,924 @@
/*
SnailJob Database Transfer Tool
Source Server Type : MySQL
Target Server Type : Oracle
Date: 2025-04-26 10:01:54
*/
-- sj_namespace
CREATE TABLE sj_namespace
(
id number GENERATED ALWAYS AS IDENTITY,
name varchar2(64) NULL,
unique_id varchar2(64) NULL,
description varchar2(256) DEFAULT '' NULL,
deleted smallint DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_namespace
ADD CONSTRAINT pk_sj_namespace PRIMARY KEY (id);
CREATE INDEX idx_sj_namespace_01 ON sj_namespace (name);
COMMENT ON COLUMN sj_namespace.id IS '主键';
COMMENT ON COLUMN sj_namespace.name IS '名称';
COMMENT ON COLUMN sj_namespace.unique_id IS '唯一id';
COMMENT ON COLUMN sj_namespace.description IS '描述';
COMMENT ON COLUMN sj_namespace.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_namespace.create_dt IS '创建时间';
COMMENT ON COLUMN sj_namespace.update_dt IS '修改时间';
COMMENT ON TABLE sj_namespace IS '命名空间';
INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES ('Development', 'dev', '', 0, sysdate, sysdate);
INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES ('Production', 'prod', '', 0, sysdate, sysdate);
-- sj_group_config
CREATE TABLE sj_group_config
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) DEFAULT '' NULL,
description varchar2(256) DEFAULT '' NULL,
token varchar2(64) DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' NULL,
group_status smallint DEFAULT 0 NOT NULL,
version number NOT NULL,
group_partition number NOT NULL,
id_generator_mode smallint DEFAULT 1 NOT NULL,
init_scene smallint DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_group_config
ADD CONSTRAINT pk_sj_group_config PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_group_config_01 ON sj_group_config (namespace_id, group_name);
COMMENT ON COLUMN sj_group_config.id IS '主键';
COMMENT ON COLUMN sj_group_config.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_group_config.group_name IS '组名称';
COMMENT ON COLUMN sj_group_config.description IS '组描述';
COMMENT ON COLUMN sj_group_config.token IS 'token';
COMMENT ON COLUMN sj_group_config.group_status IS '组状态 0、未启用 1、启用';
COMMENT ON COLUMN sj_group_config.version IS '版本号';
COMMENT ON COLUMN sj_group_config.group_partition IS '分区';
COMMENT ON COLUMN sj_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式';
COMMENT ON COLUMN sj_group_config.init_scene IS '是否初始化场景 0:否 1:是';
COMMENT ON COLUMN sj_group_config.create_dt IS '创建时间';
COMMENT ON COLUMN sj_group_config.update_dt IS '修改时间';
COMMENT ON TABLE sj_group_config IS '组配置';
INSERT INTO sj_group_config (namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, create_dt, update_dt) VALUES ('dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, sysdate, sysdate);
INSERT INTO sj_group_config (namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, create_dt, update_dt) VALUES ('prod', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, sysdate, sysdate);
-- sj_notify_config
CREATE TABLE sj_notify_config
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
notify_name varchar2(64) DEFAULT '' NULL,
system_task_type smallint DEFAULT 3 NOT NULL,
notify_status smallint DEFAULT 0 NOT NULL,
recipient_ids varchar2(128) NULL,
notify_threshold number DEFAULT 0 NOT NULL,
notify_scene smallint DEFAULT 0 NOT NULL,
rate_limiter_status smallint DEFAULT 0 NOT NULL,
rate_limiter_threshold number DEFAULT 0 NOT NULL,
description varchar2(256) DEFAULT '' NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_notify_config
ADD CONSTRAINT pk_sj_notify_config PRIMARY KEY (id);
CREATE INDEX idx_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name);
COMMENT ON COLUMN sj_notify_config.id IS '主键';
COMMENT ON COLUMN sj_notify_config.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_notify_config.group_name IS '组名称';
COMMENT ON COLUMN sj_notify_config.notify_name IS '通知名称';
COMMENT ON COLUMN sj_notify_config.system_task_type IS '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务';
COMMENT ON COLUMN sj_notify_config.notify_status IS '通知状态 0、未启用 1、启用';
COMMENT ON COLUMN sj_notify_config.recipient_ids IS '接收人id列表';
COMMENT ON COLUMN sj_notify_config.notify_threshold IS '通知阈值';
COMMENT ON COLUMN sj_notify_config.notify_scene IS '通知场景';
COMMENT ON COLUMN sj_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用';
COMMENT ON COLUMN sj_notify_config.rate_limiter_threshold IS '每秒限流阈值';
COMMENT ON COLUMN sj_notify_config.description IS '描述';
COMMENT ON COLUMN sj_notify_config.create_dt IS '创建时间';
COMMENT ON COLUMN sj_notify_config.update_dt IS '修改时间';
COMMENT ON TABLE sj_notify_config IS '通知配置';
-- sj_notify_recipient
CREATE TABLE sj_notify_recipient
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
recipient_name varchar2(64) NULL,
notify_type smallint DEFAULT 0 NOT NULL,
notify_attribute varchar2(512) NULL,
description varchar2(256) DEFAULT '' NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_notify_recipient
ADD CONSTRAINT pk_sj_notify_recipient PRIMARY KEY (id);
CREATE INDEX idx_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id);
COMMENT ON COLUMN sj_notify_recipient.id IS '主键';
COMMENT ON COLUMN sj_notify_recipient.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_notify_recipient.recipient_name IS '接收人名称';
COMMENT ON COLUMN sj_notify_recipient.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook';
COMMENT ON COLUMN sj_notify_recipient.notify_attribute IS '配置属性';
COMMENT ON COLUMN sj_notify_recipient.description IS '描述';
COMMENT ON COLUMN sj_notify_recipient.create_dt IS '创建时间';
COMMENT ON COLUMN sj_notify_recipient.update_dt IS '修改时间';
COMMENT ON TABLE sj_notify_recipient IS '告警通知接收人';
-- sj_retry_dead_letter
CREATE TABLE sj_retry_dead_letter
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
group_id number NOT NULL,
scene_name varchar2(64) NULL,
scene_id number NOT NULL,
idempotent_id varchar2(64) NULL,
biz_no varchar2(64) DEFAULT '' NULL,
executor_name varchar2(512) DEFAULT '' NULL,
args_str clob NULL,
ext_attrs clob NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_retry_dead_letter
ADD CONSTRAINT pk_sj_retry_dead_letter PRIMARY KEY (id);
CREATE INDEX idx_sj_retry_dead_letter_01 ON sj_retry_dead_letter (namespace_id, group_name, scene_name);
CREATE INDEX idx_sj_retry_dead_letter_02 ON sj_retry_dead_letter (idempotent_id);
CREATE INDEX idx_sj_retry_dead_letter_03 ON sj_retry_dead_letter (biz_no);
CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
COMMENT ON COLUMN sj_retry_dead_letter.args_str IS '执行方法参数';
COMMENT ON COLUMN sj_retry_dead_letter.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_retry_dead_letter.create_dt IS '创建时间';
COMMENT ON TABLE sj_retry_dead_letter IS '死信队列表';
-- sj_retry
CREATE TABLE sj_retry
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
group_id number NOT NULL,
scene_name varchar2(64) NULL,
scene_id number NOT NULL,
idempotent_id varchar2(64) NULL,
biz_no varchar2(64) DEFAULT '' NULL,
executor_name varchar2(512) DEFAULT '' NULL,
args_str clob NULL,
ext_attrs clob NULL,
next_trigger_at number NOT NULL,
retry_count number DEFAULT 0 NOT NULL,
retry_status smallint DEFAULT 0 NOT NULL,
task_type smallint DEFAULT 1 NOT NULL,
bucket_index number DEFAULT 0 NOT NULL,
parent_id number DEFAULT 0 NOT NULL,
deleted number DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_retry
ADD CONSTRAINT pk_sj_retry PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index);
CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt);
CREATE INDEX idx_sj_retry_05 ON sj_retry (idempotent_id);
COMMENT ON COLUMN sj_retry.id IS '主键';
COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry.group_name IS '组名称';
COMMENT ON COLUMN sj_retry.group_id IS '组Id';
COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';
COMMENT ON COLUMN sj_retry.args_str IS '执行方法参数';
COMMENT ON COLUMN sj_retry.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_retry.next_trigger_at IS '下次触发时间';
COMMENT ON COLUMN sj_retry.retry_count IS '重试次数';
COMMENT ON COLUMN sj_retry.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数';
COMMENT ON COLUMN sj_retry.task_type IS '任务类型 1、重试数据 2、回调数据';
COMMENT ON COLUMN sj_retry.bucket_index IS 'bucket';
COMMENT ON COLUMN sj_retry.parent_id IS '父节点id';
COMMENT ON COLUMN sj_retry.deleted IS '逻辑删除';
COMMENT ON COLUMN sj_retry.create_dt IS '创建时间';
COMMENT ON COLUMN sj_retry.update_dt IS '修改时间';
COMMENT ON TABLE sj_retry IS '重试信息表';
-- sj_retry_task
CREATE TABLE sj_retry_task
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
scene_name varchar2(64) NULL,
retry_id number NOT NULL,
ext_attrs clob NULL,
task_status smallint DEFAULT 1 NOT NULL,
task_type smallint DEFAULT 1 NOT NULL,
operation_reason smallint DEFAULT 0 NOT NULL,
client_info varchar2(128) DEFAULT NULL NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_retry_task
ADD CONSTRAINT pk_sj_retry_task PRIMARY KEY (id);
CREATE INDEX idx_sj_retry_task_01 ON sj_retry_task (namespace_id, group_name, scene_name);
CREATE INDEX idx_sj_retry_task_02 ON sj_retry_task (task_status);
CREATE INDEX idx_sj_retry_task_03 ON sj_retry_task (create_dt);
CREATE INDEX idx_sj_retry_task_04 ON sj_retry_task (retry_id);
COMMENT ON COLUMN sj_retry_task.id IS '主键';
COMMENT ON COLUMN sj_retry_task.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_task.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_task.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_task.retry_id IS '重试信息Id';
COMMENT ON COLUMN sj_retry_task.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_retry_task.task_status IS '重试状态';
COMMENT ON COLUMN sj_retry_task.task_type IS '任务类型 1、重试数据 2、回调数据';
COMMENT ON COLUMN sj_retry_task.operation_reason IS '操作原因';
COMMENT ON COLUMN sj_retry_task.client_info IS '客户端地址 clientId#ip:port';
COMMENT ON COLUMN sj_retry_task.create_dt IS '创建时间';
COMMENT ON COLUMN sj_retry_task.update_dt IS '修改时间';
COMMENT ON TABLE sj_retry_task IS '重试任务表';
-- sj_retry_task_log_message
CREATE TABLE sj_retry_task_log_message
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
retry_id number NOT NULL,
retry_task_id number NOT NULL,
message clob NULL,
log_num number DEFAULT 1 NOT NULL,
real_time number DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_retry_task_log_message
ADD CONSTRAINT pk_sj_retry_task_log_message PRIMARY KEY (id);
CREATE INDEX idx_sj_rt_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, retry_task_id);
CREATE INDEX idx_sj_rt_log_message_02 ON sj_retry_task_log_message (create_dt);
COMMENT ON COLUMN sj_retry_task_log_message.id IS '主键';
COMMENT ON COLUMN sj_retry_task_log_message.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_task_log_message.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_task_log_message.retry_id IS '重试信息Id';
COMMENT ON COLUMN sj_retry_task_log_message.retry_task_id IS '重试任务Id';
COMMENT ON COLUMN sj_retry_task_log_message.message IS '异常信息';
COMMENT ON COLUMN sj_retry_task_log_message.log_num IS '日志数量';
COMMENT ON COLUMN sj_retry_task_log_message.real_time IS '上报时间';
COMMENT ON COLUMN sj_retry_task_log_message.create_dt IS '创建时间';
COMMENT ON TABLE sj_retry_task_log_message IS '任务调度日志信息记录表';
-- sj_retry_scene_config
CREATE TABLE sj_retry_scene_config
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
scene_name varchar2(64) NULL,
group_name varchar2(64) NULL,
scene_status smallint DEFAULT 0 NOT NULL,
max_retry_count number DEFAULT 5 NOT NULL,
back_off smallint DEFAULT 1 NOT NULL,
trigger_interval varchar2(16) DEFAULT '' NULL,
notify_ids varchar2(128) DEFAULT '' NULL,
deadline_request number DEFAULT 60000 NOT NULL,
executor_timeout number DEFAULT 5 NOT NULL,
route_key smallint DEFAULT 4 NOT NULL,
block_strategy smallint DEFAULT 1 NOT NULL,
cb_status smallint DEFAULT 0 NOT NULL,
cb_trigger_type smallint DEFAULT 1 NOT NULL,
cb_max_count number DEFAULT 16 NOT NULL,
cb_trigger_interval varchar2(16) DEFAULT '' NULL,
description varchar2(256) DEFAULT '' NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_retry_scene_config
ADD CONSTRAINT pk_sj_retry_scene_config PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name);
COMMENT ON COLUMN sj_retry_scene_config.id IS '主键';
COMMENT ON COLUMN sj_retry_scene_config.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_scene_config.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_scene_config.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_scene_config.scene_status IS '组状态 0、未启用 1、启用';
COMMENT ON COLUMN sj_retry_scene_config.max_retry_count IS '最大重试次数';
COMMENT ON COLUMN sj_retry_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式';
COMMENT ON COLUMN sj_retry_scene_config.trigger_interval IS '间隔时长';
COMMENT ON COLUMN sj_retry_scene_config.notify_ids IS '通知告警场景配置id列表';
COMMENT ON COLUMN sj_retry_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒';
COMMENT ON COLUMN sj_retry_scene_config.executor_timeout IS '任务执行超时时间,单位秒';
COMMENT ON COLUMN sj_retry_scene_config.route_key IS '路由策略';
COMMENT ON COLUMN sj_retry_scene_config.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
COMMENT ON COLUMN sj_retry_scene_config.cb_status IS '回调状态 0、不开启 1、开启';
COMMENT ON COLUMN sj_retry_scene_config.cb_trigger_type IS '1、默认等级 2、固定间隔时间 3、CRON 表达式';
COMMENT ON COLUMN sj_retry_scene_config.cb_max_count IS '回调的最大执行次数';
COMMENT ON COLUMN sj_retry_scene_config.cb_trigger_interval IS '回调的最大执行次数';
COMMENT ON COLUMN sj_retry_scene_config.description IS '描述';
COMMENT ON COLUMN sj_retry_scene_config.create_dt IS '创建时间';
COMMENT ON COLUMN sj_retry_scene_config.update_dt IS '修改时间';
COMMENT ON TABLE sj_retry_scene_config IS '场景配置';
-- sj_server_node
CREATE TABLE sj_server_node
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
host_id varchar2(64) NULL,
host_ip varchar2(64) NULL,
host_port number NOT NULL,
expire_at date NOT NULL,
node_type smallint NOT NULL,
ext_attrs varchar2(256) DEFAULT '' NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_server_node
ADD CONSTRAINT pk_sj_server_node PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip);
CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name);
CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type);
COMMENT ON COLUMN sj_server_node.id IS '主键';
COMMENT ON COLUMN sj_server_node.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_server_node.group_name IS '组名称';
COMMENT ON COLUMN sj_server_node.host_id IS '主机id';
COMMENT ON COLUMN sj_server_node.host_ip IS '机器ip';
COMMENT ON COLUMN sj_server_node.host_port IS '机器端口';
COMMENT ON COLUMN sj_server_node.expire_at IS '过期时间';
COMMENT ON COLUMN sj_server_node.node_type IS '节点类型 1、客户端 2、是服务端';
COMMENT ON COLUMN sj_server_node.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_server_node.create_dt IS '创建时间';
COMMENT ON COLUMN sj_server_node.update_dt IS '修改时间';
COMMENT ON TABLE sj_server_node IS '服务器节点';
-- sj_distributed_lock
CREATE TABLE sj_distributed_lock
(
name varchar2(64) NULL,
lock_until timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL,
locked_at timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL,
locked_by varchar2(255) NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_distributed_lock
ADD CONSTRAINT pk_sj_distributed_lock PRIMARY KEY (name);
COMMENT ON COLUMN sj_distributed_lock.name IS '锁名称';
COMMENT ON COLUMN sj_distributed_lock.lock_until IS '锁定时长';
COMMENT ON COLUMN sj_distributed_lock.locked_at IS '锁定时间';
COMMENT ON COLUMN sj_distributed_lock.locked_by IS '锁定者';
COMMENT ON COLUMN sj_distributed_lock.create_dt IS '创建时间';
COMMENT ON COLUMN sj_distributed_lock.update_dt IS '修改时间';
COMMENT ON TABLE sj_distributed_lock IS '锁定表';
-- sj_system_user
CREATE TABLE sj_system_user
(
id number GENERATED ALWAYS AS IDENTITY,
username varchar2(64) NULL,
password varchar2(128) NULL,
role smallint DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_system_user
ADD CONSTRAINT pk_sj_system_user PRIMARY KEY (id);
COMMENT ON COLUMN sj_system_user.id IS '主键';
COMMENT ON COLUMN sj_system_user.username IS '账号';
COMMENT ON COLUMN sj_system_user.password IS '密码';
COMMENT ON COLUMN sj_system_user.role IS '角色:1-普通用户、2-管理员';
COMMENT ON COLUMN sj_system_user.create_dt IS '创建时间';
COMMENT ON COLUMN sj_system_user.update_dt IS '修改时间';
COMMENT ON TABLE sj_system_user IS '系统用户表';
-- pwd: admin
INSERT INTO sj_system_user(username, password, role, create_dt, update_dt) VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, sysdate, sysdate);
-- sj_system_user_permission
CREATE TABLE sj_system_user_permission
(
id number GENERATED ALWAYS AS IDENTITY,
group_name varchar2(64) NULL,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
system_user_id number NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_system_user_permission
ADD CONSTRAINT pk_sj_system_user_permission PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_su_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id);
COMMENT ON COLUMN sj_system_user_permission.id IS '主键';
COMMENT ON COLUMN sj_system_user_permission.group_name IS '组名称';
COMMENT ON COLUMN sj_system_user_permission.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_system_user_permission.system_user_id IS '系统用户id';
COMMENT ON COLUMN sj_system_user_permission.create_dt IS '创建时间';
COMMENT ON COLUMN sj_system_user_permission.update_dt IS '修改时间';
COMMENT ON TABLE sj_system_user_permission IS '系统用户权限表';
-- sj_sequence_alloc
CREATE TABLE sj_sequence_alloc
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) DEFAULT '' NULL,
max_id number DEFAULT 1 NOT NULL,
step number DEFAULT 100 NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_sequence_alloc
ADD CONSTRAINT pk_sj_sequence_alloc PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_sequence_alloc_01 ON sj_sequence_alloc (namespace_id, group_name);
COMMENT ON COLUMN sj_sequence_alloc.id IS '主键';
COMMENT ON COLUMN sj_sequence_alloc.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_sequence_alloc.group_name IS '组名称';
COMMENT ON COLUMN sj_sequence_alloc.max_id IS '最大id';
COMMENT ON COLUMN sj_sequence_alloc.step IS '步长';
COMMENT ON COLUMN sj_sequence_alloc.update_dt IS '更新时间';
COMMENT ON TABLE sj_sequence_alloc IS '号段模式序号ID分配表';
-- sj_job
CREATE TABLE sj_job
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
job_name varchar2(64) NULL,
args_str clob DEFAULT NULL NULL,
args_type smallint DEFAULT 1 NOT NULL,
next_trigger_at number NOT NULL,
job_status smallint DEFAULT 1 NOT NULL,
task_type smallint DEFAULT 1 NOT NULL,
route_key smallint DEFAULT 4 NOT NULL,
executor_type smallint DEFAULT 1 NOT NULL,
executor_info varchar2(255) DEFAULT NULL NULL,
trigger_type smallint NOT NULL,
trigger_interval varchar2(255) NULL,
block_strategy smallint DEFAULT 1 NOT NULL,
executor_timeout number DEFAULT 0 NOT NULL,
max_retry_times number DEFAULT 0 NOT NULL,
parallel_num number DEFAULT 1 NOT NULL,
retry_interval number DEFAULT 0 NOT NULL,
bucket_index number DEFAULT 0 NOT NULL,
resident smallint DEFAULT 0 NOT NULL,
notify_ids varchar2(128) DEFAULT '' NULL,
owner_id number NULL,
description varchar2(256) DEFAULT '' NULL,
ext_attrs varchar2(256) DEFAULT '' NULL,
deleted smallint DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_job
ADD CONSTRAINT pk_sj_job PRIMARY KEY (id);
CREATE INDEX idx_sj_job_01 ON sj_job (namespace_id, group_name);
CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index);
CREATE INDEX idx_sj_job_03 ON sj_job (create_dt);
COMMENT ON COLUMN sj_job.id IS '主键';
COMMENT ON COLUMN sj_job.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job.group_name IS '组名称';
COMMENT ON COLUMN sj_job.job_name IS '名称';
COMMENT ON COLUMN sj_job.args_str IS '执行方法参数';
COMMENT ON COLUMN sj_job.args_type IS '参数类型 ';
COMMENT ON COLUMN sj_job.next_trigger_at IS '下次触发时间';
COMMENT ON COLUMN sj_job.job_status IS '任务状态 0、关闭、1、开启';
COMMENT ON COLUMN sj_job.task_type IS '任务类型 1、集群 2、广播 3、切片';
COMMENT ON COLUMN sj_job.route_key IS '路由策略';
COMMENT ON COLUMN sj_job.executor_type IS '执行器类型';
COMMENT ON COLUMN sj_job.executor_info IS '执行器名称';
COMMENT ON COLUMN sj_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
COMMENT ON COLUMN sj_job.trigger_interval IS '间隔时长';
COMMENT ON COLUMN sj_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行 4、恢复';
COMMENT ON COLUMN sj_job.executor_timeout IS '任务执行超时时间,单位秒';
COMMENT ON COLUMN sj_job.max_retry_times IS '最大重试次数';
COMMENT ON COLUMN sj_job.parallel_num IS '并行数';
COMMENT ON COLUMN sj_job.retry_interval IS '重试间隔 ( s)';
COMMENT ON COLUMN sj_job.bucket_index IS 'bucket';
COMMENT ON COLUMN sj_job.resident IS '是否是常驻任务';
COMMENT ON COLUMN sj_job.notify_ids IS '通知告警场景配置id列表';
COMMENT ON COLUMN sj_job.owner_id IS '负责人id';
COMMENT ON COLUMN sj_job.description IS '描述';
COMMENT ON COLUMN sj_job.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_job.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_job.create_dt IS '创建时间';
COMMENT ON COLUMN sj_job.update_dt IS '修改时间';
COMMENT ON TABLE sj_job IS '任务信息';
INSERT INTO sj_job(namespace_id, group_name, job_name, args_str, args_type, next_trigger_at, job_status, task_type, route_key, executor_type, executor_info, trigger_type, trigger_interval, block_strategy,executor_timeout, max_retry_times, parallel_num, retry_interval, bucket_index, resident, notify_ids, owner_id, description, ext_attrs, deleted, create_dt, update_dt) VALUES ('dev', 'ruoyi_group', 'demo-job', NULL, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', 1,'', '', 0, sysdate, sysdate);
-- sj_job_log_message
CREATE TABLE sj_job_log_message
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
job_id number NOT NULL,
task_batch_id number NOT NULL,
task_id number NOT NULL,
message clob NULL,
log_num number DEFAULT 1 NOT NULL,
real_time number DEFAULT 0 NOT NULL,
ext_attrs varchar2(256) DEFAULT '' NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_job_log_message
ADD CONSTRAINT pk_sj_job_log_message PRIMARY KEY (id);
CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id);
CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt);
CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name);
COMMENT ON COLUMN sj_job_log_message.id IS '主键';
COMMENT ON COLUMN sj_job_log_message.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job_log_message.group_name IS '组名称';
COMMENT ON COLUMN sj_job_log_message.job_id IS '任务信息id';
COMMENT ON COLUMN sj_job_log_message.task_batch_id IS '任务批次id';
COMMENT ON COLUMN sj_job_log_message.task_id IS '调度任务id';
COMMENT ON COLUMN sj_job_log_message.message IS '调度信息';
COMMENT ON COLUMN sj_job_log_message.log_num IS '日志数量';
COMMENT ON COLUMN sj_job_log_message.real_time IS '上报时间';
COMMENT ON COLUMN sj_job_log_message.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_job_log_message.create_dt IS '创建时间';
COMMENT ON TABLE sj_job_log_message IS '调度日志';
-- sj_job_task
CREATE TABLE sj_job_task
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
job_id number NOT NULL,
task_batch_id number NOT NULL,
parent_id number DEFAULT 0 NOT NULL,
task_status smallint DEFAULT 0 NOT NULL,
retry_count number DEFAULT 0 NOT NULL,
mr_stage smallint DEFAULT NULL NULL,
leaf smallint DEFAULT '1' NOT NULL,
task_name varchar2(255) DEFAULT '' NULL,
client_info varchar2(128) DEFAULT NULL NULL,
wf_context clob DEFAULT NULL NULL,
result_message clob NULL,
args_str clob DEFAULT NULL NULL,
args_type smallint DEFAULT 1 NOT NULL,
ext_attrs varchar2(256) DEFAULT '' NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_job_task
ADD CONSTRAINT pk_sj_job_task PRIMARY KEY (id);
CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status);
CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt);
CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name);
COMMENT ON COLUMN sj_job_task.id IS '主键';
COMMENT ON COLUMN sj_job_task.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job_task.group_name IS '组名称';
COMMENT ON COLUMN sj_job_task.job_id IS '任务信息id';
COMMENT ON COLUMN sj_job_task.task_batch_id IS '调度任务id';
COMMENT ON COLUMN sj_job_task.parent_id IS '父执行器id';
COMMENT ON COLUMN sj_job_task.task_status IS '执行的状态 0、失败 1、成功';
COMMENT ON COLUMN sj_job_task.retry_count IS '重试次数';
COMMENT ON COLUMN sj_job_task.mr_stage IS '动态分片所处阶段 1:map 2:reduce 3:mergeReduce';
COMMENT ON COLUMN sj_job_task.leaf IS '叶子节点';
COMMENT ON COLUMN sj_job_task.task_name IS '任务名称';
COMMENT ON COLUMN sj_job_task.client_info IS '客户端地址 clientId#ip:port';
COMMENT ON COLUMN sj_job_task.wf_context IS '工作流全局上下文';
COMMENT ON COLUMN sj_job_task.result_message IS '执行结果';
COMMENT ON COLUMN sj_job_task.args_str IS '执行方法参数';
COMMENT ON COLUMN sj_job_task.args_type IS '参数类型 ';
COMMENT ON COLUMN sj_job_task.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_job_task.create_dt IS '创建时间';
COMMENT ON COLUMN sj_job_task.update_dt IS '修改时间';
COMMENT ON TABLE sj_job_task IS '任务实例';
-- sj_job_task_batch
CREATE TABLE sj_job_task_batch
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
job_id number NOT NULL,
workflow_node_id number DEFAULT 0 NOT NULL,
parent_workflow_node_id number DEFAULT 0 NOT NULL,
workflow_task_batch_id number DEFAULT 0 NOT NULL,
task_batch_status smallint DEFAULT 0 NOT NULL,
operation_reason smallint DEFAULT 0 NOT NULL,
execution_at number DEFAULT 0 NOT NULL,
system_task_type smallint DEFAULT 3 NOT NULL,
parent_id varchar2(64) DEFAULT '' NULL,
ext_attrs varchar2(256) DEFAULT '' NULL,
deleted smallint DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_job_task_batch
ADD CONSTRAINT pk_sj_job_task_batch PRIMARY KEY (id);
CREATE INDEX idx_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status);
CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt);
CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name);
CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id);
COMMENT ON COLUMN sj_job_task_batch.id IS '主键';
COMMENT ON COLUMN sj_job_task_batch.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job_task_batch.group_name IS '组名称';
COMMENT ON COLUMN sj_job_task_batch.job_id IS '任务id';
COMMENT ON COLUMN sj_job_task_batch.workflow_node_id IS '工作流节点id';
COMMENT ON COLUMN sj_job_task_batch.parent_workflow_node_id IS '工作流任务父批次id';
COMMENT ON COLUMN sj_job_task_batch.workflow_task_batch_id IS '工作流任务批次id';
COMMENT ON COLUMN sj_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
COMMENT ON COLUMN sj_job_task_batch.operation_reason IS '操作原因';
COMMENT ON COLUMN sj_job_task_batch.execution_at IS '任务执行时间';
COMMENT ON COLUMN sj_job_task_batch.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
COMMENT ON COLUMN sj_job_task_batch.parent_id IS '父节点';
COMMENT ON COLUMN sj_job_task_batch.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_job_task_batch.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_job_task_batch.create_dt IS '创建时间';
COMMENT ON COLUMN sj_job_task_batch.update_dt IS '修改时间';
COMMENT ON TABLE sj_job_task_batch IS '任务批次';
-- sj_job_summary
CREATE TABLE sj_job_summary
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) DEFAULT '' NULL,
business_id number NOT NULL,
system_task_type smallint DEFAULT 3 NOT NULL,
trigger_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
success_num number DEFAULT 0 NOT NULL,
fail_num number DEFAULT 0 NOT NULL,
fail_reason varchar2(512) DEFAULT '' NULL,
stop_num number DEFAULT 0 NOT NULL,
stop_reason varchar2(512) DEFAULT '' NULL,
cancel_num number DEFAULT 0 NOT NULL,
cancel_reason varchar2(512) DEFAULT '' NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_job_summary
ADD CONSTRAINT pk_sj_job_summary PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id);
CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id);
COMMENT ON COLUMN sj_job_summary.id IS '主键';
COMMENT ON COLUMN sj_job_summary.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job_summary.group_name IS '组名称';
COMMENT ON COLUMN sj_job_summary.business_id IS '业务id ( job_id或workflow_id)';
COMMENT ON COLUMN sj_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
COMMENT ON COLUMN sj_job_summary.trigger_at IS '统计时间';
COMMENT ON COLUMN sj_job_summary.success_num IS '执行成功-日志数量';
COMMENT ON COLUMN sj_job_summary.fail_num IS '执行失败-日志数量';
COMMENT ON COLUMN sj_job_summary.fail_reason IS '失败原因';
COMMENT ON COLUMN sj_job_summary.stop_num IS '执行失败-日志数量';
COMMENT ON COLUMN sj_job_summary.stop_reason IS '失败原因';
COMMENT ON COLUMN sj_job_summary.cancel_num IS '执行失败-日志数量';
COMMENT ON COLUMN sj_job_summary.cancel_reason IS '失败原因';
COMMENT ON COLUMN sj_job_summary.create_dt IS '创建时间';
COMMENT ON COLUMN sj_job_summary.update_dt IS '修改时间';
COMMENT ON TABLE sj_job_summary IS 'DashBoard_Job';
-- sj_retry_summary
CREATE TABLE sj_retry_summary
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) DEFAULT '' NULL,
scene_name varchar2(50) DEFAULT '' NULL,
trigger_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
running_num number DEFAULT 0 NOT NULL,
finish_num number DEFAULT 0 NOT NULL,
max_count_num number DEFAULT 0 NOT NULL,
suspend_num number DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_retry_summary
ADD CONSTRAINT pk_sj_retry_summary PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at);
CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at);
COMMENT ON COLUMN sj_retry_summary.id IS '主键';
COMMENT ON COLUMN sj_retry_summary.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_summary.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_summary.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_summary.trigger_at IS '统计时间';
COMMENT ON COLUMN sj_retry_summary.running_num IS '重试中-日志数量';
COMMENT ON COLUMN sj_retry_summary.finish_num IS '重试完成-日志数量';
COMMENT ON COLUMN sj_retry_summary.max_count_num IS '重试到达最大次数-日志数量';
COMMENT ON COLUMN sj_retry_summary.suspend_num IS '暂停重试-日志数量';
COMMENT ON COLUMN sj_retry_summary.create_dt IS '创建时间';
COMMENT ON COLUMN sj_retry_summary.update_dt IS '修改时间';
COMMENT ON TABLE sj_retry_summary IS 'DashBoard_Retry';
-- sj_workflow
CREATE TABLE sj_workflow
(
id number GENERATED ALWAYS AS IDENTITY,
workflow_name varchar2(64) NULL,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
workflow_status smallint DEFAULT 1 NOT NULL,
trigger_type smallint NOT NULL,
trigger_interval varchar2(255) NULL,
next_trigger_at number NOT NULL,
block_strategy smallint DEFAULT 1 NOT NULL,
executor_timeout number DEFAULT 0 NOT NULL,
description varchar2(256) DEFAULT '' NULL,
flow_info clob DEFAULT NULL NULL,
wf_context clob DEFAULT NULL NULL,
notify_ids varchar2(128) DEFAULT '' NULL,
bucket_index number DEFAULT 0 NOT NULL,
version number NOT NULL,
ext_attrs varchar2(256) DEFAULT '' NULL,
deleted smallint DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_workflow
ADD CONSTRAINT pk_sj_workflow PRIMARY KEY (id);
CREATE INDEX idx_sj_workflow_01 ON sj_workflow (create_dt);
CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name);
COMMENT ON COLUMN sj_workflow.id IS '主键';
COMMENT ON COLUMN sj_workflow.workflow_name IS '工作流名称';
COMMENT ON COLUMN sj_workflow.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_workflow.group_name IS '组名称';
COMMENT ON COLUMN sj_workflow.workflow_status IS '工作流状态 0、关闭、1、开启';
COMMENT ON COLUMN sj_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
COMMENT ON COLUMN sj_workflow.trigger_interval IS '间隔时长';
COMMENT ON COLUMN sj_workflow.next_trigger_at IS '下次触发时间';
COMMENT ON COLUMN sj_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
COMMENT ON COLUMN sj_workflow.executor_timeout IS '任务执行超时时间,单位秒';
COMMENT ON COLUMN sj_workflow.description IS '描述';
COMMENT ON COLUMN sj_workflow.flow_info IS '流程信息';
COMMENT ON COLUMN sj_workflow.wf_context IS '上下文';
COMMENT ON COLUMN sj_workflow.notify_ids IS '通知告警场景配置id列表';
COMMENT ON COLUMN sj_workflow.bucket_index IS 'bucket';
COMMENT ON COLUMN sj_workflow.version IS '版本号';
COMMENT ON COLUMN sj_workflow.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_workflow.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_workflow.create_dt IS '创建时间';
COMMENT ON COLUMN sj_workflow.update_dt IS '修改时间';
COMMENT ON TABLE sj_workflow IS '工作流';
-- sj_workflow_node
CREATE TABLE sj_workflow_node
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
node_name varchar2(64) NULL,
group_name varchar2(64) NULL,
job_id number NOT NULL,
workflow_id number NOT NULL,
node_type smallint DEFAULT 1 NOT NULL,
expression_type smallint DEFAULT 0 NOT NULL,
fail_strategy smallint DEFAULT 1 NOT NULL,
workflow_node_status smallint DEFAULT 1 NOT NULL,
priority_level number DEFAULT 1 NOT NULL,
node_info clob DEFAULT NULL NULL,
version number NOT NULL,
ext_attrs varchar2(256) DEFAULT '' NULL,
deleted smallint DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_workflow_node
ADD CONSTRAINT pk_sj_workflow_node PRIMARY KEY (id);
CREATE INDEX idx_sj_workflow_node_01 ON sj_workflow_node (create_dt);
CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name);
COMMENT ON COLUMN sj_workflow_node.id IS '主键';
COMMENT ON COLUMN sj_workflow_node.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_workflow_node.node_name IS '节点名称';
COMMENT ON COLUMN sj_workflow_node.group_name IS '组名称';
COMMENT ON COLUMN sj_workflow_node.job_id IS '任务信息id';
COMMENT ON COLUMN sj_workflow_node.workflow_id IS '工作流ID';
COMMENT ON COLUMN sj_workflow_node.node_type IS '1、任务节点 2、条件节点';
COMMENT ON COLUMN sj_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
COMMENT ON COLUMN sj_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞';
COMMENT ON COLUMN sj_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启';
COMMENT ON COLUMN sj_workflow_node.priority_level IS '优先级';
COMMENT ON COLUMN sj_workflow_node.node_info IS '节点信息 ';
COMMENT ON COLUMN sj_workflow_node.version IS '版本号';
COMMENT ON COLUMN sj_workflow_node.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_workflow_node.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_workflow_node.create_dt IS '创建时间';
COMMENT ON COLUMN sj_workflow_node.update_dt IS '修改时间';
COMMENT ON TABLE sj_workflow_node IS '工作流节点';
-- sj_workflow_task_batch
CREATE TABLE sj_workflow_task_batch
(
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
workflow_id number NOT NULL,
task_batch_status smallint DEFAULT 0 NOT NULL,
operation_reason smallint DEFAULT 0 NOT NULL,
flow_info clob DEFAULT NULL NULL,
wf_context clob DEFAULT NULL NULL,
execution_at number DEFAULT 0 NOT NULL,
ext_attrs varchar2(256) DEFAULT '' NULL,
version number DEFAULT 1 NOT NULL,
deleted smallint DEFAULT 0 NOT NULL,
create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE sj_workflow_task_batch
ADD CONSTRAINT pk_sj_workflow_task_batch PRIMARY KEY (id);
CREATE INDEX idx_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status);
CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt);
CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name);
COMMENT ON COLUMN sj_workflow_task_batch.id IS '主键';
COMMENT ON COLUMN sj_workflow_task_batch.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_workflow_task_batch.group_name IS '组名称';
COMMENT ON COLUMN sj_workflow_task_batch.workflow_id IS '工作流任务id';
COMMENT ON COLUMN sj_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
COMMENT ON COLUMN sj_workflow_task_batch.operation_reason IS '操作原因';
COMMENT ON COLUMN sj_workflow_task_batch.flow_info IS '流程信息';
COMMENT ON COLUMN sj_workflow_task_batch.wf_context IS '全局上下文';
COMMENT ON COLUMN sj_workflow_task_batch.execution_at IS '任务执行时间';
COMMENT ON COLUMN sj_workflow_task_batch.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_workflow_task_batch.version IS '版本号';
COMMENT ON COLUMN sj_workflow_task_batch.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_workflow_task_batch.create_dt IS '创建时间';
COMMENT ON COLUMN sj_workflow_task_batch.update_dt IS '修改时间';
COMMENT ON TABLE sj_workflow_task_batch IS '工作流批次';
File diff suppressed because it is too large Load Diff
+429
View File
@@ -0,0 +1,429 @@
-- ----------------------------
-- 0、warm-flow-all.sql,地址:https://gitee.com/dromara/warm-flow/blob/master/sql/oracle/oracle-wram-flow-all.sql
-- ----------------------------
create table FLOW_DEFINITION
(
ID NUMBER(20) not null,
FLOW_CODE VARCHAR2(40) not null,
FLOW_NAME VARCHAR2(100) not null,
CATEGORY VARCHAR2(100),
VERSION VARCHAR2(20) not null,
IS_PUBLISH NUMBER(1) default 0 not null,
FORM_CUSTOM VARCHAR2(1) default 'N',
FORM_PATH VARCHAR2(100),
ACTIVITY_STATUS NUMBER(1) default 1,
LISTENER_TYPE VARCHAR2(100),
LISTENER_PATH VARCHAR2(500),
EXT VARCHAR2(500),
CREATE_TIME DATE,
UPDATE_TIME DATE,
DEL_FLAG VARCHAR2(1) default '0',
TENANT_ID VARCHAR2(40)
);
alter table FLOW_DEFINITION
add constraint PK_FLOW_DEFINITION primary key (ID);
comment on table FLOW_DEFINITION is '流程定义表';
comment on column FLOW_DEFINITION.ID is '主键id';
comment on column FLOW_DEFINITION.FLOW_CODE is '流程编码';
comment on column FLOW_DEFINITION.FLOW_NAME is '流程名称';
comment on column FLOW_DEFINITION.CATEGORY is '流程类别';
comment on column FLOW_DEFINITION.VERSION is '流程版本';
comment on column FLOW_DEFINITION.IS_PUBLISH is '是否发布 (0未发布 1已发布 9失效)';
comment on column FLOW_DEFINITION.FORM_CUSTOM is '审批表单是否自定义 (Y是 N否)';
comment on column FLOW_DEFINITION.FORM_PATH is '审批表单路径';
comment on column FLOW_DEFINITION.ACTIVITY_STATUS is '流程激活状态(0挂起 1激活)';
comment on column FLOW_DEFINITION.LISTENER_TYPE is '监听器类型';
comment on column FLOW_DEFINITION.LISTENER_PATH is '监听器路径';
comment on column FLOW_DEFINITION.EXT is '扩展字段,预留给业务系统使用';
comment on column FLOW_DEFINITION.CREATE_TIME is '创建时间';
comment on column FLOW_DEFINITION.UPDATE_TIME is '更新时间';
comment on column FLOW_DEFINITION.DEL_FLAG is '删除标志';
comment on column FLOW_DEFINITION.TENANT_ID is '租户id';
create table FLOW_NODE
(
ID NUMBER(20) not null,
NODE_TYPE NUMBER(1) not null,
DEFINITION_ID NUMBER(20) not null,
NODE_CODE VARCHAR2(100) not null,
NODE_NAME VARCHAR2(100),
NODE_RATIO NUMBER(6, 3),
COORDINATE VARCHAR2(100),
ANY_NODE_SKIP VARCHAR2(100),
LISTENER_TYPE VARCHAR2(100),
LISTENER_PATH VARCHAR2(500),
HANDLER_TYPE VARCHAR2(100),
HANDLER_PATH VARCHAR2(400),
FORM_CUSTOM VARCHAR2(1) default 'N',
FORM_PATH VARCHAR2(100),
VERSION VARCHAR2(20),
CREATE_TIME DATE,
UPDATE_TIME DATE,
EXT CLOB,
DEL_FLAG VARCHAR2(1) default '0',
TENANT_ID VARCHAR2(40),
PERMISSION_FLAG VARCHAR2(200)
);
alter table FLOW_NODE
add constraint PK_FLOW_NODE primary key (ID);
comment on table FLOW_NODE is '流程节点表';
comment on column FLOW_NODE.ID is '主键id';
comment on column FLOW_NODE.NODE_TYPE is '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
comment on column FLOW_NODE.DEFINITION_ID is '对应flow_definition表的id';
comment on column FLOW_NODE.NODE_CODE is '流程节点编码';
comment on column FLOW_NODE.NODE_NAME is '流程节点名称';
comment on column FLOW_NODE.NODE_RATIO is '流程签署比例值';
comment on column FLOW_NODE.COORDINATE is '坐标';
comment on column FLOW_NODE.ANY_NODE_SKIP is '任意结点跳转';
comment on column FLOW_NODE.LISTENER_TYPE is '监听器类型';
comment on column FLOW_NODE.LISTENER_PATH is '监听器路径';
comment on column FLOW_NODE.HANDLER_TYPE is '处理器类型';
comment on column FLOW_NODE.HANDLER_PATH is '处理器路径';
comment on column FLOW_NODE.FORM_CUSTOM is '审批表单是否自定义 (Y是 N否)';
comment on column FLOW_NODE.FORM_PATH is '审批表单路径';
comment on column FLOW_NODE.VERSION is '版本';
comment on column FLOW_NODE.CREATE_TIME is '创建时间';
comment on column FLOW_NODE.UPDATE_TIME is '更新时间';
comment on column FLOW_NODE.EXT is '节点扩展属性';
comment on column FLOW_NODE.DEL_FLAG is '删除标志';
comment on column FLOW_NODE.TENANT_ID is '租户id';
comment on column FLOW_NODE.PERMISSION_FLAG is '权限标识(权限类型:权限标识,可以多个,用@@隔开)';
create table FLOW_SKIP
(
ID NUMBER(20) not null,
DEFINITION_ID NUMBER(20) not null,
NOW_NODE_CODE VARCHAR2(100) not null,
NOW_NODE_TYPE NUMBER(1),
NEXT_NODE_CODE VARCHAR2(100) not null,
NEXT_NODE_TYPE NUMBER(1),
SKIP_NAME VARCHAR2(100),
SKIP_TYPE VARCHAR2(40),
SKIP_CONDITION VARCHAR2(200),
COORDINATE VARCHAR2(100),
CREATE_TIME DATE,
UPDATE_TIME DATE,
DEL_FLAG VARCHAR2(1) default '0',
TENANT_ID VARCHAR2(40)
);
alter table FLOW_SKIP
add constraint PK_FLOW_SKIP primary key (ID);
comment on table FLOW_SKIP is '节点跳转关联表';
comment on column FLOW_SKIP.ID is '主键id';
comment on column FLOW_SKIP.DEFINITION_ID is '流程定义id';
comment on column FLOW_SKIP.NOW_NODE_CODE is '当前流程节点类型 (0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
comment on column FLOW_SKIP.NOW_NODE_TYPE is '下一个流程节点类型 (0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
comment on column FLOW_SKIP.NEXT_NODE_CODE is '下一个流程节点编码';
comment on column FLOW_SKIP.NEXT_NODE_TYPE is '下一个流程节点类型 (0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
comment on column FLOW_SKIP.SKIP_NAME is '跳转名称';
comment on column FLOW_SKIP.SKIP_TYPE is '跳转类型 (PASS审批通过 REJECT退回)';
comment on column FLOW_SKIP.SKIP_CONDITION is '跳转条件';
comment on column FLOW_SKIP.COORDINATE is '坐标';
comment on column FLOW_SKIP.CREATE_TIME is '创建时间';
comment on column FLOW_SKIP.UPDATE_TIME is '更新时间';
comment on column FLOW_SKIP.DEL_FLAG is '删除标志';
comment on column FLOW_SKIP.TENANT_ID is '租户id';
create table FLOW_INSTANCE
(
ID NUMBER not null,
DEFINITION_ID NUMBER not null,
BUSINESS_ID VARCHAR2(40) not null,
NODE_TYPE NUMBER(1),
NODE_CODE VARCHAR2(100),
NODE_NAME VARCHAR2(100),
VARIABLE CLOB,
FLOW_STATUS VARCHAR2(20),
ACTIVITY_STATUS NUMBER(1) default 1,
DEF_JSON CLOB,
CREATE_BY VARCHAR2(64) default '',
CREATE_TIME DATE,
UPDATE_TIME DATE,
EXT VARCHAR2(500),
DEL_FLAG VARCHAR2(1) default '0',
TENANT_ID VARCHAR2(40)
);
alter table FLOW_INSTANCE
add constraint PK_FLOW_INSTANCE primary key (ID);
comment on table FLOW_INSTANCE is '流程实例表';
comment on column FLOW_INSTANCE.ID is '主键id';
comment on column FLOW_INSTANCE.DEFINITION_ID is '对应flow_definition表的id';
comment on column FLOW_INSTANCE.BUSINESS_ID is '业务id';
comment on column FLOW_INSTANCE.NODE_TYPE is '开始节点类型 (0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
comment on column FLOW_INSTANCE.NODE_CODE is '开始节点编码';
comment on column FLOW_INSTANCE.NODE_NAME is '开始节点名称';
comment on column FLOW_INSTANCE.VARIABLE is '任务变量';
comment on column FLOW_INSTANCE.FLOW_STATUS is '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
comment on column FLOW_INSTANCE.ACTIVITY_STATUS is '流程激活状态(0挂起 1激活)';
comment on column FLOW_INSTANCE.DEF_JSON is '流程定义json';
comment on column FLOW_INSTANCE.CREATE_BY is '创建者';
comment on column FLOW_INSTANCE.CREATE_TIME is '创建时间';
comment on column FLOW_INSTANCE.UPDATE_TIME is '更新时间';
comment on column FLOW_INSTANCE.EXT is '扩展字段,预留给业务系统使用';
comment on column FLOW_INSTANCE.DEL_FLAG is '删除标志';
comment on column FLOW_INSTANCE.TENANT_ID is '租户id';
create table FLOW_TASK
(
ID NUMBER(20) not null,
DEFINITION_ID NUMBER(20) not null,
INSTANCE_ID NUMBER(20) not null,
NODE_CODE VARCHAR2(100),
NODE_NAME VARCHAR2(100),
NODE_TYPE NUMBER(1),
FLOW_STATUS VARCHAR2(20),
FORM_CUSTOM VARCHAR2(1) default 'N',
FORM_PATH VARCHAR2(100),
CREATE_TIME DATE,
UPDATE_TIME DATE,
DEL_FLAG VARCHAR2(1) default '0',
TENANT_ID VARCHAR2(40)
);
alter table FLOW_TASK
add constraint PK_FLOW_TASK primary key (ID);
comment on table FLOW_TASK is '待办任务表';
comment on column FLOW_TASK.ID is '主键id';
comment on column FLOW_TASK.DEFINITION_ID is '对应flow_definition表的id';
comment on column FLOW_TASK.INSTANCE_ID is '对应flow_instance表的id';
comment on column FLOW_TASK.NODE_CODE is '节点编码';
comment on column FLOW_TASK.NODE_NAME is '节点名称';
comment on column FLOW_TASK.NODE_TYPE is '节点类型 (0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
comment on column FLOW_TASK.FLOW_STATUS is '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
comment on column FLOW_TASK.FORM_CUSTOM is '审批表单是否自定义 (Y是 N否)';
comment on column FLOW_TASK.FORM_PATH is '审批表单路径';
comment on column FLOW_TASK.CREATE_TIME is '创建时间';
comment on column FLOW_TASK.UPDATE_TIME is '更新时间';
comment on column FLOW_TASK.DEL_FLAG is '删除标志';
comment on column FLOW_TASK.TENANT_ID is '租户id';
create table FLOW_HIS_TASK
(
ID NUMBER(20) not null,
DEFINITION_ID NUMBER(20) not null,
INSTANCE_ID NUMBER(20) not null,
TASK_ID NUMBER(20) not null,
NODE_CODE VARCHAR2(100),
NODE_NAME VARCHAR2(100),
NODE_TYPE NUMBER(1),
TARGET_NODE_CODE VARCHAR2(200),
TARGET_NODE_NAME VARCHAR2(200),
APPROVER VARCHAR2(40),
COOPERATE_TYPE NUMBER(1) default 0,
COLLABORATOR VARCHAR2(40),
SKIP_TYPE VARCHAR2(10),
FLOW_STATUS VARCHAR2(20),
FORM_CUSTOM VARCHAR2(1) default 'N',
FORM_PATH VARCHAR2(100),
MESSAGE VARCHAR2(500),
VARIABLE CLOB,
EXT CLOB,
CREATE_TIME DATE,
UPDATE_TIME DATE,
DEL_FLAG VARCHAR2(1) default '0',
TENANT_ID VARCHAR2(40)
);
alter table FLOW_HIS_TASK
add constraint PK_FLOW_HIS_TASK primary key (ID);
comment on table FLOW_HIS_TASK is '历史任务记录表';
comment on column FLOW_HIS_TASK.ID is '主键id';
comment on column FLOW_HIS_TASK.DEFINITION_ID is '对应flow_definition表的id';
comment on column FLOW_HIS_TASK.INSTANCE_ID is '对应flow_instance表的id';
comment on column FLOW_HIS_TASK.TASK_ID is '对应flow_task表的id';
comment on column FLOW_HIS_TASK.NODE_CODE is '开始节点编码';
comment on column FLOW_HIS_TASK.NODE_NAME is '开始节点名称';
comment on column FLOW_HIS_TASK.NODE_TYPE is '开始节点类型 (0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
comment on column FLOW_HIS_TASK.TARGET_NODE_CODE is '目标节点编码';
comment on column FLOW_HIS_TASK.TARGET_NODE_NAME is '目标节点名称';
comment on column FLOW_HIS_TASK.SKIP_TYPE is '流转类型(PASS通过 REJECT退回 NONE无动作)';
comment on column FLOW_HIS_TASK.FLOW_STATUS is '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
comment on column FLOW_HIS_TASK.FORM_CUSTOM is '审批表单是否自定义 (Y是 N否)';
comment on column FLOW_HIS_TASK.FORM_PATH is '审批表单路径';
comment on column FLOW_HIS_TASK.MESSAGE is '审批意见';
comment on column FLOW_HIS_TASK.VARIABLE is '任务变量';
comment on column FLOW_HIS_TASK.EXT is '扩展字段,预留给业务系统使用';
comment on column FLOW_HIS_TASK.CREATE_TIME is '任务开始时间';
comment on column FLOW_HIS_TASK.UPDATE_TIME is '审批完成时间';
comment on column FLOW_HIS_TASK.DEL_FLAG is '删除标志';
comment on column FLOW_HIS_TASK.TENANT_ID is '租户id';
comment on column FLOW_HIS_TASK.APPROVER is '审批者';
comment on column FLOW_HIS_TASK.COOPERATE_TYPE is '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)';
comment on column FLOW_HIS_TASK.COLLABORATOR is '协作人';
create table FLOW_USER
(
ID NUMBER(20) not null,
TYPE VARCHAR2(1) not null,
PROCESSED_BY VARCHAR2(80),
ASSOCIATED NUMBER(20) not null,
CREATE_TIME DATE,
CREATE_BY VARCHAR2(80),
UPDATE_TIME DATE,
DEL_FLAG VARCHAR2(1) default '0',
TENANT_ID VARCHAR2(40)
);
alter table FLOW_USER
add constraint PK_FLOW_USER primary key (ID);
comment on table FLOW_USER is '待办任务表';
comment on column FLOW_USER.ID is '主键id';
comment on column FLOW_USER.TYPE is '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)';
comment on column FLOW_USER.PROCESSED_BY is '权限人)';
comment on column FLOW_USER.ASSOCIATED is '任务表id';
comment on column FLOW_USER.CREATE_TIME is '创建时间';
comment on column FLOW_USER.CREATE_BY is '节点名称';
comment on column FLOW_USER.UPDATE_TIME is '更新时间';
comment on column FLOW_USER.DEL_FLAG is '删除标志';
comment on column FLOW_USER.TENANT_ID is '租户id';
create index USER_PROCESSED_TYPE on FLOW_USER (PROCESSED_BY, TYPE);
create index USER_ASSOCIATED_IDX on FLOW_USER (ASSOCIATED);
-- ----------------------------
-- 流程分类表
-- ----------------------------
CREATE TABLE flow_category
(
category_id NUMBER (20) NOT NULL,
tenant_id VARCHAR2 (20) DEFAULT '000000',
parent_id NUMBER (20) DEFAULT 0,
ancestors VARCHAR2 (500) DEFAULT '',
category_name VARCHAR2 (30) NOT NULL,
order_num NUMBER (4) DEFAULT 0,
del_flag CHAR(1) DEFAULT '0',
create_dept NUMBER (20),
create_by NUMBER (20),
create_time DATE,
update_by NUMBER (20),
update_time DATE
);
alter table flow_category add constraint pk_flow_category primary key (category_id);
COMMENT ON TABLE flow_category IS '流程分类';
COMMENT ON COLUMN flow_category.category_id IS '流程分类ID';
COMMENT ON COLUMN flow_category.tenant_id IS '租户编号';
COMMENT ON COLUMN flow_category.parent_id IS '父流程分类id';
COMMENT ON COLUMN flow_category.ancestors IS '祖级列表';
COMMENT ON COLUMN flow_category.category_name IS '流程分类名称';
COMMENT ON COLUMN flow_category.order_num IS '显示顺序';
COMMENT ON COLUMN flow_category.del_flag IS '删除标志(0代表存在 1代表删除)';
COMMENT ON COLUMN flow_category.create_dept IS '创建部门';
COMMENT ON COLUMN flow_category.create_by IS '创建者';
COMMENT ON COLUMN flow_category.create_time IS '创建时间';
COMMENT ON COLUMN flow_category.update_by IS '更新者';
COMMENT ON COLUMN flow_category.update_time IS '更新时间';
INSERT INTO flow_category VALUES (100, '000000', 0, '0', 'OA审批', 0, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (101, '000000', 100, '0,100', '假勤管理', 0, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (102, '000000', 100, '0,100', '人事管理', 1, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (103, '000000', 101, '0,100,101', '请假', 0, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (104, '000000', 101, '0,100,101', '出差', 1, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (105, '000000', 101, '0,100,101', '加班', 2, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (106, '000000', 101, '0,100,101', '换班', 3, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (107, '000000', 101, '0,100,101', '外出', 4, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (108, '000000', 102, '0,100,102', '转正', 1, '0', 103, 1, SYSDATE, NULL, NULL);
INSERT INTO flow_category VALUES (109, '000000', 102, '0,100,102', '离职', 2, '0', 103, 1, SYSDATE, NULL, NULL);
-- ----------------------------
-- 请假单信息
-- ----------------------------
CREATE TABLE test_leave
(
id NUMBER (20) NOT NULL,
tenant_id VARCHAR2 (20) DEFAULT '000000',
leave_type VARCHAR2 (255) NOT NULL,
start_date DATE NOT NULL,
end_date DATE NOT NULL,
leave_days NUMBER (10) NOT NULL,
remark VARCHAR2 (255),
status VARCHAR2 (255),
create_dept NUMBER (20),
create_by NUMBER (20),
create_time DATE,
update_by NUMBER (20),
update_time DATE
);
alter table test_leave add constraint pk_test_leave primary key (id);
COMMENT ON TABLE test_leave IS '请假申请表';
COMMENT ON COLUMN test_leave.id IS 'ID';
COMMENT ON COLUMN test_leave.tenant_id IS '租户编号';
COMMENT ON COLUMN test_leave.leave_type IS '请假类型';
COMMENT ON COLUMN test_leave.start_date IS '开始时间';
COMMENT ON COLUMN test_leave.end_date IS '结束时间';
COMMENT ON COLUMN test_leave.leave_days IS '请假天数';
COMMENT ON COLUMN test_leave.remark IS '请假原因';
COMMENT ON COLUMN test_leave.status IS '状态';
COMMENT ON COLUMN test_leave.create_dept IS '创建部门';
COMMENT ON COLUMN test_leave.create_by IS '创建者';
COMMENT ON COLUMN test_leave.create_time IS '创建时间';
COMMENT ON COLUMN test_leave.update_by IS '更新者';
COMMENT ON COLUMN test_leave.update_time IS '更新时间';
INSERT INTO sys_menu VALUES ('11616', '工作流', '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '', 'finish', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0', '', 'my-copy', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C', '0', '0', '', 'process-definition', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0', '0', '', 'tree-table', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0', 'workflow:category:list', 'category', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '', 'guide', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11700', '流程设计', '11616', '5', 'design/index', 'workflow/processDefinition/design', '', '1', '1', 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11701', '请假申请', '11616', '6', 'leaveEdit/index', 'workflow/leave/leaveEdit', '', '1', '1', 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11623', '流程分类查询', '11622', '1', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:query', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11624', '流程分类新增', '11622', '2', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:add', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11625', '流程分类修改', '11622', '3', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:edit', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11626', '流程分类删除', '11622', '4', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:remove', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11627', '流程分类导出', '11622', '5', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:export', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11638', '请假申请', '5', '1', 'leave', 'workflow/leave/index', '', '1', '0', 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, SYSDATE, NULL, NULL, '请假申请菜单');
INSERT INTO sys_menu VALUES ('11639', '请假申请查询', '11638', '1', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11640', '请假申请新增', '11638', '2', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11641', '请假申请修改', '11638', '3', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11642', '请假申请删除', '11638', '4', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11643', '请假申请导出', '11638', '5', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, SYSDATE, NULL, NULL, '');
INSERT INTO sys_dict_type VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, SYSDATE, NULL, NULL, '业务状态列表');
INSERT INTO sys_dict_type VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, SYSDATE, NULL, NULL, '表单类型列表');
INSERT INTO sys_dict_type VALUES (15, '000000', '任务状态', 'wf_task_status', 103, 1, SYSDATE, NULL, NULL, '任务状态');
INSERT INTO sys_dict_data VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '已撤销');
INSERT INTO sys_dict_data VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, SYSDATE, NULL, NULL, '草稿');
INSERT INTO sys_dict_data VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1, SYSDATE, NULL, NULL, '待审核');
INSERT INTO sys_dict_data VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, SYSDATE, NULL, NULL, '已完成');
INSERT INTO sys_dict_data VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '已作废');
INSERT INTO sys_dict_data VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '已退回');
INSERT INTO sys_dict_data VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '已终止');
INSERT INTO sys_dict_data VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, SYSDATE, NULL, NULL, '自定义表单');
INSERT INTO sys_dict_data VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, SYSDATE, NULL, NULL, '动态表单');
INSERT INTO sys_dict_data VALUES (48, '000000', 1, '撤销', 'cancel', 'wf_task_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '撤销');
INSERT INTO sys_dict_data VALUES (49, '000000', 2, '通过', 'pass', 'wf_task_status', '', 'success', 'N', 103, 1, SYSDATE, NULL, NULL, '通过');
INSERT INTO sys_dict_data VALUES (50, '000000', 3, '待审核', 'waiting', 'wf_task_status', '', 'primary', 'N', 103, 1, SYSDATE, NULL, NULL, '待审核');
INSERT INTO sys_dict_data VALUES (51, '000000', 4, '作废', 'invalid', 'wf_task_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '作废');
INSERT INTO sys_dict_data VALUES (52, '000000', 5, '退回', 'back', 'wf_task_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '退回');
INSERT INTO sys_dict_data VALUES (53, '000000', 6, '终止', 'termination', 'wf_task_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '终止');
INSERT INTO sys_dict_data VALUES (54, '000000', 7, '转办', 'transfer', 'wf_task_status', '', 'primary', 'N', 103, 1, SYSDATE, NULL, NULL, '转办');
INSERT INTO sys_dict_data VALUES (55, '000000', 8, '委托', 'depute', 'wf_task_status', '', 'primary', 'N', 103, 1, SYSDATE, NULL, NULL, '委托');
INSERT INTO sys_dict_data VALUES (56, '000000', 9, '抄送', 'copy', 'wf_task_status', '', 'primary', 'N', 103, 1, SYSDATE, NULL, NULL, '抄送');
INSERT INTO sys_dict_data VALUES (57, '000000', 10, '加签', 'sign', 'wf_task_status', '', 'primary', 'N', 103, 1, SYSDATE, NULL, NULL, '加签');
INSERT INTO sys_dict_data VALUES (58, '000000', 11, '减签', 'sign_off', 'wf_task_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '减签');
INSERT INTO sys_dict_data VALUES (59, '000000', 11, '超时', 'timeout', 'wf_task_status', '', 'danger', 'N', 103, 1, SYSDATE, NULL, NULL, '超时');
+331
View File
@@ -0,0 +1,331 @@
-- ----------------------------
-- App端数据库表结构 (PostgreSQL版本)
-- 适用于 RuoYi-Vue-Plus 5.X 版本
-- ----------------------------
-- 1、App端用户信息表
CREATE TABLE app_user (
user_id BIGINT NOT NULL,
user_name VARCHAR(30) NOT NULL,
nick_name VARCHAR(30) NOT NULL,
phone VARCHAR(11) DEFAULT '',
email VARCHAR(50) DEFAULT '',
sex CHAR(1) DEFAULT '0',
avatar BIGINT,
password VARCHAR(100) DEFAULT '',
status CHAR(1) DEFAULT '0',
del_flag CHAR(1) DEFAULT '0',
login_ip VARCHAR(128) DEFAULT '',
login_date TIMESTAMP,
register_time TIMESTAMP,
create_by BIGINT,
create_time TIMESTAMP,
update_by BIGINT,
update_time TIMESTAMP,
remark VARCHAR(500),
CONSTRAINT pk_app_user PRIMARY KEY (user_id)
);
COMMENT ON TABLE app_user IS 'App端用户信息表';
COMMENT ON COLUMN app_user.user_id IS 'App用户ID';
COMMENT ON COLUMN app_user.account IS '用户账号';
COMMENT ON COLUMN app_user.nick_name IS '用户昵称';
COMMENT ON COLUMN app_user.phone IS '手机号码';
COMMENT ON COLUMN app_user.email IS '用户邮箱';
COMMENT ON COLUMN app_user.sex IS '用户性别(0男 1女 2未知)';
COMMENT ON COLUMN app_user.avatar IS '头像地址';
COMMENT ON COLUMN app_user.password IS '密码';
COMMENT ON COLUMN app_user.status IS '帐号状态(0正常 1停用)';
COMMENT ON COLUMN app_user.del_flag IS '删除标志(0代表存在 1代表删除)';
COMMENT ON COLUMN app_user.login_ip IS '最后登录IP';
COMMENT ON COLUMN app_user.login_date IS '最后登录时间';
COMMENT ON COLUMN app_user.register_time IS '注册时间';
COMMENT ON COLUMN app_user.create_by IS '创建者';
COMMENT ON COLUMN app_user.create_time IS '创建时间';
COMMENT ON COLUMN app_user.update_by IS '更新者';
COMMENT ON COLUMN app_user.update_time IS '更新时间';
COMMENT ON COLUMN app_user.remark IS '备注';
INSERT INTO app_user VALUES (1, 'appuser', 'App测试用户', '15888888888', 'appuser@qq.com', '1', NULL,
'$2a$10$7JB720yubVSOfvVMe6LeNOKgEoXAw7tCxJRET6pVuiDDz/LQ4Gqk.',
'0', '0', '127.0.0.1', NOW(), NOW(), 1, NOW(), NULL, NULL, 'App端测试用户');
-- 2、App端角色信息表
CREATE TABLE app_role (
role_id BIGINT NOT NULL,
role_name VARCHAR(30) NOT NULL,
role_key VARCHAR(100) NOT NULL,
role_sort INTEGER NOT NULL,
status CHAR(1) NOT NULL,
del_flag CHAR(1) DEFAULT '0',
create_by BIGINT,
create_time TIMESTAMP,
update_by BIGINT,
update_time TIMESTAMP,
remark VARCHAR(500),
CONSTRAINT pk_app_role PRIMARY KEY (role_id)
);
COMMENT ON TABLE app_role IS 'App端角色信息表';
COMMENT ON COLUMN app_role.role_id IS 'App角色ID';
COMMENT ON COLUMN app_role.role_name IS '角色名称';
COMMENT ON COLUMN app_role.role_key IS '角色权限字符串';
COMMENT ON COLUMN app_role.role_sort IS '显示顺序';
COMMENT ON COLUMN app_role.status IS '角色状态(0正常 1停用)';
COMMENT ON COLUMN app_role.del_flag IS '删除标志(0代表存在 1代表删除)';
COMMENT ON COLUMN app_role.create_by IS '创建者';
COMMENT ON COLUMN app_role.create_time IS '创建时间';
COMMENT ON COLUMN app_role.update_by IS '更新者';
COMMENT ON COLUMN app_role.update_time IS '更新时间';
COMMENT ON COLUMN app_role.remark IS '备注';
INSERT INTO app_role VALUES (1, 'App普通用户', 'app_user', 1, '0', '0', 1, NOW(), NULL, NULL, 'App端普通用户');
INSERT INTO app_role VALUES (2, 'App VIP用户', 'app_vip', 2, '0', '0', 1, NOW(), NULL, NULL, 'App端VIP用户');
-- 3、App端用户和角色关联表
CREATE TABLE app_user_role (
user_id BIGINT NOT NULL,
role_id BIGINT NOT NULL,
CONSTRAINT pk_app_user_role PRIMARY KEY (user_id, role_id)
);
COMMENT ON TABLE app_user_role IS 'App端用户和角色关联表';
COMMENT ON COLUMN app_user_role.user_id IS 'App用户ID';
COMMENT ON COLUMN app_user_role.role_id IS 'App角色ID';
INSERT INTO app_user_role VALUES (1, 1);
-- 4、App端第三方登录授权表
CREATE TABLE app_social_auth (
id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
platform VARCHAR(255) NOT NULL,
platform_uid VARCHAR(255) NOT NULL,
open_id VARCHAR(255),
union_id VARCHAR(255),
access_token TEXT NOT NULL,
expire_in INTEGER,
refresh_token VARCHAR(255),
scope VARCHAR(255),
create_by BIGINT,
create_time TIMESTAMP,
update_by BIGINT,
update_time TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
CONSTRAINT pk_app_social_auth PRIMARY KEY (id)
);
COMMENT ON TABLE app_social_auth IS 'App端第三方登录授权表';
COMMENT ON COLUMN app_social_auth.id IS '主键';
COMMENT ON COLUMN app_social_auth.user_id IS 'App用户ID';
COMMENT ON COLUMN app_social_auth.platform IS '用户来源平台(wechat_mp:微信小程序 wechat_open:微信开放平台 qq:QQ weibo:微博)';
COMMENT ON COLUMN app_social_auth.platform_uid IS '表示平台唯一用户标识';
COMMENT ON COLUMN app_social_auth.open_id IS '微信openid';
COMMENT ON COLUMN app_social_auth.union_id IS '微信unionid';
COMMENT ON COLUMN app_social_auth.access_token IS '用户的授权令牌';
COMMENT ON COLUMN app_social_auth.expire_in IS '用户的授权令牌的有效期';
COMMENT ON COLUMN app_social_auth.refresh_token IS '刷新令牌';
COMMENT ON COLUMN app_social_auth.scope IS '授予的权限';
COMMENT ON COLUMN app_social_auth.create_by IS '创建者';
COMMENT ON COLUMN app_social_auth.create_time IS '创建时间';
COMMENT ON COLUMN app_social_auth.update_by IS '更新者';
COMMENT ON COLUMN app_social_auth.update_time IS '更新时间';
COMMENT ON COLUMN app_social_auth.del_flag IS '删除标志(0代表存在 1代表删除)';
-- 5、App端登录日志表
CREATE TABLE app_login_log (
info_id BIGINT NOT NULL,
user_name VARCHAR(50) DEFAULT '',
status CHAR(1) DEFAULT '0',
ipaddr VARCHAR(128) DEFAULT '',
login_location VARCHAR(255) DEFAULT '',
browser VARCHAR(50) DEFAULT '',
os VARCHAR(50) DEFAULT '',
msg VARCHAR(255) DEFAULT '',
login_time TIMESTAMP,
CONSTRAINT pk_app_login_log PRIMARY KEY (info_id)
);
COMMENT ON TABLE app_login_log IS 'App端登录日志表';
COMMENT ON COLUMN app_login_log.info_id IS '访问ID';
COMMENT ON COLUMN app_login_log.user_name IS '用户账号';
COMMENT ON COLUMN app_login_log.status IS '登录状态(0成功 1失败)';
COMMENT ON COLUMN app_login_log.ipaddr IS '登录IP地址';
COMMENT ON COLUMN app_login_log.login_location IS '登录地点';
COMMENT ON COLUMN app_login_log.browser IS '浏览器类型';
COMMENT ON COLUMN app_login_log.os IS '操作系统';
COMMENT ON COLUMN app_login_log.msg IS '提示消息';
COMMENT ON COLUMN app_login_log.login_time IS '访问时间';
CREATE INDEX idx_app_login_log_s ON app_login_log (status);
CREATE INDEX idx_app_login_log_lt ON app_login_log (login_time);
-- 6、App端操作日志记录
CREATE TABLE app_oper_log (
oper_id BIGINT NOT NULL,
title VARCHAR(50) DEFAULT '',
business_type SMALLINT DEFAULT 0,
method VARCHAR(100) DEFAULT '',
request_method VARCHAR(10) DEFAULT '',
oper_name VARCHAR(50) DEFAULT '',
oper_url VARCHAR(255) DEFAULT '',
oper_ip VARCHAR(128) DEFAULT '',
oper_location VARCHAR(255) DEFAULT '',
oper_param TEXT DEFAULT '',
json_result TEXT DEFAULT '',
status SMALLINT DEFAULT 0,
error_msg TEXT DEFAULT '',
oper_time TIMESTAMP,
cost_time BIGINT DEFAULT 0,
CONSTRAINT pk_app_oper_log PRIMARY KEY (oper_id)
);
COMMENT ON TABLE app_oper_log IS 'App端操作日志记录';
COMMENT ON COLUMN app_oper_log.oper_id IS '日志主键';
COMMENT ON COLUMN app_oper_log.title IS '模块标题';
COMMENT ON COLUMN app_oper_log.business_type IS '业务类型(0其它 1新增 2修改 3删除)';
COMMENT ON COLUMN app_oper_log.method IS '方法名称';
COMMENT ON COLUMN app_oper_log.request_method IS '请求方式';
COMMENT ON COLUMN app_oper_log.oper_name IS '操作人员';
COMMENT ON COLUMN app_oper_log.oper_url IS '请求URL';
COMMENT ON COLUMN app_oper_log.oper_ip IS '主机地址';
COMMENT ON COLUMN app_oper_log.oper_location IS '操作地点';
COMMENT ON COLUMN app_oper_log.oper_param IS '请求参数';
COMMENT ON COLUMN app_oper_log.json_result IS '返回参数';
COMMENT ON COLUMN app_oper_log.status IS '操作状态(0正常 1异常)';
COMMENT ON COLUMN app_oper_log.error_msg IS '错误消息';
COMMENT ON COLUMN app_oper_log.oper_time IS '操作时间';
COMMENT ON COLUMN app_oper_log.cost_time IS '消耗时间';
CREATE INDEX idx_app_oper_log_bt ON app_oper_log (business_type);
CREATE INDEX idx_app_oper_log_s ON app_oper_log (status);
CREATE INDEX idx_app_oper_log_ot ON app_oper_log (oper_time);
-- 7、App端设备信息表
CREATE TABLE app_device (
device_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
device_type VARCHAR(20) NOT NULL,
device_name VARCHAR(100) DEFAULT '',
device_model VARCHAR(100) DEFAULT '',
device_brand VARCHAR(50) DEFAULT '',
os_version VARCHAR(50) DEFAULT '',
app_version VARCHAR(50) DEFAULT '',
push_token VARCHAR(255) DEFAULT '',
is_active CHAR(1) DEFAULT '1',
last_active_time TIMESTAMP,
create_time TIMESTAMP,
update_time TIMESTAMP,
CONSTRAINT pk_app_device PRIMARY KEY (device_id)
);
COMMENT ON TABLE app_device IS 'App端设备信息表';
COMMENT ON COLUMN app_device.device_id IS '设备ID';
COMMENT ON COLUMN app_device.user_id IS 'App用户ID';
COMMENT ON COLUMN app_device.device_type IS '设备类型(ios android h5';
COMMENT ON COLUMN app_device.device_name IS '设备名称';
COMMENT ON COLUMN app_device.device_model IS '设备型号';
COMMENT ON COLUMN app_device.device_brand IS '设备品牌';
COMMENT ON COLUMN app_device.os_version IS '操作系统版本';
COMMENT ON COLUMN app_device.app_version IS 'App版本';
COMMENT ON COLUMN app_device.push_token IS '推送令牌';
COMMENT ON COLUMN app_device.is_active IS '是否活跃(0否 1是)';
COMMENT ON COLUMN app_device.last_active_time IS '最后活跃时间';
COMMENT ON COLUMN app_device.create_time IS '创建时间';
COMMENT ON COLUMN app_device.update_time IS '更新时间';
CREATE INDEX idx_app_device_user_id ON app_device (user_id);
CREATE INDEX idx_app_device_type ON app_device (device_type);
-- 8、App端消息推送表
CREATE TABLE app_message (
message_id BIGINT NOT NULL,
title VARCHAR(100) NOT NULL,
content TEXT,
message_type VARCHAR(20) DEFAULT 'system',
target_type VARCHAR(20) DEFAULT 'all',
target_ids VARCHAR(1000) DEFAULT '',
send_time TIMESTAMP,
status CHAR(1) DEFAULT '0',
create_by BIGINT,
create_time TIMESTAMP,
update_by BIGINT,
update_time TIMESTAMP,
CONSTRAINT pk_app_message PRIMARY KEY (message_id)
);
COMMENT ON TABLE app_message IS 'App端消息推送表';
COMMENT ON COLUMN app_message.message_id IS '消息ID';
COMMENT ON COLUMN app_message.title IS '消息标题';
COMMENT ON COLUMN app_message.content IS '消息内容';
COMMENT ON COLUMN app_message.message_type IS '消息类型(system:系统消息 notice:通知 activity:活动)';
COMMENT ON COLUMN app_message.target_type IS '推送目标(all:全部用户 user:指定用户 role:指定角色)';
COMMENT ON COLUMN app_message.target_ids IS '目标ID列表(用户ID或角色ID,逗号分隔)';
COMMENT ON COLUMN app_message.send_time IS '发送时间';
COMMENT ON COLUMN app_message.status IS '状态(0待发送 1已发送 2发送失败)';
COMMENT ON COLUMN app_message.create_by IS '创建者';
COMMENT ON COLUMN app_message.create_time IS '创建时间';
COMMENT ON COLUMN app_message.update_by IS '更新者';
COMMENT ON COLUMN app_message.update_time IS '更新时间';
CREATE INDEX idx_app_message_type ON app_message (message_type);
CREATE INDEX idx_app_message_status ON app_message (status);
-- 9、App端用户消息读取记录表
CREATE TABLE app_user_message (
id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
message_id BIGINT NOT NULL,
is_read CHAR(1) DEFAULT '0',
read_time TIMESTAMP,
create_time TIMESTAMP,
CONSTRAINT pk_app_user_message PRIMARY KEY (id)
);
COMMENT ON TABLE app_user_message IS 'App端用户消息读取记录表';
COMMENT ON COLUMN app_user_message.id IS '主键';
COMMENT ON COLUMN app_user_message.user_id IS 'App用户ID';
COMMENT ON COLUMN app_user_message.message_id IS '消息ID';
COMMENT ON COLUMN app_user_message.is_read IS '是否已读(0未读 1已读)';
COMMENT ON COLUMN app_user_message.read_time IS '读取时间';
COMMENT ON COLUMN app_user_message.create_time IS '创建时间';
CREATE INDEX idx_app_user_message_user ON app_user_message (user_id);
CREATE INDEX idx_app_user_message_msg ON app_user_message (message_id);
CREATE INDEX idx_app_user_message_read ON app_user_message (is_read);
-- 10、App版本信息表
CREATE TABLE app_version (
version_id BIGINT NOT NULL,
version_code INTEGER NOT NULL,
version_name VARCHAR(20) NOT NULL,
update_content TEXT,
download_url VARCHAR(500) NOT NULL,
is_force CHAR(1) DEFAULT '0',
platform VARCHAR(10) DEFAULT 'android',
create_time TIMESTAMP,
CONSTRAINT pk_app_version PRIMARY KEY (version_id)
);
COMMENT ON TABLE app_version IS 'App版本信息表';
COMMENT ON COLUMN app_version.version_id IS '版本ID';
COMMENT ON COLUMN app_version.version_code IS '版本号(数字)';
COMMENT ON COLUMN app_version.version_name IS '版本名(如1.0.0';
COMMENT ON COLUMN app_version.update_content IS '更新内容';
COMMENT ON COLUMN app_version.download_url IS '下载地址';
COMMENT ON COLUMN app_version.is_force IS '是否强制更新(0否 1是)';
COMMENT ON COLUMN app_version.platform IS '平台(android、ios';
COMMENT ON COLUMN app_version.create_time IS '创建时间';
-- 创建序列
CREATE SEQUENCE seq_app_user START WITH 2 INCREMENT BY 1;
CREATE SEQUENCE seq_app_role START WITH 3 INCREMENT BY 1;
CREATE SEQUENCE seq_app_social_auth START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_login_log START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_oper_log START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_device START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_message START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_user_message START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE seq_app_version START WITH 1 INCREMENT BY 1;
COMMIT;
+855
View File
@@ -0,0 +1,855 @@
/*
SnailJob Database Transfer Tool
Source Server Type : MySQL
Target Server Type : PostgreSQL
Date: 2025-04-26 09:56:45
*/
-- sj_namespace
CREATE TABLE sj_namespace
(
id bigserial PRIMARY KEY,
name varchar(64) NOT NULL,
unique_id varchar(64) NOT NULL,
description varchar(256) NOT NULL DEFAULT '',
deleted smallint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_namespace_01 ON sj_namespace (name);
COMMENT ON COLUMN sj_namespace.id IS '主键';
COMMENT ON COLUMN sj_namespace.name IS '名称';
COMMENT ON COLUMN sj_namespace.unique_id IS '唯一id';
COMMENT ON COLUMN sj_namespace.description IS '描述';
COMMENT ON COLUMN sj_namespace.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_namespace.create_dt IS '创建时间';
COMMENT ON COLUMN sj_namespace.update_dt IS '修改时间';
COMMENT ON TABLE sj_namespace IS '命名空间';
INSERT INTO sj_namespace VALUES (1, 'Development', 'dev', '', 0, now(), now());
INSERT INTO sj_namespace VALUES (2, 'Production', 'prod', '', 0, now(), now());
-- sj_group_config
CREATE TABLE sj_group_config
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL DEFAULT '',
description varchar(256) NOT NULL DEFAULT '',
token varchar(64) NOT NULL DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT',
group_status smallint NOT NULL DEFAULT 0,
version int NOT NULL,
group_partition int NOT NULL,
id_generator_mode smallint NOT NULL DEFAULT 1,
init_scene smallint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_group_config_01 ON sj_group_config (namespace_id, group_name);
COMMENT ON COLUMN sj_group_config.id IS '主键';
COMMENT ON COLUMN sj_group_config.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_group_config.group_name IS '组名称';
COMMENT ON COLUMN sj_group_config.description IS '组描述';
COMMENT ON COLUMN sj_group_config.token IS 'token';
COMMENT ON COLUMN sj_group_config.group_status IS '组状态 0、未启用 1、启用';
COMMENT ON COLUMN sj_group_config.version IS '版本号';
COMMENT ON COLUMN sj_group_config.group_partition IS '分区';
COMMENT ON COLUMN sj_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式';
COMMENT ON COLUMN sj_group_config.init_scene IS '是否初始化场景 0:否 1:是';
COMMENT ON COLUMN sj_group_config.create_dt IS '创建时间';
COMMENT ON COLUMN sj_group_config.update_dt IS '修改时间';
COMMENT ON TABLE sj_group_config IS '组配置';
INSERT INTO sj_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, now(), now());
INSERT INTO sj_group_config VALUES (2, 'prod', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, now(), now());
-- sj_notify_config
CREATE TABLE sj_notify_config
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
notify_name varchar(64) NOT NULL DEFAULT '',
system_task_type smallint NOT NULL DEFAULT 3,
notify_status smallint NOT NULL DEFAULT 0,
recipient_ids varchar(128) NOT NULL,
notify_threshold int NOT NULL DEFAULT 0,
notify_scene smallint NOT NULL DEFAULT 0,
rate_limiter_status smallint NOT NULL DEFAULT 0,
rate_limiter_threshold int NOT NULL DEFAULT 0,
description varchar(256) NOT NULL DEFAULT '',
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name);
COMMENT ON COLUMN sj_notify_config.id IS '主键';
COMMENT ON COLUMN sj_notify_config.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_notify_config.group_name IS '组名称';
COMMENT ON COLUMN sj_notify_config.notify_name IS '通知名称';
COMMENT ON COLUMN sj_notify_config.system_task_type IS '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务';
COMMENT ON COLUMN sj_notify_config.notify_status IS '通知状态 0、未启用 1、启用';
COMMENT ON COLUMN sj_notify_config.recipient_ids IS '接收人id列表';
COMMENT ON COLUMN sj_notify_config.notify_threshold IS '通知阈值';
COMMENT ON COLUMN sj_notify_config.notify_scene IS '通知场景';
COMMENT ON COLUMN sj_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用';
COMMENT ON COLUMN sj_notify_config.rate_limiter_threshold IS '每秒限流阈值';
COMMENT ON COLUMN sj_notify_config.description IS '描述';
COMMENT ON COLUMN sj_notify_config.create_dt IS '创建时间';
COMMENT ON COLUMN sj_notify_config.update_dt IS '修改时间';
COMMENT ON TABLE sj_notify_config IS '通知配置';
-- sj_notify_recipient
CREATE TABLE sj_notify_recipient
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
recipient_name varchar(64) NOT NULL,
notify_type smallint NOT NULL DEFAULT 0,
notify_attribute varchar(512) NOT NULL,
description varchar(256) NOT NULL DEFAULT '',
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id);
COMMENT ON COLUMN sj_notify_recipient.id IS '主键';
COMMENT ON COLUMN sj_notify_recipient.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_notify_recipient.recipient_name IS '接收人名称';
COMMENT ON COLUMN sj_notify_recipient.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook';
COMMENT ON COLUMN sj_notify_recipient.notify_attribute IS '配置属性';
COMMENT ON COLUMN sj_notify_recipient.description IS '描述';
COMMENT ON COLUMN sj_notify_recipient.create_dt IS '创建时间';
COMMENT ON COLUMN sj_notify_recipient.update_dt IS '修改时间';
COMMENT ON TABLE sj_notify_recipient IS '告警通知接收人';
-- sj_retry_dead_letter
CREATE TABLE sj_retry_dead_letter
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
group_id bigint NOT NULL,
scene_name varchar(64) NOT NULL,
scene_id bigint NOT NULL,
idempotent_id varchar(64) NOT NULL,
biz_no varchar(64) NOT NULL DEFAULT '',
executor_name varchar(512) NOT NULL DEFAULT '',
args_str text NOT NULL,
ext_attrs text NOT NULL,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_retry_dead_letter_01 ON sj_retry_dead_letter (namespace_id, group_name, scene_name);
CREATE INDEX idx_sj_retry_dead_letter_02 ON sj_retry_dead_letter (idempotent_id);
CREATE INDEX idx_sj_retry_dead_letter_03 ON sj_retry_dead_letter (biz_no);
CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
COMMENT ON COLUMN sj_retry_dead_letter.args_str IS '执行方法参数';
COMMENT ON COLUMN sj_retry_dead_letter.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_retry_dead_letter.create_dt IS '创建时间';
COMMENT ON TABLE sj_retry_dead_letter IS '死信队列表';
-- sj_retry
CREATE TABLE sj_retry
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
group_id bigint NOT NULL,
scene_name varchar(64) NOT NULL,
scene_id bigint NOT NULL,
idempotent_id varchar(64) NOT NULL,
biz_no varchar(64) NOT NULL DEFAULT '',
executor_name varchar(512) NOT NULL DEFAULT '',
args_str text NOT NULL,
ext_attrs text NOT NULL,
next_trigger_at bigint NOT NULL,
retry_count int NOT NULL DEFAULT 0,
retry_status smallint NOT NULL DEFAULT 0,
task_type smallint NOT NULL DEFAULT 1,
bucket_index int NOT NULL DEFAULT 0,
parent_id bigint NOT NULL DEFAULT 0,
deleted bigint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index);
CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt);
CREATE INDEX idx_sj_retry_05 ON sj_retry (idempotent_id);
COMMENT ON COLUMN sj_retry.id IS '主键';
COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry.group_name IS '组名称';
COMMENT ON COLUMN sj_retry.group_id IS '组Id';
COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';
COMMENT ON COLUMN sj_retry.args_str IS '执行方法参数';
COMMENT ON COLUMN sj_retry.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_retry.next_trigger_at IS '下次触发时间';
COMMENT ON COLUMN sj_retry.retry_count IS '重试次数';
COMMENT ON COLUMN sj_retry.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数';
COMMENT ON COLUMN sj_retry.task_type IS '任务类型 1、重试数据 2、回调数据';
COMMENT ON COLUMN sj_retry.bucket_index IS 'bucket';
COMMENT ON COLUMN sj_retry.parent_id IS '父节点id';
COMMENT ON COLUMN sj_retry.deleted IS '逻辑删除';
COMMENT ON COLUMN sj_retry.create_dt IS '创建时间';
COMMENT ON COLUMN sj_retry.update_dt IS '修改时间';
COMMENT ON TABLE sj_retry IS '重试信息表';
-- sj_retry_task
CREATE TABLE sj_retry_task
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
scene_name varchar(64) NOT NULL,
retry_id bigint NOT NULL,
ext_attrs text NOT NULL,
task_status smallint NOT NULL DEFAULT 1,
task_type smallint NOT NULL DEFAULT 1,
operation_reason smallint NOT NULL DEFAULT 0,
client_info varchar(128) NULL DEFAULT NULL,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_retry_task_01 ON sj_retry_task (namespace_id, group_name, scene_name);
CREATE INDEX idx_sj_retry_task_02 ON sj_retry_task (task_status);
CREATE INDEX idx_sj_retry_task_03 ON sj_retry_task (create_dt);
CREATE INDEX idx_sj_retry_task_04 ON sj_retry_task (retry_id);
COMMENT ON COLUMN sj_retry_task.id IS '主键';
COMMENT ON COLUMN sj_retry_task.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_task.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_task.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_task.retry_id IS '重试信息Id';
COMMENT ON COLUMN sj_retry_task.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_retry_task.task_status IS '重试状态';
COMMENT ON COLUMN sj_retry_task.task_type IS '任务类型 1、重试数据 2、回调数据';
COMMENT ON COLUMN sj_retry_task.operation_reason IS '操作原因';
COMMENT ON COLUMN sj_retry_task.client_info IS '客户端地址 clientId#ip:port';
COMMENT ON COLUMN sj_retry_task.create_dt IS '创建时间';
COMMENT ON COLUMN sj_retry_task.update_dt IS '修改时间';
COMMENT ON TABLE sj_retry_task IS '重试任务表';
-- sj_retry_task_log_message
CREATE TABLE sj_retry_task_log_message
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
retry_id bigint NOT NULL,
retry_task_id bigint NOT NULL,
message text NOT NULL,
log_num int NOT NULL DEFAULT 1,
real_time bigint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_retry_task_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, retry_task_id);
CREATE INDEX idx_sj_retry_task_log_message_02 ON sj_retry_task_log_message (create_dt);
COMMENT ON COLUMN sj_retry_task_log_message.id IS '主键';
COMMENT ON COLUMN sj_retry_task_log_message.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_task_log_message.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_task_log_message.retry_id IS '重试信息Id';
COMMENT ON COLUMN sj_retry_task_log_message.retry_task_id IS '重试任务Id';
COMMENT ON COLUMN sj_retry_task_log_message.message IS '异常信息';
COMMENT ON COLUMN sj_retry_task_log_message.log_num IS '日志数量';
COMMENT ON COLUMN sj_retry_task_log_message.real_time IS '上报时间';
COMMENT ON COLUMN sj_retry_task_log_message.create_dt IS '创建时间';
COMMENT ON TABLE sj_retry_task_log_message IS '任务调度日志信息记录表';
-- sj_retry_scene_config
CREATE TABLE sj_retry_scene_config
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
scene_name varchar(64) NOT NULL,
group_name varchar(64) NOT NULL,
scene_status smallint NOT NULL DEFAULT 0,
max_retry_count int NOT NULL DEFAULT 5,
back_off smallint NOT NULL DEFAULT 1,
trigger_interval varchar(16) NOT NULL DEFAULT '',
notify_ids varchar(128) NOT NULL DEFAULT '',
deadline_request bigint NOT NULL DEFAULT 60000,
executor_timeout int NOT NULL DEFAULT 5,
route_key smallint NOT NULL DEFAULT 4,
block_strategy smallint NOT NULL DEFAULT 1,
cb_status smallint NOT NULL DEFAULT 0,
cb_trigger_type smallint NOT NULL DEFAULT 1,
cb_max_count int NOT NULL DEFAULT 16,
cb_trigger_interval varchar(16) NOT NULL DEFAULT '',
description varchar(256) NOT NULL DEFAULT '',
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name);
COMMENT ON COLUMN sj_retry_scene_config.id IS '主键';
COMMENT ON COLUMN sj_retry_scene_config.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_scene_config.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_scene_config.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_scene_config.scene_status IS '组状态 0、未启用 1、启用';
COMMENT ON COLUMN sj_retry_scene_config.max_retry_count IS '最大重试次数';
COMMENT ON COLUMN sj_retry_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式';
COMMENT ON COLUMN sj_retry_scene_config.trigger_interval IS '间隔时长';
COMMENT ON COLUMN sj_retry_scene_config.notify_ids IS '通知告警场景配置id列表';
COMMENT ON COLUMN sj_retry_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒';
COMMENT ON COLUMN sj_retry_scene_config.executor_timeout IS '任务执行超时时间,单位秒';
COMMENT ON COLUMN sj_retry_scene_config.route_key IS '路由策略';
COMMENT ON COLUMN sj_retry_scene_config.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
COMMENT ON COLUMN sj_retry_scene_config.cb_status IS '回调状态 0、不开启 1、开启';
COMMENT ON COLUMN sj_retry_scene_config.cb_trigger_type IS '1、默认等级 2、固定间隔时间 3、CRON 表达式';
COMMENT ON COLUMN sj_retry_scene_config.cb_max_count IS '回调的最大执行次数';
COMMENT ON COLUMN sj_retry_scene_config.cb_trigger_interval IS '回调的最大执行次数';
COMMENT ON COLUMN sj_retry_scene_config.description IS '描述';
COMMENT ON COLUMN sj_retry_scene_config.create_dt IS '创建时间';
COMMENT ON COLUMN sj_retry_scene_config.update_dt IS '修改时间';
COMMENT ON TABLE sj_retry_scene_config IS '场景配置';
-- sj_server_node
CREATE TABLE sj_server_node
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
host_id varchar(64) NOT NULL,
host_ip varchar(64) NOT NULL,
host_port int NOT NULL,
expire_at timestamp NOT NULL,
node_type smallint NOT NULL,
ext_attrs varchar(256) NULL DEFAULT '',
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip);
CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name);
CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type);
COMMENT ON COLUMN sj_server_node.id IS '主键';
COMMENT ON COLUMN sj_server_node.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_server_node.group_name IS '组名称';
COMMENT ON COLUMN sj_server_node.host_id IS '主机id';
COMMENT ON COLUMN sj_server_node.host_ip IS '机器ip';
COMMENT ON COLUMN sj_server_node.host_port IS '机器端口';
COMMENT ON COLUMN sj_server_node.expire_at IS '过期时间';
COMMENT ON COLUMN sj_server_node.node_type IS '节点类型 1、客户端 2、是服务端';
COMMENT ON COLUMN sj_server_node.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_server_node.create_dt IS '创建时间';
COMMENT ON COLUMN sj_server_node.update_dt IS '修改时间';
COMMENT ON TABLE sj_server_node IS '服务器节点';
-- sj_distributed_lock
CREATE TABLE sj_distributed_lock
(
name varchar(64) NOT NULL,
lock_until timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
locked_at timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
locked_by varchar(255) NOT NULL,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON COLUMN sj_distributed_lock.name IS '锁名称';
COMMENT ON COLUMN sj_distributed_lock.lock_until IS '锁定时长';
COMMENT ON COLUMN sj_distributed_lock.locked_at IS '锁定时间';
COMMENT ON COLUMN sj_distributed_lock.locked_by IS '锁定者';
COMMENT ON COLUMN sj_distributed_lock.create_dt IS '创建时间';
COMMENT ON COLUMN sj_distributed_lock.update_dt IS '修改时间';
COMMENT ON TABLE sj_distributed_lock IS '锁定表';
-- sj_system_user
CREATE TABLE sj_system_user
(
id bigserial PRIMARY KEY,
username varchar(64) NOT NULL,
password varchar(128) NOT NULL,
role smallint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON COLUMN sj_system_user.id IS '主键';
COMMENT ON COLUMN sj_system_user.username IS '账号';
COMMENT ON COLUMN sj_system_user.password IS '密码';
COMMENT ON COLUMN sj_system_user.role IS '角色:1-普通用户、2-管理员';
COMMENT ON COLUMN sj_system_user.create_dt IS '创建时间';
COMMENT ON COLUMN sj_system_user.update_dt IS '修改时间';
COMMENT ON TABLE sj_system_user IS '系统用户表';
-- pwd: admin
INSERT INTO sj_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now());
-- sj_system_user_permission
CREATE TABLE sj_system_user_permission
(
id bigserial PRIMARY KEY,
group_name varchar(64) NOT NULL,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
system_user_id bigint NOT NULL,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_system_user_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id);
COMMENT ON COLUMN sj_system_user_permission.id IS '主键';
COMMENT ON COLUMN sj_system_user_permission.group_name IS '组名称';
COMMENT ON COLUMN sj_system_user_permission.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_system_user_permission.system_user_id IS '系统用户id';
COMMENT ON COLUMN sj_system_user_permission.create_dt IS '创建时间';
COMMENT ON COLUMN sj_system_user_permission.update_dt IS '修改时间';
COMMENT ON TABLE sj_system_user_permission IS '系统用户权限表';
-- sj_sequence_alloc
CREATE TABLE sj_sequence_alloc
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL DEFAULT '',
max_id bigint NOT NULL DEFAULT 1,
step int NOT NULL DEFAULT 100,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_sequence_alloc_01 ON sj_sequence_alloc (namespace_id, group_name);
COMMENT ON COLUMN sj_sequence_alloc.id IS '主键';
COMMENT ON COLUMN sj_sequence_alloc.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_sequence_alloc.group_name IS '组名称';
COMMENT ON COLUMN sj_sequence_alloc.max_id IS '最大id';
COMMENT ON COLUMN sj_sequence_alloc.step IS '步长';
COMMENT ON COLUMN sj_sequence_alloc.update_dt IS '更新时间';
COMMENT ON TABLE sj_sequence_alloc IS '号段模式序号ID分配表';
-- sj_job
CREATE TABLE sj_job
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
job_name varchar(64) NOT NULL,
args_str text NULL DEFAULT NULL,
args_type smallint NOT NULL DEFAULT 1,
next_trigger_at bigint NOT NULL,
job_status smallint NOT NULL DEFAULT 1,
task_type smallint NOT NULL DEFAULT 1,
route_key smallint NOT NULL DEFAULT 4,
executor_type smallint NOT NULL DEFAULT 1,
executor_info varchar(255) NULL DEFAULT NULL,
trigger_type smallint NOT NULL,
trigger_interval varchar(255) NOT NULL,
block_strategy smallint NOT NULL DEFAULT 1,
executor_timeout int NOT NULL DEFAULT 0,
max_retry_times int NOT NULL DEFAULT 0,
parallel_num int NOT NULL DEFAULT 1,
retry_interval int NOT NULL DEFAULT 0,
bucket_index int NOT NULL DEFAULT 0,
resident smallint NOT NULL DEFAULT 0,
notify_ids varchar(128) NOT NULL DEFAULT '',
owner_id bigint NULL,
description varchar(256) NOT NULL DEFAULT '',
ext_attrs varchar(256) NULL DEFAULT '',
deleted smallint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_job_01 ON sj_job (namespace_id, group_name);
CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index);
CREATE INDEX idx_sj_job_03 ON sj_job (create_dt);
COMMENT ON COLUMN sj_job.id IS '主键';
COMMENT ON COLUMN sj_job.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job.group_name IS '组名称';
COMMENT ON COLUMN sj_job.job_name IS '名称';
COMMENT ON COLUMN sj_job.args_str IS '执行方法参数';
COMMENT ON COLUMN sj_job.args_type IS '参数类型 ';
COMMENT ON COLUMN sj_job.next_trigger_at IS '下次触发时间';
COMMENT ON COLUMN sj_job.job_status IS '任务状态 0、关闭、1、开启';
COMMENT ON COLUMN sj_job.task_type IS '任务类型 1、集群 2、广播 3、切片';
COMMENT ON COLUMN sj_job.route_key IS '路由策略';
COMMENT ON COLUMN sj_job.executor_type IS '执行器类型';
COMMENT ON COLUMN sj_job.executor_info IS '执行器名称';
COMMENT ON COLUMN sj_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
COMMENT ON COLUMN sj_job.trigger_interval IS '间隔时长';
COMMENT ON COLUMN sj_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行 4、恢复';
COMMENT ON COLUMN sj_job.executor_timeout IS '任务执行超时时间,单位秒';
COMMENT ON COLUMN sj_job.max_retry_times IS '最大重试次数';
COMMENT ON COLUMN sj_job.parallel_num IS '并行数';
COMMENT ON COLUMN sj_job.retry_interval IS '重试间隔 ( s)';
COMMENT ON COLUMN sj_job.bucket_index IS 'bucket';
COMMENT ON COLUMN sj_job.resident IS '是否是常驻任务';
COMMENT ON COLUMN sj_job.notify_ids IS '通知告警场景配置id列表';
COMMENT ON COLUMN sj_job.owner_id IS '负责人id';
COMMENT ON COLUMN sj_job.description IS '描述';
COMMENT ON COLUMN sj_job.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_job.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_job.create_dt IS '创建时间';
COMMENT ON COLUMN sj_job.update_dt IS '修改时间';
COMMENT ON TABLE sj_job IS '任务信息';
INSERT INTO sj_job VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', 1, '', '', 0, now(), now());
-- sj_job_log_message
CREATE TABLE sj_job_log_message
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
job_id bigint NOT NULL,
task_batch_id bigint NOT NULL,
task_id bigint NOT NULL,
message text NOT NULL,
log_num int NOT NULL DEFAULT 1,
real_time bigint NOT NULL DEFAULT 0,
ext_attrs varchar(256) NULL DEFAULT '',
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id);
CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt);
CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name);
COMMENT ON COLUMN sj_job_log_message.id IS '主键';
COMMENT ON COLUMN sj_job_log_message.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job_log_message.group_name IS '组名称';
COMMENT ON COLUMN sj_job_log_message.job_id IS '任务信息id';
COMMENT ON COLUMN sj_job_log_message.task_batch_id IS '任务批次id';
COMMENT ON COLUMN sj_job_log_message.task_id IS '调度任务id';
COMMENT ON COLUMN sj_job_log_message.message IS '调度信息';
COMMENT ON COLUMN sj_job_log_message.log_num IS '日志数量';
COMMENT ON COLUMN sj_job_log_message.real_time IS '上报时间';
COMMENT ON COLUMN sj_job_log_message.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_job_log_message.create_dt IS '创建时间';
COMMENT ON TABLE sj_job_log_message IS '调度日志';
-- sj_job_task
CREATE TABLE sj_job_task
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
job_id bigint NOT NULL,
task_batch_id bigint NOT NULL,
parent_id bigint NOT NULL DEFAULT 0,
task_status smallint NOT NULL DEFAULT 0,
retry_count int NOT NULL DEFAULT 0,
mr_stage smallint NULL DEFAULT NULL,
leaf smallint NOT NULL DEFAULT '1',
task_name varchar(255) NOT NULL DEFAULT '',
client_info varchar(128) NULL DEFAULT NULL,
wf_context text NULL DEFAULT NULL,
result_message text NOT NULL,
args_str text NULL DEFAULT NULL,
args_type smallint NOT NULL DEFAULT 1,
ext_attrs varchar(256) NULL DEFAULT '',
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status);
CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt);
CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name);
COMMENT ON COLUMN sj_job_task.id IS '主键';
COMMENT ON COLUMN sj_job_task.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job_task.group_name IS '组名称';
COMMENT ON COLUMN sj_job_task.job_id IS '任务信息id';
COMMENT ON COLUMN sj_job_task.task_batch_id IS '调度任务id';
COMMENT ON COLUMN sj_job_task.parent_id IS '父执行器id';
COMMENT ON COLUMN sj_job_task.task_status IS '执行的状态 0、失败 1、成功';
COMMENT ON COLUMN sj_job_task.retry_count IS '重试次数';
COMMENT ON COLUMN sj_job_task.mr_stage IS '动态分片所处阶段 1:map 2:reduce 3:mergeReduce';
COMMENT ON COLUMN sj_job_task.leaf IS '叶子节点';
COMMENT ON COLUMN sj_job_task.task_name IS '任务名称';
COMMENT ON COLUMN sj_job_task.client_info IS '客户端地址 clientId#ip:port';
COMMENT ON COLUMN sj_job_task.wf_context IS '工作流全局上下文';
COMMENT ON COLUMN sj_job_task.result_message IS '执行结果';
COMMENT ON COLUMN sj_job_task.args_str IS '执行方法参数';
COMMENT ON COLUMN sj_job_task.args_type IS '参数类型 ';
COMMENT ON COLUMN sj_job_task.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_job_task.create_dt IS '创建时间';
COMMENT ON COLUMN sj_job_task.update_dt IS '修改时间';
COMMENT ON TABLE sj_job_task IS '任务实例';
-- sj_job_task_batch
CREATE TABLE sj_job_task_batch
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
job_id bigint NOT NULL,
workflow_node_id bigint NOT NULL DEFAULT 0,
parent_workflow_node_id bigint NOT NULL DEFAULT 0,
workflow_task_batch_id bigint NOT NULL DEFAULT 0,
task_batch_status smallint NOT NULL DEFAULT 0,
operation_reason smallint NOT NULL DEFAULT 0,
execution_at bigint NOT NULL DEFAULT 0,
system_task_type smallint NOT NULL DEFAULT 3,
parent_id varchar(64) NOT NULL DEFAULT '',
ext_attrs varchar(256) NULL DEFAULT '',
deleted smallint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status);
CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt);
CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name);
CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id);
COMMENT ON COLUMN sj_job_task_batch.id IS '主键';
COMMENT ON COLUMN sj_job_task_batch.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job_task_batch.group_name IS '组名称';
COMMENT ON COLUMN sj_job_task_batch.job_id IS '任务id';
COMMENT ON COLUMN sj_job_task_batch.workflow_node_id IS '工作流节点id';
COMMENT ON COLUMN sj_job_task_batch.parent_workflow_node_id IS '工作流任务父批次id';
COMMENT ON COLUMN sj_job_task_batch.workflow_task_batch_id IS '工作流任务批次id';
COMMENT ON COLUMN sj_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
COMMENT ON COLUMN sj_job_task_batch.operation_reason IS '操作原因';
COMMENT ON COLUMN sj_job_task_batch.execution_at IS '任务执行时间';
COMMENT ON COLUMN sj_job_task_batch.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
COMMENT ON COLUMN sj_job_task_batch.parent_id IS '父节点';
COMMENT ON COLUMN sj_job_task_batch.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_job_task_batch.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_job_task_batch.create_dt IS '创建时间';
COMMENT ON COLUMN sj_job_task_batch.update_dt IS '修改时间';
COMMENT ON TABLE sj_job_task_batch IS '任务批次';
-- sj_job_summary
CREATE TABLE sj_job_summary
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL DEFAULT '',
business_id bigint NOT NULL,
system_task_type smallint NOT NULL DEFAULT 3,
trigger_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
success_num int NOT NULL DEFAULT 0,
fail_num int NOT NULL DEFAULT 0,
fail_reason varchar(512) NOT NULL DEFAULT '',
stop_num int NOT NULL DEFAULT 0,
stop_reason varchar(512) NOT NULL DEFAULT '',
cancel_num int NOT NULL DEFAULT 0,
cancel_reason varchar(512) NOT NULL DEFAULT '',
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id);
CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id);
COMMENT ON COLUMN sj_job_summary.id IS '主键';
COMMENT ON COLUMN sj_job_summary.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_job_summary.group_name IS '组名称';
COMMENT ON COLUMN sj_job_summary.business_id IS '业务id ( job_id或workflow_id)';
COMMENT ON COLUMN sj_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
COMMENT ON COLUMN sj_job_summary.trigger_at IS '统计时间';
COMMENT ON COLUMN sj_job_summary.success_num IS '执行成功-日志数量';
COMMENT ON COLUMN sj_job_summary.fail_num IS '执行失败-日志数量';
COMMENT ON COLUMN sj_job_summary.fail_reason IS '失败原因';
COMMENT ON COLUMN sj_job_summary.stop_num IS '执行失败-日志数量';
COMMENT ON COLUMN sj_job_summary.stop_reason IS '失败原因';
COMMENT ON COLUMN sj_job_summary.cancel_num IS '执行失败-日志数量';
COMMENT ON COLUMN sj_job_summary.cancel_reason IS '失败原因';
COMMENT ON COLUMN sj_job_summary.create_dt IS '创建时间';
COMMENT ON COLUMN sj_job_summary.update_dt IS '修改时间';
COMMENT ON TABLE sj_job_summary IS 'DashBoard_Job';
-- sj_retry_summary
CREATE TABLE sj_retry_summary
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL DEFAULT '',
scene_name varchar(50) NOT NULL DEFAULT '',
trigger_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
running_num int NOT NULL DEFAULT 0,
finish_num int NOT NULL DEFAULT 0,
max_count_num int NOT NULL DEFAULT 0,
suspend_num int NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at);
CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at);
COMMENT ON COLUMN sj_retry_summary.id IS '主键';
COMMENT ON COLUMN sj_retry_summary.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_summary.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_summary.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_summary.trigger_at IS '统计时间';
COMMENT ON COLUMN sj_retry_summary.running_num IS '重试中-日志数量';
COMMENT ON COLUMN sj_retry_summary.finish_num IS '重试完成-日志数量';
COMMENT ON COLUMN sj_retry_summary.max_count_num IS '重试到达最大次数-日志数量';
COMMENT ON COLUMN sj_retry_summary.suspend_num IS '暂停重试-日志数量';
COMMENT ON COLUMN sj_retry_summary.create_dt IS '创建时间';
COMMENT ON COLUMN sj_retry_summary.update_dt IS '修改时间';
COMMENT ON TABLE sj_retry_summary IS 'DashBoard_Retry';
-- sj_workflow
CREATE TABLE sj_workflow
(
id bigserial PRIMARY KEY,
workflow_name varchar(64) NOT NULL,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
workflow_status smallint NOT NULL DEFAULT 1,
trigger_type smallint NOT NULL,
trigger_interval varchar(255) NOT NULL,
next_trigger_at bigint NOT NULL,
block_strategy smallint NOT NULL DEFAULT 1,
executor_timeout int NOT NULL DEFAULT 0,
description varchar(256) NOT NULL DEFAULT '',
flow_info text NULL DEFAULT NULL,
wf_context text NULL DEFAULT NULL,
notify_ids varchar(128) NOT NULL DEFAULT '',
bucket_index int NOT NULL DEFAULT 0,
version int NOT NULL,
ext_attrs varchar(256) NULL DEFAULT '',
deleted smallint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_workflow_01 ON sj_workflow (create_dt);
CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name);
COMMENT ON COLUMN sj_workflow.id IS '主键';
COMMENT ON COLUMN sj_workflow.workflow_name IS '工作流名称';
COMMENT ON COLUMN sj_workflow.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_workflow.group_name IS '组名称';
COMMENT ON COLUMN sj_workflow.workflow_status IS '工作流状态 0、关闭、1、开启';
COMMENT ON COLUMN sj_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
COMMENT ON COLUMN sj_workflow.trigger_interval IS '间隔时长';
COMMENT ON COLUMN sj_workflow.next_trigger_at IS '下次触发时间';
COMMENT ON COLUMN sj_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
COMMENT ON COLUMN sj_workflow.executor_timeout IS '任务执行超时时间,单位秒';
COMMENT ON COLUMN sj_workflow.description IS '描述';
COMMENT ON COLUMN sj_workflow.flow_info IS '流程信息';
COMMENT ON COLUMN sj_workflow.wf_context IS '上下文';
COMMENT ON COLUMN sj_workflow.notify_ids IS '通知告警场景配置id列表';
COMMENT ON COLUMN sj_workflow.bucket_index IS 'bucket';
COMMENT ON COLUMN sj_workflow.version IS '版本号';
COMMENT ON COLUMN sj_workflow.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_workflow.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_workflow.create_dt IS '创建时间';
COMMENT ON COLUMN sj_workflow.update_dt IS '修改时间';
COMMENT ON TABLE sj_workflow IS '工作流';
-- sj_workflow_node
CREATE TABLE sj_workflow_node
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
node_name varchar(64) NOT NULL,
group_name varchar(64) NOT NULL,
job_id bigint NOT NULL,
workflow_id bigint NOT NULL,
node_type smallint NOT NULL DEFAULT 1,
expression_type smallint NOT NULL DEFAULT 0,
fail_strategy smallint NOT NULL DEFAULT 1,
workflow_node_status smallint NOT NULL DEFAULT 1,
priority_level int NOT NULL DEFAULT 1,
node_info text NULL DEFAULT NULL,
version int NOT NULL,
ext_attrs varchar(256) NULL DEFAULT '',
deleted smallint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_workflow_node_01 ON sj_workflow_node (create_dt);
CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name);
COMMENT ON COLUMN sj_workflow_node.id IS '主键';
COMMENT ON COLUMN sj_workflow_node.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_workflow_node.node_name IS '节点名称';
COMMENT ON COLUMN sj_workflow_node.group_name IS '组名称';
COMMENT ON COLUMN sj_workflow_node.job_id IS '任务信息id';
COMMENT ON COLUMN sj_workflow_node.workflow_id IS '工作流ID';
COMMENT ON COLUMN sj_workflow_node.node_type IS '1、任务节点 2、条件节点';
COMMENT ON COLUMN sj_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
COMMENT ON COLUMN sj_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞';
COMMENT ON COLUMN sj_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启';
COMMENT ON COLUMN sj_workflow_node.priority_level IS '优先级';
COMMENT ON COLUMN sj_workflow_node.node_info IS '节点信息 ';
COMMENT ON COLUMN sj_workflow_node.version IS '版本号';
COMMENT ON COLUMN sj_workflow_node.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_workflow_node.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_workflow_node.create_dt IS '创建时间';
COMMENT ON COLUMN sj_workflow_node.update_dt IS '修改时间';
COMMENT ON TABLE sj_workflow_node IS '工作流节点';
-- sj_workflow_task_batch
CREATE TABLE sj_workflow_task_batch
(
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
workflow_id bigint NOT NULL,
task_batch_status smallint NOT NULL DEFAULT 0,
operation_reason smallint NOT NULL DEFAULT 0,
flow_info text NULL DEFAULT NULL,
wf_context text NULL DEFAULT NULL,
execution_at bigint NOT NULL DEFAULT 0,
ext_attrs varchar(256) NULL DEFAULT '',
version int NOT NULL DEFAULT 1,
deleted smallint NOT NULL DEFAULT 0,
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status);
CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt);
CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name);
COMMENT ON COLUMN sj_workflow_task_batch.id IS '主键';
COMMENT ON COLUMN sj_workflow_task_batch.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_workflow_task_batch.group_name IS '组名称';
COMMENT ON COLUMN sj_workflow_task_batch.workflow_id IS '工作流任务id';
COMMENT ON COLUMN sj_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
COMMENT ON COLUMN sj_workflow_task_batch.operation_reason IS '操作原因';
COMMENT ON COLUMN sj_workflow_task_batch.flow_info IS '流程信息';
COMMENT ON COLUMN sj_workflow_task_batch.wf_context IS '全局上下文';
COMMENT ON COLUMN sj_workflow_task_batch.execution_at IS '任务执行时间';
COMMENT ON COLUMN sj_workflow_task_batch.ext_attrs IS '扩展字段';
COMMENT ON COLUMN sj_workflow_task_batch.version IS '版本号';
COMMENT ON COLUMN sj_workflow_task_batch.deleted IS '逻辑删除 1、删除';
COMMENT ON COLUMN sj_workflow_task_batch.create_dt IS '创建时间';
COMMENT ON COLUMN sj_workflow_task_batch.update_dt IS '修改时间';
COMMENT ON TABLE sj_workflow_task_batch IS '工作流批次';
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,407 @@
-- ----------------------------
-- 0、warm-flow-all.sql,地址:https://gitee.com/dromara/warm-flow/blob/master/sql/postgresql/postgresql-warm-flow-all.sql
-- ----------------------------
CREATE TABLE flow_definition
(
id int8 NOT NULL, -- 主键id
flow_code varchar(40) NOT NULL, -- 流程编码
flow_name varchar(100) NOT NULL, -- 流程名称
category varchar(100) NULL, -- 流程类别
"version" varchar(20) NOT NULL, -- 流程版本
is_publish int2 NOT NULL DEFAULT 0, -- 是否发布(0未发布 1已发布 9失效)
form_custom bpchar(1) NULL DEFAULT 'N':: character varying, -- 审批表单是否自定义(Y是 N否)
form_path varchar(100) NULL, -- 审批表单路径
activity_status int2 NOT NULL DEFAULT 1, -- 流程激活状态(0挂起 1激活)
listener_type varchar(100) NULL, -- 监听器类型
listener_path varchar(400) NULL, -- 监听器路径
ext varchar(500) NULL, -- 扩展字段,预留给业务系统使用
create_time timestamp NULL, -- 创建时间
update_time timestamp NULL, -- 更新时间
del_flag bpchar(1) NULL DEFAULT '0':: character varying, -- 删除标志
tenant_id varchar(40) NULL, -- 租户id
CONSTRAINT flow_definition_pkey PRIMARY KEY (id)
);
COMMENT ON TABLE flow_definition IS '流程定义表';
COMMENT ON COLUMN flow_definition.id IS '主键id';
COMMENT ON COLUMN flow_definition.flow_code IS '流程编码';
COMMENT ON COLUMN flow_definition.flow_name IS '流程名称';
COMMENT ON COLUMN flow_definition.category IS '流程类别';
COMMENT ON COLUMN flow_definition."version" IS '流程版本';
COMMENT ON COLUMN flow_definition.is_publish IS '是否发布(0未发布 1已发布 9失效)';
COMMENT ON COLUMN flow_definition.form_custom IS '审批表单是否自定义(Y是 N否)';
COMMENT ON COLUMN flow_definition.form_path IS '审批表单路径';
COMMENT ON COLUMN flow_definition.activity_status IS '流程激活状态(0挂起 1激活)';
COMMENT ON COLUMN flow_definition.listener_type IS '监听器类型';
COMMENT ON COLUMN flow_definition.listener_path IS '监听器路径';
COMMENT ON COLUMN flow_definition.ext IS '扩展字段,预留给业务系统使用';
COMMENT ON COLUMN flow_definition.create_time IS '创建时间';
COMMENT ON COLUMN flow_definition.update_time IS '更新时间';
COMMENT ON COLUMN flow_definition.del_flag IS '删除标志';
COMMENT ON COLUMN flow_definition.tenant_id IS '租户id';
CREATE TABLE flow_node
(
id int8 NOT NULL, -- 主键id
node_type int2 NOT NULL, -- 节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)
definition_id int8 NOT NULL, -- 流程定义id
node_code varchar(100) NOT NULL, -- 流程节点编码
node_name varchar(100) NULL, -- 流程节点名称
permission_flag varchar(200) NULL, -- 权限标识(权限类型:权限标识,可以多个,用@@隔开)
node_ratio numeric(6, 3) NULL, -- 流程签署比例值
coordinate varchar(100) NULL, -- 坐标
any_node_skip varchar(100) NULL, -- 任意结点跳转
listener_type varchar(100) NULL, -- 监听器类型
listener_path varchar(400) NULL, -- 监听器路径
handler_type varchar(100) NULL, -- 处理器类型
handler_path varchar(400) NULL, -- 处理器路径
form_custom bpchar(1) NULL DEFAULT 'N':: character varying, -- 审批表单是否自定义(Y是 N否)
form_path varchar(100) NULL, -- 审批表单路径
"version" varchar(20) NOT NULL, -- 版本
create_time timestamp NULL, -- 创建时间
update_time timestamp NULL, -- 更新时间
ext text NULL, -- 扩展属性
del_flag bpchar(1) NULL DEFAULT '0':: character varying, -- 删除标志
tenant_id varchar(40) NULL, -- 租户id
CONSTRAINT flow_node_pkey PRIMARY KEY (id)
);
COMMENT ON TABLE flow_node IS '流程节点表';
COMMENT ON COLUMN flow_node.id IS '主键id';
COMMENT ON COLUMN flow_node.node_type IS '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
COMMENT ON COLUMN flow_node.definition_id IS '流程定义id';
COMMENT ON COLUMN flow_node.node_code IS '流程节点编码';
COMMENT ON COLUMN flow_node.node_name IS '流程节点名称';
COMMENT ON COLUMN flow_node.permission_flag IS '权限标识(权限类型:权限标识,可以多个,用@@隔开)';
COMMENT ON COLUMN flow_node.node_ratio IS '流程签署比例值';
COMMENT ON COLUMN flow_node.coordinate IS '坐标';
COMMENT ON COLUMN flow_node.any_node_skip IS '任意结点跳转';
COMMENT ON COLUMN flow_node.listener_type IS '监听器类型';
COMMENT ON COLUMN flow_node.listener_path IS '监听器路径';
COMMENT ON COLUMN flow_node.handler_type IS '处理器类型';
COMMENT ON COLUMN flow_node.handler_path IS '处理器路径';
COMMENT ON COLUMN flow_node.form_custom IS '审批表单是否自定义(Y是 N否)';
COMMENT ON COLUMN flow_node.form_path IS '审批表单路径';
COMMENT ON COLUMN flow_node."version" IS '版本';
COMMENT ON COLUMN flow_node.create_time IS '创建时间';
COMMENT ON COLUMN flow_node.update_time IS '更新时间';
COMMENT ON COLUMN flow_node.ext IS '节点扩展属性';
COMMENT ON COLUMN flow_node.del_flag IS '删除标志';
COMMENT ON COLUMN flow_node.tenant_id IS '租户id';
CREATE TABLE flow_skip
(
id int8 NOT NULL, -- 主键id
definition_id int8 NOT NULL, -- 流程定义id
now_node_code varchar(100) NOT NULL, -- 当前流程节点的编码
now_node_type int2 NULL, -- 当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)
next_node_code varchar(100) NOT NULL, -- 下一个流程节点的编码
next_node_type int2 NULL, -- 下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)
skip_name varchar(100) NULL, -- 跳转名称
skip_type varchar(40) NULL, -- 跳转类型(PASS审批通过 REJECT退回)
skip_condition varchar(200) NULL, -- 跳转条件
coordinate varchar(100) NULL, -- 坐标
create_time timestamp NULL, -- 创建时间
update_time timestamp NULL, -- 更新时间
del_flag bpchar(1) NULL DEFAULT '0':: character varying, -- 删除标志
tenant_id varchar(40) NULL, -- 租户id
CONSTRAINT flow_skip_pkey PRIMARY KEY (id)
);
COMMENT ON TABLE flow_skip IS '节点跳转关联表';
COMMENT ON COLUMN flow_skip.id IS '主键id';
COMMENT ON COLUMN flow_skip.definition_id IS '流程定义id';
COMMENT ON COLUMN flow_skip.now_node_code IS '当前流程节点的编码';
COMMENT ON COLUMN flow_skip.now_node_type IS '当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
COMMENT ON COLUMN flow_skip.next_node_code IS '下一个流程节点的编码';
COMMENT ON COLUMN flow_skip.next_node_type IS '下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
COMMENT ON COLUMN flow_skip.skip_name IS '跳转名称';
COMMENT ON COLUMN flow_skip.skip_type IS '跳转类型(PASS审批通过 REJECT退回)';
COMMENT ON COLUMN flow_skip.skip_condition IS '跳转条件';
COMMENT ON COLUMN flow_skip.coordinate IS '坐标';
COMMENT ON COLUMN flow_skip.create_time IS '创建时间';
COMMENT ON COLUMN flow_skip.update_time IS '更新时间';
COMMENT ON COLUMN flow_skip.del_flag IS '删除标志';
COMMENT ON COLUMN flow_skip.tenant_id IS '租户id';
CREATE TABLE flow_instance
(
id int8 NOT NULL, -- 主键id
definition_id int8 NOT NULL, -- 对应flow_definition表的id
business_id varchar(40) NOT NULL, -- 业务id
node_type int2 NOT NULL, -- 节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)
node_code varchar(40) NOT NULL, -- 流程节点编码
node_name varchar(100) NULL, -- 流程节点名称
variable text NULL, -- 任务变量
flow_status varchar(20) NOT NULL, -- 流程状态(0待提交 1审批中 2 审批通过 8已完成 9已退回 10失效)
activity_status int2 NOT NULL DEFAULT 1, -- 流程激活状态(0挂起 1激活)
def_json text NULL, -- 流程定义json
create_by varchar(64) NULL DEFAULT '':: character varying, -- 创建者
create_time timestamp NULL, -- 创建时间
update_time timestamp NULL, -- 更新时间
ext varchar(500) NULL, -- 扩展字段,预留给业务系统使用
del_flag bpchar(1) NULL DEFAULT '0':: character varying, -- 删除标志
tenant_id varchar(40) NULL, -- 租户id
CONSTRAINT flow_instance_pkey PRIMARY KEY (id)
);
COMMENT ON TABLE flow_instance IS '流程实例表';
COMMENT ON COLUMN flow_instance.id IS '主键id';
COMMENT ON COLUMN flow_instance.definition_id IS '对应flow_definition表的id';
COMMENT ON COLUMN flow_instance.business_id IS '业务id';
COMMENT ON COLUMN flow_instance.node_type IS '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
COMMENT ON COLUMN flow_instance.node_code IS '流程节点编码';
COMMENT ON COLUMN flow_instance.node_name IS '流程节点名称';
COMMENT ON COLUMN flow_instance.variable IS '任务变量';
COMMENT ON COLUMN flow_instance.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
COMMENT ON COLUMN flow_instance.activity_status IS '流程激活状态(0挂起 1激活)';
COMMENT ON COLUMN flow_instance.def_json IS '流程定义json';
COMMENT ON COLUMN flow_instance.create_by IS '创建者';
COMMENT ON COLUMN flow_instance.create_time IS '创建时间';
COMMENT ON COLUMN flow_instance.update_time IS '更新时间';
COMMENT ON COLUMN flow_instance.ext IS '扩展字段,预留给业务系统使用';
COMMENT ON COLUMN flow_instance.del_flag IS '删除标志';
COMMENT ON COLUMN flow_instance.tenant_id IS '租户id';
CREATE TABLE flow_task
(
id int8 NOT NULL, -- 主键id
definition_id int8 NOT NULL, -- 对应flow_definition表的id
instance_id int8 NOT NULL, -- 对应flow_instance表的id
node_code varchar(100) NOT NULL, -- 节点编码
node_name varchar(100) NULL, -- 节点名称
node_type int2 NOT NULL, -- 节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)
flow_status varchar(20) NOT NULL, -- 流程状态(0待提交 1审批中 2 审批通过 8已完成 9已退回 10失效)
form_custom bpchar(1) NULL DEFAULT 'N':: character varying, -- 审批表单是否自定义(Y是 N否)
form_path varchar(100) NULL, -- 审批表单路径
create_time timestamp NULL, -- 创建时间
update_time timestamp NULL, -- 更新时间
del_flag bpchar(1) NULL DEFAULT '0':: character varying, -- 删除标志
tenant_id varchar(40) NULL, -- 租户id
CONSTRAINT flow_task_pkey PRIMARY KEY (id)
);
COMMENT ON TABLE flow_task IS '待办任务表';
COMMENT ON COLUMN flow_task.id IS '主键id';
COMMENT ON COLUMN flow_task.definition_id IS '对应flow_definition表的id';
COMMENT ON COLUMN flow_task.instance_id IS '对应flow_instance表的id';
COMMENT ON COLUMN flow_task.node_code IS '节点编码';
COMMENT ON COLUMN flow_task.node_name IS '节点名称';
COMMENT ON COLUMN flow_task.node_type IS '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
COMMENT ON COLUMN flow_task.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
COMMENT ON COLUMN flow_task.form_custom IS '审批表单是否自定义(Y是 N否)';
COMMENT ON COLUMN flow_task.form_path IS '审批表单路径';
COMMENT ON COLUMN flow_task.create_time IS '创建时间';
COMMENT ON COLUMN flow_task.update_time IS '更新时间';
COMMENT ON COLUMN flow_task.del_flag IS '删除标志';
COMMENT ON COLUMN flow_task.tenant_id IS '租户id';
CREATE TABLE flow_his_task
(
id int8 NOT NULL, -- 主键id
definition_id int8 NOT NULL, -- 对应flow_definition表的id
instance_id int8 NOT NULL, -- 对应flow_instance表的id
task_id int8 NOT NULL, -- 对应flow_task表的id
node_code varchar(100) NULL, -- 开始节点编码
node_name varchar(100) NULL, -- 开始节点名称
node_type int2 NULL, -- 开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)
target_node_code varchar(200) NULL, -- 目标节点编码
target_node_name varchar(200) NULL, -- 结束节点名称
approver varchar(40) NULL, -- 审批者
cooperate_type int2 NOT NULL DEFAULT 0, -- 协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)
collaborator varchar(40) NULL, -- 协作人(只有转办、会签、票签、委派)
skip_type varchar(10) NULL, -- 流转类型(PASS通过 REJECT退回 NONE无动作)
flow_status varchar(20) NOT NULL, -- 流程状态(0待提交 1审批中 2 审批通过 8已完成 9已退回 10失效)
form_custom bpchar(1) NULL DEFAULT 'N':: character varying, -- 审批表单是否自定义(Y是 N否)
form_path varchar(100) NULL, -- 审批表单路径
ext text NULL, -- 扩展字段,预留给业务系统使用
message varchar(500) NULL, -- 审批意见
variable text NULL, -- 任务变量
create_time timestamp NULL, -- 创建时间
update_time timestamp NULL, -- 更新时间
del_flag bpchar(1) NULL DEFAULT '0':: character varying, -- 删除标志
tenant_id varchar(40) NULL, -- 租户id
CONSTRAINT flow_his_task_pkey PRIMARY KEY (id)
);
COMMENT ON TABLE flow_his_task IS '历史任务记录表';
COMMENT ON COLUMN flow_his_task.id IS '主键id';
COMMENT ON COLUMN flow_his_task.definition_id IS '对应flow_definition表的id';
COMMENT ON COLUMN flow_his_task.instance_id IS '对应flow_instance表的id';
COMMENT ON COLUMN flow_his_task.task_id IS '对应flow_task表的id';
COMMENT ON COLUMN flow_his_task.node_code IS '开始节点编码';
COMMENT ON COLUMN flow_his_task.node_name IS '开始节点名称';
COMMENT ON COLUMN flow_his_task.node_type IS '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
COMMENT ON COLUMN flow_his_task.target_node_code IS '目标节点编码';
COMMENT ON COLUMN flow_his_task.target_node_name IS '结束节点名称';
COMMENT ON COLUMN flow_his_task.approver IS '审批者';
COMMENT ON COLUMN flow_his_task.cooperate_type IS '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)';
COMMENT ON COLUMN flow_his_task.collaborator IS '协作人';
COMMENT ON COLUMN flow_his_task.skip_type IS '流转类型(PASS通过 REJECT退回 NONE无动作)';
COMMENT ON COLUMN flow_his_task.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
COMMENT ON COLUMN flow_his_task.form_custom IS '审批表单是否自定义(Y是 N否)';
COMMENT ON COLUMN flow_his_task.form_path IS '审批表单路径';
COMMENT ON COLUMN flow_his_task.message IS '审批意见';
COMMENT ON COLUMN flow_his_task.variable IS '任务变量';
COMMENT ON COLUMN flow_his_task.ext IS '扩展字段,预留给业务系统使用';
COMMENT ON COLUMN flow_his_task.create_time IS '任务开始时间';
COMMENT ON COLUMN flow_his_task.update_time IS '审批完成时间';
COMMENT ON COLUMN flow_his_task.del_flag IS '删除标志';
COMMENT ON COLUMN flow_his_task.tenant_id IS '租户id';
CREATE TABLE flow_user
(
id int8 NOT NULL, -- 主键id
"type" bpchar(1) NOT NULL, -- 人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3流程实例的抄送人权限 4待办任务的委托人权限)
processed_by varchar(80) NULL, -- 权限人
associated int8 NOT NULL, -- 任务表id
create_time timestamp NULL, -- 创建时间
create_by varchar(80) NULL, -- 创建人
update_time timestamp NULL, -- 更新时间
del_flag bpchar(1) NULL DEFAULT '0':: character varying, -- 删除标志
tenant_id varchar(40) NULL, -- 租户id
CONSTRAINT flow_user_pk PRIMARY KEY (id)
);
CREATE INDEX user_processed_type ON flow_user USING btree (processed_by, type);
CREATE INDEX user_associated_idx ON FLOW_USER USING btree (associated);
COMMENT ON TABLE flow_user IS '流程用户表';
COMMENT ON COLUMN flow_user.id IS '主键id';
COMMENT ON COLUMN flow_user."type" IS '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)';
COMMENT ON COLUMN flow_user.processed_by IS '权限人';
COMMENT ON COLUMN flow_user.associated IS '任务表id';
COMMENT ON COLUMN flow_user.create_time IS '创建时间';
COMMENT ON COLUMN flow_user.create_by IS '创建人';
COMMENT ON COLUMN flow_user.update_time IS '更新时间';
COMMENT ON COLUMN flow_user.del_flag IS '删除标志';
COMMENT ON COLUMN flow_user.tenant_id IS '租户id';
-- ----------------------------
-- 流程分类表
-- ----------------------------
CREATE TABLE flow_category
(
category_id int8 NOT NULL,
parent_id int8 DEFAULT 0,
ancestors VARCHAR(500) DEFAULT ''::varchar,
category_name VARCHAR(30) NOT NULL,
order_num INT DEFAULT 0,
del_flag CHAR DEFAULT '0'::bpchar,
create_dept int8,
create_by int8,
create_time TIMESTAMP,
update_by int8,
update_time TIMESTAMP,
PRIMARY KEY (category_id)
);
COMMENT ON TABLE flow_category IS '流程分类';
COMMENT ON COLUMN flow_category.category_id IS '流程分类ID';
COMMENT ON COLUMN flow_category.parent_id IS '父流程分类id';
COMMENT ON COLUMN flow_category.ancestors IS '祖级列表';
COMMENT ON COLUMN flow_category.category_name IS '流程分类名称';
COMMENT ON COLUMN flow_category.order_num IS '显示顺序';
COMMENT ON COLUMN flow_category.del_flag IS '删除标志(0代表存在 1代表删除)';
COMMENT ON COLUMN flow_category.create_dept IS '创建部门';
COMMENT ON COLUMN flow_category.create_by IS '创建者';
COMMENT ON COLUMN flow_category.create_time IS '创建时间';
COMMENT ON COLUMN flow_category.update_by IS '更新者';
COMMENT ON COLUMN flow_category.update_time IS '更新时间';
INSERT INTO flow_category VALUES (100, 0, '0', 'OA审批', 0, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (101, 100, '0,100', '假勤管理', 0, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (102, 100, '0,100', '人事管理', 1, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (103, 101, '0,100,101', '请假', 0, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (104, 101, '0,100,101', '出差', 1, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (105, 101, '0,100,101', '加班', 2, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (106, 101, '0,100,101', '换班', 3, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (107, 101, '0,100,101', '外出', 4, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (108, 102, '0,100,102', '转正', 1, '0', 103, 1, now(), NULL, NULL);
INSERT INTO flow_category VALUES (109, 102, '0,100,102', '离职', 2, '0', 103, 1, now(), NULL, NULL);
-- ----------------------------
-- 请假单信息
-- ----------------------------
CREATE TABLE test_leave
(
id int8 NOT NULL,
leave_type VARCHAR(255) NOT NULL,
start_date TIMESTAMP NOT NULL,
end_date TIMESTAMP NOT NULL,
leave_days int2 NOT NULL,
remark VARCHAR(255),
status VARCHAR(255),
create_dept int8,
create_by int8,
create_time TIMESTAMP,
update_by int8,
update_time TIMESTAMP,
PRIMARY KEY (id)
);
COMMENT ON TABLE test_leave IS '请假申请表';
COMMENT ON COLUMN test_leave.id IS 'id';
COMMENT ON COLUMN test_leave.leave_type IS '请假类型';
COMMENT ON COLUMN test_leave.start_date IS '开始时间';
COMMENT ON COLUMN test_leave.end_date IS '结束时间';
COMMENT ON COLUMN test_leave.leave_days IS '请假天数';
COMMENT ON COLUMN test_leave.remark IS '请假原因';
COMMENT ON COLUMN test_leave.status IS '状态';
COMMENT ON COLUMN test_leave.create_dept IS '创建部门';
COMMENT ON COLUMN test_leave.create_by IS '创建者';
COMMENT ON COLUMN test_leave.create_time IS '创建时间';
COMMENT ON COLUMN test_leave.update_by IS '更新者';
COMMENT ON COLUMN test_leave.update_time IS '更新时间';
INSERT INTO sys_menu VALUES ('11616', '工作流', '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '', 'finish', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0', '', 'my-copy', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C', '0', '0', '', 'process-definition', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0', '0', '', 'tree-table', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0', 'workflow:category:list', 'category', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '', 'guide', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11700', '流程设计', '11616', '5', 'design/index', 'workflow/processDefinition/design', '', '1', '1', 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11701', '请假申请', '11616', '6', 'leaveEdit/index', 'workflow/leave/leaveEdit', '', '1', '1', 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11623', '流程分类查询', '11622', '1', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:query', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11624', '流程分类新增', '11622', '2', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:add', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11625', '流程分类修改', '11622', '3', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:edit', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11626', '流程分类删除', '11622', '4', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:remove', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11627', '流程分类导出', '11622', '5', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:category:export', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11638', '请假申请', '5', '1', 'leave', 'workflow/leave/index', '', '1', '0', 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, now(), NULL, NULL, '请假申请菜单');
INSERT INTO sys_menu VALUES ('11639', '请假申请查询', '11638', '1', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11640', '请假申请新增', '11638', '2', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11641', '请假申请修改', '11638', '3', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11642', '请假申请删除', '11638', '4', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_menu VALUES ('11643', '请假申请导出', '11638', '5', '#', '', '', '1', '0', 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, now(), NULL, NULL, '');
INSERT INTO sys_dict_type VALUES (13, '业务状态', 'wf_business_status', 103, 1, now(), NULL, NULL, '业务状态列表');
INSERT INTO sys_dict_type VALUES (14, '表单类型', 'wf_form_type', 103, 1, now(), NULL, NULL, '表单类型列表');
INSERT INTO sys_dict_type VALUES (15, '任务状态', 'wf_task_status', 103, 1, now(), NULL, NULL, '任务状态');
INSERT INTO sys_dict_data VALUES (39, 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '已撤销');
INSERT INTO sys_dict_data VALUES (40, 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, now(), NULL, NULL, '草稿');
INSERT INTO sys_dict_data VALUES (41, 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1, now(), NULL, NULL, '待审核');
INSERT INTO sys_dict_data VALUES (42, 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, now(), NULL, NULL, '已完成');
INSERT INTO sys_dict_data VALUES (43, 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '已作废');
INSERT INTO sys_dict_data VALUES (44, 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '已退回');
INSERT INTO sys_dict_data VALUES (45, 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '已终止');
INSERT INTO sys_dict_data VALUES (46, 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, now(), NULL, NULL, '自定义表单');
INSERT INTO sys_dict_data VALUES (47, 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, now(), NULL, NULL, '动态表单');
INSERT INTO sys_dict_data VALUES (48, 1, '撤销', 'cancel', 'wf_task_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '撤销');
INSERT INTO sys_dict_data VALUES (49, 2, '通过', 'pass', 'wf_task_status', '', 'success', 'N', 103, 1, now(), NULL, NULL, '通过');
INSERT INTO sys_dict_data VALUES (50, 3, '待审核', 'waiting', 'wf_task_status', '', 'primary', 'N', 103, 1, now(), NULL, NULL, '待审核');
INSERT INTO sys_dict_data VALUES (51, 4, '作废', 'invalid', 'wf_task_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '作废');
INSERT INTO sys_dict_data VALUES (52, 5, '退回', 'back', 'wf_task_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '退回');
INSERT INTO sys_dict_data VALUES (53, 6, '终止', 'termination', 'wf_task_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '终止');
INSERT INTO sys_dict_data VALUES (54, 7, '转办', 'transfer', 'wf_task_status', '', 'primary', 'N', 103, 1, now(), NULL, NULL, '转办');
INSERT INTO sys_dict_data VALUES (55, 8, '委托', 'depute', 'wf_task_status', '', 'primary', 'N', 103, 1, now(), NULL, NULL, '委托');
INSERT INTO sys_dict_data VALUES (56, 9, '抄送', 'copy', 'wf_task_status', '', 'primary', 'N', 103, 1, now(), NULL, NULL, '抄送');
INSERT INTO sys_dict_data VALUES (57, 10, '加签', 'sign', 'wf_task_status', '', 'primary', 'N', 103, 1, now(), NULL, NULL, '加签');
INSERT INTO sys_dict_data VALUES (58, 11, '减签', 'sign_off', 'wf_task_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '减签');
INSERT INTO sys_dict_data VALUES (59, 11, '超时', 'timeout', 'wf_task_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '超时');
+257
View File
@@ -0,0 +1,257 @@
-- ----------------------------
-- AI模块数据库表结构
-- ----------------------------
-- ----------------------------
-- AI Provider配置表
-- ----------------------------
DROP TABLE IF EXISTS `ai_provider_config`;
CREATE TABLE `ai_provider_config` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`provider_name` varchar(100) NOT NULL COMMENT 'Provider名称',
`provider_type` varchar(50) NOT NULL COMMENT 'Provider类型',
`enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用(0=禁用 1=启用)',
`priority` int(11) NOT NULL DEFAULT '0' COMMENT '优先级(数字越小优先级越高)',
`weight` int(11) NOT NULL DEFAULT '1' COMMENT '权重(用于负载均衡)',
`max_concurrency` int(11) NOT NULL DEFAULT '10' COMMENT '最大并发数',
`timeout_seconds` int(11) NOT NULL DEFAULT '30' COMMENT '超时时间(秒)',
`max_retries` int(11) NOT NULL DEFAULT '3' COMMENT '最大重试次数',
`circuit_breaker_config` json DEFAULT NULL COMMENT '熔断器配置',
`rate_limit_config` json DEFAULT NULL COMMENT '限流配置',
`api_config` json DEFAULT NULL COMMENT 'API配置',
`model_config` json DEFAULT NULL COMMENT '模型配置',
`extension_config` json DEFAULT NULL COMMENT '扩展配置',
`health_check_url` varchar(500) DEFAULT NULL COMMENT '健康检查URL',
`health_check_interval` int(11) NOT NULL DEFAULT '60' COMMENT '健康检查间隔(秒)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_provider_name` (`provider_name`),
KEY `idx_provider_type` (`provider_type`),
KEY `idx_enabled` (`enabled`),
KEY `idx_priority` (`priority`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI Provider配置表';
-- ----------------------------
-- AI Provider配置历史表
-- ----------------------------
DROP TABLE IF EXISTS `ai_provider_config_history`;
CREATE TABLE `ai_provider_config_history` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`config_id` bigint(20) NOT NULL COMMENT '配置ID',
`provider_name` varchar(100) NOT NULL COMMENT 'Provider名称',
`config_data` json NOT NULL COMMENT '配置数据',
`operation_type` varchar(20) NOT NULL COMMENT '操作类型(CREATE/UPDATE/DELETE)',
`operation_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
`operation_by` varchar(64) DEFAULT NULL COMMENT '操作者',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `idx_config_id` (`config_id`),
KEY `idx_provider_name` (`provider_name`),
KEY `idx_operation_time` (`operation_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI Provider配置历史表';
-- ----------------------------
-- AI聊天记录表
-- ----------------------------
DROP TABLE IF EXISTS `ai_chat_record`;
CREATE TABLE `ai_chat_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`session_id` varchar(100) NOT NULL COMMENT '会话ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`provider_name` varchar(100) NOT NULL COMMENT 'Provider名称',
`model_name` varchar(100) DEFAULT NULL COMMENT '模型名称',
`message_type` varchar(20) NOT NULL COMMENT '消息类型(USER/ASSISTANT)',
`content` text NOT NULL COMMENT '消息内容',
`tokens_used` int(11) DEFAULT NULL COMMENT '使用的Token数',
`cost` decimal(10,6) DEFAULT NULL COMMENT '成本',
`response_time` int(11) DEFAULT NULL COMMENT '响应时间(毫秒)',
`is_stream` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否流式响应',
`error_message` text DEFAULT NULL COMMENT '错误信息',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_session_id` (`session_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_provider_name` (`provider_name`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI聊天记录表';
-- ----------------------------
-- AI使用统计表
-- ----------------------------
DROP TABLE IF EXISTS `ai_usage_stats`;
CREATE TABLE `ai_usage_stats` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`provider_name` varchar(100) NOT NULL COMMENT 'Provider名称',
`model_name` varchar(100) DEFAULT NULL COMMENT '模型名称',
`stat_date` date NOT NULL COMMENT '统计日期',
`request_count` int(11) NOT NULL DEFAULT '0' COMMENT '请求次数',
`success_count` int(11) NOT NULL DEFAULT '0' COMMENT '成功次数',
`error_count` int(11) NOT NULL DEFAULT '0' COMMENT '错误次数',
`total_tokens` bigint(20) NOT NULL DEFAULT '0' COMMENT '总Token数',
`total_cost` decimal(10,6) NOT NULL DEFAULT '0.000000' COMMENT '总成本',
`avg_response_time` int(11) NOT NULL DEFAULT '0' COMMENT '平均响应时间(毫秒)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_provider_date` (`user_id`,`provider_name`,`stat_date`),
KEY `idx_provider_name` (`provider_name`),
KEY `idx_stat_date` (`stat_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI使用统计表';
-- ----------------------------
-- AI评价记录表
-- ----------------------------
DROP TABLE IF EXISTS `ai_rating_record`;
CREATE TABLE `ai_rating_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`message_id` varchar(100) NOT NULL COMMENT '消息ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`provider_name` varchar(100) NOT NULL COMMENT 'Provider名称',
`rating` int(11) NOT NULL COMMENT '评分(1-5)',
`feedback` text DEFAULT NULL COMMENT '反馈内容',
`dimension` varchar(50) DEFAULT NULL COMMENT '评价维度',
`anonymous` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否匿名',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_message_user` (`message_id`,`user_id`),
KEY `idx_provider_name` (`provider_name`),
KEY `idx_rating` (`rating`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI评价记录表';
-- ----------------------------
-- AI敏感词库表
-- ----------------------------
DROP TABLE IF EXISTS `ai_sensitive_word`;
CREATE TABLE `ai_sensitive_word` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`word` varchar(100) NOT NULL COMMENT '敏感词',
`word_type` varchar(50) NOT NULL COMMENT '词类型(PROFANITY/HATE_SPEECH/VIOLENCE/SEXUAL_CONTENT/ILLEGAL_ACTIVITY/PERSONAL_INFO/SPAM/MALICIOUS_CODE/POLITICAL_SENSITIVE/COMMERCIAL_AD)',
`enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用(0=禁用 1=启用)',
`priority` int(11) NOT NULL DEFAULT '0' COMMENT '优先级(数字越大优先级越高)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_word` (`word`),
KEY `idx_word_type` (`word_type`),
KEY `idx_enabled` (`enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI敏感词库表';
-- ----------------------------
-- AI绘画历史记录表
-- ----------------------------
DROP TABLE IF EXISTS `ai_painting_record`;
CREATE TABLE `ai_painting_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`task_id` varchar(100) NOT NULL COMMENT '任务ID',
`user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
`engine_type` varchar(50) NOT NULL COMMENT '绘画引擎类型(DALL_E_3/MIDJOURNEY/STABLE_DIFFUSION)',
`prompt` text NOT NULL COMMENT '提示词',
`params` json DEFAULT NULL COMMENT '绘画参数(JSON)',
`status` varchar(50) NOT NULL COMMENT '状态(PENDING/RUNNING/SUCCESS/FAILED)',
`progress` int(11) NOT NULL DEFAULT '0' COMMENT '进度(0-100)',
`images` json DEFAULT NULL COMMENT '生成的图片URL列表(JSON数组)',
`message` text DEFAULT NULL COMMENT '错误消息',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`share_code` varchar(64) DEFAULT NULL COMMENT '分享码(用于分享作品)',
`is_public` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否公开分享(0=私有 1=公开)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_task_id` (`task_id`),
UNIQUE KEY `uk_share_code` (`share_code`),
KEY `idx_user_id` (`user_id`),
KEY `idx_engine_type` (`engine_type`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`),
KEY `idx_is_public` (`is_public`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI绘画历史记录表';
-- ----------------------------
-- AI绘画参数模板表
-- ----------------------------
DROP TABLE IF EXISTS `ai_painting_template`;
CREATE TABLE `ai_painting_template` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`template_name` varchar(100) NOT NULL COMMENT '模板名称',
`user_id` bigint(20) DEFAULT NULL COMMENT '用户ID(为空表示系统模板)',
`engine_type` varchar(50) NOT NULL COMMENT '绘画引擎类型(DALL_E_3/MIDJOURNEY/STABLE_DIFFUSION)',
`params` json NOT NULL COMMENT '绘画参数(JSON)',
`description` varchar(500) DEFAULT NULL COMMENT '模板描述',
`is_public` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否公开(0=私有 1=公开)',
`sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_engine_type` (`engine_type`),
KEY `idx_is_public` (`is_public`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI绘画参数模板表';
-- ----------------------------
-- AI用户配额管理表
-- ----------------------------
DROP TABLE IF EXISTS `ai_user_quota`;
CREATE TABLE `ai_user_quota` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`permission_level` varchar(50) NOT NULL DEFAULT 'BASIC' COMMENT '权限级别(GUEST/BASIC/PREMIUM/VIP/ADMIN)',
`daily_quota` bigint(20) NOT NULL DEFAULT '0' COMMENT '每日配额限制(0表示无限制)',
`monthly_quota` bigint(20) NOT NULL DEFAULT '0' COMMENT '每月配额限制(0表示无限制)',
`daily_used` bigint(20) NOT NULL DEFAULT '0' COMMENT '每日已使用配额',
`monthly_used` bigint(20) NOT NULL DEFAULT '0' COMMENT '每月已使用配额',
`last_reset_daily` datetime DEFAULT NULL COMMENT '上次重置日配额时间',
`last_reset_monthly` datetime DEFAULT NULL COMMENT '上次重置月配额时间',
`custom_limits` json DEFAULT NULL COMMENT '自定义限制(JSON)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_id` (`user_id`),
KEY `idx_permission_level` (`permission_level`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI用户配额管理表';
-- ----------------------------
-- AI绘画作品收藏表
-- ----------------------------
DROP TABLE IF EXISTS `ai_painting_favorite`;
CREATE TABLE `ai_painting_favorite` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`painting_record_id` bigint(20) NOT NULL COMMENT '绘画记录ID',
`task_id` varchar(100) DEFAULT NULL COMMENT '任务ID',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收藏时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_painting` (`user_id`, `painting_record_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_painting_record_id` (`painting_record_id`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI绘画作品收藏表';
-- ----------------------------
-- 初始化AI Provider配置数据
-- ----------------------------
INSERT INTO `ai_provider_config` (`provider_name`, `provider_type`, `enabled`, `priority`, `weight`, `max_concurrency`, `timeout_seconds`, `max_retries`, `api_config`, `model_config`, `remark`) VALUES
('openai', 'OPENAI', 0, 1, 10, 10, 30, 3, '{"apiKey":"","baseUrl":"https://api.openai.com/v1","organization":""}', '{"defaultModel":"gpt-3.5-turbo","supportedModels":["gpt-3.5-turbo","gpt-4","gpt-4-turbo"]}', 'OpenAI官方API'),
('azure-openai', 'AZURE_OPENAI', 0, 2, 8, 8, 30, 3, '{"apiKey":"","endpoint":"","apiVersion":"2023-12-01-preview"}', '{"defaultModel":"gpt-35-turbo","supportedModels":["gpt-35-turbo","gpt-4"]}', 'Azure OpenAI服务'),
('chatglm', 'CHATGLM', 0, 3, 6, 6, 30, 3, '{"apiKey":"","baseUrl":"https://open.bigmodel.cn/api/paas/v4"}', '{"defaultModel":"glm-4","supportedModels":["glm-4","glm-3-turbo"]}', '智谱AI ChatGLM'),
('qwen', 'QWEN', 0, 4, 6, 6, 30, 3, '{"apiKey":"","baseUrl":"https://dashscope.aliyuncs.com/api/v1"}', '{"defaultModel":"qwen-turbo","supportedModels":["qwen-turbo","qwen-plus","qwen-max"]}', '阿里云通义千问'),
('zhipu', 'ZHIPU', 0, 5, 5, 5, 30, 3, '{"apiKey":"","baseUrl":"https://open.bigmodel.cn/api/paas/v4"}', '{"defaultModel":"glm-4","supportedModels":["glm-4","glm-3-turbo"]}', '智谱AI'),
('fastgpt', 'FASTGPT', 0, 6, 4, 4, 30, 3, '{"apiKey":"","baseUrl":"","chatId":""}', '{"defaultModel":"fastgpt","supportedModels":["fastgpt"]}', 'FastGPT平台'),
('coze', 'COZE', 0, 7, 3, 3, 30, 3, '{"apiKey":"","baseUrl":"https://www.coze.cn/api","botId":""}', '{"defaultModel":"coze","supportedModels":["coze"]}', 'Coze平台'),
('dify', 'DIFY', 0, 8, 3, 3, 30, 3, '{"apiKey":"","baseUrl":"","appId":""}', '{"defaultModel":"dify","supportedModels":["dify"]}', 'Dify平台'),
('knowledge', 'KNOWLEDGE', 1, 9, 2, 2, 30, 3, '{"enabled":true}', '{"defaultModel":"knowledge","supportedModels":["knowledge"]}', '内部知识库');
+229
View File
@@ -0,0 +1,229 @@
-- ----------------------------
-- App端数据库表结构
-- ----------------------------
-- 1、App端用户信息表
CREATE TABLE app_user
(
user_id BIGINT(20) NOT NULL COMMENT 'App用户ID',
user_name VARCHAR(30) NOT NULL COMMENT '用户账号',
nick_name VARCHAR(30) NOT NULL COMMENT '用户昵称',
phone VARCHAR(11) DEFAULT '' COMMENT '手机号码',
email VARCHAR(50) DEFAULT '' COMMENT '用户邮箱',
sex CHAR(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
avatar BIGINT(20) COMMENT '头像地址',
password VARCHAR(100) DEFAULT '' COMMENT '密码',
status CHAR(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
login_ip VARCHAR(128) DEFAULT '' COMMENT '最后登录IP',
login_date DATETIME COMMENT '最后登录时间',
register_time DATETIME COMMENT '注册时间',
create_by BIGINT(20) DEFAULT NULL COMMENT '创建者',
create_time DATETIME COMMENT '创建时间',
update_by BIGINT(20) DEFAULT NULL COMMENT '更新者',
update_time DATETIME COMMENT '更新时间',
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (user_id)
) ENGINE = InnoDB COMMENT = 'App端用户信息表';
INSERT INTO app_user
VALUES (1, 'appuser', 'App测试用户 密码admin123', '15888888888', 'appuser@qq.com', '1', NULL,
'$2a$10$7JB720yubVSOfvVMe6LeNOKgEoXAw7tCxJRET6pVuiDDz/LQ4Gqk.',
'0', '0', '127.0.0.1', SYSDATE(), SYSDATE(), 1, SYSDATE(), NULL, NULL, 'App端测试用户');
-- 2、App端角色信息表
CREATE TABLE app_role
(
role_id BIGINT(20) NOT NULL COMMENT 'App角色ID',
role_name VARCHAR(30) NOT NULL COMMENT '角色名称',
role_key VARCHAR(100) NOT NULL COMMENT '角色权限字符串',
role_sort INT(4) NOT NULL COMMENT '显示顺序',
status CHAR(1) NOT NULL COMMENT '角色状态(0正常 1停用)',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
create_by BIGINT(20) DEFAULT NULL COMMENT '创建者',
create_time DATETIME COMMENT '创建时间',
update_by BIGINT(20) DEFAULT NULL COMMENT '更新者',
update_time DATETIME COMMENT '更新时间',
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (role_id)
) ENGINE = InnoDB COMMENT = 'App端角色信息表';
INSERT INTO app_role
VALUES (1, 'App普通用户', 'app_user', 1, '0', '0', 1, SYSDATE(), NULL, NULL, 'App端普通用户'),
(2, 'App VIP用户', 'app_vip', 2, '0', '0', 1, SYSDATE(), NULL, NULL, 'App端VIP用户');
-- 3、App端用户和角色关联表
CREATE TABLE app_user_role
(
user_id BIGINT(20) NOT NULL COMMENT 'App用户ID',
role_id BIGINT(20) NOT NULL COMMENT 'App角色ID',
PRIMARY KEY (user_id, role_id)
) ENGINE = InnoDB COMMENT = 'App端用户和角色关联表';
INSERT INTO app_user_role
VALUES ('1', '1');
-- 4、App端第三方登录授权表
CREATE TABLE app_social_auth
(
id BIGINT(20) NOT NULL COMMENT '主键',
user_id BIGINT(20) NOT NULL COMMENT 'App用户ID',
platform VARCHAR(255) NOT NULL COMMENT '用户来源平台(wechat_mp:微信小程序 wechat_open:微信开放平台 qq:QQ weibo:微博)',
platform_uid VARCHAR(255) NOT NULL COMMENT '表示平台唯一用户标识',
open_id VARCHAR(255) DEFAULT NULL COMMENT '微信openid',
union_id VARCHAR(255) DEFAULT NULL COMMENT '微信unionid',
access_token VARCHAR(2000) NOT NULL COMMENT '用户的授权令牌',
expire_in INT DEFAULT NULL COMMENT '用户的授权令牌的有效期',
refresh_token VARCHAR(255) DEFAULT NULL COMMENT '刷新令牌',
scope VARCHAR(255) DEFAULT NULL COMMENT '授予的权限',
create_by BIGINT(20) DEFAULT NULL COMMENT '创建者',
create_time DATETIME COMMENT '创建时间',
update_by BIGINT(20) DEFAULT NULL COMMENT '更新者',
update_time DATETIME COMMENT '更新时间',
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (id)
) ENGINE = InnoDB COMMENT = 'App端第三方登录授权表';
-- 5、App端登录日志表
CREATE TABLE app_login_log
(
info_id BIGINT(20) NOT NULL COMMENT '访问ID',
user_name VARCHAR(50) DEFAULT '' COMMENT '用户账号',
status CHAR(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)',
ipaddr VARCHAR(128) DEFAULT '' COMMENT '登录IP地址',
login_location VARCHAR(255) DEFAULT '' COMMENT '登录地点',
browser VARCHAR(50) DEFAULT '' COMMENT '浏览器类型',
os VARCHAR(50) DEFAULT '' COMMENT '操作系统',
msg VARCHAR(255) DEFAULT '' COMMENT '提示消息',
login_time DATETIME COMMENT '访问时间',
PRIMARY KEY (info_id),
KEY idx_app_login_log_s (status),
KEY idx_app_login_log_lt (login_time)
) ENGINE = InnoDB COMMENT = 'App端登录日志表';
-- 6、App端操作日志记录
CREATE TABLE app_oper_log
(
oper_id BIGINT(20) NOT NULL COMMENT '日志主键',
title VARCHAR(50) DEFAULT '' COMMENT '模块标题',
business_type INT(2) DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)',
method VARCHAR(100) DEFAULT '' COMMENT '方法名称',
request_method VARCHAR(10) DEFAULT '' COMMENT '请求方式',
oper_name VARCHAR(50) DEFAULT '' COMMENT '操作人员',
oper_url VARCHAR(255) DEFAULT '' COMMENT '请求URL',
oper_ip VARCHAR(128) DEFAULT '' COMMENT '主机地址',
oper_location VARCHAR(255) DEFAULT '' COMMENT '操作地点',
oper_param VARCHAR(2000) DEFAULT '' COMMENT '请求参数',
json_result VARCHAR(2000) DEFAULT '' COMMENT '返回参数',
status INT(1) DEFAULT 0 COMMENT '操作状态(0正常 1异常)',
error_msg VARCHAR(2000) DEFAULT '' COMMENT '错误消息',
oper_time DATETIME COMMENT '操作时间',
cost_time BIGINT(20) DEFAULT 0 COMMENT '消耗时间',
PRIMARY KEY (oper_id),
KEY idx_app_oper_log_bt (business_type),
KEY idx_app_oper_log_s (status),
KEY idx_app_oper_log_ot (oper_time)
) ENGINE = InnoDB COMMENT = 'App端操作日志记录';
-- 7、App端设备信息表
CREATE TABLE app_device
(
device_id BIGINT(20) NOT NULL COMMENT '设备ID',
user_id BIGINT(20) NOT NULL COMMENT 'App用户ID',
device_type VARCHAR(20) NOT NULL COMMENT '设备类型(ios android h5',
device_name VARCHAR(100) DEFAULT '' COMMENT '设备名称',
device_model VARCHAR(100) DEFAULT '' COMMENT '设备型号',
device_brand VARCHAR(50) DEFAULT '' COMMENT '设备品牌',
os_version VARCHAR(50) DEFAULT '' COMMENT '操作系统版本',
app_version VARCHAR(50) DEFAULT '' COMMENT 'App版本',
push_token VARCHAR(255) DEFAULT '' COMMENT '推送令牌',
is_active CHAR(1) DEFAULT '1' COMMENT '是否活跃(0否 1是)',
last_active_time DATETIME COMMENT '最后活跃时间',
create_time DATETIME COMMENT '创建时间',
update_time DATETIME COMMENT '更新时间',
PRIMARY KEY (device_id),
KEY idx_app_device_user_id (user_id),
KEY idx_app_device_type (device_type)
) ENGINE = InnoDB COMMENT = 'App端设备信息表';
-- 8、App端消息推送表
CREATE TABLE app_message
(
message_id BIGINT(20) NOT NULL COMMENT '消息ID',
title VARCHAR(100) NOT NULL COMMENT '消息标题',
content TEXT COMMENT '消息内容',
message_type VARCHAR(20) DEFAULT 'system' COMMENT '消息类型(system:系统消息 notice:通知 activity:活动)',
target_type VARCHAR(20) DEFAULT 'all' COMMENT '推送目标(all:全部用户 user:指定用户 role:指定角色)',
target_ids VARCHAR(1000) DEFAULT '' COMMENT '目标ID列表(用户ID或角色ID,逗号分隔)',
send_time DATETIME COMMENT '发送时间',
status CHAR(1) DEFAULT '0' COMMENT '状态(0待发送 1已发送 2发送失败)',
create_by BIGINT(20) DEFAULT NULL COMMENT '创建者',
create_time DATETIME COMMENT '创建时间',
update_by BIGINT(20) DEFAULT NULL COMMENT '更新者',
update_time DATETIME COMMENT '更新时间',
PRIMARY KEY (message_id),
KEY idx_app_message_type (message_type),
KEY idx_app_message_status (status)
) ENGINE = InnoDB COMMENT = 'App端消息推送表';
-- 9、App端用户消息读取记录表
CREATE TABLE app_user_message
(
id BIGINT(20) NOT NULL COMMENT '主键',
user_id BIGINT(20) NOT NULL COMMENT 'App用户ID',
message_id BIGINT(20) NOT NULL COMMENT '消息ID',
is_read CHAR(1) DEFAULT '0' COMMENT '是否已读(0未读 1已读)',
read_time DATETIME COMMENT '读取时间',
create_time DATETIME COMMENT '创建时间',
PRIMARY KEY (id),
KEY idx_app_user_message_user (user_id),
KEY idx_app_user_message_msg (message_id),
KEY idx_app_user_message_read (is_read)
) ENGINE = InnoDB COMMENT = 'App端用户消息读取记录表';
-- 10、App版本信息表
CREATE TABLE app_version
(
version_id BIGINT(20) NOT NULL COMMENT '版本ID',
version_code INT NOT NULL COMMENT '版本号(数字)',
version_name VARCHAR(20) NOT NULL COMMENT '版本名(如1.0.0',
update_content TEXT COMMENT '更新内容',
download_url VARCHAR(500) NOT NULL COMMENT '下载地址',
is_force CHAR(1) DEFAULT '0' COMMENT '是否强制更新(0否 1是)',
platform VARCHAR(10) DEFAULT 'android' COMMENT '平台(android、ios',
create_time DATETIME COMMENT '创建时间',
PRIMARY KEY (version_id)
) ENGINE = InnoDB COMMENT ='App版本信息表';
-- 11、App文件表
DROP TABLE IF EXISTS `app_file`;
CREATE TABLE `app_file`
(
`file_id` bigint NOT NULL AUTO_INCREMENT COMMENT '文件ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件名称',
`original_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '原始文件名',
`file_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件路径',
`file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件URL',
`file_size` bigint NOT NULL DEFAULT 0 COMMENT '文件大小(字节)',
`file_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件类型',
`file_suffix` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀',
`file_category` int NOT NULL DEFAULT 6 COMMENT '文件分类(1头像 2图片 3视频 4音频 5文档 6其他)',
`storage_service` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储服务',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0正常 1删除)',
`download_count` bigint NOT NULL DEFAULT 0 COMMENT '下载次数',
`is_public` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否公开(0私有 1公开)',
`file_md5` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件MD5值',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`file_id`) USING BTREE,
INDEX `idx_user_id`(`user_id` ASC) USING BTREE COMMENT '用户ID索引',
INDEX `idx_file_category`(`file_category` ASC) USING BTREE COMMENT '文件分类索引',
INDEX `idx_status`(`status` ASC) USING BTREE COMMENT '状态索引',
INDEX `idx_is_public`(`is_public` ASC) USING BTREE COMMENT '公开状态索引',
INDEX `idx_file_md5`(`file_md5` ASC) USING BTREE COMMENT 'MD5索引',
INDEX `idx_create_time`(`create_time` ASC) USING BTREE COMMENT '创建时间索引'
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'App端文件信息表' ROW_FORMAT = Dynamic;
+116
View File
@@ -0,0 +1,116 @@
-- ----------------------------
-- Table structure for chat_config
-- ----------------------------
DROP TABLE IF EXISTS `chat_config`;
CREATE TABLE `chat_config`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配置类型',
`config_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配置名称',
`config_value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配置值',
`config_dict` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`version` int(11) NULL DEFAULT NULL COMMENT '版本',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
`update_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新IP',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `unique_category_key` (`category`, `config_name`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT = '配置信息表'
ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for chat_message
-- ----------------------------
DROP TABLE IF EXISTS `chat_message`;
CREATE TABLE `chat_message`
(
`id` bigint(20) NOT NULL COMMENT '主键',
`session_id` bigint(20) NULL DEFAULT NULL COMMENT '会话id',
`user_id` bigint(20) NOT NULL COMMENT '用户id',
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容',
`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对话角色',
`deduct_cost` double(20, 2) NULL DEFAULT 0.00 COMMENT '扣除金额',
`total_tokens` int(20) NULL DEFAULT 0 COMMENT '累计 Tokens',
`model_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模型名称',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT = '聊天消息表'
ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for chat_model
-- ----------------------------
DROP TABLE IF EXISTS `chat_model`;
CREATE TABLE `chat_model`
(
`id` bigint(20) NOT NULL COMMENT '主键',
`category` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模型分类',
`model_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模型名称',
`model_describe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模型描述',
`model_price` double NULL DEFAULT NULL COMMENT '模型价格',
`model_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '计费类型',
`model_show` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否显示',
`system_prompt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '系统提示词',
`api_host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求地址',
`api_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密钥',
`api_url` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求后缀',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT = '聊天模型'
ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for chat_session
-- ----------------------------
DROP TABLE IF EXISTS `chat_session`;
CREATE TABLE `chat_session`
(
`id` bigint(20) NOT NULL COMMENT '主键',
`user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id',
`session_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '会话标题',
`session_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '会话内容',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT = '会话管理'
ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for chat_usage_token
-- ----------------------------
DROP TABLE IF EXISTS `chat_usage_token`;
CREATE TABLE `chat_usage_token`
(
`id` bigint(20) NOT NULL COMMENT '主键',
`user_id` bigint(20) NOT NULL COMMENT '用户',
`token` int(10) NULL DEFAULT NULL COMMENT '待结算token',
`model_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模型名称',
`total_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '累计使用token',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT = '用户token使用详情'
ROW_FORMAT = Dynamic;
+523
View File
@@ -0,0 +1,523 @@
SET NAMES utf8mb4;
CREATE TABLE `sj_namespace`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(64) NOT NULL COMMENT '名称',
`unique_id` varchar(64) NOT NULL COMMENT '唯一id',
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_name` (`name`),
UNIQUE KEY `uk_unique_id` (`unique_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='命名空间';
INSERT INTO `sj_namespace` VALUES (1, 'Development', 'dev', '', 0, now(), now());
INSERT INTO `sj_namespace` VALUES (2, 'Production', 'prod', '', 0, now(), now());
CREATE TABLE `sj_group_config`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称',
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '组描述',
`token` varchar(64) NOT NULL DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' COMMENT 'token',
`group_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '组状态 0、未启用 1、启用',
`version` int(11) NOT NULL COMMENT '版本号',
`group_partition` int(11) NOT NULL COMMENT '分区',
`id_generator_mode` tinyint(4) NOT NULL DEFAULT 1 COMMENT '唯一id生成模式 默认号段模式',
`init_scene` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否初始化场景 0:否 1:是',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='组配置';
INSERT INTO `sj_group_config` VALUES (1, 'dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, now(), now());
INSERT INTO `sj_group_config` VALUES (2, 'prod', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, now(), now());
CREATE TABLE `sj_notify_config`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`notify_name` varchar(64) NOT NULL DEFAULT '' COMMENT '通知名称',
`system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务',
`notify_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知状态 0、未启用 1、启用',
`recipient_ids` varchar(128) NOT NULL COMMENT '接收人id列表',
`notify_threshold` int(11) NOT NULL DEFAULT 0 COMMENT '通知阈值',
`notify_scene` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知场景',
`rate_limiter_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '限流状态 0、未启用 1、启用',
`rate_limiter_threshold` int(11) NOT NULL DEFAULT 0 COMMENT '每秒限流阈值',
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='通知配置';
CREATE TABLE `sj_notify_recipient`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`recipient_name` varchar(64) NOT NULL COMMENT '接收人名称',
`notify_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook',
`notify_attribute` varchar(512) NOT NULL COMMENT '配置属性',
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id` (`namespace_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='告警通知接收人';
CREATE TABLE `sj_retry_dead_letter`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`group_id` bigint(20) NOT NULL COMMENT '组Id',
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
`scene_id` bigint(20) NOT NULL COMMENT '场景ID',
`idempotent_id` varchar(64) NOT NULL COMMENT '幂等id',
`biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号',
`executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称',
`args_str` text NOT NULL COMMENT '执行方法参数',
`ext_attrs` text NOT NULL COMMENT '扩展字段',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`),
KEY `idx_idempotent_id` (`idempotent_id`),
KEY `idx_biz_no` (`biz_no`),
KEY `idx_create_dt` (`create_dt`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='死信队列表';
CREATE TABLE `sj_retry`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`group_id` bigint(20) NOT NULL COMMENT '组Id',
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
`scene_id` bigint(20) NOT NULL COMMENT '场景ID',
`idempotent_id` varchar(64) NOT NULL COMMENT '幂等id',
`biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号',
`executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称',
`args_str` text NOT NULL COMMENT '执行方法参数',
`ext_attrs` text NOT NULL COMMENT '扩展字段',
`next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间',
`retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数',
`retry_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '重试状态 0、重试中 1、成功 2、最大重试次数',
`task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据',
`bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket',
`parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '父节点id',
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '逻辑删除',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_biz_no` (`biz_no`),
KEY `idx_idempotent_id` (`idempotent_id`),
KEY `idx_retry_status_bucket_index` (`retry_status`, `bucket_index`),
KEY `idx_parent_id` (`parent_id`),
KEY `idx_create_dt` (`create_dt`),
UNIQUE KEY `uk_scene_tasktype_idempotentid_deleted` (`scene_id`, `task_type`, `idempotent_id`, `deleted`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='重试信息表';
CREATE TABLE `sj_retry_task`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
`retry_id` bigint(20) NOT NULL COMMENT '重试信息Id',
`ext_attrs` text NOT NULL COMMENT '扩展字段',
`task_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '重试状态',
`task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据',
`operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因',
`client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`),
KEY `task_status` (`task_status`),
KEY `idx_create_dt` (`create_dt`),
KEY `idx_retry_id` (`retry_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='重试任务表';
CREATE TABLE `sj_retry_task_log_message`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`retry_id` bigint(20) NOT NULL COMMENT '重试信息Id',
`retry_task_id` bigint(20) NOT NULL COMMENT '重试任务Id',
`message` longtext NOT NULL COMMENT '异常信息',
`log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量',
`real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id_group_name_retry_task_id` (`namespace_id`, `group_name`, `retry_task_id`),
KEY `idx_create_dt` (`create_dt`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='任务调度日志信息记录表';
CREATE TABLE `sj_retry_scene_config`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`scene_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '组状态 0、未启用 1、启用',
`max_retry_count` int(11) NOT NULL DEFAULT 5 COMMENT '最大重试次数',
`back_off` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式',
`trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '间隔时长',
`notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表',
`deadline_request` bigint(20) unsigned NOT NULL DEFAULT 60000 COMMENT 'Deadline Request 调用链超时 单位毫秒',
`executor_timeout` int(11) unsigned NOT NULL DEFAULT 5 COMMENT '任务执行超时时间,单位秒',
`route_key` tinyint(4) NOT NULL DEFAULT 4 COMMENT '路由策略',
`block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行',
`cb_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '回调状态 0、不开启 1、开启',
`cb_trigger_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式',
`cb_max_count` int(11) NOT NULL DEFAULT 16 COMMENT '回调的最大执行次数',
`cb_trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '回调的最大执行次数',
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='场景配置';
CREATE TABLE `sj_server_node`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`host_id` varchar(64) NOT NULL COMMENT '主机id',
`host_ip` varchar(64) NOT NULL COMMENT '机器ip',
`host_port` int(16) NOT NULL COMMENT '机器端口',
`expire_at` datetime NOT NULL COMMENT '过期时间',
`node_type` tinyint(4) NOT NULL COMMENT '节点类型 1、客户端 2、是服务端',
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
KEY `idx_expire_at_node_type` (`expire_at`, `node_type`),
UNIQUE KEY `uk_host_id_host_ip` (`host_id`, `host_ip`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='服务器节点';
CREATE TABLE `sj_distributed_lock`
(
`name` varchar(64) NOT NULL COMMENT '锁名称',
`lock_until` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '锁定时长',
`locked_at` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '锁定时间',
`locked_by` varchar(255) NOT NULL COMMENT '锁定者',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='锁定表';
CREATE TABLE `sj_system_user`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(64) NOT NULL COMMENT '账号',
`password` varchar(128) NOT NULL COMMENT '密码',
`role` tinyint(4) NOT NULL DEFAULT 0 COMMENT '角色:1-普通用户、2-管理员',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_username` (`username`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户表';
-- pwd: admin
INSERT INTO `sj_system_user` (username, password, role)
VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2);
CREATE TABLE `sj_system_user_permission`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`system_user_id` bigint(20) NOT NULL COMMENT '系统用户id',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_namespace_id_group_name_system_user_id` (`namespace_id`, `group_name`, `system_user_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户权限表';
CREATE TABLE `sj_sequence_alloc`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称',
`max_id` bigint(20) NOT NULL DEFAULT 1 COMMENT '最大id',
`step` int(11) NOT NULL DEFAULT 100 COMMENT '步长',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='号段模式序号ID分配表';
-- 分布式调度DDL
CREATE TABLE `sj_job`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`job_name` varchar(64) NOT NULL COMMENT '名称',
`args_str` text DEFAULT NULL COMMENT '执行方法参数',
`args_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '参数类型 ',
`next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间',
`job_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务状态 0、关闭、1、开启',
`task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、集群 2、广播 3、切片',
`route_key` tinyint(4) NOT NULL DEFAULT 4 COMMENT '路由策略',
`executor_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '执行器类型',
`executor_info` varchar(255) DEFAULT NULL COMMENT '执行器名称',
`trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间',
`trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长',
`block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行 4、恢复',
`executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
`max_retry_times` int(11) NOT NULL DEFAULT 0 COMMENT '最大重试次数',
`parallel_num` int(11) NOT NULL DEFAULT 1 COMMENT '并行数',
`retry_interval` int(11) NOT NULL DEFAULT 0 COMMENT '重试间隔(s)',
`bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket',
`resident` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否是常驻任务',
`notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表',
`owner_id` bigint(20) NULL COMMENT '负责人id',
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
KEY `idx_job_status_bucket_index` (`job_status`, `bucket_index`),
KEY `idx_create_dt` (`create_dt`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='任务信息';
INSERT INTO `sj_job` VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', 1, '', '', 0 , now(), now());
CREATE TABLE `sj_job_log_message`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`job_id` bigint(20) NOT NULL COMMENT '任务信息id',
`task_batch_id` bigint(20) NOT NULL COMMENT '任务批次id',
`task_id` bigint(20) NOT NULL COMMENT '调度任务id',
`message` longtext NOT NULL COMMENT '调度信息',
`log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量',
`real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间',
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_task_batch_id_task_id` (`task_batch_id`, `task_id`),
KEY `idx_create_dt` (`create_dt`),
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='调度日志';
CREATE TABLE `sj_job_task`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`job_id` bigint(20) NOT NULL COMMENT '任务信息id',
`task_batch_id` bigint(20) NOT NULL COMMENT '调度任务id',
`parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '父执行器id',
`task_status` tinyint NOT NULL DEFAULT 0 COMMENT '执行的状态 0、失败 1、成功',
`retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数',
`mr_stage` tinyint DEFAULT NULL COMMENT '动态分片所处阶段 1:map 2:reduce 3:mergeReduce',
`leaf` tinyint NOT NULL DEFAULT '1' COMMENT '叶子节点',
`task_name` varchar(255) NOT NULL DEFAULT '' COMMENT '任务名称',
`client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port',
`wf_context` text DEFAULT NULL COMMENT '工作流全局上下文',
`result_message` text NOT NULL COMMENT '执行结果',
`args_str` text DEFAULT NULL COMMENT '执行方法参数',
`args_type` tinyint NOT NULL DEFAULT 1 COMMENT '参数类型 ',
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_task_batch_id_task_status` (`task_batch_id`, `task_status`),
KEY `idx_create_dt` (`create_dt`),
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='任务实例';
CREATE TABLE `sj_job_task_batch`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`job_id` bigint(20) NOT NULL COMMENT '任务id',
`workflow_node_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流节点id',
`parent_workflow_node_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流任务父批次id',
`workflow_task_batch_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流任务批次id',
`task_batch_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '任务批次状态 0、失败 1、成功',
`operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因',
`execution_at` bigint(13) NOT NULL DEFAULT 0 COMMENT '任务执行时间',
`system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务',
`parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父节点',
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`),
KEY `idx_create_dt` (`create_dt`),
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`, `workflow_node_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='任务批次';
CREATE TABLE `sj_job_summary`
(
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称',
`business_id` bigint NOT NULL COMMENT '业务id (job_id或workflow_id)',
`system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务',
`trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间',
`success_num` int NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量',
`fail_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
`fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因',
`stop_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
`stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因',
`cancel_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
`cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id_group_name_business_id` (`namespace_id`, `group_name`, business_id),
UNIQUE KEY `uk_trigger_at_system_task_type_business_id` (`trigger_at`, `system_task_type`, `business_id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job';
CREATE TABLE `sj_retry_summary`
(
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称',
`scene_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '场景名称',
`trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间',
`running_num` int NOT NULL DEFAULT 0 COMMENT '重试中-日志数量',
`finish_num` int NOT NULL DEFAULT 0 COMMENT '重试完成-日志数量',
`max_count_num` int NOT NULL DEFAULT 0 COMMENT '重试到达最大次数-日志数量',
`suspend_num` int NOT NULL DEFAULT 0 COMMENT '暂停重试-日志数量',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_trigger_at` (`trigger_at`),
UNIQUE KEY `uk_scene_name_trigger_at` (`namespace_id`, `group_name`, `scene_name`, `trigger_at`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Retry';
CREATE TABLE `sj_workflow`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`workflow_name` varchar(64) NOT NULL COMMENT '工作流名称',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`workflow_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流状态 0、关闭、1、开启',
`trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间',
`trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长',
`next_trigger_at` bigint NOT NULL COMMENT '下次触发时间',
`block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行',
`executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
`flow_info` text DEFAULT NULL COMMENT '流程信息',
`wf_context` text DEFAULT NULL COMMENT '上下文',
`notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表',
`bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket',
`version` int(11) NOT NULL COMMENT '版本号',
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_create_dt` (`create_dt`),
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='工作流';
CREATE TABLE `sj_workflow_node`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`node_name` varchar(64) NOT NULL COMMENT '节点名称',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`job_id` bigint(20) NOT NULL COMMENT '任务信息id',
`workflow_id` bigint(20) NOT NULL COMMENT '工作流ID',
`node_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、任务节点 2、条件节点',
`expression_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '1、SpEl、2、Aviator 3、QL',
`fail_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '失败策略 1、跳过 2、阻塞',
`workflow_node_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流节点状态 0、关闭、1、开启',
`priority_level` int(11) NOT NULL DEFAULT 1 COMMENT '优先级',
`node_info` text DEFAULT NULL COMMENT '节点信息 ',
`version` int(11) NOT NULL COMMENT '版本号',
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_create_dt` (`create_dt`),
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='工作流节点';
CREATE TABLE `sj_workflow_task_batch`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`workflow_id` bigint(20) NOT NULL COMMENT '工作流任务id',
`task_batch_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '任务批次状态 0、失败 1、成功',
`operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因',
`flow_info` text DEFAULT NULL COMMENT '流程信息',
`wf_context` text DEFAULT NULL COMMENT '全局上下文',
`execution_at` bigint(13) NOT NULL DEFAULT 0 COMMENT '任务执行时间',
`ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段',
`version` int(11) NOT NULL DEFAULT 1 COMMENT '版本号',
`deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_job_id_task_batch_status` (`workflow_id`, `task_batch_status`),
KEY `idx_create_dt` (`create_dt`),
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='工作流批次';
+386
View File
@@ -0,0 +1,386 @@
-- ----------------------------
-- Table structure for knowledge_attach
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_attach`;
CREATE TABLE `knowledge_attach`
(
`id` bigint NOT NULL AUTO_INCREMENT,
`knowledge_id` varchar(50) NOT NULL COMMENT '知识库ID',
`doc_id` varchar(50) NOT NULL COMMENT '文档ID',
`doc_name` varchar(500) DEFAULT NULL COMMENT '文档名称',
`doc_type` varchar(50) NOT NULL COMMENT '文档类型',
`oss_id` int DEFAULT NULL COMMENT '对象存储ID',
`pic_status` tinyint(1) NOT NULL DEFAULT 10 COMMENT '拆解图片状态:10未开始,20进行中,30已完成',
`pic_anys_status` tinyint(1) NOT NULL DEFAULT 10 COMMENT '分析图片状态:10未开始,20进行中,30已完成',
`vector_status` tinyint(1) NOT NULL DEFAULT 10 COMMENT '写入向量数据库状态:10未开始,20进行中,30已完成',
`content` longtext COMMENT '文档内容',
`create_by` bigint DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `idx_kname` (`knowledge_id`, `doc_name`) USING BTREE,
KEY `idx_knowledge_id` (`knowledge_id`) USING BTREE,
KEY `idx_doc_id` (`doc_id`) USING BTREE,
KEY `idx_create_time` (`create_time`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库附件';
-- ----------------------------
-- Table structure for knowledge_fragment
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_fragment`;
CREATE TABLE `knowledge_fragment`
(
`id` bigint NOT NULL AUTO_INCREMENT,
`knowledge_id` varchar(50) NOT NULL COMMENT '知识库ID',
`doc_id` varchar(50) DEFAULT NULL COMMENT '文档ID',
`fid` varchar(50) NOT NULL COMMENT '知识片段ID',
`idx` int NOT NULL COMMENT '片段索引下标',
`content` text NOT NULL COMMENT '文档内容',
`create_by` bigint DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_knowledge_id` (`knowledge_id`) USING BTREE,
KEY `idx_doc_id` (`doc_id`) USING BTREE,
KEY `idx_fid` (`fid`) USING BTREE,
KEY `idx_create_time` (`create_time`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库知识片段';
-- ----------------------------
-- Table structure for knowledge_info
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_info`;
CREATE TABLE `knowledge_info`
(
`id` bigint NOT NULL AUTO_INCREMENT,
`user_id` bigint NOT NULL DEFAULT 0 COMMENT '用户ID',
`knowledge_id` varchar(50) NOT NULL COMMENT '知识库ID',
`knowledge_name` varchar(50) NOT NULL COMMENT '知识库名称',
`share` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否公开知识库:0否,1是',
`description` varchar(1000) DEFAULT NULL COMMENT '描述',
`knowledge_separator` varchar(255) DEFAULT NULL COMMENT '知识分隔符',
`question_separator` varchar(255) DEFAULT NULL COMMENT '提问分隔符',
`overlap_char` int DEFAULT NULL COMMENT '重叠字符数',
`retrieve_limit` int DEFAULT NULL COMMENT '知识库中检索的条数',
`text_block_size` int DEFAULT NULL COMMENT '文本块大小',
`vector_model_name` varchar(50) DEFAULT NULL COMMENT '向量库',
`embedding_model_name` varchar(50) DEFAULT NULL COMMENT '向量模型',
`system_prompt` varchar(255) DEFAULT NULL COMMENT '系统提示词',
`create_by` bigint DEFAULT NULL COMMENT '创建人',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `idx_knowledge_id` (`knowledge_id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库';
-- ----------------------------
-- Table structure for knowledge_prompt_template
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_prompt_template`;
CREATE TABLE `knowledge_prompt_template`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`template_name` varchar(128) NOT NULL DEFAULT '' COMMENT '提示词模板名称',
`template_content` text COMMENT '提示词模板内容',
`category` varchar(16) NOT NULL DEFAULT 'knowledge' COMMENT '提示词分类:knowledge知识库类型,chat对话类型,draw绘画类型',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` varchar(256) DEFAULT NULL COMMENT '备注',
`del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志:0存在,1删除',
PRIMARY KEY (`id`),
KEY `idx_category_del` (`category`, `del_flag`),
KEY `idx_create_time` (`create_time`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库提示词模板表';
-- ----------------------------
-- Table structure for knowledge_schema_group
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_schema_group`;
CREATE TABLE `knowledge_schema_group`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(128) DEFAULT NULL COMMENT '分组名称',
`code` varchar(128) DEFAULT NULL COMMENT '分组编码',
`icon` varchar(100) DEFAULT NULL COMMENT '图标',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '删除标志:0存在,1删除',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_knowledge_schema_group_code` (`code`),
KEY `idx_knowledge_schema_group_del_flag` (`del_flag`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库数据模型分组表';
-- ----------------------------
-- Table structure for knowledge_schema
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_schema`;
CREATE TABLE `knowledge_schema`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`schema_group_id` bigint DEFAULT NULL COMMENT '分组ID',
`name` varchar(128) DEFAULT NULL COMMENT '模型名称',
`code` varchar(128) DEFAULT NULL COMMENT '模型编码',
`table_name` varchar(128) DEFAULT NULL COMMENT '表名',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '删除标志:0存在,1删除',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_knowledge_schema_group_id` (`schema_group_id`),
KEY `idx_knowledge_schema_code` (`code`),
KEY `idx_knowledge_schema_table_name` (`table_name`),
KEY `idx_knowledge_schema_del_flag` (`del_flag`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库数据模型表';
-- ----------------------------
-- Table structure for knowledge_schema_field
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_schema_field`;
CREATE TABLE `knowledge_schema_field`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`schema_id` bigint DEFAULT NULL COMMENT '模型ID',
`schema_name` varchar(128) DEFAULT NULL COMMENT '模型名称',
`name` varchar(128) DEFAULT NULL COMMENT '字段名称',
`code` varchar(128) DEFAULT NULL COMMENT '字段编码',
`type` varchar(50) DEFAULT NULL COMMENT '字段类型',
`comment` varchar(500) DEFAULT NULL COMMENT '字段注释',
`is_pk` tinyint(1) DEFAULT 0 COMMENT '是否主键:0否,1是',
`is_required` tinyint(1) DEFAULT 0 COMMENT '是否必填:0否,1是',
`is_unique` tinyint(1) DEFAULT 0 COMMENT '是否唯一:0否,1是',
`default_value` varchar(200) DEFAULT NULL COMMENT '默认值',
`length` int DEFAULT NULL COMMENT '字段长度',
`scale` int DEFAULT NULL COMMENT '小数位数',
`is_list` tinyint(1) DEFAULT 0 COMMENT '是否列表显示:0否,1是',
`is_query` tinyint(1) DEFAULT 0 COMMENT '是否查询字段:0否,1是',
`is_insert` tinyint(1) DEFAULT 0 COMMENT '是否插入字段:0否,1是',
`is_edit` tinyint(1) DEFAULT 0 COMMENT '是否编辑字段:0否,1是',
`query_type` varchar(200) DEFAULT NULL COMMENT '查询方式(EQ,NE,GT,LT,LIKE,BETWEEN)',
`html_type` varchar(200) DEFAULT 'input' COMMENT '显示类型(input,textarea,select,checkbox,radio,datetime,image,upload,editor)',
`dict_type` varchar(200) DEFAULT '' COMMENT '字典类型',
`sort` int DEFAULT NULL COMMENT '排序',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '删除标志:0存在,1删除',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `idx_knowledge_schema_field_schema_id` (`schema_id`),
KEY `idx_knowledge_schema_field_code` (`code`),
KEY `idx_knowledge_schema_field_del_flag` (`del_flag`),
KEY `idx_knowledge_schema_field_sort` (`sort`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库数据模型字段表';
-- ----------------------------
-- Table structure for knowledge_role
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_role`;
CREATE TABLE `knowledge_role`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '知识库角色id',
`name` varchar(100) DEFAULT NULL COMMENT '知识库角色名称',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '删除标志:0存在,1删除',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`group_id` bigint DEFAULT NULL COMMENT '知识库角色组id',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_group_id` (`group_id`) USING BTREE,
KEY `idx_del_flag` (`del_flag`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库角色表';
-- ----------------------------
-- Table structure for knowledge_role_group
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_role_group`;
CREATE TABLE `knowledge_role_group`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '知识库角色组id',
`name` varchar(100) DEFAULT NULL COMMENT '知识库角色组name',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '删除标志:0存在,1删除',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_del_flag` (`del_flag`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库角色组表';
-- ----------------------------
-- Table structure for knowledge_role_relation
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_role_relation`;
CREATE TABLE `knowledge_role_relation`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '删除标志:0存在,1删除',
`create_by` bigint DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`knowledge_role_id` bigint DEFAULT NULL COMMENT '知识库角色id',
`knowledge_id` bigint DEFAULT NULL COMMENT '知识库id',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_role_id` (`knowledge_role_id`) USING BTREE,
KEY `idx_knowledge_id` (`knowledge_id`) USING BTREE,
KEY `idx_del_flag` (`del_flag`) USING BTREE,
UNIQUE KEY `uk_role_knowledge` (`knowledge_role_id`, `knowledge_id`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库角色与知识库关联表';
-- ----------------------------
-- Table structure for knowledge_vector
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_vector`;
CREATE TABLE `knowledge_vector`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`knowledge_id` varchar(50) NOT NULL COMMENT '知识库ID',
`doc_id` varchar(50) NOT NULL COMMENT '文档ID',
`fragment_id` varchar(50) NOT NULL COMMENT '知识片段ID',
`vector_id` varchar(100) NOT NULL COMMENT '向量唯一标识',
`vector_data` blob NOT NULL COMMENT '向量数据',
`dimension` int NOT NULL COMMENT '向量维度',
`model_name` varchar(50) NOT NULL COMMENT '向量模型名称',
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0启用,1禁用',
`create_by` bigint DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `idx_vector_id` (`vector_id`) USING BTREE,
UNIQUE KEY `idx_fragment_unique` (`knowledge_id`, `doc_id`, `fragment_id`) USING BTREE,
KEY `idx_knowledge_id` (`knowledge_id`) USING BTREE,
KEY `idx_doc_id` (`doc_id`) USING BTREE,
KEY `idx_fragment_id` (`fragment_id`) USING BTREE,
KEY `idx_model_name` (`model_name`) USING BTREE,
KEY `idx_status` (`status`) USING BTREE,
KEY `idx_create_time` (`create_time`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识片段向量表';
-- ----------------------------
-- Table structure for knowledge_job
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_job`;
CREATE TABLE `knowledge_job`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID',
`job_id` varchar(50) NOT NULL COMMENT '任务唯一标识',
`job_type` varchar(50) NOT NULL COMMENT '任务类型(upload,process,delete,export,embedding,sync)',
`job_sub_type` varchar(50) DEFAULT NULL COMMENT '任务子类型',
`knowledge_id` varchar(50) DEFAULT NULL COMMENT '知识库ID',
`doc_id` varchar(50) DEFAULT NULL COMMENT '文档ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '任务状态:0等待,1进行中,2成功,3失败,4暂停',
`progress` int NOT NULL DEFAULT 0 COMMENT '进度(0-100)',
`total_items` int DEFAULT 0 COMMENT '总项目数',
`processed_items` int DEFAULT 0 COMMENT '已处理项目数',
`success_items` int DEFAULT 0 COMMENT '成功项目数',
`failed_items` int DEFAULT 0 COMMENT '失败项目数',
`priority` tinyint(1) NOT NULL DEFAULT 1 COMMENT '优先级:1低,2中,3高',
`retry_count` int NOT NULL DEFAULT 0 COMMENT '重试次数',
`max_retry` int NOT NULL DEFAULT 3 COMMENT '最大重试次数',
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
`timeout` int DEFAULT 3600 COMMENT '超时时间(秒)',
`error_message` text COMMENT '错误信息',
`error_stack` text COMMENT '错误堆栈',
`result_data` text COMMENT '结果数据(JSON格式)',
`notify_url` varchar(500) DEFAULT NULL COMMENT '通知URL',
`notify_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '通知状态:0未通知,1已通知',
`create_by` bigint DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `idx_job_id` (`job_id`) USING BTREE,
KEY `idx_job_type` (`job_type`) USING BTREE,
KEY `idx_knowledge_id` (`knowledge_id`) USING BTREE,
KEY `idx_doc_id` (`doc_id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_status` (`status`) USING BTREE,
KEY `idx_priority` (`priority`) USING BTREE,
KEY `idx_create_time` (`create_time`) USING BTREE,
KEY `idx_status_create_time` (`status`, `create_time`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识库任务进度表';
-- ----------------------------
-- Table structure for knowledge_hit_log
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_hit_log`;
CREATE TABLE `knowledge_hit_log`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`session_id` varchar(50) DEFAULT NULL COMMENT '会话ID',
`knowledge_id` varchar(50) NOT NULL COMMENT '知识库ID',
`doc_id` varchar(50) DEFAULT NULL COMMENT '文档ID',
`fragment_id` varchar(50) NOT NULL COMMENT '知识片段ID',
`query_text` text COMMENT '查询文本',
`query_vector` blob COMMENT '查询向量',
`similarity_score` decimal(10, 6) NOT NULL COMMENT '相似度分数',
`ranking` int NOT NULL COMMENT '排名位置',
`model_name` varchar(50) NOT NULL COMMENT '向量模型名称',
`search_params` text COMMENT '搜索参数(JSON格式)',
`response_time` int DEFAULT 0 COMMENT '响应时间(毫秒)',
`hit_count` int NOT NULL DEFAULT 1 COMMENT '命中次数',
`create_by` bigint DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_session_id` (`session_id`) USING BTREE,
KEY `idx_knowledge_id` (`knowledge_id`) USING BTREE,
KEY `idx_doc_id` (`doc_id`) USING BTREE,
KEY `idx_fragment_id` (`fragment_id`) USING BTREE,
KEY `idx_score` (`similarity_score`) USING BTREE,
KEY `idx_model_name` (`model_name`) USING BTREE,
KEY `idx_create_time` (`create_time`) USING BTREE,
KEY `idx_knowledge_fragment` (`knowledge_id`, `fragment_id`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='知识检索命中日志表';
+566
View File
@@ -0,0 +1,566 @@
-- ----------------------------
-- 商品表
-- ----------------------------
DROP TABLE IF EXISTS `mall_product`;
CREATE TABLE `mall_product` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '商品ID',
`name` varchar(128) NOT NULL COMMENT '商品名称',
`category_id` bigint DEFAULT NULL COMMENT '分类ID',
`brand_id` bigint DEFAULT NULL COMMENT '品牌ID',
`cover_url` varchar(512) DEFAULT NULL COMMENT '封面图片',
`images` text COMMENT '商品图片(JSON数组)',
`description` text COMMENT '商品描述',
`detail` text COMMENT '商品详情',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0上架 1下架)',
`sort` int DEFAULT '0' COMMENT '排序',
`sales_count` int DEFAULT '0' COMMENT '销量',
`view_count` int DEFAULT '0' COMMENT '浏览量',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_category_id` (`category_id`),
KEY `idx_brand_id` (`brand_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='商品表';
-- ----------------------------
-- SKU表
-- ----------------------------
DROP TABLE IF EXISTS `mall_sku`;
CREATE TABLE `mall_sku` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'SKU ID',
`product_id` bigint NOT NULL COMMENT '商品ID',
`sku_code` varchar(64) NOT NULL COMMENT 'SKU编码',
`name` varchar(128) DEFAULT NULL COMMENT 'SKU名称',
`price` int NOT NULL COMMENT '价格(分)',
`original_price` int DEFAULT NULL COMMENT '原价(分)',
`stock` int NOT NULL DEFAULT '0' COMMENT '库存',
`image` varchar(512) DEFAULT NULL COMMENT 'SKU图片',
`specs` text COMMENT '规格属性(JSON)',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_sku_code` (`sku_code`),
KEY `idx_product_id` (`product_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='SKU表';
-- ----------------------------
-- 购物车表
-- ----------------------------
DROP TABLE IF EXISTS `mall_cart`;
CREATE TABLE `mall_cart` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '购物车ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
`sku_id` bigint NOT NULL COMMENT 'SKU ID',
`quantity` int NOT NULL DEFAULT '1' COMMENT '数量',
`selected` tinyint NOT NULL DEFAULT '1' COMMENT '是否选中(0否 1是)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_sku` (`user_id`, `sku_id`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB COMMENT='购物车表';
-- ----------------------------
-- 订单表
-- ----------------------------
DROP TABLE IF EXISTS `mall_order`;
CREATE TABLE `mall_order` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单ID',
`order_no` varchar(32) NOT NULL COMMENT '订单号',
`user_id` bigint NOT NULL COMMENT '用户ID',
`total_amount` int NOT NULL COMMENT '订单总金额(分)',
`pay_amount` int NOT NULL COMMENT '实付金额(分)',
`pay_status` tinyint NOT NULL DEFAULT '0' COMMENT '支付状态(0未支付 1已支付 2已退款)',
`pay_order_no` varchar(32) DEFAULT NULL COMMENT '支付单号',
`pay_channel_code` varchar(32) DEFAULT NULL COMMENT '支付渠道编码',
`pay_time` datetime DEFAULT NULL COMMENT '支付时间',
`order_status` tinyint NOT NULL DEFAULT '0' COMMENT '订单状态(0待付款 1待发货 2待收货 3已完成 4已取消)',
`delivery_status` tinyint NOT NULL DEFAULT '0' COMMENT '发货状态(0未发货 1已发货 2已收货)',
`receiver_name` varchar(64) NOT NULL COMMENT '收货人姓名',
`receiver_phone` varchar(32) NOT NULL COMMENT '收货人电话',
`receiver_address` varchar(512) NOT NULL COMMENT '收货地址',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`cancel_reason` varchar(256) DEFAULT NULL COMMENT '取消原因',
`cancel_time` datetime DEFAULT NULL COMMENT '取消时间',
`delivery_time` datetime DEFAULT NULL COMMENT '发货时间',
`receive_time` datetime DEFAULT NULL COMMENT '收货时间',
`promotion_type` tinyint DEFAULT NULL COMMENT '活动类型(0普通订单 1拼团 2秒杀 3砍价)',
`promotion_id` bigint DEFAULT NULL COMMENT '营销活动ID',
`seckill_id` bigint DEFAULT NULL COMMENT '秒杀活动ID(仅秒杀订单)',
`group_buy_id` bigint DEFAULT NULL COMMENT '拼团活动ID(仅拼团订单)',
`bargain_id` bigint DEFAULT NULL COMMENT '砍价活动ID(仅砍价订单)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_order_no` (`order_no`),
KEY `idx_user_id` (`user_id`),
KEY `idx_pay_order_no` (`pay_order_no`),
KEY `idx_order_status` (`order_status`),
KEY `idx_pay_status` (`pay_status`),
KEY `idx_promotion_type` (`promotion_type`),
KEY `idx_promotion_id` (`promotion_id`),
KEY `idx_seckill_id` (`seckill_id`)
) ENGINE=InnoDB COMMENT='订单表';
-- ----------------------------
-- 订单明细表
-- ----------------------------
DROP TABLE IF EXISTS `mall_order_item`;
CREATE TABLE `mall_order_item` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单明细ID',
`order_id` bigint NOT NULL COMMENT '订单ID',
`order_no` varchar(32) NOT NULL COMMENT '订单号',
`product_id` bigint NOT NULL COMMENT '商品ID',
`sku_id` bigint NOT NULL COMMENT 'SKU ID',
`product_name` varchar(128) NOT NULL COMMENT '商品名称',
`sku_name` varchar(128) DEFAULT NULL COMMENT 'SKU名称',
`sku_image` varchar(512) DEFAULT NULL COMMENT 'SKU图片',
`price` int NOT NULL COMMENT '单价(分)',
`quantity` int NOT NULL COMMENT '数量',
`total_amount` int NOT NULL COMMENT '小计金额(分)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_no` (`order_no`),
KEY `idx_product_id` (`product_id`),
KEY `idx_sku_id` (`sku_id`)
) ENGINE=InnoDB COMMENT='订单明细表';
-- ----------------------------
-- 商品分类表
-- ----------------------------
DROP TABLE IF EXISTS `mall_category`;
CREATE TABLE `mall_category` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类ID',
`name` varchar(64) NOT NULL COMMENT '分类名称',
`parent_id` bigint DEFAULT '0' COMMENT '父分类ID(0表示顶级)',
`level` tinyint DEFAULT '1' COMMENT '分类级别(1一级 2二级 3三级)',
`icon` varchar(512) DEFAULT NULL COMMENT '分类图标',
`sort` int DEFAULT '0' COMMENT '排序',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_parent_id` (`parent_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='商品分类表';
-- ----------------------------
-- 品牌表
-- ----------------------------
DROP TABLE IF EXISTS `mall_brand`;
CREATE TABLE `mall_brand` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '品牌ID',
`name` varchar(64) NOT NULL COMMENT '品牌名称',
`logo` varchar(512) DEFAULT NULL COMMENT '品牌Logo',
`description` varchar(512) DEFAULT NULL COMMENT '品牌描述',
`sort` int DEFAULT '0' COMMENT '排序',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='品牌表';
-- ----------------------------
-- 优惠券表
-- ----------------------------
DROP TABLE IF EXISTS `mall_coupon`;
CREATE TABLE `mall_coupon` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '优惠券ID',
`name` varchar(128) NOT NULL COMMENT '优惠券名称',
`type` tinyint NOT NULL COMMENT '优惠券类型(0满减 1折扣 2现金)',
`discount_amount` int DEFAULT NULL COMMENT '优惠金额(分)',
`discount_rate` decimal(5,2) DEFAULT NULL COMMENT '折扣率(%)',
`min_amount` int NOT NULL DEFAULT '0' COMMENT '使用门槛(分)',
`total_count` int DEFAULT NULL COMMENT '发放总数(null表示不限)',
`used_count` int DEFAULT '0' COMMENT '已使用数量',
`per_limit` int DEFAULT '1' COMMENT '每人限领数量',
`valid_start_time` datetime NOT NULL COMMENT '有效开始时间',
`valid_end_time` datetime NOT NULL COMMENT '有效结束时间',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_status` (`status`),
KEY `idx_valid_time` (`valid_start_time`, `valid_end_time`)
) ENGINE=InnoDB COMMENT='优惠券表';
-- ----------------------------
-- 用户优惠券表
-- ----------------------------
DROP TABLE IF EXISTS `mall_coupon_user`;
CREATE TABLE `mall_coupon_user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
`coupon_id` bigint NOT NULL COMMENT '优惠券ID',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0未使用 1已使用 2已过期)',
`used_time` datetime DEFAULT NULL COMMENT '使用时间',
`order_id` bigint DEFAULT NULL COMMENT '使用的订单ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '领取时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_coupon_id` (`coupon_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='用户优惠券表';
-- ----------------------------
-- 营销活动表
-- ----------------------------
DROP TABLE IF EXISTS `mall_promotion`;
CREATE TABLE `mall_promotion` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '活动ID',
`name` varchar(128) NOT NULL COMMENT '活动名称',
`type` tinyint NOT NULL COMMENT '活动类型(0普通活动 1拼团 2秒杀 3砍价)',
`start_time` datetime NOT NULL COMMENT '开始时间',
`end_time` datetime NOT NULL COMMENT '结束时间',
`rules` text COMMENT '活动规则(JSON)',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_type` (`type`),
KEY `idx_status` (`status`),
KEY `idx_time` (`start_time`, `end_time`)
) ENGINE=InnoDB COMMENT='营销活动表';
-- ----------------------------
-- 拼团表
-- ----------------------------
DROP TABLE IF EXISTS `mall_group_buy`;
CREATE TABLE `mall_group_buy` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '拼团ID',
`promotion_id` bigint NOT NULL COMMENT '活动ID',
`sku_id` bigint NOT NULL COMMENT 'SKU ID',
`group_price` int NOT NULL COMMENT '拼团价(分)',
`group_size` int NOT NULL COMMENT '成团人数',
`duration_hours` int DEFAULT '24' COMMENT '拼团有效期(小时)',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_promotion_id` (`promotion_id`),
KEY `idx_sku_id` (`sku_id`)
) ENGINE=InnoDB COMMENT='拼团表';
-- ----------------------------
-- 拼团订单表
-- ----------------------------
DROP TABLE IF EXISTS `mall_group_buy_order`;
CREATE TABLE `mall_group_buy_order` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`group_buy_id` bigint NOT NULL COMMENT '拼团ID',
`group_no` varchar(32) NOT NULL COMMENT '拼团编号',
`order_id` bigint NOT NULL COMMENT '订单ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0拼团中 1已成团 2已失败)',
`success_time` datetime DEFAULT NULL COMMENT '成团时间',
`expire_time` datetime NOT NULL COMMENT '过期时间',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_group_buy_id` (`group_buy_id`),
KEY `idx_group_no` (`group_no`),
KEY `idx_order_id` (`order_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='拼团订单表';
-- ----------------------------
-- 秒杀表
-- ----------------------------
DROP TABLE IF EXISTS `mall_seckill`;
CREATE TABLE `mall_seckill` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '秒杀ID',
`promotion_id` bigint NOT NULL COMMENT '活动ID',
`sku_id` bigint NOT NULL COMMENT 'SKU ID',
`seckill_price` int NOT NULL COMMENT '秒杀价(分)',
`seckill_stock` int NOT NULL COMMENT '秒杀库存',
`start_time` datetime NOT NULL COMMENT '开始时间',
`end_time` datetime NOT NULL COMMENT '结束时间',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_promotion_id` (`promotion_id`),
KEY `idx_sku_id` (`sku_id`),
KEY `idx_time` (`start_time`, `end_time`)
) ENGINE=InnoDB COMMENT='秒杀表';
-- ----------------------------
-- 砍价活动表
-- ----------------------------
DROP TABLE IF EXISTS `mall_bargain`;
CREATE TABLE `mall_bargain` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '砍价ID',
`promotion_id` bigint NOT NULL COMMENT '活动ID',
`sku_id` bigint NOT NULL COMMENT 'SKU ID',
`bargain_price` int NOT NULL COMMENT '砍后价(分)',
`original_price` int NOT NULL COMMENT '原价(分)',
`bargain_stock` int NOT NULL COMMENT '砍价库存',
`min_price` int NOT NULL COMMENT '最低价(分)',
`help_count` int NOT NULL DEFAULT '0' COMMENT '需要助力人数',
`duration_hours` int DEFAULT '24' COMMENT '砍价有效期(小时)',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_promotion_id` (`promotion_id`),
KEY `idx_sku_id` (`sku_id`)
) ENGINE=InnoDB COMMENT='砍价活动表';
-- ----------------------------
-- 砍价记录表
-- ----------------------------
DROP TABLE IF EXISTS `mall_bargain_record`;
CREATE TABLE `mall_bargain_record` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`bargain_id` bigint NOT NULL COMMENT '砍价活动ID',
`bargain_no` varchar(32) NOT NULL COMMENT '砍价编号',
`user_id` bigint NOT NULL COMMENT '发起用户ID',
`sku_id` bigint NOT NULL COMMENT 'SKU ID',
`current_price` int NOT NULL COMMENT '当前价格(分)',
`bargain_price` int NOT NULL COMMENT '已砍金额(分)',
`help_count` int NOT NULL DEFAULT '0' COMMENT '已助力人数',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0进行中 1已成功 2已失败 3已下单)',
`order_id` bigint DEFAULT NULL COMMENT '订单ID',
`expire_time` datetime NOT NULL COMMENT '过期时间',
`success_time` datetime DEFAULT NULL COMMENT '成功时间',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_bargain_id` (`bargain_id`),
KEY `idx_bargain_no` (`bargain_no`),
KEY `idx_user_id` (`user_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='砍价记录表';
-- ----------------------------
-- 砍价助力记录表
-- ----------------------------
DROP TABLE IF EXISTS `mall_bargain_help`;
CREATE TABLE `mall_bargain_help` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`bargain_record_id` bigint NOT NULL COMMENT '砍价记录ID',
`bargain_no` varchar(32) NOT NULL COMMENT '砍价编号',
`user_id` bigint NOT NULL COMMENT '助力用户ID',
`help_price` int NOT NULL COMMENT '助力金额(分)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '助力时间',
PRIMARY KEY (`id`),
KEY `idx_bargain_record_id` (`bargain_record_id`),
KEY `idx_bargain_no` (`bargain_no`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB COMMENT='砍价助力记录表';
-- ----------------------------
-- 订单评价表
-- ----------------------------
DROP TABLE IF EXISTS `mall_order_evaluate`;
CREATE TABLE `mall_order_evaluate` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '评价ID',
`order_id` bigint NOT NULL COMMENT '订单ID',
`order_no` varchar(32) NOT NULL COMMENT '订单号',
`order_item_id` bigint NOT NULL COMMENT '订单明细ID',
`product_id` bigint NOT NULL COMMENT '商品ID',
`sku_id` bigint NOT NULL COMMENT 'SKU ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
`score` tinyint NOT NULL COMMENT '评分(1-5)',
`content` varchar(512) DEFAULT NULL COMMENT '评价内容',
`images` text COMMENT '评价图片(JSON数组)',
`reply_content` varchar(512) DEFAULT NULL COMMENT '回复内容',
`reply_time` datetime DEFAULT NULL COMMENT '回复时间',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0待审核 1已通过 2已驳回)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_no` (`order_no`),
KEY `idx_order_item_id` (`order_item_id`),
KEY `idx_product_id` (`product_id`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB COMMENT='订单评价表';
-- ----------------------------
-- 售后申请表
-- ----------------------------
DROP TABLE IF EXISTS `mall_after_sale`;
CREATE TABLE `mall_after_sale` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '售后ID',
`after_sale_no` varchar(32) NOT NULL COMMENT '售后单号',
`order_id` bigint NOT NULL COMMENT '订单ID',
`order_no` varchar(32) NOT NULL COMMENT '订单号',
`order_item_id` bigint NOT NULL COMMENT '订单明细ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
`type` tinyint NOT NULL COMMENT '售后类型(0退款 1退货 2换货)',
`reason` varchar(256) NOT NULL COMMENT '申请原因',
`description` varchar(512) DEFAULT NULL COMMENT '问题描述',
`images` text COMMENT '凭证图片(JSON数组)',
`refund_amount` int DEFAULT NULL COMMENT '退款金额(分)',
`quantity` int NOT NULL DEFAULT '1' COMMENT '数量',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0待审核 1已同意 2已拒绝 3待退货 4待收货 5已完成 6已取消)',
`refuse_reason` varchar(256) DEFAULT NULL COMMENT '拒绝原因',
`refund_order_no` varchar(32) DEFAULT NULL COMMENT '退款单号',
`logistics_company` varchar(64) DEFAULT NULL COMMENT '物流公司',
`logistics_no` varchar(64) DEFAULT NULL COMMENT '物流单号',
`apply_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间',
`audit_time` datetime DEFAULT NULL COMMENT '审核时间',
`return_time` datetime DEFAULT NULL COMMENT '退货时间',
`receive_time` datetime DEFAULT NULL COMMENT '收货时间',
`refund_time` datetime DEFAULT NULL COMMENT '退款时间',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_after_sale_no` (`after_sale_no`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_no` (`order_no`),
KEY `idx_user_id` (`user_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='售后申请表';
-- ----------------------------
-- 订单优惠券使用记录表
-- ----------------------------
DROP TABLE IF EXISTS `mall_order_coupon`;
CREATE TABLE `mall_order_coupon` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`order_id` bigint NOT NULL COMMENT '订单ID',
`order_no` varchar(32) NOT NULL COMMENT '订单号',
`coupon_id` bigint NOT NULL COMMENT '优惠券ID',
`coupon_user_id` bigint NOT NULL COMMENT '用户优惠券ID',
`discount_amount` int NOT NULL COMMENT '优惠金额(分)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '使用时间',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_no` (`order_no`),
KEY `idx_coupon_id` (`coupon_id`),
KEY `idx_coupon_user_id` (`coupon_user_id`)
) ENGINE=InnoDB COMMENT='订单优惠券使用记录表';
-- ----------------------------
-- 收货地址表
-- ----------------------------
DROP TABLE IF EXISTS `mall_address`;
CREATE TABLE `mall_address` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '地址ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
`receiver_name` varchar(64) NOT NULL COMMENT '收货人姓名',
`receiver_phone` varchar(32) NOT NULL COMMENT '收货人电话',
`province` varchar(64) DEFAULT NULL COMMENT '省份',
`city` varchar(64) DEFAULT NULL COMMENT '城市',
`district` varchar(64) DEFAULT NULL COMMENT '区/县',
`address` varchar(512) NOT NULL COMMENT '详细地址',
`is_default` tinyint NOT NULL DEFAULT '0' COMMENT '是否默认地址(0否 1是)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_is_default` (`is_default`)
) ENGINE=InnoDB COMMENT='收货地址表';
-- ----------------------------
-- 属性模板表
-- ----------------------------
DROP TABLE IF EXISTS `mall_attribute_template`;
CREATE TABLE `mall_attribute_template` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '模板ID',
`name` varchar(64) NOT NULL COMMENT '模板名称',
`category_id` bigint DEFAULT NULL COMMENT '分类ID(可选,绑定到分类)',
`sort` int DEFAULT '0' COMMENT '排序',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_category_id` (`category_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='属性模板表';
-- ----------------------------
-- 属性表
-- ----------------------------
DROP TABLE IF EXISTS `mall_attribute`;
CREATE TABLE `mall_attribute` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '属性ID',
`template_id` bigint DEFAULT NULL COMMENT '模板ID(可选,绑定到模板)',
`name` varchar(64) NOT NULL COMMENT '属性名称',
`type` tinyint NOT NULL DEFAULT '0' COMMENT '属性类型(0文本 1数字 2日期 3枚举)',
`required` tinyint NOT NULL DEFAULT '0' COMMENT '是否必填(0否 1是)',
`sort` int DEFAULT '0' COMMENT '排序',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_template_id` (`template_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='属性表';
-- ----------------------------
-- 属性值表
-- ----------------------------
DROP TABLE IF EXISTS `mall_attribute_value`;
CREATE TABLE `mall_attribute_value` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '属性值ID',
`attribute_id` bigint NOT NULL COMMENT '属性ID',
`value` varchar(128) NOT NULL COMMENT '属性值',
`sort` int DEFAULT '0' COMMENT '排序',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0启用 1禁用)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_attribute_id` (`attribute_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB COMMENT='属性值表';
-- ----------------------------
-- 商品属性关联表
-- ----------------------------
DROP TABLE IF EXISTS `mall_product_attribute`;
CREATE TABLE `mall_product_attribute` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`product_id` bigint NOT NULL COMMENT '商品ID',
`attribute_id` bigint NOT NULL COMMENT '属性ID',
`attribute_value_id` bigint DEFAULT NULL COMMENT '属性值ID(当属性类型为枚举时使用)',
`value` varchar(512) DEFAULT NULL COMMENT '属性值(当属性类型为文本/数字/日期时使用,或自定义值)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_product_id` (`product_id`),
KEY `idx_attribute_id` (`attribute_id`),
KEY `idx_attribute_value_id` (`attribute_value_id`)
) ENGINE=InnoDB COMMENT='商品属性关联表';
+142
View File
@@ -0,0 +1,142 @@
-- ----------------------------
-- 支付应用表
-- ----------------------------
DROP TABLE IF EXISTS `pay_app`;
CREATE TABLE `pay_app` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '应用ID',
`name` varchar(64) NOT NULL COMMENT '应用名',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0开启 1关闭)',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`pay_notify_url` varchar(1024) NOT NULL COMMENT '支付结果回调地址',
`refund_notify_url` varchar(1024) NOT NULL COMMENT '退款结果回调地址',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='支付应用信息';
-- ----------------------------
-- 支付渠道表
-- ----------------------------
DROP TABLE IF EXISTS `pay_channel`;
CREATE TABLE `pay_channel` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '渠道ID',
`code` varchar(32) NOT NULL COMMENT '渠道编码(alipay_pc, wx_pub)',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0开启 1关闭)',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`fee_rate` double NOT NULL DEFAULT '0' COMMENT '渠道费率(%)',
`app_id` bigint NOT NULL COMMENT '应用ID',
`config` text NOT NULL COMMENT '支付渠道配置(JSON)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='支付渠道';
-- ----------------------------
-- 支付订单表
-- ----------------------------
DROP TABLE IF EXISTS `pay_order`;
CREATE TABLE `pay_order` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单ID',
`app_id` bigint NOT NULL COMMENT '应用ID',
`channel_id` bigint DEFAULT NULL COMMENT '渠道ID',
`channel_code` varchar(32) DEFAULT NULL COMMENT '渠道编码',
`merchant_order_id` varchar(64) NOT NULL COMMENT '商户订单编号',
`subject` varchar(32) NOT NULL COMMENT '商品标题',
`body` varchar(128) DEFAULT NULL COMMENT '商品描述',
`notify_url` varchar(1024) NOT NULL COMMENT '异步通知地址',
`price` int NOT NULL COMMENT '支付金额(分)',
`channel_fee_rate` double DEFAULT '0' COMMENT '渠道费率',
`channel_fee_price` int DEFAULT '0' COMMENT '渠道手续费(分)',
`status` tinyint NOT NULL COMMENT '状态(0未支付 10已支付 20已退款 30已关闭)',
`user_ip` varchar(50) NOT NULL COMMENT '用户IP',
`expire_time` datetime NOT NULL COMMENT '订单失效时间',
`success_time` datetime DEFAULT NULL COMMENT '支付成功时间',
`extension_id` bigint DEFAULT NULL COMMENT '拓展业务ID (如扫码支付的记录ID)',
`no` varchar(32) DEFAULT NULL COMMENT '支付单号(内部生成)',
`channel_order_no` varchar(64) DEFAULT NULL COMMENT '渠道订单号(微信/支付宝)',
`channel_user_id` varchar(64) DEFAULT NULL COMMENT '渠道用户OpenId',
`channel_extras` varchar(1024) DEFAULT NULL COMMENT '渠道额外参数(JSON)',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_merchant_order_id` (`merchant_order_id`)
) ENGINE=InnoDB COMMENT='支付订单';
-- ----------------------------
-- 退款订单表
-- ----------------------------
DROP TABLE IF EXISTS `pay_refund`;
CREATE TABLE `pay_refund` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '退款ID',
`no` varchar(32) NOT NULL COMMENT '退款单号',
`app_id` bigint NOT NULL COMMENT '应用ID',
`channel_id` bigint NOT NULL COMMENT '渠道ID',
`channel_code` varchar(32) NOT NULL COMMENT '渠道编码',
`order_id` bigint NOT NULL COMMENT '支付订单ID',
`order_no` varchar(32) NOT NULL COMMENT '支付订单no',
`merchant_order_id` varchar(64) NOT NULL COMMENT '商户订单编号',
`merchant_refund_id` varchar(64) NOT NULL COMMENT '商户退款编号',
`notify_url` varchar(1024) NOT NULL COMMENT '回调地址',
`status` tinyint NOT NULL COMMENT '状态(0等待 10成功 20失败)',
`pay_price` int NOT NULL COMMENT '支付金额(分)',
`refund_price` int NOT NULL COMMENT '退款金额(分)',
`reason` varchar(256) NOT NULL COMMENT '退款原因',
`user_ip` varchar(50) DEFAULT NULL COMMENT '用户IP',
`channel_order_no` varchar(64) NOT NULL COMMENT '渠道订单号',
`channel_refund_no` varchar(64) DEFAULT NULL COMMENT '渠道退款单号',
`success_time` datetime DEFAULT NULL COMMENT '退款成功时间',
`error_code` varchar(32) DEFAULT NULL COMMENT '渠道错误码',
`error_msg` varchar(128) DEFAULT NULL COMMENT '渠道错误描述',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='退款订单';
-- ----------------------------
-- 支付通知日志表
-- ----------------------------
DROP TABLE IF EXISTS `pay_notify_log`;
CREATE TABLE `pay_notify_log` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID',
`app_id` bigint NOT NULL COMMENT '应用ID',
`channel_id` bigint NOT NULL COMMENT '渠道ID',
`order_id` bigint NOT NULL COMMENT '支付订单ID',
`notify_type` varchar(32) NOT NULL COMMENT '通知类型(pay, refund)',
`status` tinyint NOT NULL COMMENT '处理状态(0处理中 10成功 20失败)',
`request_params` text COMMENT '请求参数',
`response_body` text COMMENT '响应结果',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`)
) ENGINE=InnoDB COMMENT='支付通知日志';
-- ----------------------------
-- 支付通知任务表
-- ----------------------------
DROP TABLE IF EXISTS `pay_notify_task`;
CREATE TABLE `pay_notify_task` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID',
`order_id` bigint NOT NULL COMMENT '订单ID',
`order_no` varchar(32) NOT NULL COMMENT '订单号',
`notify_url` varchar(1024) NOT NULL COMMENT '通知地址',
`notify_body` text COMMENT '通知内容',
`retry_count` int NOT NULL DEFAULT '0' COMMENT '重试次数',
`max_retry` int NOT NULL DEFAULT '5' COMMENT '最大重试次数',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0进行中 1成功 2失败)',
`next_notify_time` datetime NOT NULL COMMENT '下次通知时间',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_next_notify_time` (`next_notify_time`)
) ENGINE=InnoDB COMMENT='支付通知任务';
+15
View File
@@ -0,0 +1,15 @@
-- App管理菜单
insert into sys_menu values('6', 'App管理', '0', '2', 'app', null, '', 1, 0, 'M', '0', '0', '', 'mobile', 103, 1, sysdate(), null, null, 'App管理目录');
insert into sys_menu values('140', 'App用户管理', '6', '1', 'user', 'app/user/index', '', 1, 0, 'C', '0', '0', 'app:user:list', 'user', 103, 1, sysdate(), null, null, 'App用户管理菜单');
insert into sys_menu values('141', 'App会话管理', '6', '2', 'session', 'app/session/index', '', 1, 0, 'C', '0', '0', 'app:session:list', 'link', 103, 1, sysdate(), null, null, 'App会话管理菜单');
-- AI管理菜单
insert into sys_menu values('7', 'AI管理', '0', '3', 'ai', null, '', 1, 0, 'M', '0', '0', '', 'robot', 103, 1, sysdate(), null, null, 'AI管理目录');
insert into sys_menu values('150', 'AI Provider管理', '7', '1', 'provider', 'ai/provider/index', '', 1, 0, 'C', '0', '0', 'ai:provider:list', 'api', 103, 1, sysdate(), null, null, 'AI Provider管理菜单');
-- App用户管理按钮
insert into sys_menu values('1401', 'App用户查询', '140', '1', '#', '', '', 1, 0, 'F', '0', '0', 'app:user:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1402', 'App用户新增', '140', '2', '#', '', '', 1, 0, 'F', '0', '0', 'app:user:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1403', 'App用户修改', '140', '3', '#', '', '', 1, 0, 'F', '0', '0', 'app:user:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1404', 'App用户删除', '140', '4', '#', '', '', 1, 0, 'F', '0', '0', 'app:user:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1405', 'App用户导出', '140', '5', '#', '', '', 1, 0, 'F', '0', '0', 'app:user:export', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1407', 'App用户重置密码', '140', '7', '#', '', '', 1, 0, 'F', '0', '0', 'app:user:resetPwd', '#', 103, 1, sysdate(), null, null, '');
+885
View File
@@ -0,0 +1,885 @@
-- ----------------------------
-- 0、第三方平台授权表
-- ----------------------------
create table sys_social
(
id bigint not null comment '主键',
user_id bigint not null comment '用户ID',
auth_id varchar(255) not null comment '平台+平台唯一id',
source varchar(255) not null comment '用户来源',
open_id varchar(255) default null comment '平台编号唯一id',
user_name varchar(30) not null comment '登录账号',
nick_name varchar(30) default '' comment '用户昵称',
email varchar(255) default '' comment '用户邮箱',
avatar varchar(500) default '' comment '头像地址',
access_token varchar(2000) not null comment '用户的授权令牌',
expire_in int default null comment '用户的授权令牌的有效期,部分平台可能没有',
refresh_token varchar(255) default null comment '刷新令牌,部分平台可能没有',
access_code varchar(2000) default null comment '平台的授权信息,部分平台可能没有',
union_id varchar(255) default null comment '用户的 unionid',
scope varchar(255) default null comment '授予的权限,部分平台可能没有',
token_type varchar(255) default null comment '个别平台的授权信息,部分平台可能没有',
id_token varchar(2000) default null comment 'id token,部分平台可能没有',
mac_algorithm varchar(255) default null comment '小米平台用户的附带属性,部分平台可能没有',
mac_key varchar(255) default null comment '小米平台用户的附带属性,部分平台可能没有',
code varchar(255) default null comment '用户的授权code,部分平台可能没有',
oauth_token varchar(255) default null comment 'Twitter平台用户的附带属性,部分平台可能没有',
oauth_token_secret varchar(255) default null comment 'Twitter平台用户的附带属性,部分平台可能没有',
create_dept bigint(20) comment '创建部门',
create_by bigint(20) comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) comment '更新者',
update_time datetime comment '更新时间',
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
PRIMARY KEY (id)
) engine=innodb comment = '社会化关系表';
-- ----------------------------
-- 1、部门表
-- ----------------------------
create table sys_dept (
dept_id bigint(20) not null comment '部门id',
parent_id bigint(20) default 0 comment '父部门id',
ancestors varchar(500) default '' comment '祖级列表',
dept_name varchar(30) default '' comment '部门名称',
dept_category varchar(100) default null comment '部门类别编码',
order_num int(4) default 0 comment '显示顺序',
leader bigint(20) default null comment '负责人',
phone varchar(11) default null comment '联系电话',
email varchar(50) default null comment '邮箱',
status char(1) default '0' comment '部门状态(0正常 1停用)',
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
primary key (dept_id)
) engine=innodb comment = '部门表';
-- ----------------------------
-- 初始化-部门表数据
-- ----------------------------
insert into sys_dept values(100, 0, '0', 'XXX科技', null,0, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(101, 100, '0,100', '深圳总公司', null,1, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(102, 100, '0,100', '长沙分公司', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(103, 101, '0,100,101', '研发部门', null,1, 1, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(104, 101, '0,100,101', '市场部门', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(105, 101, '0,100,101', '测试部门', null,3, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(106, 101, '0,100,101', '财务部门', null,4, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(107, 101, '0,100,101', '运维部门', null,5, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(108, 102, '0,100,102', '市场部门', null,1, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
insert into sys_dept values(109, 102, '0,100,102', '财务部门', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate(), null, null);
-- ----------------------------
-- 2、用户信息表
-- ----------------------------
create table sys_user (
user_id bigint(20) not null comment '用户ID',
dept_id bigint(20) default null comment '部门ID',
user_name varchar(30) not null comment '用户账号',
nick_name varchar(30) not null comment '用户昵称',
user_type varchar(10) default 'sys_user' comment '用户类型(sys_user系统用户)',
email varchar(50) default '' comment '用户邮箱',
phonenumber varchar(11) default '' comment '手机号码',
sex char(1) default '0' comment '用户性别(0男 1女 2未知)',
avatar bigint(20) comment '头像地址',
password varchar(100) default '' comment '密码',
status char(1) default '0' comment '帐号状态(0正常 1停用)',
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
login_ip varchar(128) default '' comment '最后登录IP',
login_date datetime comment '最后登录时间',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (user_id)
) engine=innodb comment = '用户信息表';
-- ----------------------------
-- 初始化-用户信息表数据
-- ----------------------------
insert into sys_user values(1, 103, 'admin', '疯狂的狮子Li', 'sys_user', 'crazyLionLi@163.com', '15888888888', '1', null, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 103, 1, sysdate(), null, null, '管理员');
insert into sys_user values(3, 108, 'test', '本部门及以下 密码666666', 'sys_user', '', '', '0', null, '$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', '0', '0', '127.0.0.1', sysdate(), 103, 1, sysdate(), 3, sysdate(), null);
insert into sys_user values(4, 102, 'test1', '仅本人 密码666666', 'sys_user', '', '', '0', null, '$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', '0', '0', '127.0.0.1', sysdate(), 103, 1, sysdate(), 4, sysdate(), null);
-- ----------------------------
-- 3、岗位信息表
-- ----------------------------
create table sys_post
(
post_id bigint(20) not null comment '岗位ID',
dept_id bigint(20) not null comment '部门id',
post_code varchar(64) not null comment '岗位编码',
post_category varchar(100) default null comment '岗位类别编码',
post_name varchar(50) not null comment '岗位名称',
post_sort int(4) not null comment '显示顺序',
status char(1) not null comment '状态(0正常 1停用)',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (post_id)
) engine=innodb comment = '岗位信息表';
-- ----------------------------
-- 初始化-岗位信息表数据
-- ----------------------------
insert into sys_post values(1, 103, 'ceo', null, '董事长', 1, '0', 103, 1, sysdate(), null, null, '');
insert into sys_post values(2, 100, 'se', null, '项目经理', 2, '0', 103, 1, sysdate(), null, null, '');
insert into sys_post values(3, 100, 'hr', null, '人力资源', 3, '0', 103, 1, sysdate(), null, null, '');
insert into sys_post values(4, 100, 'user', null, '普通员工', 4, '0', 103, 1, sysdate(), null, null, '');
-- ----------------------------
-- 4、角色信息表
-- ----------------------------
create table sys_role (
role_id bigint(20) not null comment '角色ID',
role_name varchar(30) not null comment '角色名称',
role_key varchar(100) not null comment '角色权限字符串',
role_sort int(4) not null comment '显示顺序',
data_scope char(1) default '1' comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限 5:仅本人数据权限 6:部门及以下或本人数据权限)',
menu_check_strictly tinyint(1) default 1 comment '菜单树选择项是否关联显示',
dept_check_strictly tinyint(1) default 1 comment '部门树选择项是否关联显示',
status char(1) not null comment '角色状态(0正常 1停用)',
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (role_id)
) engine=innodb comment = '角色信息表';
-- ----------------------------
-- 初始化-角色信息表数据
-- ----------------------------
insert into sys_role values(1, '超级管理员', 'superadmin', 1, 1, 1, 1, '0', '0', 103, 1, sysdate(), null, null, '超级管理员');
insert into sys_role values(3, '本部门及以下', 'test1', 3, 4, 1, 1, '0', '0', 103, 1, sysdate(), null, null, '');
insert into sys_role values(4, '仅本人', 'test2', 4, 5, 1, 1, '0', '0', 103, 1, sysdate(), null, null, '');
-- ----------------------------
-- 5、菜单权限表
-- ----------------------------
create table sys_menu (
menu_id bigint(20) not null comment '菜单ID',
menu_name varchar(50) not null comment '菜单名称',
parent_id bigint(20) default 0 comment '父菜单ID',
order_num int(4) default 0 comment '显示顺序',
path varchar(200) default '' comment '路由地址',
component varchar(255) default null comment '组件路径',
query_param varchar(255) default null comment '路由参数',
is_frame int(1) default 1 comment '是否为外链(0是 1否)',
is_cache int(1) default 0 comment '是否缓存(0缓存 1不缓存)',
menu_type char(1) default '' comment '菜单类型(M目录 C菜单 F按钮)',
visible char(1) default 0 comment '显示状态(0显示 1隐藏)',
status char(1) default 0 comment '菜单状态(0正常 1停用)',
perms varchar(100) default null comment '权限标识',
icon varchar(100) default '#' comment '菜单图标',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default '' comment '备注',
primary key (menu_id)
) engine=innodb comment = '菜单权限表';
-- ----------------------------
-- 初始化-菜单信息表数据
-- ----------------------------
-- 一级菜单
insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', 1, 0, 'M', '0', '0', '', 'system', 103, 1, sysdate(), null, null, '系统管理目录');
insert into sys_menu values('2', '系统监控', '0', '3', 'monitor', null, '', 1, 0, 'M', '0', '0', '', 'monitor', 103, 1, sysdate(), null, null, '系统监控目录');
insert into sys_menu values('3', '系统工具', '0', '4', 'tool', null, '', 1, 0, 'M', '0', '0', '', 'tool', 103, 1, sysdate(), null, null, '系统工具目录');
insert into sys_menu values('4', 'PLUS官网', '0', '5', 'https://gitee.com/dromara/RuoYi-Vue-Plus', null, '', 0, 0, 'M', '0', '0', '', 'guide', 103, 1, sysdate(), null, null, 'RuoYi-Vue-Plus官网地址');
insert into sys_menu values('5', '测试菜单', '0', '5', 'demo', null, '', 1, 0, 'M', '0', '0', '', 'star', 103, 1, sysdate(), null, null, '测试菜单');
-- 二级菜单
insert into sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 103, 1, sysdate(), null, null, '用户管理菜单');
insert into sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 103, 1, sysdate(), null, null, '角色管理菜单');
insert into sys_menu values('102', '菜单管理', '1', '3', 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 103, 1, sysdate(), null, null, '菜单管理菜单');
insert into sys_menu values('103', '部门管理', '1', '4', 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 103, 1, sysdate(), null, null, '部门管理菜单');
insert into sys_menu values('104', '岗位管理', '1', '5', 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 103, 1, sysdate(), null, null, '岗位管理菜单');
insert into sys_menu values('105', '字典管理', '1', '6', 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 103, 1, sysdate(), null, null, '字典管理菜单');
insert into sys_menu values('106', '参数设置', '1', '7', 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 103, 1, sysdate(), null, null, '参数设置菜单');
insert into sys_menu values('107', '通知公告', '1', '8', 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 103, 1, sysdate(), null, null, '通知公告菜单');
insert into sys_menu values('108', '日志管理', '1', '9', 'log', '', '', 1, 0, 'M', '0', '0', '', 'log', 103, 1, sysdate(), null, null, '日志管理菜单');
insert into sys_menu values('109', '在线用户', '2', '1', 'online', 'monitor/online/index', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 103, 1, sysdate(), null, null, '在线用户菜单');
insert into sys_menu values('113', '缓存监控', '2', '5', 'cache', 'monitor/cache/index', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 103, 1, sysdate(), null, null, '缓存监控菜单');
insert into sys_menu values('115', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 103, 1, sysdate(), null, null, '代码生成菜单');
insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', 1, 0, 'C', '0', '0', 'system:client:list', 'international', 103, 1, sysdate(), null, null, '客户端管理菜单');
insert into sys_menu values('116', '修改生成配置', '3', '2', 'gen-edit/index/:tableId', 'tool/gen/editTable', '', 1, 1, 'C', '1', '0', 'tool:gen:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('130', '分配用户', '1', '2', 'role-auth/user/:roleId', 'system/role/authUser', '', 1, 1, 'C', '1', '0', 'system:role:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('131', '分配角色', '1', '1', 'user-auth/role/:userId', 'system/user/authRole', '', 1, 1, 'C', '1', '0', 'system:user:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('132', '字典数据', '1', '6', 'dict-data/index/:dictId', 'system/dict/data', '', 1, 1, 'C', '1', '0', 'system:dict:list', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('133', '文件配置管理', '1', '10', 'oss-config/index', 'system/oss/config', '', 1, 1, 'C', '1', '0', 'system:ossConfig:list', '#', 103, 1, sysdate(), null, null, '');
-- springboot-admin监控
insert into sys_menu values('117', 'Admin监控', '2', '5', 'Admin', 'monitor/admin/index', '', 1, 0, 'C', '0', '0', 'monitor:admin:list', 'dashboard', 103, 1, sysdate(), null, null, 'Admin监控菜单');
-- oss菜单
insert into sys_menu values('118', '文件管理', '1', '10', 'oss', 'system/oss/index', '', 1, 0, 'C', '0', '0', 'system:oss:list', 'upload', 103, 1, sysdate(), null, null, '文件管理菜单');
-- snail-job server控制台
insert into sys_menu values('120', '任务调度中心', '2', '6', 'snailjob', 'monitor/snailjob/index', '', 1, 0, 'C', '0', '0', 'monitor:snailjob:list', 'job', 103, 1, sysdate(), null, null, 'SnailJob控制台菜单');
-- 三级菜单
insert into sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 103, 1, sysdate(), null, null, '操作日志菜单');
insert into sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 103, 1, sysdate(), null, null, '登录日志菜单');
-- 用户管理按钮
insert into sys_menu values('1001', '用户查询', '100', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1002', '用户新增', '100', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1003', '用户修改', '100', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1004', '用户删除', '100', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1005', '用户导出', '100', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1006', '用户导入', '100', '6', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1007', '重置密码', '100', '7', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 103, 1, sysdate(), null, null, '');
-- 角色管理按钮
insert into sys_menu values('1008', '角色查询', '101', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1009', '角色新增', '101', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1010', '角色修改', '101', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1011', '角色删除', '101', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1012', '角色导出', '101', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 103, 1, sysdate(), null, null, '');
-- 菜单管理按钮
insert into sys_menu values('1013', '菜单查询', '102', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1014', '菜单新增', '102', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1015', '菜单修改', '102', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1016', '菜单删除', '102', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 103, 1, sysdate(), null, null, '');
-- 部门管理按钮
insert into sys_menu values('1017', '部门查询', '103', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1018', '部门新增', '103', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1019', '部门修改', '103', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1020', '部门删除', '103', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 103, 1, sysdate(), null, null, '');
-- 岗位管理按钮
insert into sys_menu values('1021', '岗位查询', '104', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1022', '岗位新增', '104', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1023', '岗位修改', '104', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1024', '岗位删除', '104', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1025', '岗位导出', '104', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 103, 1, sysdate(), null, null, '');
-- 字典管理按钮
insert into sys_menu values('1026', '字典查询', '105', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1027', '字典新增', '105', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1028', '字典修改', '105', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1029', '字典删除', '105', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1030', '字典导出', '105', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 103, 1, sysdate(), null, null, '');
-- 参数设置按钮
insert into sys_menu values('1031', '参数查询', '106', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1032', '参数新增', '106', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1033', '参数修改', '106', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1034', '参数删除', '106', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1035', '参数导出', '106', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 103, 1, sysdate(), null, null, '');
-- 通知公告按钮
insert into sys_menu values('1036', '公告查询', '107', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1037', '公告新增', '107', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1038', '公告修改', '107', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1039', '公告删除', '107', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 103, 1, sysdate(), null, null, '');
-- 操作日志按钮
insert into sys_menu values('1040', '操作查询', '500', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1041', '操作删除', '500', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 103, 1, sysdate(), null, null, '');
-- 登录日志按钮
insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 103, 1, sysdate(), null, null, '');
-- 在线用户按钮
insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1048', '单条强退', '109', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 103, 1, sysdate(), null, null, '');
-- 代码生成按钮
insert into sys_menu values('1055', '生成查询', '115', '1', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1056', '生成修改', '115', '2', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1057', '生成删除', '115', '3', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1058', '导入代码', '115', '2', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1059', '预览代码', '115', '4', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1060', '生成代码', '115', '5', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 103, 1, sysdate(), null, null, '');
-- oss相关按钮
insert into sys_menu values('1600', '文件查询', '118', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:oss:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1601', '文件上传', '118', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:oss:upload', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1602', '文件下载', '118', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:oss:download', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1603', '文件删除', '118', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:oss:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, sysdate(), null, null, '');
-- 客户端管理按钮
insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:export', '#', 103, 1, sysdate(), null, null, '');
-- 测试菜单
insert into sys_menu values('1500', '测试单表', '5', '1', 'demo', 'demo/demo/index', '', 1, 0, 'C', '0', '0', 'demo:demo:list', '#', 103, 1, sysdate(), null, null, '测试单表菜单');
insert into sys_menu values('1501', '测试单表查询', '1500', '1', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1502', '测试单表新增', '1500', '2', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1503', '测试单表修改', '1500', '3', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1504', '测试单表删除', '1500', '4', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1505', '测试单表导出', '1500', '5', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:export', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1506', '测试树表', '5', '1', 'tree', 'demo/tree/index', '', 1, 0, 'C', '0', '0', 'demo:tree:list', '#', 103, 1, sysdate(), null, null, '测试树表菜单');
insert into sys_menu values('1507', '测试树表查询', '1506', '1', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1508', '测试树表新增', '1506', '2', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1509', '测试树表修改', '1506', '3', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1510', '测试树表删除', '1506', '4', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1511', '测试树表导出', '1506', '5', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:export', '#', 103, 1, sysdate(), null, null, '');
-- ----------------------------
-- 6、用户和角色关联表 用户N-1角色
-- ----------------------------
create table sys_user_role (
user_id bigint(20) not null comment '用户ID',
role_id bigint(20) not null comment '角色ID',
primary key(user_id, role_id)
) engine=innodb comment = '用户和角色关联表';
-- ----------------------------
-- 初始化-用户和角色关联表数据
-- ----------------------------
insert into sys_user_role values ('1', '1');
insert into sys_user_role values ('3', '3');
insert into sys_user_role values ('4', '4');
-- ----------------------------
-- 7、角色和菜单关联表 角色1-N菜单
-- ----------------------------
create table sys_role_menu (
role_id bigint(20) not null comment '角色ID',
menu_id bigint(20) not null comment '菜单ID',
primary key(role_id, menu_id)
) engine=innodb comment = '角色和菜单关联表';
-- ----------------------------
-- 初始化-角色和菜单关联表数据
-- ----------------------------
insert into sys_role_menu values ('3', '1');
insert into sys_role_menu values ('3', '5');
insert into sys_role_menu values ('3', '100');
insert into sys_role_menu values ('3', '101');
insert into sys_role_menu values ('3', '102');
insert into sys_role_menu values ('3', '103');
insert into sys_role_menu values ('3', '104');
insert into sys_role_menu values ('3', '105');
insert into sys_role_menu values ('3', '106');
insert into sys_role_menu values ('3', '107');
insert into sys_role_menu values ('3', '108');
insert into sys_role_menu values ('3', '118');
insert into sys_role_menu values ('3', '123');
insert into sys_role_menu values ('3', '500');
insert into sys_role_menu values ('3', '501');
insert into sys_role_menu values ('3', '1001');
insert into sys_role_menu values ('3', '1002');
insert into sys_role_menu values ('3', '1003');
insert into sys_role_menu values ('3', '1004');
insert into sys_role_menu values ('3', '1005');
insert into sys_role_menu values ('3', '1006');
insert into sys_role_menu values ('3', '1007');
insert into sys_role_menu values ('3', '1008');
insert into sys_role_menu values ('3', '1009');
insert into sys_role_menu values ('3', '1010');
insert into sys_role_menu values ('3', '1011');
insert into sys_role_menu values ('3', '1012');
insert into sys_role_menu values ('3', '1013');
insert into sys_role_menu values ('3', '1014');
insert into sys_role_menu values ('3', '1015');
insert into sys_role_menu values ('3', '1016');
insert into sys_role_menu values ('3', '1017');
insert into sys_role_menu values ('3', '1018');
insert into sys_role_menu values ('3', '1019');
insert into sys_role_menu values ('3', '1020');
insert into sys_role_menu values ('3', '1021');
insert into sys_role_menu values ('3', '1022');
insert into sys_role_menu values ('3', '1023');
insert into sys_role_menu values ('3', '1024');
insert into sys_role_menu values ('3', '1025');
insert into sys_role_menu values ('3', '1026');
insert into sys_role_menu values ('3', '1027');
insert into sys_role_menu values ('3', '1028');
insert into sys_role_menu values ('3', '1029');
insert into sys_role_menu values ('3', '1030');
insert into sys_role_menu values ('3', '1031');
insert into sys_role_menu values ('3', '1032');
insert into sys_role_menu values ('3', '1033');
insert into sys_role_menu values ('3', '1034');
insert into sys_role_menu values ('3', '1035');
insert into sys_role_menu values ('3', '1036');
insert into sys_role_menu values ('3', '1037');
insert into sys_role_menu values ('3', '1038');
insert into sys_role_menu values ('3', '1039');
insert into sys_role_menu values ('3', '1040');
insert into sys_role_menu values ('3', '1041');
insert into sys_role_menu values ('3', '1042');
insert into sys_role_menu values ('3', '1043');
insert into sys_role_menu values ('3', '1044');
insert into sys_role_menu values ('3', '1045');
insert into sys_role_menu values ('3', '1050');
insert into sys_role_menu values ('3', '1061');
insert into sys_role_menu values ('3', '1062');
insert into sys_role_menu values ('3', '1063');
insert into sys_role_menu values ('3', '1064');
insert into sys_role_menu values ('3', '1065');
insert into sys_role_menu values ('3', '1500');
insert into sys_role_menu values ('3', '1501');
insert into sys_role_menu values ('3', '1502');
insert into sys_role_menu values ('3', '1503');
insert into sys_role_menu values ('3', '1504');
insert into sys_role_menu values ('3', '1505');
insert into sys_role_menu values ('3', '1506');
insert into sys_role_menu values ('3', '1507');
insert into sys_role_menu values ('3', '1508');
insert into sys_role_menu values ('3', '1509');
insert into sys_role_menu values ('3', '1510');
insert into sys_role_menu values ('3', '1511');
insert into sys_role_menu values ('3', '1600');
insert into sys_role_menu values ('3', '1601');
insert into sys_role_menu values ('3', '1602');
insert into sys_role_menu values ('3', '1603');
insert into sys_role_menu values ('3', '1620');
insert into sys_role_menu values ('3', '1621');
insert into sys_role_menu values ('3', '1622');
insert into sys_role_menu values ('3', '1623');
insert into sys_role_menu values ('3', '11616');
insert into sys_role_menu values ('3', '11618');
insert into sys_role_menu values ('3', '11619');
insert into sys_role_menu values ('3', '11622');
insert into sys_role_menu values ('3', '11623');
insert into sys_role_menu values ('3', '11629');
insert into sys_role_menu values ('3', '11632');
insert into sys_role_menu values ('3', '11633');
insert into sys_role_menu values ('3', '11638');
insert into sys_role_menu values ('3', '11639');
insert into sys_role_menu values ('3', '11640');
insert into sys_role_menu values ('3', '11641');
insert into sys_role_menu values ('3', '11642');
insert into sys_role_menu values ('3', '11643');
insert into sys_role_menu values ('4', '5');
insert into sys_role_menu values ('4', '1500');
insert into sys_role_menu values ('4', '1501');
insert into sys_role_menu values ('4', '1502');
insert into sys_role_menu values ('4', '1503');
insert into sys_role_menu values ('4', '1504');
insert into sys_role_menu values ('4', '1505');
insert into sys_role_menu values ('4', '1506');
insert into sys_role_menu values ('4', '1507');
insert into sys_role_menu values ('4', '1508');
insert into sys_role_menu values ('4', '1509');
insert into sys_role_menu values ('4', '1510');
insert into sys_role_menu values ('4', '1511');
-- ----------------------------
-- 8、角色和部门关联表 角色1-N部门
-- ----------------------------
create table sys_role_dept (
role_id bigint(20) not null comment '角色ID',
dept_id bigint(20) not null comment '部门ID',
primary key(role_id, dept_id)
) engine=innodb comment = '角色和部门关联表';
-- ----------------------------
-- 9、用户与岗位关联表 用户1-N岗位
-- ----------------------------
create table sys_user_post
(
user_id bigint(20) not null comment '用户ID',
post_id bigint(20) not null comment '岗位ID',
primary key (user_id, post_id)
) engine=innodb comment = '用户与岗位关联表';
-- ----------------------------
-- 初始化-用户与岗位关联表数据
-- ----------------------------
insert into sys_user_post values ('1', '1');
-- ----------------------------
-- 10、操作日志记录
-- ----------------------------
create table sys_oper_log (
oper_id bigint(20) not null comment '日志主键',
title varchar(50) default '' comment '模块标题',
business_type int(2) default 0 comment '业务类型(0其它 1新增 2修改 3删除)',
method varchar(100) default '' comment '方法名称',
request_method varchar(10) default '' comment '请求方式',
operator_type int(1) default 0 comment '操作类别(0其它 1后台用户 2手机端用户)',
oper_name varchar(50) default '' comment '操作人员',
dept_name varchar(50) default '' comment '部门名称',
oper_url varchar(255) default '' comment '请求URL',
oper_ip varchar(128) default '' comment '主机地址',
oper_location varchar(255) default '' comment '操作地点',
oper_param varchar(4000) default '' comment '请求参数',
json_result varchar(4000) default '' comment '返回参数',
status int(1) default 0 comment '操作状态(0正常 1异常)',
error_msg varchar(4000) default '' comment '错误消息',
oper_time datetime comment '操作时间',
cost_time bigint(20) default 0 comment '消耗时间',
primary key (oper_id),
key idx_sys_oper_log_bt (business_type),
key idx_sys_oper_log_s (status),
key idx_sys_oper_log_ot (oper_time)
) engine=innodb comment = '操作日志记录';
-- ----------------------------
-- 11、字典类型表
-- ----------------------------
create table sys_dict_type
(
dict_id bigint(20) not null comment '字典主键',
dict_name varchar(100) default '' comment '字典名称',
dict_type varchar(100) default '' comment '字典类型',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (dict_id),
unique (dict_type)
) engine=innodb comment = '字典类型表';
insert into sys_dict_type values(1, '用户性别', 'sys_user_sex', 103, 1, sysdate(), null, null, '用户性别列表');
insert into sys_dict_type values(2, '菜单状态', 'sys_show_hide', 103, 1, sysdate(), null, null, '菜单状态列表');
insert into sys_dict_type values(3, '系统开关', 'sys_normal_disable', 103, 1, sysdate(), null, null, '系统开关列表');
insert into sys_dict_type values(6, '系统是否', 'sys_yes_no', 103, 1, sysdate(), null, null, '系统是否列表');
insert into sys_dict_type values(7, '通知类型', 'sys_notice_type', 103, 1, sysdate(), null, null, '通知类型列表');
insert into sys_dict_type values(8, '通知状态', 'sys_notice_status', 103, 1, sysdate(), null, null, '通知状态列表');
insert into sys_dict_type values(9, '操作类型', 'sys_oper_type', 103, 1, sysdate(), null, null, '操作类型列表');
insert into sys_dict_type values(10, '系统状态', 'sys_common_status', 103, 1, sysdate(), null, null, '登录状态列表');
insert into sys_dict_type values(11, '授权类型', 'sys_grant_type', 103, 1, sysdate(), null, null, '认证授权类型');
insert into sys_dict_type values(12, '设备类型', 'sys_device_type', 103, 1, sysdate(), null, null, '客户端设备类型');
-- ----------------------------
-- 12、字典数据表
-- ----------------------------
create table sys_dict_data
(
dict_code bigint(20) not null comment '字典编码',
dict_sort int(4) default 0 comment '字典排序',
dict_label varchar(100) default '' comment '字典标签',
dict_value varchar(100) default '' comment '字典键值',
dict_type varchar(100) default '' comment '字典类型',
css_class varchar(100) default null comment '样式属性(其他样式扩展)',
list_class varchar(100) default null comment '表格回显样式',
is_default char(1) default 'N' comment '是否默认(Y是 N否)',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (dict_code)
) engine=innodb comment = '字典数据表';
insert into sys_dict_data values(1, 1, '', '0', 'sys_user_sex', '', '', 'Y', 103, 1, sysdate(), null, null, '性别男');
insert into sys_dict_data values(2, 2, '', '1', 'sys_user_sex', '', '', 'N', 103, 1, sysdate(), null, null, '性别女');
insert into sys_dict_data values(3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', 103, 1, sysdate(), null, null, '性别未知');
insert into sys_dict_data values(4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 103, 1, sysdate(), null, null, '显示菜单');
insert into sys_dict_data values(5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 103, 1, sysdate(), null, null, '隐藏菜单');
insert into sys_dict_data values(6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 103, 1, sysdate(), null, null, '正常状态');
insert into sys_dict_data values(7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 103, 1, sysdate(), null, null, '停用状态');
insert into sys_dict_data values(12, 1, '', 'Y', 'sys_yes_no', '', 'primary', 'Y', 103, 1, sysdate(), null, null, '系统默认是');
insert into sys_dict_data values(13, 2, '', 'N', 'sys_yes_no', '', 'danger', 'N', 103, 1, sysdate(), null, null, '系统默认否');
insert into sys_dict_data values(14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', 103, 1, sysdate(), null, null, '通知');
insert into sys_dict_data values(15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', 103, 1, sysdate(), null, null, '公告');
insert into sys_dict_data values(16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', 103, 1, sysdate(), null, null, '正常状态');
insert into sys_dict_data values(17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', 103, 1, sysdate(), null, null, '关闭状态');
insert into sys_dict_data values(29, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', 103, 1, sysdate(), null, null, '其他操作');
insert into sys_dict_data values(18, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', 103, 1, sysdate(), null, null, '新增操作');
insert into sys_dict_data values(19, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', 103, 1, sysdate(), null, null, '修改操作');
insert into sys_dict_data values(20, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', 103, 1, sysdate(), null, null, '删除操作');
insert into sys_dict_data values(21, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', 103, 1, sysdate(), null, null, '授权操作');
insert into sys_dict_data values(22, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', 103, 1, sysdate(), null, null, '导出操作');
insert into sys_dict_data values(23, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', 103, 1, sysdate(), null, null, '导入操作');
insert into sys_dict_data values(24, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', 103, 1, sysdate(), null, null, '强退操作');
insert into sys_dict_data values(25, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', 103, 1, sysdate(), null, null, '生成操作');
insert into sys_dict_data values(26, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', 103, 1, sysdate(), null, null, '清空操作');
insert into sys_dict_data values(27, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 103, 1, sysdate(), null, null, '正常状态');
insert into sys_dict_data values(28, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 103, 1, sysdate(), null, null, '停用状态');
insert into sys_dict_data values(30, 0, '密码认证', 'password', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '密码认证');
insert into sys_dict_data values(31, 0, '短信认证', 'sms', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '短信认证');
insert into sys_dict_data values(32, 0, '邮件认证', 'email', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '邮件认证');
insert into sys_dict_data values(33, 0, '小程序认证', 'xcx', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '小程序认证');
insert into sys_dict_data values(34, 0, '三方登录认证', 'social', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '三方登录认证');
insert into sys_dict_data values(35, 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, 'PC');
insert into sys_dict_data values(36, 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '安卓');
insert into sys_dict_data values(37, 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, 'iOS');
insert into sys_dict_data values(38, 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '小程序');
insert into sys_dict_data values(60, 0, 'App密码认证', 'app_password', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '密码认证');
insert into sys_dict_data values(61, 0, 'App短信认证', 'app_sms', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '短信认证');
insert into sys_dict_data values(62, 0, 'App邮件认证', 'app_email', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '邮件认证');
insert into sys_dict_data values(63, 0, 'App小程序认证', 'app_wechat_miniprogram', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '小程序认证');
insert into sys_dict_data values(64, 0, 'App微信公众号认证', 'app_wechat_mp', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '小程序认证');
insert into sys_dict_data values(65, 0, 'App微信开放平台认证', 'app_wechat_open', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '小程序认证');
insert into sys_dict_data values(66, 0, 'App三方登录认证', 'app_social','sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, sysdate(), null, null, '三方登录认证');
-- ----------------------------
-- 13、参数配置表
-- ----------------------------
create table sys_config (
config_id bigint(20) not null comment '参数主键',
config_name varchar(100) default '' comment '参数名称',
config_key varchar(100) default '' comment '参数键名',
config_value varchar(500) default '' comment '参数键值',
config_type char(1) default 'N' comment '系统内置(Y是 N否)',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (config_id)
) engine=innodb comment = '参数配置表';
insert into sys_config values(1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 103, 1, sysdate(), null, null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' );
insert into sys_config values(2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 103, 1, sysdate(), null, null, '初始化密码 123456' );
insert into sys_config values(3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 103, 1, sysdate(), null, null, '深色主题theme-dark,浅色主题theme-light' );
insert into sys_config values(5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 103, 1, sysdate(), null, null, '是否开启注册用户功能(true开启,false关闭)');
insert into sys_config values(11, 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 103, 1, sysdate(), null, null, 'true:开启, false:关闭');
-- ----------------------------
-- 14、系统访问记录
-- ----------------------------
create table sys_logininfor (
info_id bigint(20) not null comment '访问ID',
user_name varchar(50) default '' comment '用户账号',
client_key varchar(32) default '' comment '客户端',
device_type varchar(32) default '' comment '设备类型',
ipaddr varchar(128) default '' comment '登录IP地址',
login_location varchar(255) default '' comment '登录地点',
browser varchar(50) default '' comment '浏览器类型',
os varchar(50) default '' comment '操作系统',
status char(1) default '0' comment '登录状态(0成功 1失败)',
msg varchar(255) default '' comment '提示消息',
login_time datetime comment '访问时间',
primary key (info_id),
key idx_sys_logininfor_s (status),
key idx_sys_logininfor_lt (login_time)
) engine=innodb comment = '系统访问记录';
-- ----------------------------
-- 17、通知公告表
-- ----------------------------
create table sys_notice (
notice_id bigint(20) not null comment '公告ID',
notice_title varchar(50) not null comment '公告标题',
notice_type char(1) not null comment '公告类型(1通知 2公告)',
notice_content longblob default null comment '公告内容',
status char(1) default '0' comment '公告状态(0正常 1关闭)',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(255) default null comment '备注',
primary key (notice_id)
) engine=innodb comment = '通知公告表';
-- ----------------------------
-- 初始化-公告信息表数据
-- ----------------------------
insert into sys_notice values('1', '温馨提醒:2018-07-01 新版本发布啦', '2', '新版本内容', '0', 103, 1, sysdate(), null, null, '管理员');
insert into sys_notice values('2', '维护通知:2018-07-01 系统凌晨维护', '1', '维护内容', '0', 103, 1, sysdate(), null, null, '管理员');
-- ----------------------------
-- 18、代码生成业务表
-- ----------------------------
create table gen_table (
table_id bigint(20) not null comment '编号',
data_name varchar(200) default '' comment '数据源名称',
table_name varchar(200) default '' comment '表名称',
table_comment varchar(500) default '' comment '表描述',
sub_table_name varchar(64) default null comment '关联子表的表名',
sub_table_fk_name varchar(64) default null comment '子表关联的外键名',
class_name varchar(100) default '' comment '实体类名称',
tpl_category varchar(200) default 'crud' comment '使用的模板(crud单表操作 tree树表操作)',
package_name varchar(100) comment '生成包路径',
module_name varchar(30) comment '生成模块名',
business_name varchar(30) comment '生成业务名',
function_name varchar(50) comment '生成功能名',
function_author varchar(50) comment '生成功能作者',
gen_type char(1) default '0' comment '生成代码方式(0zip压缩包 1自定义路径)',
gen_path varchar(200) default '/' comment '生成路径(不填默认项目路径)',
options varchar(1000) comment '其它生成选项',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (table_id)
) engine=innodb comment = '代码生成业务表';
-- ----------------------------
-- 19、代码生成业务表字段
-- ----------------------------
create table gen_table_column (
column_id bigint(20) not null comment '编号',
table_id bigint(20) comment '归属表编号',
column_name varchar(200) comment '列名称',
column_comment varchar(500) comment '列描述',
column_type varchar(100) comment '列类型',
java_type varchar(500) comment 'JAVA类型',
java_field varchar(200) comment 'JAVA字段名',
is_pk char(1) comment '是否主键(1是)',
is_increment char(1) comment '是否自增(1是)',
is_required char(1) comment '是否必填(1是)',
is_insert char(1) comment '是否为插入字段(1是)',
is_edit char(1) comment '是否编辑字段(1是)',
is_list char(1) comment '是否列表字段(1是)',
is_query char(1) comment '是否查询字段(1是)',
query_type varchar(200) default 'EQ' comment '查询方式(等于、不等于、大于、小于、范围)',
html_type varchar(200) comment '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
dict_type varchar(200) default '' comment '字典类型',
sort int comment '排序',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime comment '更新时间',
primary key (column_id)
) engine=innodb comment = '代码生成业务表字段';
-- ----------------------------
-- OSS对象存储表
-- ----------------------------
create table sys_oss (
oss_id bigint(20) not null comment '对象存储主键',
file_name varchar(255) not null default '' comment '文件名',
original_name varchar(255) not null default '' comment '原名',
file_suffix varchar(10) not null default '' comment '文件后缀名',
url varchar(500) not null comment 'URL地址',
ext1 text default null comment '扩展字段',
create_dept bigint(20) default null comment '创建部门',
create_time datetime default null comment '创建时间',
create_by bigint(20) default null comment '上传人',
update_time datetime default null comment '更新时间',
update_by bigint(20) default null comment '更新人',
service varchar(20) not null default 'minio' comment '服务商',
primary key (oss_id)
) engine=innodb comment ='OSS对象存储表';
-- ----------------------------
-- OSS对象存储动态配置表
-- ----------------------------
create table sys_oss_config (
oss_config_id bigint(20) not null comment '主键',
config_key varchar(20) not null default '' comment '配置key',
access_key varchar(255) default '' comment 'accessKey',
secret_key varchar(255) default '' comment '秘钥',
bucket_name varchar(255) default '' comment '桶名称',
prefix varchar(255) default '' comment '前缀',
endpoint varchar(255) default '' comment '访问站点',
domain varchar(255) default '' comment '自定义域名',
is_https char(1) default 'N' comment '是否httpsY=是,N=否)',
region varchar(255) default '' comment '',
access_policy char(1) not null default '1' comment '桶权限类型(0=private 1=public 2=custom)',
status char(1) default '1' comment '是否默认(0=是,1=否)',
ext1 varchar(255) default '' comment '扩展字段',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime default null comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime default null comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (oss_config_id)
) engine=innodb comment='对象存储配置表';
insert into sys_oss_config values (1, 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '','N', '', '1' ,'0', '', 103, 1, sysdate(), 1, sysdate(), null);
insert into sys_oss_config values (2, 'qiniu', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '','N', '', '1' ,'1', '', 103, 1, sysdate(), 1, sysdate(), null);
insert into sys_oss_config values (3, 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '','N', '', '1' ,'1', '', 103, 1, sysdate(), 1, sysdate(), null);
insert into sys_oss_config values (4, 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1240000000', '', 'cos.ap-beijing.myqcloud.com', '','N', 'ap-beijing', '1' ,'1', '', 103, 1, sysdate(), 1, sysdate(), null);
insert into sys_oss_config values (5, 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '','N', '', '1' ,'1', '', 103, 1, sysdate(), 1, sysdate(), null);
-- ----------------------------
-- 系统授权表
-- ----------------------------
create table sys_client (
id bigint(20) not null comment 'id',
client_id varchar(64) default null comment '客户端id',
client_key varchar(32) default null comment '客户端key',
client_secret varchar(255) default null comment '客户端秘钥',
grant_type varchar(255) default null comment '授权类型',
device_type varchar(32) default null comment '设备类型',
active_timeout int(11) default 1800 comment 'token活跃超时时间',
timeout int(11) default 604800 comment 'token固定超时',
status char(1) default '0' comment '状态(0正常 1停用)',
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
create_dept bigint(20) default null comment '创建部门',
create_by bigint(20) default null comment '创建者',
create_time datetime default null comment '创建时间',
update_by bigint(20) default null comment '更新者',
update_time datetime default null comment '更新时间',
primary key (id)
) engine=innodb comment='系统授权表';
insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, sysdate(), 1, sysdate());
insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'app_password,app_sms,app_social', 'android', 1800, 604800, 0, 0, 103, 1, sysdate(), 1, sysdate());
CREATE TABLE test_demo
(
id bigint(0) NOT NULL COMMENT '主键',
dept_id bigint(0) NULL DEFAULT NULL COMMENT '部门id',
user_id bigint(0) NULL DEFAULT NULL COMMENT '用户id',
order_num int(0) NULL DEFAULT 0 COMMENT '排序号',
test_key varchar(255) NULL DEFAULT NULL COMMENT 'key键',
value varchar(255) NULL DEFAULT NULL COMMENT '',
version int(0) NULL DEFAULT 0 COMMENT '版本',
create_dept bigint(0) NULL DEFAULT NULL COMMENT '创建部门',
create_time datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
create_by bigint(0) NULL DEFAULT NULL COMMENT '创建人',
update_time datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
update_by bigint(0) NULL DEFAULT NULL COMMENT '更新人',
del_flag int(0) NULL DEFAULT 0 COMMENT '删除标志',
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB COMMENT = '测试单表';
CREATE TABLE test_tree
(
id bigint(0) NOT NULL COMMENT '主键',
parent_id bigint(0) NULL DEFAULT 0 COMMENT '父id',
dept_id bigint(0) NULL DEFAULT NULL COMMENT '部门id',
user_id bigint(0) NULL DEFAULT NULL COMMENT '用户id',
tree_name varchar(255) NULL DEFAULT NULL COMMENT '',
version int(0) NULL DEFAULT 0 COMMENT '版本',
create_dept bigint(0) NULL DEFAULT NULL COMMENT '创建部门',
create_time datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
create_by bigint(0) NULL DEFAULT NULL COMMENT '创建人',
update_time datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
update_by bigint(0) NULL DEFAULT NULL COMMENT '更新人',
del_flag int(0) NULL DEFAULT 0 COMMENT '删除标志',
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB COMMENT = '测试树表';
INSERT INTO test_demo VALUES (1, 102, 4, 1, '测试数据权限', '测试', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (2, 102, 3, 2, '子节点1', '111', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (3, 102, 3, 3, '子节点2', '222', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (4, 108, 4, 4, '测试数据', 'demo', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (5, 108, 3, 13, '子节点11', '1111', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (6, 108, 3, 12, '子节点22', '2222', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (7, 108, 3, 11, '子节点33', '3333', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (8, 108, 3, 10, '子节点44', '4444', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (9, 108, 3, 9, '子节点55', '5555', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (10, 108, 3, 8, '子节点66', '6666', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (11, 108, 3, 7, '子节点77', '7777', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (12, 108, 3, 6, '子节点88', '8888', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_demo VALUES (13, 108, 3, 5, '子节点99', '9999', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (1, 0, 102, 4, '测试数据权限', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (2, 1, 102, 3, '子节点1', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (3, 2, 102, 3, '子节点2', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (4, 0, 108, 4, '测试树1', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (5, 4, 108, 3, '子节点11', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (6, 4, 108, 3, '子节点22', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (7, 4, 108, 3, '子节点33', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (8, 5, 108, 3, '子节点44', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (9, 6, 108, 3, '子节点55', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (10, 7, 108, 3, '子节点66', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (11, 7, 108, 3, '子节点77', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (12, 10, 108, 3, '子节点88', 0, 103, sysdate(), 1, NULL, NULL, 0);
INSERT INTO test_tree VALUES (13, 10, 108, 3, '子节点99', 0, 103, sysdate(), 1, NULL, NULL, 0);
+255
View File
@@ -0,0 +1,255 @@
-- ----------------------------
-- 0、warm-flow-all.sql,地址:https://gitee.com/dromara/warm-flow/blob/master/sql/mysql/warm-flow-all.sql
-- ----------------------------
CREATE TABLE `flow_definition`
(
`id` bigint NOT NULL COMMENT '主键id',
`flow_code` varchar(40) NOT NULL COMMENT '流程编码',
`flow_name` varchar(100) NOT NULL COMMENT '流程名称',
`category` varchar(100) DEFAULT NULL COMMENT '流程类别',
`version` varchar(20) NOT NULL COMMENT '流程版本',
`is_publish` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布(0未发布 1已发布 9失效)',
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
`activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
`listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型',
`listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径',
`ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='流程定义表';
CREATE TABLE `flow_node`
(
`id` bigint NOT NULL COMMENT '主键id',
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`definition_id` bigint NOT NULL COMMENT '流程定义id',
`node_code` varchar(100) NOT NULL COMMENT '流程节点编码',
`node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
`permission_flag` varchar(200) DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,用@@隔开)',
`node_ratio` decimal(6, 3) DEFAULT NULL COMMENT '流程签署比例值',
`coordinate` varchar(100) DEFAULT NULL COMMENT '坐标',
`any_node_skip` varchar(100) DEFAULT NULL COMMENT '任意结点跳转',
`listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型',
`listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径',
`handler_type` varchar(100) DEFAULT NULL COMMENT '处理器类型',
`handler_path` varchar(400) DEFAULT NULL COMMENT '处理器路径',
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
`version` varchar(20) NOT NULL COMMENT '版本',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`ext` text COMMENT '节点扩展属性',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='流程节点表';
CREATE TABLE `flow_skip`
(
`id` bigint NOT NULL COMMENT '主键id',
`definition_id` bigint NOT NULL COMMENT '流程定义id',
`now_node_code` varchar(100) NOT NULL COMMENT '当前流程节点的编码',
`now_node_type` tinyint(1) DEFAULT NULL COMMENT '当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`next_node_code` varchar(100) NOT NULL COMMENT '下一个流程节点的编码',
`next_node_type` tinyint(1) DEFAULT NULL COMMENT '下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`skip_name` varchar(100) DEFAULT NULL COMMENT '跳转名称',
`skip_type` varchar(40) DEFAULT NULL COMMENT '跳转类型(PASS审批通过 REJECT退回)',
`skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件',
`coordinate` varchar(100) DEFAULT NULL COMMENT '坐标',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='节点跳转关联表';
CREATE TABLE `flow_instance`
(
`id` bigint NOT NULL COMMENT '主键id',
`definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id',
`business_id` varchar(40) NOT NULL COMMENT '业务id',
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`node_code` varchar(40) NOT NULL COMMENT '流程节点编码',
`node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
`variable` text COMMENT '任务变量',
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
`activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
`def_json` text COMMENT '流程定义json',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`ext` varchar(500) DEFAULT NULL COMMENT '扩展字段,预留给业务系统使用',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='流程实例表';
CREATE TABLE `flow_task`
(
`id` bigint NOT NULL COMMENT '主键id',
`definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id',
`instance_id` bigint NOT NULL COMMENT '对应flow_instance表的id',
`node_code` varchar(100) NOT NULL COMMENT '节点编码',
`node_name` varchar(100) DEFAULT NULL COMMENT '节点名称',
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='待办任务表';
CREATE TABLE `flow_his_task`
(
`id` bigint(20) NOT NULL COMMENT '主键id',
`definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id',
`instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id',
`task_id` bigint(20) NOT NULL COMMENT '对应flow_task表的id',
`node_code` varchar(100) DEFAULT NULL COMMENT '开始节点编码',
`node_name` varchar(100) DEFAULT NULL COMMENT '开始节点名称',
`node_type` tinyint(1) DEFAULT NULL COMMENT '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
`target_node_code` varchar(200) DEFAULT NULL COMMENT '目标节点编码',
`target_node_name` varchar(200) DEFAULT NULL COMMENT '结束节点名称',
`approver` varchar(40) DEFAULT NULL COMMENT '审批者',
`cooperate_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)',
`collaborator` varchar(40) DEFAULT NULL COMMENT '协作人',
`skip_type` varchar(10) NOT NULL COMMENT '流转类型(PASS通过 REJECT退回 NONE无动作)',
`flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
`form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
`form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
`message` varchar(500) DEFAULT NULL COMMENT '审批意见',
`variable` TEXT DEFAULT NULL COMMENT '任务变量',
`ext` TEXT DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
`create_time` datetime DEFAULT NULL COMMENT '任务开始时间',
`update_time` datetime DEFAULT NULL COMMENT '审批完成时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT ='历史任务记录表';
CREATE TABLE `flow_user`
(
`id` bigint NOT NULL COMMENT '主键id',
`type` char(1) NOT NULL COMMENT '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)',
`processed_by` varchar(80) DEFAULT NULL COMMENT '权限人',
`associated` bigint NOT NULL COMMENT '任务表id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(80) DEFAULT NULL COMMENT '创建人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE,
KEY `user_processed_type` (`processed_by`, `type`),
KEY `user_associated` (`associated`) USING BTREE
) ENGINE = InnoDB COMMENT ='流程用户表';
-- ----------------------------
-- 流程分类表
-- ----------------------------
create table flow_category
(
category_id bigint(20) not null comment '流程分类ID',
parent_id bigint(20) default 0 comment '父流程分类id',
ancestors varchar(500) default '' comment '祖级列表',
category_name varchar(30) not null comment '流程分类名称',
order_num int(4) default 0 comment '显示顺序',
del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)',
create_dept bigint(20) null comment '创建部门',
create_by bigint(20) null comment '创建者',
create_time datetime null comment '创建时间',
update_by bigint(20) null comment '更新者',
update_time datetime null comment '更新时间',
primary key (category_id)
) engine = innodb comment = '流程分类';
INSERT INTO flow_category values (100, 0, '0', 'OA审批', 0, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (101, 100, '0,100', '假勤管理', 0, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (102, 100, '0,100', '人事管理', 1, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (103, 101, '0,100,101', '请假', 0, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (104, 101, '0,100,101', '出差', 1, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (105, 101, '0,100,101', '加班', 2, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (106, 101, '0,100,101', '换班', 3, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (107, 101, '0,100,101', '外出', 4, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (108, 102, '0,100,102', '转正', 1, '0', 103, 1, sysdate(), null, null);
INSERT INTO flow_category values (109, 102, '0,100,102', '离职', 2, '0', 103, 1, sysdate(), null, null);
-- ----------------------------
-- 请假单信息
-- ----------------------------
create table test_leave
(
id bigint(20) not null comment 'id',
leave_type varchar(255) not null comment '请假类型',
start_date datetime not null comment '开始时间',
end_date datetime not null comment '结束时间',
leave_days int(10) not null comment '请假天数',
remark varchar(255) null comment '请假原因',
status varchar(255) null comment '状态',
create_dept bigint null comment '创建部门',
create_by bigint null comment '创建者',
create_time datetime null comment '创建时间',
update_by bigint null comment '更新者',
update_time datetime null comment '更新时间',
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB COMMENT = '请假申请表';
insert into sys_menu values ('11616', '工作流', '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, sysdate(),NULL, NULL, '');
insert into sys_menu values ('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '', 'finish', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0', '', 'my-copy', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C', '0', '0', '', 'process-definition', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0', '0', '', 'tree-table', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0', 'workflow:category:list', 'category', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '', 'guide', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu values ('11700', '流程设计', '11616', '5', 'design/index', 'workflow/processDefinition/design', '', 1, 1, 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values ('11701', '请假申请', '11616', '6', 'leaveEdit/index', 'workflow/leave/leaveEdit', '', 1, 1, 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(), null, null, '');
-- 流程分类管理相关按钮
insert into sys_menu values ('11623', '流程分类查询', '11622', '1', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:query', '#', 103, 1,sysdate(), null, null, '');
insert into sys_menu values ('11624', '流程分类新增', '11622', '2', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:add', '#', 103, 1,sysdate(), null, null, '');
insert into sys_menu values ('11625', '流程分类修改', '11622', '3', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:edit', '#', 103, 1,sysdate(), null, null, '');
insert into sys_menu values ('11626', '流程分类删除', '11622', '4', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:remove', '#', 103,1, sysdate(), null, null, '');
insert into sys_menu values ('11627', '流程分类导出', '11622', '5', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:export', '#', 103,1, sysdate(), null, null, '');
-- 请假测试相关按钮
insert into sys_menu VALUES (11638, '请假申请', 5, 1, 'leave', 'workflow/leave/index', '', 1, 0, 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, sysdate(), NULL, NULL, '请假申请菜单');
insert into sys_menu VALUES (11639, '请假申请查询', 11638, 1, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu VALUES (11640, '请假申请新增', 11638, 2, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu VALUES (11641, '请假申请修改', 11638, 3, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu VALUES (11642, '请假申请删除', 11638, 4, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, sysdate(), NULL, NULL, '');
insert into sys_menu VALUES (11643, '请假申请导出', 11638, 5, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, sysdate(), NULL, NULL, '');
INSERT INTO sys_dict_type VALUES (13, '业务状态', 'wf_business_status', 103, 1, sysdate(), NULL, NULL, '业务状态列表');
INSERT INTO sys_dict_type VALUES (14, '表单类型', 'wf_form_type', 103, 1, sysdate(), NULL, NULL, '表单类型列表');
INSERT INTO sys_dict_type VALUES (15, '任务状态', 'wf_task_status', 103, 1, sysdate(), NULL, NULL, '任务状态');
INSERT INTO sys_dict_data VALUES (39, 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已撤销');
INSERT INTO sys_dict_data VALUES (40, 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, sysdate(), NULL, NULL, '草稿');
INSERT INTO sys_dict_data VALUES (41, 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL,'待审核');
INSERT INTO sys_dict_data VALUES (42, 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL,'已完成');
INSERT INTO sys_dict_data VALUES (43, 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已作废');
INSERT INTO sys_dict_data VALUES (44, 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已退回');
INSERT INTO sys_dict_data VALUES (45, 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL,NULL, '已终止');
INSERT INTO sys_dict_data VALUES (46, 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL,'自定义表单');
INSERT INTO sys_dict_data VALUES (47, 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL,'动态表单');
INSERT INTO sys_dict_data VALUES (48, 1, '撤销', 'cancel', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '撤销');
INSERT INTO sys_dict_data VALUES (49, 2, '通过', 'pass', 'wf_task_status', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL, '通过');
INSERT INTO sys_dict_data VALUES (50, 3, '待审核', 'waiting', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '待审核');
INSERT INTO sys_dict_data VALUES (51, 4, '作废', 'invalid', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '作废');
INSERT INTO sys_dict_data VALUES (52, 5, '退回', 'back', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '退回');
INSERT INTO sys_dict_data VALUES (53, 6, '终止', 'termination', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '终止');
INSERT INTO sys_dict_data VALUES (54, 7, '转办', 'transfer', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '转办');
INSERT INTO sys_dict_data VALUES (55, 8, '委托', 'depute', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '委托');
INSERT INTO sys_dict_data VALUES (56, 9, '抄送', 'copy', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '抄送');
INSERT INTO sys_dict_data VALUES (57, 10, '加签', 'sign', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '加签');
INSERT INTO sys_dict_data VALUES (58, 11, '减签', 'sign_off', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '减签');
INSERT INTO sys_dict_data VALUES (59, 11, '超时', 'timeout', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '超时');
@@ -0,0 +1,320 @@
-- ----------------------------
-- App端数据库表结构 (SQL Server版本)
-- 适用于 RuoYi-Vue-Plus 5.X 版本
-- ----------------------------
-- 1、App端用户信息表
CREATE TABLE app_user (
user_id BIGINT NOT NULL,
user_name NVARCHAR(30) NOT NULL,
nick_name NVARCHAR(30) NOT NULL,
phone NVARCHAR(11) DEFAULT '',
email NVARCHAR(50) DEFAULT '',
sex CHAR(1) DEFAULT '0',
avatar BIGINT,
password NVARCHAR(100) DEFAULT '',
status CHAR(1) DEFAULT '0',
del_flag CHAR(1) DEFAULT '0',
login_ip NVARCHAR(128) DEFAULT '',
login_date DATETIME2,
register_time DATETIME2,
create_by BIGINT,
create_time DATETIME2,
update_by BIGINT,
update_time DATETIME2,
remark NVARCHAR(500),
CONSTRAINT PK_app_user PRIMARY KEY (user_id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端用户信息表', 'SCHEMA', 'dbo', 'TABLE', 'app_user';
EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'user_id';
EXEC sp_addextendedproperty 'MS_Description', '用户账号', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'account';
EXEC sp_addextendedproperty 'MS_Description', '用户昵称', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'nick_name';
EXEC sp_addextendedproperty 'MS_Description', '手机号码', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'phone';
EXEC sp_addextendedproperty 'MS_Description', '用户邮箱', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'email';
EXEC sp_addextendedproperty 'MS_Description', '用户性别(0男 1女 2未知)', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'sex';
EXEC sp_addextendedproperty 'MS_Description', '头像地址', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'avatar';
EXEC sp_addextendedproperty 'MS_Description', '密码', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'password';
EXEC sp_addextendedproperty 'MS_Description', '帐号状态(0正常 1停用)', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'status';
EXEC sp_addextendedproperty 'MS_Description', '删除标志(0代表存在 1代表删除)', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'del_flag';
EXEC sp_addextendedproperty 'MS_Description', '最后登录IP', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'login_ip';
EXEC sp_addextendedproperty 'MS_Description', '最后登录时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'login_date';
EXEC sp_addextendedproperty 'MS_Description', '注册时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'register_time';
EXEC sp_addextendedproperty 'MS_Description', '创建者', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'create_by';
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'create_time';
EXEC sp_addextendedproperty 'MS_Description', '更新者', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'update_by';
EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'update_time';
EXEC sp_addextendedproperty 'MS_Description', '备注', 'SCHEMA', 'dbo', 'TABLE', 'app_user', 'COLUMN', 'remark';
INSERT INTO app_user VALUES (1, 'appuser', 'App测试用户', '15888888888', 'appuser@qq.com', '1', NULL,
'$2a$10$7JB720yubVSOfvVMe6LeNOKgEoXAw7tCxJRET6pVuiDDz/LQ4Gqk.',
'0', '0', '127.0.0.1', GETDATE(), GETDATE(), 1, GETDATE(), NULL, NULL, 'App端测试用户');
-- 2、App端角色信息表
CREATE TABLE app_role (
role_id BIGINT NOT NULL,
role_name NVARCHAR(30) NOT NULL,
role_key NVARCHAR(100) NOT NULL,
role_sort INT NOT NULL,
status CHAR(1) NOT NULL,
del_flag CHAR(1) DEFAULT '0',
create_by BIGINT,
create_time DATETIME2,
update_by BIGINT,
update_time DATETIME2,
remark NVARCHAR(500),
CONSTRAINT PK_app_role PRIMARY KEY (role_id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端角色信息表', 'SCHEMA', 'dbo', 'TABLE', 'app_role';
EXEC sp_addextendedproperty 'MS_Description', 'App角色ID', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'role_id';
EXEC sp_addextendedproperty 'MS_Description', '角色名称', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'role_name';
EXEC sp_addextendedproperty 'MS_Description', '角色权限字符串', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'role_key';
EXEC sp_addextendedproperty 'MS_Description', '显示顺序', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'role_sort';
EXEC sp_addextendedproperty 'MS_Description', '角色状态(0正常 1停用)', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'status';
EXEC sp_addextendedproperty 'MS_Description', '删除标志(0代表存在 1代表删除)', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'del_flag';
EXEC sp_addextendedproperty 'MS_Description', '创建者', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'create_by';
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'create_time';
EXEC sp_addextendedproperty 'MS_Description', '更新者', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'update_by';
EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'update_time';
EXEC sp_addextendedproperty 'MS_Description', '备注', 'SCHEMA', 'dbo', 'TABLE', 'app_role', 'COLUMN', 'remark';
INSERT INTO app_role VALUES (1, 'App普通用户', 'app_user', 1, '0', '0', 1, GETDATE(), NULL, NULL, 'App端普通用户');
INSERT INTO app_role VALUES (2, 'App VIP用户', 'app_vip', 2, '0', '0', 1, GETDATE(), NULL, NULL, 'App端VIP用户');
-- 3、App端用户和角色关联表
CREATE TABLE app_user_role (
user_id BIGINT NOT NULL,
role_id BIGINT NOT NULL,
CONSTRAINT PK_app_user_role PRIMARY KEY (user_id, role_id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端用户和角色关联表', 'SCHEMA', 'dbo', 'TABLE', 'app_user_role';
EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user_role', 'COLUMN', 'user_id';
EXEC sp_addextendedproperty 'MS_Description', 'App角色ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user_role', 'COLUMN', 'role_id';
INSERT INTO app_user_role VALUES (1, 1);
-- 4、App端第三方登录授权表
CREATE TABLE app_social_auth (
id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
platform NVARCHAR(255) NOT NULL,
platform_uid NVARCHAR(255) NOT NULL,
open_id NVARCHAR(255),
union_id NVARCHAR(255),
access_token NVARCHAR(MAX) NOT NULL,
expire_in INT,
refresh_token NVARCHAR(255),
scope NVARCHAR(255),
create_by BIGINT,
create_time DATETIME2,
update_by BIGINT,
update_time DATETIME2,
del_flag CHAR(1) DEFAULT '0',
CONSTRAINT PK_app_social_auth PRIMARY KEY (id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端第三方登录授权表', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth';
EXEC sp_addextendedproperty 'MS_Description', '主键', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'id';
EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'user_id';
EXEC sp_addextendedproperty 'MS_Description', '用户来源平台(wechat_mp:微信小程序 wechat_open:微信开放平台 qq:QQ weibo:微博)', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'platform';
EXEC sp_addextendedproperty 'MS_Description', '表示平台唯一用户标识', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'platform_uid';
EXEC sp_addextendedproperty 'MS_Description', '微信openid', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'open_id';
EXEC sp_addextendedproperty 'MS_Description', '微信unionid', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'union_id';
EXEC sp_addextendedproperty 'MS_Description', '用户的授权令牌', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'access_token';
EXEC sp_addextendedproperty 'MS_Description', '用户的授权令牌的有效期', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'expire_in';
EXEC sp_addextendedproperty 'MS_Description', '刷新令牌', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'refresh_token';
EXEC sp_addextendedproperty 'MS_Description', '授予的权限', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'scope';
EXEC sp_addextendedproperty 'MS_Description', '创建者', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'create_by';
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'create_time';
EXEC sp_addextendedproperty 'MS_Description', '更新者', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'update_by';
EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'update_time';
EXEC sp_addextendedproperty 'MS_Description', '删除标志(0代表存在 1代表删除)', 'SCHEMA', 'dbo', 'TABLE', 'app_social_auth', 'COLUMN', 'del_flag';
-- 5、App端登录日志表
CREATE TABLE app_login_log (
info_id BIGINT NOT NULL,
user_name NVARCHAR(50) DEFAULT '',
status CHAR(1) DEFAULT '0',
ipaddr NVARCHAR(128) DEFAULT '',
login_location NVARCHAR(255) DEFAULT '',
browser NVARCHAR(50) DEFAULT '',
os NVARCHAR(50) DEFAULT '',
msg NVARCHAR(255) DEFAULT '',
login_time DATETIME2,
CONSTRAINT PK_app_login_log PRIMARY KEY (info_id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端登录日志表', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log';
EXEC sp_addextendedproperty 'MS_Description', '访问ID', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'info_id';
EXEC sp_addextendedproperty 'MS_Description', '用户账号', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'user_name';
EXEC sp_addextendedproperty 'MS_Description', '登录状态(0成功 1失败)', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'status';
EXEC sp_addextendedproperty 'MS_Description', '登录IP地址', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'ipaddr';
EXEC sp_addextendedproperty 'MS_Description', '登录地点', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'login_location';
EXEC sp_addextendedproperty 'MS_Description', '浏览器类型', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'browser';
EXEC sp_addextendedproperty 'MS_Description', '操作系统', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'os';
EXEC sp_addextendedproperty 'MS_Description', '提示消息', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'msg';
EXEC sp_addextendedproperty 'MS_Description', '访问时间', 'SCHEMA', 'dbo', 'TABLE', 'app_login_log', 'COLUMN', 'login_time';
CREATE INDEX IX_app_login_log_status ON app_login_log (status);
CREATE INDEX IX_app_login_log_login_time ON app_login_log (login_time);
-- 6、App端操作日志记录
CREATE TABLE app_oper_log (
oper_id BIGINT NOT NULL,
title NVARCHAR(50) DEFAULT '',
business_type SMALLINT DEFAULT 0,
method NVARCHAR(100) DEFAULT '',
request_method NVARCHAR(10) DEFAULT '',
oper_name NVARCHAR(50) DEFAULT '',
oper_url NVARCHAR(255) DEFAULT '',
oper_ip NVARCHAR(128) DEFAULT '',
oper_location NVARCHAR(255) DEFAULT '',
oper_param NVARCHAR(MAX) DEFAULT '',
json_result NVARCHAR(MAX) DEFAULT '',
status SMALLINT DEFAULT 0,
error_msg NVARCHAR(MAX) DEFAULT '',
oper_time DATETIME2,
cost_time BIGINT DEFAULT 0,
CONSTRAINT PK_app_oper_log PRIMARY KEY (oper_id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端操作日志记录', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log';
EXEC sp_addextendedproperty 'MS_Description', '日志主键', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_id';
EXEC sp_addextendedproperty 'MS_Description', '模块标题', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'title';
EXEC sp_addextendedproperty 'MS_Description', '业务类型(0其它 1新增 2修改 3删除)', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'business_type';
EXEC sp_addextendedproperty 'MS_Description', '方法名称', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'method';
EXEC sp_addextendedproperty 'MS_Description', '请求方式', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'request_method';
EXEC sp_addextendedproperty 'MS_Description', '操作人员', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_name';
EXEC sp_addextendedproperty 'MS_Description', '请求URL', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_url';
EXEC sp_addextendedproperty 'MS_Description', '主机地址', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_ip';
EXEC sp_addextendedproperty 'MS_Description', '操作地点', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_location';
EXEC sp_addextendedproperty 'MS_Description', '请求参数', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_param';
EXEC sp_addextendedproperty 'MS_Description', '返回参数', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'json_result';
EXEC sp_addextendedproperty 'MS_Description', '操作状态(0正常 1异常)', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'status';
EXEC sp_addextendedproperty 'MS_Description', '错误消息', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'error_msg';
EXEC sp_addextendedproperty 'MS_Description', '操作时间', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'oper_time';
EXEC sp_addextendedproperty 'MS_Description', '消耗时间', 'SCHEMA', 'dbo', 'TABLE', 'app_oper_log', 'COLUMN', 'cost_time';
CREATE INDEX IX_app_oper_log_business_type ON app_oper_log (business_type);
CREATE INDEX IX_app_oper_log_status ON app_oper_log (status);
CREATE INDEX IX_app_oper_log_oper_time ON app_oper_log (oper_time);
-- 7、App端设备信息表
CREATE TABLE app_device (
device_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
device_type NVARCHAR(20) NOT NULL,
device_name NVARCHAR(100) DEFAULT '',
device_model NVARCHAR(100) DEFAULT '',
device_brand NVARCHAR(50) DEFAULT '',
os_version NVARCHAR(50) DEFAULT '',
app_version NVARCHAR(50) DEFAULT '',
push_token NVARCHAR(255) DEFAULT '',
is_active CHAR(1) DEFAULT '1',
last_active_time DATETIME2,
create_time DATETIME2,
update_time DATETIME2,
CONSTRAINT PK_app_device PRIMARY KEY (device_id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端设备信息表', 'SCHEMA', 'dbo', 'TABLE', 'app_device';
EXEC sp_addextendedproperty 'MS_Description', '设备ID', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_id';
EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'user_id';
EXEC sp_addextendedproperty 'MS_Description', '设备类型(ios android h5', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_type';
EXEC sp_addextendedproperty 'MS_Description', '设备名称', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_name';
EXEC sp_addextendedproperty 'MS_Description', '设备型号', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_model';
EXEC sp_addextendedproperty 'MS_Description', '设备品牌', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'device_brand';
EXEC sp_addextendedproperty 'MS_Description', '操作系统版本', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'os_version';
EXEC sp_addextendedproperty 'MS_Description', 'App版本', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'app_version';
EXEC sp_addextendedproperty 'MS_Description', '推送令牌', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'push_token';
EXEC sp_addextendedproperty 'MS_Description', '是否活跃(0否 1是)', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'is_active';
EXEC sp_addextendedproperty 'MS_Description', '最后活跃时间', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'last_active_time';
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'create_time';
EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_device', 'COLUMN', 'update_time';
CREATE INDEX IX_app_device_user_id ON app_device (user_id);
CREATE INDEX IX_app_device_device_type ON app_device (device_type);
-- 8、App端消息推送表
CREATE TABLE app_message (
message_id BIGINT NOT NULL,
title NVARCHAR(100) NOT NULL,
content NVARCHAR(MAX),
message_type NVARCHAR(20) DEFAULT 'system',
target_type NVARCHAR(20) DEFAULT 'all',
target_ids NVARCHAR(1000) DEFAULT '',
send_time DATETIME2,
status CHAR(1) DEFAULT '0',
create_by BIGINT,
create_time DATETIME2,
update_by BIGINT,
update_time DATETIME2,
CONSTRAINT PK_app_message PRIMARY KEY (message_id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端消息推送表', 'SCHEMA', 'dbo', 'TABLE', 'app_message';
EXEC sp_addextendedproperty 'MS_Description', '消息ID', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'message_id';
EXEC sp_addextendedproperty 'MS_Description', '消息标题', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'title';
EXEC sp_addextendedproperty 'MS_Description', '消息内容', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'content';
EXEC sp_addextendedproperty 'MS_Description', '消息类型(system:系统消息 notice:通知 activity:活动)', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'message_type';
EXEC sp_addextendedproperty 'MS_Description', '推送目标(all:全部用户 user:指定用户 role:指定角色)', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'target_type';
EXEC sp_addextendedproperty 'MS_Description', '目标ID列表(用户ID或角色ID,逗号分隔)', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'target_ids';
EXEC sp_addextendedproperty 'MS_Description', '发送时间', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'send_time';
EXEC sp_addextendedproperty 'MS_Description', '状态(0待发送 1已发送 2发送失败)', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'status';
EXEC sp_addextendedproperty 'MS_Description', '创建者', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'create_by';
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'create_time';
EXEC sp_addextendedproperty 'MS_Description', '更新者', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'update_by';
EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', 'dbo', 'TABLE', 'app_message', 'COLUMN', 'update_time';
CREATE INDEX IX_app_message_message_type ON app_message (message_type);
CREATE INDEX IX_app_message_status ON app_message (status);
-- 9、App端用户消息读取记录表
CREATE TABLE app_user_message (
id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
message_id BIGINT NOT NULL,
is_read CHAR(1) DEFAULT '0',
read_time DATETIME2,
create_time DATETIME2,
CONSTRAINT PK_app_user_message PRIMARY KEY (id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App端用户消息读取记录表', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message';
EXEC sp_addextendedproperty 'MS_Description', '主键', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'id';
EXEC sp_addextendedproperty 'MS_Description', 'App用户ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'user_id';
EXEC sp_addextendedproperty 'MS_Description', '消息ID', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'message_id';
EXEC sp_addextendedproperty 'MS_Description', '是否已读(0未读 1已读)', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'is_read';
EXEC sp_addextendedproperty 'MS_Description', '读取时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'read_time';
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_user_message', 'COLUMN', 'create_time';
CREATE INDEX IX_app_user_message_user_id ON app_user_message (user_id);
CREATE INDEX IX_app_user_message_message_id ON app_user_message (message_id);
CREATE INDEX IX_app_user_message_is_read ON app_user_message (is_read);
-- 10、App版本信息表
CREATE TABLE app_version (
version_id BIGINT NOT NULL,
version_code INT NOT NULL,
version_name NVARCHAR(20) NOT NULL,
update_content NVARCHAR(MAX),
download_url NVARCHAR(500) NOT NULL,
is_force CHAR(1) DEFAULT '0',
platform NVARCHAR(10) DEFAULT 'android',
create_time DATETIME2,
CONSTRAINT PK_app_version PRIMARY KEY (version_id)
);
EXEC sp_addextendedproperty 'MS_Description', 'App版本信息表', 'SCHEMA', 'dbo', 'TABLE', 'app_version';
EXEC sp_addextendedproperty 'MS_Description', '版本ID', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'version_id';
EXEC sp_addextendedproperty 'MS_Description', '版本号(数字)', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'version_code';
EXEC sp_addextendedproperty 'MS_Description', '版本名(如1.0.0', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'version_name';
EXEC sp_addextendedproperty 'MS_Description', '更新内容', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'update_content';
EXEC sp_addextendedproperty 'MS_Description', '下载地址', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'download_url';
EXEC sp_addextendedproperty 'MS_Description', '是否强制更新(0否 1是)', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'is_force';
EXEC sp_addextendedproperty 'MS_Description', '平台(android、ios', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'platform';
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', 'dbo', 'TABLE', 'app_version', 'COLUMN', 'create_time';
COMMIT;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff