Files
huangjingfen/pro_v3.5.1/database/syj_agent_level_seed.sql

69 lines
3.9 KiB
MySQL
Raw Normal View History

-- 芍药居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;