69 lines
3.9 KiB
MySQL
69 lines
3.9 KiB
MySQL
|
|
-- 芍药居(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;
|