chore: 重写初始提交(清空历史,整理后全量提交)
This commit is contained in:
@@ -0,0 +1,215 @@
|
||||
-- ============================================================
|
||||
-- 应用市场(appmall)插件安装表结构
|
||||
-- 事实源:addon/appmall/library/AppmallSchema.php::ensure()
|
||||
-- 与运行时自愈 DDL 一致;扩展列已合并进建表,全新安装即完整。
|
||||
-- ============================================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_addon_orders` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`uid` int unsigned NOT NULL DEFAULT 0,
|
||||
`aid` int unsigned NOT NULL DEFAULT 0 COMMENT 'appmall_addon_list.id',
|
||||
`site_id` int unsigned NOT NULL DEFAULT 0 COMMENT '下单站点',
|
||||
`amount` decimal(10,2) NOT NULL DEFAULT 0,
|
||||
`status` tinyint NOT NULL DEFAULT 0 COMMENT '0=待支付 1=已支付 2=已退款',
|
||||
`trade_no` varchar(64) NOT NULL DEFAULT '' COMMENT '商户订单号',
|
||||
`pay_time` int unsigned DEFAULT 0,
|
||||
`create_at` int unsigned DEFAULT 0,
|
||||
`update_at` int unsigned DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_uid` (`uid`),
|
||||
KEY `idx_trade` (`trade_no`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件购买订单表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_addon_licenses` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`uid` int unsigned NOT NULL,
|
||||
`aid` int unsigned NOT NULL,
|
||||
`license_key` varchar(64) NOT NULL COMMENT '授权码',
|
||||
`site_id` int unsigned NOT NULL DEFAULT 0 COMMENT '绑定站点',
|
||||
`domain` varchar(255) DEFAULT NULL COMMENT '绑定域名(站点授权)',
|
||||
`status` tinyint NOT NULL DEFAULT 1 COMMENT '1=有效 0=已吊销',
|
||||
`expire_time` int unsigned DEFAULT 0 COMMENT '0为永久',
|
||||
`download_count` int DEFAULT 0 COMMENT '下载次数限制',
|
||||
`create_at` int DEFAULT 0,
|
||||
`update_at` int DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `license_key` (`license_key`),
|
||||
UNIQUE KEY `uk_uid_aid` (`uid`, `aid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件授权表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_addon_download_logs` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
|
||||
`license_id` int unsigned NOT NULL DEFAULT 0,
|
||||
`uid` int unsigned NOT NULL DEFAULT 0,
|
||||
`aid` int unsigned NOT NULL DEFAULT 0,
|
||||
`operator_id` int unsigned NOT NULL DEFAULT 0 COMMENT '运营后台安装者(特权放行审计)',
|
||||
`ip` varchar(45) DEFAULT '',
|
||||
`create_at` int unsigned DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_license` (`license_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件下载日志表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_throttle` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`action` varchar(30) NOT NULL COMMENT '限流动作(buy/notify/download/submit)',
|
||||
`ident` varchar(80) NOT NULL COMMENT '限流标识(uid 或 IP)',
|
||||
`count` int unsigned NOT NULL DEFAULT 0 COMMENT '窗口内已请求次数',
|
||||
`expire_at` int unsigned NOT NULL DEFAULT 0 COMMENT '窗口过期时间戳',
|
||||
`create_at` int unsigned DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_action_ident` (`action`, `ident`),
|
||||
KEY `idx_expire` (`expire_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='接口频率限制表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_addon_review_log` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`submission_id` int unsigned NOT NULL DEFAULT 0 COMMENT 'appmall_addon_submissions.id',
|
||||
`operator_id` int unsigned NOT NULL DEFAULT 0 COMMENT '操作管理员ID',
|
||||
`action` varchar(20) NOT NULL COMMENT '操作:submit/approve/reject',
|
||||
`from_status` tinyint NOT NULL DEFAULT 0 COMMENT '变更前状态',
|
||||
`to_status` tinyint NOT NULL DEFAULT 0 COMMENT '变更后状态',
|
||||
`reason` varchar(255) NOT NULL DEFAULT '' COMMENT '审核意见/驳回理由',
|
||||
`create_at` int unsigned NOT NULL DEFAULT 0 COMMENT '操作时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_submission` (`submission_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件审核历史日志(可视化时间线数据源)';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_developers` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(100) NOT NULL COMMENT '开发者名称',
|
||||
`email` varchar(120) NOT NULL COMMENT '邮箱(接收令牌/通知)',
|
||||
`token` varchar(64) NOT NULL COMMENT '开发者令牌(发布插件时校验)',
|
||||
`status` tinyint DEFAULT 0 COMMENT '0=待审核 1=正常 -1=禁用',
|
||||
`balance` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '可提现余额',
|
||||
`frozen_balance` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '待结算/冻结金额',
|
||||
`create_at` int DEFAULT 0,
|
||||
`update_at` int DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_email` (`email`),
|
||||
UNIQUE KEY `uk_token` (`token`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='市场开发者表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_addon_revenues` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`developer_id` int unsigned NOT NULL DEFAULT '0' COMMENT '受益开发者',
|
||||
`order_id` int unsigned NOT NULL DEFAULT '0' COMMENT 'appmall_addon_orders.id',
|
||||
`aid` int unsigned NOT NULL DEFAULT '0' COMMENT 'appmall_addon_list.id',
|
||||
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '购买用户',
|
||||
`amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '订单金额',
|
||||
`commission` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '平台抽成',
|
||||
`income` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '开发者应得',
|
||||
`status` tinyint DEFAULT 0 COMMENT '0=待结算 1=已结算',
|
||||
`create_at` int DEFAULT 0,
|
||||
`settle_at` int DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_developer` (`developer_id`),
|
||||
KEY `idx_order` (`order_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件销售收益账本';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_addon_withdrawals` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`developer_id` int unsigned NOT NULL DEFAULT '0',
|
||||
`amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '提现金额',
|
||||
`channel` varchar(20) DEFAULT 'alipay' COMMENT '提现渠道',
|
||||
`account` varchar(100) DEFAULT '' COMMENT '收款账号',
|
||||
`status` tinyint DEFAULT 0 COMMENT '0=待处理 1=已打款 -1=驳回',
|
||||
`remark` varchar(255) DEFAULT '',
|
||||
`create_at` int DEFAULT 0,
|
||||
`update_at` int DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_developer` (`developer_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='开发者提现单';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_addon_submissions` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`developer_id` int unsigned NOT NULL DEFAULT 0 COMMENT 'appmall_developers.id',
|
||||
`name` varchar(50) NOT NULL COMMENT '插件标识符',
|
||||
`type` varchar(20) NOT NULL DEFAULT 'addon' COMMENT '商品类型:addon=插件 template=模板',
|
||||
`title` varchar(100) NOT NULL DEFAULT '' COMMENT '名称',
|
||||
`author` varchar(100) DEFAULT '' COMMENT '作者',
|
||||
`description` text COMMENT '简介',
|
||||
`version` varchar(20) NOT NULL COMMENT '版本号',
|
||||
`price` decimal(10,2) NOT NULL DEFAULT 0 COMMENT '价格',
|
||||
`logo` varchar(255) DEFAULT '' COMMENT '封面',
|
||||
`category` varchar(50) DEFAULT '' COMMENT '分类',
|
||||
`tags` varchar(255) DEFAULT '' COMMENT '标签',
|
||||
`file_path` varchar(255) NOT NULL COMMENT '待审包路径',
|
||||
`file_hash` varchar(64) NOT NULL COMMENT 'SHA256',
|
||||
`changelog` text COMMENT '更新日志',
|
||||
`require_framework` varchar(20) DEFAULT '' COMMENT '最低兼容框架版本,如 1.2.0',
|
||||
`status` tinyint DEFAULT 0 COMMENT '0待审 1通过 2驳回',
|
||||
`reject_reason` varchar(255) DEFAULT '' COMMENT '驳回原因',
|
||||
`create_at` int DEFAULT 0,
|
||||
`update_at` int DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_name_ver` (`name`, `version`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件提交审核表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_addon_list` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(50) NOT NULL COMMENT '标识符',
|
||||
`type` varchar(20) NOT NULL DEFAULT 'addon' COMMENT '商品类型:addon=插件 template=模板',
|
||||
`developer_id` int unsigned NOT NULL DEFAULT 0 COMMENT 'appmall_developers.id',
|
||||
`title` varchar(100) NOT NULL COMMENT '名称',
|
||||
`version` varchar(20) NOT NULL COMMENT '版本号',
|
||||
`price` decimal(10,2) NOT NULL DEFAULT 0 COMMENT '价格',
|
||||
`author` varchar(100) DEFAULT '' COMMENT '作者',
|
||||
`description` text COMMENT '简介/描述',
|
||||
`logo` varchar(255) DEFAULT '' COMMENT '封面图 URL',
|
||||
`file_path` varchar(255) NOT NULL COMMENT '存储路径(非公开)',
|
||||
`file_hash` varchar(64) NOT NULL COMMENT 'SHA256校验值',
|
||||
`category` varchar(50) DEFAULT '' COMMENT '分类',
|
||||
`tags` varchar(255) DEFAULT '' COMMENT '标签(逗号分隔)',
|
||||
`screenshots` text COMMENT '截图URL(逗号分隔或JSON)',
|
||||
`rating` decimal(2,1) DEFAULT '0.0' COMMENT '评分(0.0~5.0)',
|
||||
`status` tinyint DEFAULT 1 COMMENT '1上架 0下架',
|
||||
`download_count` int DEFAULT 0 COMMENT '下载次数',
|
||||
`changelog` text COMMENT '更新日志',
|
||||
`require_framework` varchar(20) DEFAULT '' COMMENT '最低兼容框架版本,如 1.2.0',
|
||||
`create_at` int DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int DEFAULT 0 COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='市场插件列表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_sites` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`site_token` varchar(64) NOT NULL DEFAULT '' COMMENT '站点令牌(客户端 install 时生成/上报)',
|
||||
`domain` varchar(255) NOT NULL DEFAULT '' COMMENT '主域名',
|
||||
`owner_uid` int unsigned NOT NULL DEFAULT '0' COMMENT '站点所有者用户ID',
|
||||
`status` tinyint NOT NULL DEFAULT '1' COMMENT '1=正常 0=禁用',
|
||||
`create_at` int DEFAULT 0,
|
||||
`update_at` int DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_domain` (`domain`),
|
||||
KEY `idx_token` (`site_token`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='市场客户端站点(授权绑定维度)';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_framework_list` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`version` varchar(20) NOT NULL COMMENT '框架版本号',
|
||||
`title` varchar(100) DEFAULT '' COMMENT '版本标题',
|
||||
`changelog` text COMMENT '更新日志',
|
||||
`file_path` varchar(255) DEFAULT '' COMMENT '整包 zip 物理路径(非 Web 可访问目录)',
|
||||
`file_hash` varchar(64) DEFAULT '' COMMENT '整包 SHA256 校验值',
|
||||
`patch_path` varchar(255) DEFAULT '' COMMENT '增量补丁 zip 物理路径(与整包同版本共存)',
|
||||
`patch_hash` varchar(64) DEFAULT '' COMMENT '补丁 SHA256 校验值',
|
||||
`patch_from` varchar(20) DEFAULT '' COMMENT '补丁适用的基础版本',
|
||||
`type` tinyint DEFAULT 0 COMMENT '兼容旧客户端:0=含整包 1=仅补丁',
|
||||
`from_version` varchar(20) DEFAULT '' COMMENT '兼容旧客户端:补丁基础版本镜像',
|
||||
`status` tinyint DEFAULT 0 COMMENT '0=草稿 1=已发布(可下载)',
|
||||
`download_count` int DEFAULT 0 COMMENT '下载次数',
|
||||
`create_at` int DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int DEFAULT 0 COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_version` (`version`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='主框架版本表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `appmall_framework_download_log` (
|
||||
`id` int unsigned NOT NULL AUTO_INCREMENT,
|
||||
`version` varchar(20) NOT NULL COMMENT '下载的版本号',
|
||||
`uid` int DEFAULT 0 COMMENT '下载用户ID(来自客户端)',
|
||||
`ip` varchar(45) DEFAULT '' COMMENT '下载来源IP',
|
||||
`create_at` int DEFAULT 0 COMMENT '下载时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_version` (`version`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='主框架下载日志表';
|
||||
Reference in New Issue
Block a user