文件
Henglianshutong/addons/shopro/upgrade/partner_v2.sql

146 行
9.1 KiB
SQL

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

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

-- 合伙股东收益体系 V2
-- 表前缀以站点 database.prefix 为准(本仓库 .env 为 hla_)
-- 手工执行:将 __PREFIX__ 替换为实际前缀后导入
-- 1. 分销商扩展字段
SET @dbname = DATABASE();
SET @prefix = (
SELECT TABLE_PREFIX FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME LIKE '%shopro_commission_agent'
ORDER BY CASE WHEN TABLE_NAME LIKE 'hla_%' THEN 0 ELSE 1 END
LIMIT 1
);
-- 直接按常见前缀改;执行脚本时请替换 __PREFIX__
ALTER TABLE `__PREFIX__shopro_commission_agent`
ADD COLUMN `is_venue` tinyint(1) NOT NULL DEFAULT 0 COMMENT '酒道馆' AFTER `level`,
ADD COLUMN `is_county` tinyint(1) NOT NULL DEFAULT 0 COMMENT '区县代理' AFTER `is_venue`,
ADD COLUMN `is_partner` tinyint(1) NOT NULL DEFAULT 0 COMMENT '合伙股东' AFTER `is_county`,
ADD COLUMN `county_code` varchar(20) NOT NULL DEFAULT '' COMMENT '区县编码' AFTER `is_partner`,
ADD COLUMN `direct_order_seq` int(11) NOT NULL DEFAULT 0 COMMENT '直推合格单累计(推三返一)' AFTER `county_code`,
ADD COLUMN `madow` decimal(20,8) NOT NULL DEFAULT 0.00000000 COMMENT '马豆' AFTER `direct_order_seq`,
ADD COLUMN `voucher_total` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '兑换券总额' AFTER `madow`,
ADD COLUMN `voucher_released` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '兑换券已释放' AFTER `voucher_total`,
ADD COLUMN `voucher_used` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '兑换券已使用' AFTER `voucher_released`,
ADD COLUMN `last_self_order_time` bigint(16) DEFAULT NULL COMMENT '本人最近合格订单时间' AFTER `voucher_used`,
ADD KEY `idx_venue` (`is_venue`),
ADD KEY `idx_county` (`is_county`),
ADD KEY `idx_partner` (`is_partner`),
ADD KEY `idx_last_self_order` (`last_self_order_time`);
-- 2. 收益流水
CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_partner_reward` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_id` int(11) NOT NULL DEFAULT 0,
`buyer_id` int(11) NOT NULL DEFAULT 0,
`user_id` int(11) NOT NULL COMMENT '受益人',
`role` varchar(20) NOT NULL DEFAULT '' COMMENT 'taster/maker/venue/county/system',
`reward_type` varchar(32) NOT NULL,
`amount` decimal(12,2) NOT NULL DEFAULT 0.00,
`madow` decimal(20,8) NOT NULL DEFAULT 0.00000000,
`base_amount` decimal(12,2) NOT NULL DEFAULT 0.00,
`rate` decimal(16,10) NOT NULL DEFAULT 0.0000000000,
`ext` text,
`settle_date` date DEFAULT NULL,
`status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '0待入账 1已入账 -1取消 -2退回',
`createtime` bigint(16) DEFAULT NULL,
`updatetime` bigint(16) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_order_user_type` (`order_id`,`user_id`,`reward_type`),
UNIQUE KEY `uk_daily_user_type` (`settle_date`,`user_id`,`reward_type`),
KEY `idx_user` (`user_id`,`reward_type`,`status`),
KEY `idx_order` (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='合伙股东收益';
-- 3. 兑换券释放计划
CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_partner_voucher_plan` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`order_id` int(11) NOT NULL,
`total_amount` decimal(12,2) NOT NULL,
`daily_amount` decimal(12,2) NOT NULL,
`released_amount` decimal(12,2) NOT NULL DEFAULT 0.00,
`released_days` int(11) NOT NULL DEFAULT 0,
`total_days` int(11) NOT NULL DEFAULT 365,
`start_date` date NOT NULL,
`status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1释放中 2完成 0关闭',
`createtime` bigint(16) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_order` (`order_id`),
KEY `idx_user_status` (`user_id`,`status`,`start_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='兑换券释放计划';
-- 4. 汇率快照
CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_partner_rate_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`settle_date` date NOT NULL,
`order_count_n` int(11) NOT NULL DEFAULT 0 COMMENT '历史合格单累计N',
`rate` decimal(16,10) NOT NULL DEFAULT 0.0000000000,
`gmv` decimal(14,2) NOT NULL DEFAULT 0.00,
`madow_pool` decimal(20,8) NOT NULL DEFAULT 0.00000000,
`share_user_count` int(11) NOT NULL DEFAULT 0,
`venue_pool` decimal(12,2) NOT NULL DEFAULT 0.00,
`county_pool` decimal(12,2) NOT NULL DEFAULT 0.00,
`createtime` bigint(16) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_date` (`settle_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='马豆汇率日志';
-- 5. 日结对账
CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_partner_daily_report` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`settle_date` date NOT NULL,
`order_count` int(11) NOT NULL DEFAULT 0,
`order_count_n` int(11) NOT NULL DEFAULT 0,
`gmv` decimal(14,2) NOT NULL DEFAULT 0.00,
`rate` decimal(16,10) NOT NULL DEFAULT 0.0000000000,
`madow_pool` decimal(20,8) NOT NULL DEFAULT 0.00000000,
`share_user_count` int(11) NOT NULL DEFAULT 0,
`venue_pool` decimal(12,2) NOT NULL DEFAULT 0.00,
`venue_user_count` int(11) NOT NULL DEFAULT 0,
`county_pool` decimal(12,2) NOT NULL DEFAULT 0.00,
`county_user_count` int(11) NOT NULL DEFAULT 0,
`voucher_release_total` decimal(12,2) NOT NULL DEFAULT 0.00,
`status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1成功 0失败 2重跑中',
`error_msg` varchar(500) NOT NULL DEFAULT '',
`createtime` bigint(16) DEFAULT NULL,
`updatetime` bigint(16) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_date` (`settle_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='合伙股东日结对账';
-- 6. 配置(挂在 shop.commission 下,sheep_config('shop.commission.partner_mode') 可读)
INSERT IGNORE INTO `__PREFIX__shopro_config` (`code`, `parent_code`, `name`, `description`, `type`, `value`, `store_range`, `rule`, `weigh`) VALUES
('shop.commission.partner_mode', 'shop.commission', '关闭旧百分比分佣', '1=跳过三级百分比', 'boolean', '1', NULL, NULL, 80),
('shop.commission.partner_enable', 'shop.commission', '启用合伙股东结算', '1=新单记即时奖', 'boolean', '1', NULL, NULL, 81),
('shop.commission.partner_count_type', 'shop.commission', '合格订单口径', 'order=订单头 item=商品件数', 'string', 'order', NULL, NULL, 82),
('shop.commission.partner_active_days', 'shop.commission', '领取窗口天数', NULL, 'int', '30', NULL, NULL, 83),
('shop.commission.partner_chain_max_depth', 'shop.commission', '关系链最大深度', NULL, 'int', '50', NULL, NULL, 84),
('shop.commission.partner_push3_amounts', 'shop.commission', '推三返一循环金额', NULL, 'array', '[398,400,600]', NULL, NULL, 85),
('shop.commission.partner_madow_mode', 'shop.commission', '马豆发放模式', 'madow=马豆 cash=现金', 'string', 'madow', NULL, NULL, 86),
('shop.commission.partner_madow_base_rate', 'shop.commission', '马豆基础汇率', NULL, 'string', '0.00000075', NULL, NULL, 87),
('shop.commission.partner_madow_step_orders', 'shop.commission', '马豆步进订单数', NULL, 'int', '1', NULL, NULL, 88),
('shop.commission.partner_voucher_times', 'shop.commission', '兑换券倍数', NULL, 'float', '1.5', NULL, NULL, 89),
('shop.commission.partner_voucher_days', 'shop.commission', '兑换券释放天数', NULL, 'int', '365', NULL, NULL, 90),
('shop.commission.partner_maker_bonus', 'shop.commission', '创客级差基数', NULL, 'array', '{\"2\":20,\"3\":40,\"4\":60,\"5\":80,\"6\":100,\"7\":120}', NULL, NULL, 91),
('shop.commission.partner_maker_peer_rate', 'shop.commission', '创客平级比例', NULL, 'float', '0.10', NULL, NULL, 92),
('shop.commission.partner_maker_overtaken_rate', 'shop.commission', '创客被超越比例', NULL, 'float', '0.05', NULL, NULL, 93),
('shop.commission.partner_team_total', 'shop.commission', '团队拆分总额', NULL, 'float', '100', NULL, NULL, 94),
('shop.commission.partner_venue_split', 'shop.commission', '酒道馆拆分份额', NULL, 'float', '50', NULL, NULL, 95),
('shop.commission.partner_county_full', 'shop.commission', '无馆区县全额', NULL, 'float', '100', NULL, NULL, 96),
('shop.commission.partner_venue_share_per_order', 'shop.commission', '酒道馆每单奖池', NULL, 'float', '100', NULL, NULL, 97),
('shop.commission.partner_county_share_per_order', 'shop.commission', '区县每单奖池', NULL, 'float', '50', NULL, NULL, 98),
('shop.commission.partner_venue_peer_rate', 'shop.commission', '酒道馆平级比例', NULL, 'float', '0.10', NULL, NULL, 99),
('shop.commission.partner_county_peer_rate', 'shop.commission', '区县平级比例', NULL, 'float', '0.10', NULL, NULL, 100);
-- 7. 初始化 7 条等级(已存在则忽略)
INSERT IGNORE INTO `__PREFIX__shopro_commission_level` (`level`, `name`, `image`, `commission_rules`, `upgrade_type`, `upgrade_rules`) VALUES
(1, '品酒师', '', '{\"commission_1\":0,\"commission_2\":0,\"commission_3\":0}', 0, '{}'),
(2, '创客V1', '', '{\"commission_1\":0,\"commission_2\":0,\"commission_3\":0}', 0, '{}'),
(3, '创客V2', '', '{\"commission_1\":0,\"commission_2\":0,\"commission_3\":0}', 0, '{}'),
(4, '创客V3', '', '{\"commission_1\":0,\"commission_2\":0,\"commission_3\":0}', 0, '{}'),
(5, '创客V4', '', '{\"commission_1\":0,\"commission_2\":0,\"commission_3\":0}', 0, '{}'),
(6, '创客V5', '', '{\"commission_1\":0,\"commission_2\":0,\"commission_3\":0}', 0, '{}'),
(7, '创客V6', '', '{\"commission_1\":0,\"commission_2\":0,\"commission_3\":0}', 0, '{}');