Files
pigx_ishare/db/ishare_schema.sql
2026-02-16 23:20:59 +08:00

293 lines
15 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================
-- iShare (AiShare) 完整建表脚本
-- 生成时间: 2026-02-16
-- 用途: iShare 流媒体账号合租平台 - 全部 17 张表
-- 数据库: pigxx_app
-- 依赖顺序: 基础表 → 业务表 → 关联表
-- ============================================================
USE pigxx_app;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ============================================================
-- 一、App 基础表9 张)
-- ============================================================
-- 1. app_user — App 用户
CREATE TABLE IF NOT EXISTS `app_user` (
`user_id` bigint NOT NULL COMMENT '用户ID',
`username` varchar(255) DEFAULT NULL COMMENT '用户名',
`password` varchar(255) DEFAULT NULL COMMENT '密码BCrypt',
`salt` varchar(255) DEFAULT NULL COMMENT '盐值',
`phone` varchar(20) DEFAULT NULL COMMENT '手机号码',
`avatar` varchar(255) DEFAULT NULL COMMENT '头像',
`nickname` varchar(64) DEFAULT NULL COMMENT '昵称',
`name` varchar(64) DEFAULT NULL COMMENT '姓名',
`email` varchar(128) DEFAULT NULL COMMENT '邮箱',
`wx_openid` varchar(32) DEFAULT NULL COMMENT '微信登录openId',
`lock_flag` char(1) DEFAULT '0' COMMENT '锁定状态: 0=正常, 1=锁定',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志: 0=正常, 1=删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户ID',
`create_by` varchar(64) NOT NULL DEFAULT ' ' COMMENT '创建人',
`update_by` varchar(64) NOT NULL DEFAULT ' ' COMMENT '修改人',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`last_modified_time` datetime DEFAULT NULL COMMENT '最后密码修改时间',
PRIMARY KEY (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='App用户表';
-- 2. app_role — 角色表
CREATE TABLE IF NOT EXISTS `app_role` (
`role_id` bigint NOT NULL COMMENT '角色ID',
`role_name` varchar(64) DEFAULT NULL COMMENT '角色名称',
`role_code` varchar(64) DEFAULT NULL COMMENT '角色编码',
`role_desc` varchar(255) DEFAULT NULL COMMENT '角色描述',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
`create_by` varchar(64) NOT NULL DEFAULT ' ' COMMENT '创建人',
`update_by` varchar(64) NOT NULL DEFAULT ' ' COMMENT '修改人',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`role_id`) USING BTREE,
KEY `idx_role_code` (`role_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='App角色表';
-- 3. app_user_role — 用户角色关联
CREATE TABLE IF NOT EXISTS `app_user_role` (
`user_id` bigint NOT NULL COMMENT '用户ID',
`role_id` bigint NOT NULL COMMENT '角色ID',
PRIMARY KEY (`user_id`, `role_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户角色关联表';
-- 4. app_social_details — 社交登录配置
CREATE TABLE IF NOT EXISTS `app_social_details` (
`id` bigint NOT NULL COMMENT '主键',
`type` varchar(16) DEFAULT NULL COMMENT '社交类型',
`remark` varchar(64) DEFAULT NULL COMMENT '备注',
`app_id` varchar(64) DEFAULT NULL COMMENT '应用ID',
`app_secret` varchar(64) DEFAULT NULL COMMENT '应用密钥',
`redirect_url` varchar(128) DEFAULT NULL COMMENT '重定向URL',
`ext` varchar(255) DEFAULT NULL COMMENT '拓展字段',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) NOT NULL DEFAULT ' ' COMMENT '创建人',
`update_by` varchar(64) NOT NULL DEFAULT ' ' COMMENT '修改人',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='社交登录配置表';
-- 5. app_article_category — 文章分类
CREATE TABLE IF NOT EXISTS `app_article_category` (
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
`name` varchar(60) NOT NULL DEFAULT '' COMMENT '分类名称',
`sort` smallint UNSIGNED NOT NULL DEFAULT 50 COMMENT '排序',
`is_show` tinyint UNSIGNED NOT NULL DEFAULT 1 COMMENT '是否显示: 0=否, 1=是',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
`create_by` varchar(32) DEFAULT '0' COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文章分类表';
-- 6. app_article — 文章资讯
CREATE TABLE IF NOT EXISTS `app_article` (
`id` bigint NOT NULL COMMENT '主键',
`cid` bigint NOT NULL COMMENT '分类ID',
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '标题',
`intro` varchar(200) NOT NULL DEFAULT '' COMMENT '简介',
`summary` varchar(200) DEFAULT '' COMMENT '摘要',
`image` varchar(200) NOT NULL DEFAULT '' COMMENT '封面图片',
`content` text COMMENT '内容',
`author` varchar(32) NOT NULL DEFAULT '' COMMENT '作者',
`visit` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览量',
`sort` int UNSIGNED NOT NULL DEFAULT 50 COMMENT '排序',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_cid` (`cid`) USING BTREE COMMENT '分类索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文章资讯表';
-- 7. app_article_collect — 文章收藏
CREATE TABLE IF NOT EXISTS `app_article_collect` (
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
`user_id` bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID',
`article_id` bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '文章ID',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_article_id` (`article_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文章收藏表';
-- 8. app_page — 页面装修
CREATE TABLE IF NOT EXISTS `app_page` (
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
`page_type` tinyint UNSIGNED NOT NULL DEFAULT 10 COMMENT '页面类型',
`page_name` varchar(100) NOT NULL DEFAULT '' COMMENT '页面名称',
`page_data` text COMMENT '页面数据JSON',
`del_flag` char(1) DEFAULT NULL COMMENT '删除标志',
`tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='页面装修表';
-- 9. app_tabbar — 底部导航栏
CREATE TABLE IF NOT EXISTS `app_tabbar` (
`id` bigint UNSIGNED NOT NULL COMMENT '主键',
`name` varchar(20) NOT NULL DEFAULT '' COMMENT '导航名称',
`selected` varchar(200) NOT NULL DEFAULT '' COMMENT '选中图标',
`unselected` varchar(200) NOT NULL DEFAULT '' COMMENT '未选图标',
`link` varchar(200) NOT NULL COMMENT '链接地址JSON',
`del_flag` char(1) DEFAULT NULL COMMENT '删除标志',
`tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='底部导航栏表';
-- ============================================================
-- 二、iShare 核心业务表8 张)
-- ============================================================
-- 10. as_platform_type — 平台类型(基础字典表)
CREATE TABLE IF NOT EXISTS `as_platform_type` (
`id` bigint NOT NULL COMMENT '主键',
`name` varchar(64) NOT NULL COMMENT '类型名称视频、音乐、AI等',
`platform_type` int DEFAULT 0 COMMENT '类型编号0=全部',
`sort_order` varchar(32) DEFAULT NULL COMMENT '排序',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_platform_type` (`platform_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='平台类型表';
-- 11. as_platform — 流媒体平台
CREATE TABLE IF NOT EXISTS `as_platform` (
`id` bigint NOT NULL COMMENT '主键',
`platform_name` varchar(128) NOT NULL COMMENT '平台名称',
`platform_type` int DEFAULT 0 COMMENT '平台类型关联as_platform_type0=全部',
`icon` varchar(512) DEFAULT NULL COMMENT '应用图标URL',
`company` varchar(128) DEFAULT NULL COMMENT '所属公司',
`website` varchar(256) DEFAULT NULL COMMENT '平台官网',
`sort_order` varchar(32) DEFAULT NULL COMMENT '排序',
`product_code` varchar(64) DEFAULT NULL COMMENT '产品编码类型_名称_id',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_platform_type` (`platform_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='流媒体平台表';
-- 12. as_sub_plan — 订阅计划
CREATE TABLE IF NOT EXISTS `as_sub_plan` (
`id` bigint NOT NULL COMMENT '计划ID',
`name` varchar(128) NOT NULL COMMENT '计划名称(标准版、高级版等)',
`platform_id` varchar(64) DEFAULT NULL COMMENT '所属平台ID',
`capacity` varchar(16) DEFAULT NULL COMMENT '用户容量(可共享席位数)',
`remark` varchar(256) DEFAULT NULL COMMENT '备注',
`sort_order` varchar(32) DEFAULT NULL COMMENT '排序',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_platform_id` (`platform_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订阅计划表';
-- 13. as_sub_payroll — 付费方案
CREATE TABLE IF NOT EXISTS `as_sub_payroll` (
`id` bigint NOT NULL COMMENT '主键',
`sub_plans` bigint DEFAULT NULL COMMENT '关联的订阅计划ID',
`platform_id` int DEFAULT NULL COMMENT '平台ID',
`payroll` int DEFAULT NULL COMMENT '付费周期: 1=月付, 2=季付, 3=年付',
`price` decimal(10,2) DEFAULT NULL COMMENT '价格',
`currency` varchar(16) DEFAULT NULL COMMENT '货币CNY/USD等',
`region` varchar(64) DEFAULT NULL COMMENT '地区',
`product_code` varchar(64) DEFAULT NULL COMMENT '产品编码',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_sub_plans` (`sub_plans`) USING BTREE,
KEY `idx_platform_id` (`platform_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='付费方案表';
-- 14. as_sub_product — 订阅产品(合租商品)
CREATE TABLE IF NOT EXISTS `as_sub_product` (
`id` bigint NOT NULL COMMENT '主键',
`title` varchar(256) NOT NULL COMMENT '产品标题',
`description` varchar(1024) DEFAULT NULL COMMENT '描述',
`tags` varchar(256) DEFAULT NULL COMMENT '标签(逗号分隔)',
`star` int DEFAULT NULL COMMENT '综合评分',
`sub_plan_ids` varchar(256) DEFAULT NULL COMMENT '关联的订阅计划ID列表',
`amount` decimal(10,2) DEFAULT NULL COMMENT '总价',
`user_id` bigint DEFAULT NULL COMMENT '发布者用户ID',
`product_type` bigint DEFAULT NULL COMMENT '产品类型: 1=自营, 2=个人',
`sub_type` bigint DEFAULT NULL COMMENT '订阅类型: 1=单品, 2=多品组合',
`product_code` varchar(64) DEFAULT NULL COMMENT '产品编码类型_名称_id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_product_type` (`product_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订阅产品表(合租商品)';
-- 15. as_sub_product_comment — 产品评价
CREATE TABLE IF NOT EXISTS `as_sub_product_comment` (
`id` bigint NOT NULL COMMENT '主键',
`star` int DEFAULT NULL COMMENT '评分',
`comment` varchar(1024) DEFAULT NULL COMMENT '评价内容',
`user_id` bigint DEFAULT NULL COMMENT '评价用户ID',
`product_id` bigint DEFAULT NULL COMMENT '关联产品ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_product_id` (`product_id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产品评价表';
-- 16. as_sub_account — 订阅账号
CREATE TABLE IF NOT EXISTS `as_sub_account` (
`id` bigint NOT NULL COMMENT '主键',
`product_id` bigint DEFAULT NULL COMMENT '关联产品ID',
`sub_plan_id` int DEFAULT NULL COMMENT '订阅计划ID',
`user_id` int DEFAULT NULL COMMENT '账号持有者(主用户)',
`sub_payroll_id` int DEFAULT NULL COMMENT '付费方案ID',
`region` varchar(64) DEFAULT NULL COMMENT '地区',
`share_type` int DEFAULT NULL COMMENT '分享类型',
`account_type` int DEFAULT NULL COMMENT '账号类型',
`renew_date` datetime DEFAULT NULL COMMENT '续费日期',
`platform_id` int DEFAULT NULL COMMENT '平台ID',
`account_name` varchar(256) DEFAULT NULL COMMENT '平台登录用户名',
`account_passwd` varchar(256) DEFAULT NULL COMMENT '平台登录密码',
`passwd_salt` int DEFAULT NULL COMMENT '密码盐值',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_product_id` (`product_id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_platform_id` (`platform_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订阅账号表';
-- 17. as_user_sub — 用户订阅关系
CREATE TABLE IF NOT EXISTS `as_user_sub` (
`id` bigint NOT NULL COMMENT '主键',
`platform_id` int DEFAULT NULL COMMENT '平台ID',
`capacity` int DEFAULT NULL COMMENT '总容量(席位数)',
`capacity_loaded` int DEFAULT NULL COMMENT '已占用容量',
`plan_id` int DEFAULT NULL COMMENT '订阅计划ID',
`user_id` int DEFAULT NULL COMMENT '用户ID',
`main_account` int DEFAULT NULL COMMENT '主账号ID关联as_sub_account',
`region` varchar(64) DEFAULT NULL COMMENT '地区',
`target_ip` varchar(64) DEFAULT NULL COMMENT '目标IP区域限制用',
`remark` int DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_plan_id` (`plan_id`) USING BTREE,
KEY `idx_main_account` (`main_account`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户订阅关系表';
SET FOREIGN_KEY_CHECKS = 1;