Files
huangjingfen/pro_v3.5.1/database/syj_agent_level_seed.sql
danaisuiyuan b9d70438b1 feat(syj): seed agent levels per prd-require.md
Re-init eb_agent_level (4 tiers: 普通会员/业务主管/业务经理/业务总监)
and eb_agent_level_task (3 upgrade tasks: 直推 3 / 团队 30 单 / 团队
100 单) based on docs/project-shaoyaoju/prd-require.md §7.2.

TRUNCATE-based; orphan cleanup of eb_agent_level_task_record left
commented for the operator to opt in.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 10:30:51 +08:00

69 lines
3.9 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 芍药居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;