-- ============================================
-- 代理分级权限系统 SQL 初始化脚本
-- 在宝塔面板 phpMyAdmin 中执行此SQL
-- ============================================

-- 1. 创建二级代理权限组 (group_id=12)
-- 注意: 如果 id=12 已存在，请手动修改ID或删除冲突记录
INSERT INTO `fa_auth_group` (`id`, `pid`, `name`, `rules`, `createtime`, `updatetime`, `status`)
SELECT 12, 11, '二级代理',
    -- 二级代理只有基本权限：查看团队统计 + 查看合约订单（只读）
    (SELECT `rules` FROM `fa_auth_group` WHERE `id` = 11 LIMIT 1),
    UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 'normal'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `fa_auth_group` WHERE `id` = 12);

-- 2. 确保一级代理权限组 (group_id=11) 包含必要权限
-- 总代理(id=1)在后台 权限管理→角色组 中可以随时调整各组权限
-- 一级代理必备权限: 地址管理, 交易管理, 账户管理, 客服管理
-- 二级代理基本权限: 仅查看团队统计和合约订单

-- 3. 将一级代理权限组的父级设为总管理(pid=1)
UPDATE `fa_auth_group` SET `pid` = 1, `name` = '一级代理' WHERE `id` = 11;

-- 4. 添加一键平仓权限规则（如果不存在）
INSERT INTO `fa_auth_rule` (`type`, `pid`, `name`, `title`, `icon`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`, `status`)
SELECT 'file', 0, 'app/app_contract/closeall', '一键平仓', 'fa fa-gavel', '', '', 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 'normal'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `fa_auth_rule` WHERE `name` = 'app/app_contract/closeall');

-- 5. 将一键平仓权限添加到超级管理员组（如果需要的话，通常id=1的管理员自动拥有所有权限）
-- 如果需要给一级代理也赋予一键平仓权限，在后台角色组中勾选即可

-- ============================================
-- 使用说明:
-- 1. 在宝塔 phpMyAdmin 中执行此SQL
-- 2. 登录后台 → 权限管理 → 角色组
-- 3. 编辑「一级代理」(group_id=11) - 勾选需要的权限（地址管理/交易管理/账户管理/客服管理）
-- 4. 编辑「二级代理」(group_id=12) - 仅勾选基本权限（查看团队统计）
-- 5. 创建代理时选择类型，系统自动分配对应权限组
-- ============================================
