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
+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;