feat(split): 添加分账模式scene参数支持及扩展信息配置

- 在SyncSplitReceivers命令中新增--scene选项,用于指定分账模式
- 支持通过插件配置split_config_scene设置默认分账场景
- 实现buildSplitExtInfoJson方法,根据分账比例和场景自动生成扩展信息
- 当分账比例超过30%或场景为'00'时自动添加业务说明信息
- 在数据库升级脚本中新增分账场景相关配置项
- 完善分账配置的参数验证和错误处理机制
```
这个提交包含在:
可乐加冰
2026-10-13 10:19:54 +08:00
父节点 e946a357c1
当前提交 161d6f7e90
共有 3 个文件被更改,包括 85 次插入 和 1 次删除

查看文件

@@ -18,6 +18,7 @@ class SyncSplitReceivers extends Command
->addOption('dry-run', null, Option::VALUE_NONE, '仅预览将提交的接收方与参数,不调汇付')
->addOption('init-only', null, Option::VALUE_NONE, '仅提交主商户分账开关(rule_origin=01),不带接收方列表')
->addOption('huifu-id', null, Option::VALUE_OPTIONAL, '主商户汇付号,默认 platform_huifu_id 或插件 huifu_id')
->addOption('scene', null, Option::VALUE_OPTIONAL, '分账模式 scene,默认插件 split_config_scene(A5)')
->setDescription('Submit v2/merchant/split/config and bind approved onboard huifu_ids as split receivers');
}
@@ -35,12 +36,16 @@ class SyncSplitReceivers extends Command
}
$output->writeln('主商户 huifu_id: ' . $main);
$output->writeln('apply_ratio(最大分账比例%): ' . $service->resolveApplyRatio());
$sceneOpt = trim((string) $input->getOption('scene'));
$scene = $sceneOpt !== '' ? $sceneOpt : $service->resolveSplitConfigScene();
$output->writeln('scene(分账模式): ' . $scene);
$dryRun = (bool) $input->getOption('dry-run');
$initOnly = (bool) $input->getOption('init-only');
$options = [
'dry_run' => $dryRun,
'main_huifu_id' => $main,
'scene' => $scene,
];
if ($initOnly) {