文件
xionggeshop/addons/shopro/tests/regional_agent_test_data.sql

152 行
10 KiB
SQL

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

-- 区域代理测试用户(备用 SQL,推荐使用 PHP 脚本自动初始化)
-- php addons/shopro/tests/regional_agent_setup_test_users.php
--
-- 统一密码: Test@123456
-- salt: fxtest01
-- 默认区域: 贵州省 / 贵阳市 / 南明区 (520000 / 520100 / 520102)
-- 买家余额: 10000 | 代理余额: 5000
SET @ts = UNIX_TIMESTAMP();
SET @pwd = '2e6b7166bb58caa2a84dd3eca3391f67';
SET @salt = 'fxtest01';
SET @buyer_money = 10000.00;
SET @agent_money = 5000.00;
SET @chain_money = 5000.00;
-- ========== 1. 区域代理配置 ==========
INSERT INTO `fa_shopro_regional_agent_config` (`id`, `name`, `value`, `group`, `description`) VALUES
(1, 'enable', '1', 'basic', '区域代理开关'),
(2, 'agent_check', '0', 'basic', '代理申请审核'),
(3, 'commission_event', 'payed', 'amount', '佣金结算事件'),
(5, 'commission_mode', 'stack', 'amount', '分佣模式')
ON DUPLICATE KEY UPDATE value=VALUES(value), `group`=VALUES(`group`), description=VALUES(description);
-- ========== 2. 代理等级 ==========
INSERT INTO `fa_shopro_regional_agent_level` (`level`, `name`, `area_level`, `commission_rate`, `commission_money`, `commission_type`) VALUES
(1, '省级代理', 1, 3.00, 0.00, 'rate'),
(2, '市级代理', 2, 2.00, 0.00, 'rate'),
(3, '区县代理', 3, 1.00, 0.00, 'rate')
ON DUPLICATE KEY UPDATE
name=VALUES(name), area_level=VALUES(area_level),
commission_rate=VALUES(commission_rate), commission_money=VALUES(commission_money),
commission_type=VALUES(commission_type);
-- ========== 3. 测试用户(含余额) ==========
INSERT INTO `fa_user` (`id`,`username`,`nickname`,`password`,`salt`,`mobile`,`email`,`parent_user_id`,`level`,`score`,`money`,`total_consume`,`jointime`,`joinip`,`logintime`,`loginip`,`prevtime`,`createtime`,`updatetime`,`status`) VALUES
(910001,'ra_province_agent','区域-省级代理',@pwd,@salt,'19900000011','19900000011@ra-test.local',0,1,0,@agent_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal'),
(910002,'ra_city_agent','区域-市级代理',@pwd,@salt,'19900000012','19900000012@ra-test.local',0,1,0,@agent_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal'),
(910003,'ra_district_agent','区域-区县代理',@pwd,@salt,'19900000013','19900000013@ra-test.local',0,1,0,@agent_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal'),
(910004,'ra_buyer_main','区域-买家主测',@pwd,@salt,'19900000014','19900000014@ra-test.local',0,1,0,@buyer_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal'),
(910005,'ra_buyer_alt','区域-买家备用',@pwd,@salt,'19900000015','19900000015@ra-test.local',0,1,0,@buyer_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal'),
(910006,'ra_comm_a','区域测-分销三级',@pwd,@salt,'19900000016','19900000016@ra-test.local',0,1,0,@chain_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal'),
(910007,'ra_comm_b','区域测-分销二级',@pwd,@salt,'19900000017','19900000017@ra-test.local',910006,1,0,@chain_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal'),
(910008,'ra_comm_c','区域测-分销一级',@pwd,@salt,'19900000018','19900000018@ra-test.local',910007,1,0,@chain_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal'),
(910009,'ra_buyer_chain','区域-买家D',@pwd,@salt,'19900000019','19900000019@ra-test.local',910008,1,0,@buyer_money,0,@ts,'127.0.0.1',@ts,'127.0.0.1',@ts,@ts,@ts,'normal')
ON DUPLICATE KEY UPDATE
nickname=VALUES(nickname), password=VALUES(password), salt=VALUES(salt),
mobile=VALUES(mobile), parent_user_id=VALUES(parent_user_id), money=VALUES(money),
status='normal', updatetime=@ts;
-- ========== 4. 分销链(联合测试用) ==========
INSERT INTO `fa_shopro_commission_agent` (`user_id`,`level`,`parent_agent_id`,`status`,`info_status`,`becometime`,`createtime`,`updatetime`) VALUES
(910006,3,0,'normal',1,@ts,@ts,@ts),
(910007,2,910006,'normal',1,@ts,@ts,@ts),
(910008,1,910007,'normal',1,@ts,@ts,@ts)
ON DUPLICATE KEY UPDATE level=VALUES(level), parent_agent_id=VALUES(parent_agent_id), status='normal', info_status=1, updatetime=@ts;
-- ========== 5. 区域代理(省/市/区县) ==========
-- 注意:area_id 需与 fa_shopro_area 中实际 ID 一致,默认贵州省/贵阳市/南明区
UPDATE `fa_shopro_regional_agent`
SET `status`='forbidden', `updatetime`=@ts
WHERE `area_id` IN (520000, 520100, 520102)
AND `area_level` IN (1,2,3)
AND `status`='normal'
AND `user_id` NOT IN (910001,910002,910003);
INSERT INTO `fa_shopro_regional_agent`
(`user_id`,`level`,`area_id`,`area_level`,`area_name`,`commission_type`,`commission_rate`,`commission_money`,`total_income`,`order_money`,`order_count`,`status`,`becometime`,`createtime`,`updatetime`) VALUES
(910001,1,520000,1,'贵州省',NULL,NULL,NULL,30.00,1000.00,1,'normal',@ts,@ts,@ts),
(910002,2,520100,2,'贵阳市',NULL,NULL,NULL,20.00,1000.00,1,'normal',@ts,@ts,@ts),
(910003,3,520102,3,'南明区',NULL,NULL,NULL,10.00,1000.00,1,'normal',@ts,@ts,@ts)
ON DUPLICATE KEY UPDATE
level=VALUES(level), area_id=VALUES(area_id), area_level=VALUES(area_level), area_name=VALUES(area_name),
commission_type=VALUES(commission_type), commission_rate=VALUES(commission_rate),
total_income=VALUES(total_income), order_money=VALUES(order_money), order_count=VALUES(order_count),
status='normal', updatetime=@ts;
-- ========== 6. 买家收货地址(用于区域匹配) ==========
DELETE FROM `fa_shopro_user_address` WHERE `user_id` IN (910004,910005,910009);
INSERT INTO `fa_shopro_user_address`
(`user_id`,`is_default`,`consignee`,`phone`,`province_name`,`city_name`,`area_name`,`address`,`province_id`,`city_id`,`area_id`,`createtime`,`updatetime`) VALUES
(910004,'1','区域-买家主测','19900000014','贵州省','贵阳市','南明区','区域代理测试地址1号',520000,520100,520102,@ts,@ts),
(910005,'1','区域-买家备用','19900000015','贵州省','贵阳市','南明区','区域代理测试地址1号',520000,520100,520102,@ts,@ts),
(910009,'1','区域-买家D','19900000019','贵州省','贵阳市','南明区','区域代理测试地址1号',520000,520100,520102,@ts,@ts);
-- ========== 7. 示例佣金/业绩(mock 订单 910001001) ==========
DELETE FROM `fa_shopro_regional_agent_reward` WHERE `order_id` IN (910001001,910001002);
DELETE FROM `fa_shopro_regional_agent_order` WHERE `order_id` = 910001001;
INSERT INTO `fa_shopro_regional_agent_order`
(`order_id`,`order_item_id`,`buyer_id`,`agent_id`,`agent_user_id`,`area_id`,`area_level`,`amount`,`commission_event`,`commission_reward_status`,`commission_time`,`createtime`,`updatetime`)
SELECT 910001001,910001001,910004,ra.id,910001,520000,1,1000.00,'payed',1,@ts,@ts,@ts FROM `fa_shopro_regional_agent` ra WHERE ra.user_id=910001 LIMIT 1;
INSERT INTO `fa_shopro_regional_agent_order`
(`order_id`,`order_item_id`,`buyer_id`,`agent_id`,`agent_user_id`,`area_id`,`area_level`,`amount`,`commission_event`,`commission_reward_status`,`commission_time`,`createtime`,`updatetime`)
SELECT 910001001,910001001,910004,ra.id,910002,520100,2,1000.00,'payed',1,@ts,@ts,@ts FROM `fa_shopro_regional_agent` ra WHERE ra.user_id=910002 LIMIT 1;
INSERT INTO `fa_shopro_regional_agent_order`
(`order_id`,`order_item_id`,`buyer_id`,`agent_id`,`agent_user_id`,`area_id`,`area_level`,`amount`,`commission_event`,`commission_reward_status`,`commission_time`,`createtime`,`updatetime`)
SELECT 910001001,910001001,910004,ra.id,910003,520102,3,1000.00,'payed',1,@ts,@ts,@ts FROM `fa_shopro_regional_agent` ra WHERE ra.user_id=910003 LIMIT 1;
-- 已入账佣金
INSERT INTO `fa_shopro_regional_agent_reward`
(`order_id`,`order_item_id`,`buyer_id`,`regional_order_id`,`agent_id`,`agent_user_id`,`type`,`commission`,`original_commission`,`status`,`createtime`,`updatetime`)
SELECT 910001001,910001001,910004,ro.id,ro.agent_id,ro.agent_user_id,'money',
CASE ro.agent_user_id WHEN 910001 THEN 30.00 WHEN 910002 THEN 20.00 ELSE 10.00 END,
CASE ro.agent_user_id WHEN 910001 THEN 30.00 WHEN 910002 THEN 20.00 ELSE 10.00 END,
1, @ts-86400, @ts-86400
FROM `fa_shopro_regional_agent_order` ro WHERE ro.order_id=910001001;
-- 待结算佣金
INSERT INTO `fa_shopro_regional_agent_reward`
(`order_id`,`order_item_id`,`buyer_id`,`regional_order_id`,`agent_id`,`agent_user_id`,`type`,`commission`,`original_commission`,`status`,`createtime`,`updatetime`)
SELECT 910001002,910001002,910004,ro.id,ro.agent_id,ro.agent_user_id,'money',
CASE ro.agent_user_id WHEN 910001 THEN 15.00 WHEN 910002 THEN 10.00 ELSE 5.00 END,
CASE ro.agent_user_id WHEN 910001 THEN 15.00 WHEN 910002 THEN 10.00 ELSE 5.00 END,
0, @ts, @ts
FROM `fa_shopro_regional_agent_order` ro WHERE ro.order_id=910001001;
-- 钱包流水(区域代理佣金入账)
DELETE FROM `fa_shopro_user_wallet_log`
WHERE `user_id` IN (910001,910002,910003) AND `type`='regional_agent_income' AND `memo`='区域代理佣金(测试数据)';
INSERT INTO `fa_shopro_user_wallet_log`
(`user_id`,`wallet`,`type`,`wallet_type`,`before`,`after`,`item_id`,`memo`,`oper_type`,`oper_id`,`createtime`,`updatetime`) VALUES
(910001,30.00,'regional_agent_income','money',4970.00,5000.00,'910001001','区域代理佣金(测试数据)','system',0,@ts-86400,@ts-86400),
(910002,20.00,'regional_agent_income','money',4980.00,5000.00,'910001001','区域代理佣金(测试数据)','system',0,@ts-86400,@ts-86400),
(910003,10.00,'regional_agent_income','money',4990.00,5000.00,'910001001','区域代理佣金(测试数据)','system',0,@ts-86400,@ts-86400);
-- ========== 8. 运费模板配送区域(修复「当前地区不在配送范围」) ==========
UPDATE `fa_shopro_dispatch_express`
SET `province_ids` = '520000', `updatetime` = @ts
WHERE (`deletetime` IS NULL OR `deletetime` = 0)
AND (`province_ids` IS NULL OR `province_ids` = '')
AND (`city_ids` IS NULL OR `city_ids` = '')
AND (`area_ids` IS NULL OR `area_ids` = '');
UPDATE `fa_shopro_dispatch_express`
SET `province_ids` = CONCAT(`province_ids`, ',520000'), `updatetime` = @ts
WHERE (`deletetime` IS NULL OR `deletetime` = 0)
AND `province_ids` IS NOT NULL AND `province_ids` <> ''
AND FIND_IN_SET('520000', `province_ids`) = 0;
UPDATE `fa_shopro_dispatch_express` de
INNER JOIN `fa_shopro_dispatch` d ON d.`type` = 'express' AND FIND_IN_SET(de.`id`, d.`type_ids`)
SET de.`province_ids` = '520000', de.`city_ids` = NULL, de.`area_ids` = NULL, de.`updatetime` = @ts
WHERE (de.`deletetime` IS NULL OR de.`deletetime` = 0)
AND (d.`deletetime` IS NULL OR d.`deletetime` = 0)
AND (d.`name` LIKE '%雄戈%' OR d.`name` LIKE '%演示%');
SELECT '区域代理测试用户已写入,运费模板已配置贵州省配送' AS info;