293 lines
15 KiB
SQL
293 lines
15 KiB
SQL
-- ============================================================
|
||
-- 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_type),0=全部',
|
||
`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;
|