diff --git a/addons/shopro/upgrade/partner_v2.sql b/addons/shopro/upgrade/partner_v2.sql index a1ea83f..e1204cc 100644 --- a/addons/shopro/upgrade/partner_v2.sql +++ b/addons/shopro/upgrade/partner_v2.sql @@ -1,145 +1,309 @@ --- 合伙股东收益体系 V2 --- 表前缀以站点 database.prefix 为准(本仓库 .env 为 hla_) --- 手工执行:将 __PREFIX__ 替换为实际前缀后导入 +-- ============================================================================== +-- 恒联数通 · 收益中心 / 合伙股东收益体系数据库升级脚本 (V2) +-- 表前缀以站点 database.prefix 为准(本系统 .env 默认表前缀为 hla_ 或 fa_) +-- 手工执行时:请将 __PREFIX__ 替换为实际表前缀(如 hla_)后导入 +-- ============================================================================== --- 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 -); +SET NAMES utf8mb4; --- 直接按常见前缀改;执行脚本时请替换 __PREFIX__ +-- ------------------------------------------------------------------------------ +-- 1. 分销商成员扩展字段(幂等性存储过程安全添加:已存在则自动跳过,支持重复导入) +-- ------------------------------------------------------------------------------ +DROP PROCEDURE IF EXISTS `__PREFIX__tmp_add_partner_agent_columns`; +DELIMITER $$ +CREATE PROCEDURE `__PREFIX__tmp_add_partner_agent_columns`() +BEGIN + DECLARE target_table VARCHAR(64); + SET target_table = '__PREFIX__shopro_commission_agent'; -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`); + -- 1. is_venue (酒道馆标识) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'is_venue' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `is_venue` tinyint(1) NOT NULL DEFAULT 0 COMMENT '酒道馆' AFTER `level`; + END IF; --- 2. 收益流水 + -- 2. is_county (区县代理标识) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'is_county' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `is_county` tinyint(1) NOT NULL DEFAULT 0 COMMENT '区县代理' AFTER `is_venue`; + END IF; + + -- 3. is_partner (合伙股东标识) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'is_partner' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `is_partner` tinyint(1) NOT NULL DEFAULT 0 COMMENT '合伙股东' AFTER `is_county`; + END IF; + + -- 4. county_code (代理区县编码) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'county_code' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `county_code` varchar(20) NOT NULL DEFAULT '' COMMENT '区县编码' AFTER `is_partner`; + END IF; + + -- 5. direct_order_seq (推三返一循环单数) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'direct_order_seq' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `direct_order_seq` int(11) NOT NULL DEFAULT 0 COMMENT '直推合格单累计(推三返一)' AFTER `county_code`; + END IF; + + -- 6. madow (马豆资产持有量) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'madow' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `madow` decimal(20,8) NOT NULL DEFAULT 0.00000000 COMMENT '马豆' AFTER `direct_order_seq`; + END IF; + + -- 7. voucher_total (兑换券总额度) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'voucher_total' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `voucher_total` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '兑换券总额' AFTER `madow`; + END IF; + + -- 8. voucher_released (兑换券已释放额度) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'voucher_released' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `voucher_released` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '兑换券已释放' AFTER `voucher_total`; + END IF; + + -- 9. voucher_used (兑换券已核销额度) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'voucher_used' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `voucher_used` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '兑换券已使用' AFTER `voucher_released`; + END IF; + + -- 10. last_self_order_time (最近合格自购时间,用于30天自购活跃窗口考核) + IF NOT EXISTS ( + SELECT 1 FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND COLUMN_NAME = 'last_self_order_time' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` + ADD COLUMN `last_self_order_time` bigint(16) DEFAULT NULL COMMENT '本人最近合格订单时间' AFTER `voucher_used`; + END IF; + + -- 索引幂等检查与创建 + IF NOT EXISTS ( + SELECT 1 FROM information_schema.STATISTICS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND INDEX_NAME = 'idx_venue' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` ADD KEY `idx_venue` (`is_venue`); + END IF; + + IF NOT EXISTS ( + SELECT 1 FROM information_schema.STATISTICS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND INDEX_NAME = 'idx_county' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` ADD KEY `idx_county` (`is_county`); + END IF; + + IF NOT EXISTS ( + SELECT 1 FROM information_schema.STATISTICS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND INDEX_NAME = 'idx_partner' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` ADD KEY `idx_partner` (`is_partner`); + END IF; + + IF NOT EXISTS ( + SELECT 1 FROM information_schema.STATISTICS + WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = target_table AND INDEX_NAME = 'idx_last_self_order' + ) THEN + ALTER TABLE `__PREFIX__shopro_commission_agent` ADD KEY `idx_last_self_order` (`last_self_order_time`); + END IF; +END$$ +DELIMITER ; + +CALL `__PREFIX__tmp_add_partner_agent_columns`(); +DROP PROCEDURE IF EXISTS `__PREFIX__tmp_add_partner_agent_columns`; + + +-- ------------------------------------------------------------------------------ +-- 2. 收益中心核心流水表 (shopro_partner_reward) +-- ------------------------------------------------------------------------------ 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, + `order_id` int(11) NOT NULL DEFAULT 0 COMMENT '关联合格订单ID (日结为日期虚单)', + `buyer_id` int(11) NOT NULL DEFAULT 0 COMMENT '下单买家会员ID', + `user_id` int(11) NOT NULL COMMENT '收益接收会员ID', + `role` varchar(20) NOT NULL DEFAULT '' COMMENT '业务角色: taster/maker/venue/county/partner/system', + `reward_type` varchar(32) NOT NULL COMMENT '收益类型标识 (push3, maker_diff, team_venue, madow_share, voucher_release 等)', + `amount` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '现金变动金额 (元)', + `madow` decimal(20,8) NOT NULL DEFAULT 0.00000000 COMMENT '马豆变动数量', + `base_amount` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '计奖基数 (元)', + `rate` decimal(16,10) NOT NULL DEFAULT 0.0000000000 COMMENT '结算时刻对应汇率或比例', + `ext` text COMMENT '扩展信息与计算公式 JSON', + `settle_date` date DEFAULT NULL COMMENT '日结归属日期', + `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '状态: 0待入账 1已入账 -1取消 -2退回', + `createtime` bigint(16) DEFAULT NULL COMMENT '创建时间戳', + `updatetime` bigint(16) DEFAULT NULL COMMENT '更新时间戳', 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='合伙股东收益'; + KEY `idx_order` (`order_id`), + KEY `idx_createtime` (`createtime`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收益中心业务流水明细'; --- 3. 兑换券释放计划 + +-- ------------------------------------------------------------------------------ +-- 3. 兑换券365天线性释放计划表 (shopro_partner_voucher_plan) +-- ------------------------------------------------------------------------------ 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, + `user_id` int(11) NOT NULL COMMENT '持有会员ID', + `order_id` int(11) NOT NULL COMMENT '来源订单ID', + `total_amount` decimal(12,2) NOT NULL COMMENT '获赠兑换券总额度', + `daily_amount` decimal(12,2) NOT NULL COMMENT '每日释放标准金额', + `released_amount` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '累计已释放额度', + `released_days` int(11) NOT NULL DEFAULT 0 COMMENT '已释放天数', + `total_days` int(11) NOT NULL DEFAULT 365 COMMENT '计划释放总天数', + `start_date` date NOT NULL COMMENT '开始释放日期 (通常为下单次日)', + `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态: 1释放中 2已履约完毕 0已关闭/退款终止', + `createtime` bigint(16) DEFAULT NULL COMMENT '创建时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_order` (`order_id`), KEY `idx_user_status` (`user_id`,`status`,`start_date`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='兑换券释放计划'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='兑换券365天线性释放计划'; --- 4. 汇率快照 + +-- ------------------------------------------------------------------------------ +-- 4. 马豆大盘汇率历史快照表 (shopro_partner_rate_log) +-- ------------------------------------------------------------------------------ CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_partner_rate_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `settle_date` date NOT NULL, + `settle_date` date NOT NULL COMMENT '结算对账日期', `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, + `rate` decimal(16,10) NOT NULL DEFAULT 0.0000000000 COMMENT '当日核算汇率 (元/马豆)', + `gmv` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '当日全平台计奖订单GMV', + `madow_pool` decimal(20,8) NOT NULL DEFAULT 0.00000000 COMMENT '当日产出总马豆池', + `share_user_count` int(11) NOT NULL DEFAULT 0 COMMENT '参与马豆分润人数', + `venue_pool` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '酒道馆分红池总额', + `county_pool` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '区县代理分红池总额', + `createtime` bigint(16) DEFAULT NULL COMMENT '生成时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_date` (`settle_date`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='马豆汇率日志'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='马豆汇率与大盘指标日志'; --- 5. 日结对账 + +-- ------------------------------------------------------------------------------ +-- 5. 日结对账审计汇总表 (shopro_partner_daily_report) +-- ------------------------------------------------------------------------------ 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, + `settle_date` date NOT NULL COMMENT '结算归属日期', + `order_count` int(11) NOT NULL DEFAULT 0 COMMENT '当日计奖订单数', + `order_count_n` int(11) NOT NULL DEFAULT 0 COMMENT '截至当日历史累计合格订单数N', + `gmv` decimal(14,2) NOT NULL DEFAULT 0.00 COMMENT '当日合格GMV现金流水', + `rate` decimal(16,10) NOT NULL DEFAULT 0.0000000000 COMMENT '执行汇率', + `madow_pool` decimal(20,8) NOT NULL DEFAULT 0.00000000 COMMENT '马豆奖池', + `share_user_count` int(11) NOT NULL DEFAULT 0 COMMENT '马豆分润受益人数', + `venue_pool` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '酒道馆均分现金池', + `venue_user_count` int(11) NOT NULL DEFAULT 0 COMMENT '符合条件的酒道馆数', + `county_pool` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '区县均分现金池', + `county_user_count` int(11) NOT NULL DEFAULT 0 COMMENT '符合条件的区县数', + `voucher_release_total` decimal(12,2) NOT NULL DEFAULT 0.00 COMMENT '当日全网释放兑换券总额', + `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '日结执行状态: 1成功 0失败 2重跑中', + `error_msg` varchar(500) NOT NULL DEFAULT '' COMMENT '异常日志摘要', + `createtime` bigint(16) DEFAULT NULL COMMENT '创建时间戳', + `updatetime` bigint(16) DEFAULT NULL COMMENT '更新时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_date` (`settle_date`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='合伙股东日结对账'; +) 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 +-- ------------------------------------------------------------------------------ +-- 6. 收益体系全局业务参数配置 (shopro_config) +-- ------------------------------------------------------------------------------ +INSERT 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=按订单头计1单 item=按商品件数累计单数', 'string', 'order', NULL, NULL, 82), +('shop.commission.partner_active_days', 'shop.commission', '自购活跃考核窗口', '进阶角色需在指定天数内有自购合格订单才可享受分润', 'int', '30', NULL, NULL, 83), +('shop.commission.partner_chain_max_depth', 'shop.commission', '关系链最大追溯层级', '向上寻找创客/酒道馆/区县时的最大关系链深度', 'int', '50', NULL, NULL, 84), +('shop.commission.partner_push3_amounts', 'shop.commission', '推三返一循环金额配置', '品酒师推荐直推合格单获得的阶梯奖励金额循环数组', 'array', '[398,400,600]', NULL, NULL, 85), +('shop.commission.partner_madow_mode', 'shop.commission', '每日GMV分润模式', 'madow=以马豆形式发放 cash=直接以佣金现金发放', 'string', 'madow', NULL, NULL, 86), +('shop.commission.partner_madow_base_rate', 'shop.commission', '马豆基准汇率', '大盘初始起步汇率 (元/马豆)', 'string', '0.00000075', NULL, NULL, 87), +('shop.commission.partner_madow_step_orders', 'shop.commission', '马豆汇率步进单数', '每达成指定合格订单数,马豆大盘汇率递增1个基数', 'int', '1', NULL, NULL, 88), +('shop.commission.partner_voucher_times', 'shop.commission', '买酒赠送兑换券倍数', '符合条件的订单实付金额倍数,默认1.5倍', 'float', '1.5', NULL, NULL, 89), +('shop.commission.partner_voucher_days', 'shop.commission', '兑换券线性释放天数', '兑换券按日分期释放的总周期,默认365天', 'int', '365', NULL, NULL, 90), +('shop.commission.partner_maker_bonus', 'shop.commission', '创客各级级差基数', '各创客等级(level 2~7)对应的级差佣金基准金额(元)', 'array', '{\"2\":20,\"3\":40,\"4\":60,\"5\":80,\"6\":100,\"7\":120}', NULL, NULL, 91), +('shop.commission.partner_maker_peer_rate', 'shop.commission', '创客平级协同比例', '创客直属平级上级获得的协同奖励比例', 'float', '0.10', NULL, NULL, 92), +('shop.commission.partner_maker_overtaken_rate', 'shop.commission', '创客超越奖励比例', '下级等级超越上级时,上级获得的超越关怀比例', 'float', '0.05', NULL, NULL, 93), +('shop.commission.partner_maker_peer_max_generations', 'shop.commission', '创客协同最大代数', '创客平级协同奖向上追溯的最大代数', 'int', '50', NULL, NULL, 94), +('shop.commission.partner_team_total', 'shop.commission', '团队拆分奖总预算', '单笔订单团队奖最高切分金额(元)', 'float', '100', NULL, NULL, 95), +('shop.commission.partner_venue_split', 'shop.commission', '酒道馆运营奖基准', '有馆有县时酒道馆应得团队奖金额(元)', 'float', '50', NULL, NULL, 96), +('shop.commission.partner_county_full', 'shop.commission', '无馆区县统筹全额', '伞下无酒道馆时间区县代理独享团队奖金额(元)', 'float', '100', NULL, NULL, 97), +('shop.commission.partner_venue_share_per_order', 'shop.commission', '酒道馆日结每单奖池', '日结时每单注入全网酒道馆均分池的金额(元)', 'float', '100', NULL, NULL, 98), +('shop.commission.partner_county_share_per_order', 'shop.commission', '区县日结每单奖池', '日结时每单注入全网区县代理均分池的金额(元)', 'float', '50', NULL, NULL, 99), +('shop.commission.partner_venue_peer_rate', 'shop.commission', '酒道馆平级协同比例', '直属酒道馆平级上级获得的平级奖励比例', 'float', '0.10', NULL, NULL, 100), +('shop.commission.partner_county_peer_rate', 'shop.commission', '区县代理平级协同比例', '直属区县代理平级上级获得的平级奖励比例', 'float', '0.10', NULL, NULL, 101), +('shop.commission.partner_peer_min_amount', 'shop.commission', '协同奖励最低门槛', '协同/平级计算结果小于该值时不入账', 'float', '0.10', NULL, NULL, 102), +('shop.commission.partner_order_min_amount', 'shop.commission', '计奖合格订单最低金额', '单笔订单计奖实付金额低于此门槛时不参与计奖', 'float', '0', NULL, NULL, 103), +('shop.commission.partner_role_name_taster', 'shop.commission', '品酒师自定义名称', '系统与用户端展示的基础品酒师别名', 'string', '品酒师', NULL, NULL, 104), +('shop.commission.partner_role_name_maker', 'shop.commission', '创客自定义名称', '系统与用户端展示的创客骨干别名', 'string', '创客', NULL, NULL, 105), +('shop.commission.partner_role_name_venue', 'shop.commission', '酒道馆自定义名称', '系统与用户端展示的酒道馆别名', 'string', '酒道馆', NULL, NULL, 106), +('shop.commission.partner_role_name_county', 'shop.commission', '区县代理自定义名称', '系统与用户端展示的区县代理别名', 'string', '区县代理', NULL, NULL, 107), +('shop.commission.partner_role_name_partner', 'shop.commission', '合伙股东自定义名称', '系统与用户端展示的合伙股东别名', 'string', '合伙股东', NULL, NULL, 108) +ON DUPLICATE KEY UPDATE `name`=VALUES(`name`), `description`=VALUES(`description`), `weigh`=VALUES(`weigh`); + + +-- ------------------------------------------------------------------------------ +-- 7. 初始化 7 档业务身份等级 (shopro_commission_level) +-- ------------------------------------------------------------------------------ +INSERT 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, '{}'); +(7, '创客V6', '', '{\"commission_1\":0,\"commission_2\":0,\"commission_3\":0}', 0, '{}') +ON DUPLICATE KEY UPDATE `name`=VALUES(`name`); + + +-- ------------------------------------------------------------------------------ +-- 8. 后台权限规则与菜单动线规范化 (auth_rule) +-- ------------------------------------------------------------------------------ +UPDATE `__PREFIX__auth_rule` SET `title`='收益中心', `icon`='fa fa-users fa-fw', `weigh`=90 WHERE `name`='shopro/commission'; +UPDATE `__PREFIX__auth_rule` SET `title`='成员档案', `icon`='fa fa-user', `weigh`=100 WHERE `name`='shopro/commission/agent'; +UPDATE `__PREFIX__auth_rule` SET `title`='身份等级', `icon`='fa fa-list-ol', `weigh`=90 WHERE `name`='shopro/commission/level'; +UPDATE `__PREFIX__auth_rule` SET `title`='计奖商品', `icon`='fa fa-briefcase', `weigh`=80 WHERE `name`='shopro/commission/goods'; +UPDATE `__PREFIX__auth_rule` SET `title`='收益流水', `icon`='fa fa-rmb', `weigh`=70 WHERE `name`='shopro/partner/reward'; +UPDATE `__PREFIX__auth_rule` SET `title`='日结对账', `icon`='fa fa-calendar-check-o', `weigh`=60 WHERE `name`='shopro/partner/daily'; +UPDATE `__PREFIX__auth_rule` SET `title`='兑换券', `icon`='fa fa-ticket', `weigh`=50 WHERE `name`='shopro/partner/voucher'; +UPDATE `__PREFIX__auth_rule` SET `title`='业绩订单', `icon`='fa fa-file-text', `weigh`=40 WHERE `name`='shopro/commission/order'; +UPDATE `__PREFIX__auth_rule` SET `title`='历史佣金', `icon`='fa fa-usd', `weigh`=30 WHERE `name`='shopro/commission/reward'; +UPDATE `__PREFIX__auth_rule` SET `title`='动态日志', `icon`='fa fa-address-card', `weigh`=20 WHERE `name`='shopro/commission/log'; + +-- 三级节点动词对齐 +UPDATE `__PREFIX__auth_rule` SET `title`='更换上级' WHERE `name`='shopro/commission/agent/changeparentuser'; +UPDATE `__PREFIX__auth_rule` SET `title`='设置计奖' WHERE `name`='shopro/commission/goods/edit'; +UPDATE `__PREFIX__auth_rule` SET `title`='退回收益' WHERE `name`='shopro/partner/reward/back'; +UPDATE `__PREFIX__auth_rule` SET `title`='重跑日结' WHERE `name`='shopro/partner/daily/rerun'; +UPDATE `__PREFIX__auth_rule` SET `title`='关闭计划' WHERE `name`='shopro/partner/voucher/close'; +UPDATE `__PREFIX__auth_rule` SET `title`='分销基础' WHERE `name`='shopro/config/commission'; +