100 lines
3.0 KiB
SQL
100 lines
3.0 KiB
SQL
-- 套餐表 biz_plan(与 api/model/biz_plan.js 一致,tableName: biz_plan)
|
||
-- MySQL 8+,字符集 utf8mb4
|
||
|
||
SET NAMES utf8mb4;
|
||
|
||
CREATE TABLE IF NOT EXISTS `biz_plan` (
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
`plan_code` VARCHAR(64) NOT NULL COMMENT '唯一编码',
|
||
`plan_name` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '展示名称',
|
||
`monthly_price` DECIMAL(12, 2) NOT NULL DEFAULT 0.00 COMMENT '月价',
|
||
`auth_fee` DECIMAL(12, 2) NOT NULL DEFAULT 0.00 COMMENT '授权费',
|
||
`account_limit` INT NOT NULL DEFAULT 0 COMMENT '账号上限,0 表示由业务解释',
|
||
`active_user_limit` INT NOT NULL DEFAULT 0 COMMENT '活跃用户数上限',
|
||
`msg_quota` INT NOT NULL DEFAULT 0 COMMENT '消息额度',
|
||
`mass_quota` INT NOT NULL DEFAULT 0 COMMENT '群发额度',
|
||
`friend_quota` INT NOT NULL DEFAULT 0 COMMENT '加好友额度',
|
||
`sns_quota` INT NOT NULL DEFAULT 0 COMMENT '朋友圈额度',
|
||
`enabled_features` JSON NULL COMMENT '功能点(JSON),null 表示不限制',
|
||
`allowed_apis` JSON NULL COMMENT '可访问接口路径 JSON 数组,null 表示不限制',
|
||
`api_call_quota` INT NOT NULL DEFAULT 0 COMMENT '每月 API 转发总次数上限,0 表示不限制',
|
||
`status` ENUM('active', 'inactive') NOT NULL DEFAULT 'active',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_biz_plan_plan_code` (`plan_code`),
|
||
KEY `idx_biz_plan_status` (`status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
||
-- ---------- 若已有旧表缺列,可单独执行(列已存在会报错,可忽略)----------
|
||
-- ALTER TABLE `biz_plan` ADD COLUMN `enabled_features` JSON NULL COMMENT '功能点(JSON),null 表示不限制';
|
||
-- ALTER TABLE `biz_plan` ADD COLUMN `allowed_apis` JSON NULL COMMENT '可访问接口路径 JSON 数组,null 表示不限制';
|
||
-- ALTER TABLE `biz_plan` ADD COLUMN `api_call_quota` INT NOT NULL DEFAULT 0 COMMENT '每月 API 转发总次数上限,0 表示不限制';
|
||
|
||
-- ---------- 示例数据(可选;plan_code 冲突则先删或改编码)----------
|
||
INSERT INTO `biz_plan` (
|
||
`plan_code`,
|
||
`plan_name`,
|
||
`monthly_price`,
|
||
`auth_fee`,
|
||
`account_limit`,
|
||
`active_user_limit`,
|
||
`msg_quota`,
|
||
`mass_quota`,
|
||
`friend_quota`,
|
||
`sns_quota`,
|
||
`enabled_features`,
|
||
`allowed_apis`,
|
||
`api_call_quota`,
|
||
`status`
|
||
) VALUES
|
||
(
|
||
'plan_junior',
|
||
'初级版',
|
||
299.00,
|
||
0.00,
|
||
3,
|
||
50,
|
||
3000,
|
||
100,
|
||
200,
|
||
100,
|
||
JSON_ARRAY('登录', '好友', '消息', '管理'),
|
||
JSON_ARRAY('/login/GetLoginStatus', '/login/DeviceLogin', '/message/SendText', '/friend/GetContactList'),
|
||
50000,
|
||
'active'
|
||
),
|
||
(
|
||
'plan_senior',
|
||
'高级版',
|
||
899.00,
|
||
0.00,
|
||
20,
|
||
500,
|
||
50000,
|
||
2000,
|
||
5000,
|
||
2000,
|
||
JSON_ARRAY(
|
||
'登录', '好友', '消息', '群聊', '朋友圈', '小程序', '管理',
|
||
'设备', '收藏', '视频号', '标签', '支付', '企业微信', '商店', '其他', 'Ws'
|
||
),
|
||
NULL,
|
||
500000,
|
||
'active'
|
||
),
|
||
(
|
||
'plan_custom',
|
||
'定制版',
|
||
0.00,
|
||
0.00,
|
||
9999,
|
||
9999,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
NULL,
|
||
NULL,
|
||
0,
|
||
'active'
|
||
);
|