-- 芍药居（syj-shop）分销等级 + 等级任务 baseline
-- 数据来源：docs/project-shaoyaoju/prd-require.md 7.2 节
-- 用法：mysql ... syj-shop < pro_v3.5.1/database/syj_agent_level_seed.sql
-- 重新初始化：清空两张表并按 PRD 写入 4 级 + 3 个升级任务（普通会员为基础级，无任务）
--
-- 关联代码：
--   app/services/agent/AgentLevelTaskServices.php $TaskType
--     type=7 伞下报单业绩 / type=8 最低直推人数
--
-- ⚠️ 说明（与 PRD 的差异）：
--   1. eb_agent_level 仅有 direct_reward_points / umbrella_reward_points 两列，
--      业务总监原文"业务经理差补 200 + 业务主管差补 500"无法用两列完整表达；
--      本 seed 把 200（最近一级差补）写入 umbrella_reward_points，
--      "业务主管差补 500" 需要业务层另行实现（建议放到 system_config 或代码常量）。
--   2. 业务主管原文"团队每新增 1 单 500 积分"：
--      团队=直推+伞下，但只有一列存储，本 seed 写入 direct_reward_points=500。
--   3. 一级/二级佣金比例 (one_brokerage / two_brokerage) 全部置 0：
--      SYJ 主线奖励走"推四免一"任务结算（10/20/30/40 阶梯，扣 7%），不走百分比直接分佣。
--
-- ⚠️ 副作用：
--   - eb_agent_level_task_record 中可能存在引用旧 task_id 的用户记录，
--     re-init 后这些记录会变成孤儿数据。下方提供了可选的清理语句（默认注释掉）。

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- 分销等级 eb_agent_level
-- ----------------------------
TRUNCATE TABLE `eb_agent_level`;
INSERT INTO `eb_agent_level`
    (`id`, `name`,       `image`,                              `color`,   `one_brokerage`, `two_brokerage`, `grade`, `status`, `is_del`, `add_time`,            `direct_reward_points`, `umbrella_reward_points`)
VALUES
    (1, '普通会员', '/uploads/system/agent_level_1.png', '#999999', 0, 0, 1, 1, 0, UNIX_TIMESTAMP(), 0,    0),
    (2, '业务主管', '/uploads/system/agent_level_2.png', '#5D7DAC', 0, 0, 2, 1, 0, UNIX_TIMESTAMP(), 500,  0),
    (3, '业务经理', '/uploads/system/agent_level_3.png', '#5856D6', 0, 0, 3, 1, 0, UNIX_TIMESTAMP(), 800,  300),
    (4, '业务总监', '/uploads/system/agent_level_4.png', '#1DB0FC', 0, 0, 4, 1, 0, UNIX_TIMESTAMP(), 1000, 200);

-- ----------------------------
-- 分销等级任务 eb_agent_level_task
--   普通会员 (level_id=1) 为基础级，注册并完成首单即拥有，无升级任务
--   升业务主管 (level_id=2) ：直推 3 位有效会员
--   升业务经理 (level_id=3) ：团队累计 30 单
--   升业务总监 (level_id=4) ：团队累计 100 单
-- ----------------------------
TRUNCATE TABLE `eb_agent_level_task`;
INSERT INTO `eb_agent_level_task`
    (`id`, `level_id`, `name`,           `type`, `number`, `desc`,                `is_must`, `sort`, `status`, `is_del`, `add_time`)
VALUES
    (1, 2, '直推有效会员', 8, 3,   '直推 3 位有效会员',  0, 0, 1, 0, UNIX_TIMESTAMP()),
    (2, 3, '团队累计单数', 7, 30,  '团队累计 30 单',     0, 0, 1, 0, UNIX_TIMESTAMP()),
    (3, 4, '团队累计单数', 7, 100, '团队累计 100 单',    0, 0, 1, 0, UNIX_TIMESTAMP());

-- ----------------------------
-- 可选：清理旧 task_id 留下的用户记录（默认注释；执行将丢失用户进度）
-- ----------------------------
-- TRUNCATE TABLE `eb_agent_level_task_record`;

SET FOREIGN_KEY_CHECKS = 1;

-- ----------------------------
-- 校验
-- ----------------------------
-- SELECT id, name, grade, direct_reward_points AS direct_pts, umbrella_reward_points AS umbrella_pts, status
--   FROM eb_agent_level WHERE is_del=0 ORDER BY grade;
-- SELECT t.id, t.level_id, l.name AS level_name, t.name, t.type, t.number, t.desc
--   FROM eb_agent_level_task t LEFT JOIN eb_agent_level l ON t.level_id=l.id
--  WHERE t.is_del=0 ORDER BY t.level_id, t.id;
